diff --git a/go.mod b/go.mod index f6b1cb5f28..50daeec3bf 100644 --- a/go.mod +++ b/go.mod @@ -5,26 +5,26 @@ go 1.19 exclude github.com/mattn/go-sqlite3 v2.0.3+incompatible require ( - cloud.google.com/go/compute v1.23.3 - cloud.google.com/go/storage v1.36.0 + cloud.google.com/go/compute v1.23.4 + cloud.google.com/go/storage v1.37.0 github.com/Azure/azure-sdk-for-go v68.0.0+incompatible github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.2.1 github.com/Azure/go-autorest/autorest v0.11.29 github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 github.com/BurntSushi/toml v1.3.2 - github.com/aws/aws-sdk-go v1.50.0 + github.com/aws/aws-sdk-go v1.50.7 github.com/containers/common v0.49.3 - github.com/containers/image/v5 v5.29.1 + github.com/containers/image/v5 v5.22.1 github.com/gobwas/glob v0.2.3 github.com/golang-jwt/jwt/v4 v4.5.0 github.com/google/go-cmp v0.6.0 - github.com/google/uuid v1.5.0 + github.com/google/uuid v1.6.0 github.com/gophercloud/gophercloud v1.8.0 github.com/hashicorp/go-retryablehttp v0.7.5 github.com/hashicorp/go-version v1.6.0 github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b github.com/opencontainers/go-digest v1.0.0 - github.com/opencontainers/image-spec v1.1.0-rc5 + github.com/opencontainers/image-spec v1.1.0-rc.6 github.com/oracle/oci-go-sdk/v54 v54.0.0 github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 @@ -35,15 +35,14 @@ require ( golang.org/x/exp v0.0.0-20231006140011-7918f672742d golang.org/x/oauth2 v0.16.0 golang.org/x/sys v0.16.0 - google.golang.org/api v0.157.0 + google.golang.org/api v0.161.0 gopkg.in/ini.v1 v1.67.0 ) require ( - cloud.google.com/go v0.111.0 // indirect + cloud.google.com/go v0.112.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.5 // indirect - dario.cat/mergo v1.0.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 // indirect github.com/Azure/go-autorest v14.2.0+incompatible // indirect @@ -55,17 +54,17 @@ require ( github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/Microsoft/hcsshim v0.12.0-rc.1 // indirect + github.com/Microsoft/hcsshim v0.10.0-rc.3 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect - github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect - github.com/containerd/cgroups/v3 v3.0.2 // indirect - github.com/containerd/containerd v1.7.0 // indirect + github.com/akavel/rsrc v0.10.2 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/containerd/cgroups v1.0.4 // indirect github.com/containerd/stargz-snapshotter/estargz v0.15.1 // indirect github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 // indirect github.com/containers/ocicrypt v1.1.9 // indirect - github.com/containers/storage v1.51.0 // indirect - github.com/cyberphone/json-canonicalization v0.0.0-20231011164504-785e29786b46 // indirect + github.com/containers/storage v1.48.1 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect @@ -74,26 +73,18 @@ require ( github.com/docker/docker v24.0.7+incompatible // indirect github.com/docker/docker-credential-helpers v0.8.0 // indirect github.com/docker/go-connections v0.4.0 // indirect + github.com/docker/go-metrics v0.0.1 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/ghodss/yaml v1.0.0 // indirect github.com/go-jose/go-jose/v3 v3.0.1 // indirect - github.com/go-logr/logr v1.3.0 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/analysis v0.21.4 // indirect - github.com/go-openapi/errors v0.20.4 // indirect - github.com/go-openapi/jsonpointer v0.19.6 // indirect - github.com/go-openapi/jsonreference v0.20.2 // indirect - github.com/go-openapi/loads v0.21.2 // indirect - github.com/go-openapi/runtime v0.26.0 // indirect - github.com/go-openapi/spec v0.20.9 // indirect - github.com/go-openapi/strfmt v0.21.7 // indirect - github.com/go-openapi/swag v0.22.4 // indirect - github.com/go-openapi/validate v0.22.1 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect - github.com/google/go-containerregistry v0.16.1 // indirect + github.com/google/go-containerregistry v0.11.0 // indirect github.com/google/go-intervals v0.0.2 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect @@ -102,27 +93,25 @@ require ( github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect - github.com/josharian/intern v1.0.0 // indirect + github.com/josephspurrier/goversioninfo v1.4.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.17.3 // indirect github.com/klauspost/pgzip v1.2.6 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/letsencrypt/boulder v0.0.0-20230213213521-fdfea0d469b6 // indirect - github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mattn/go-shellwords v1.0.12 // indirect - github.com/mattn/go-sqlite3 v1.14.18 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/miekg/pkcs11 v1.1.1 // indirect github.com/mistifyio/go-zfs/v3 v3.0.1 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/sys/mountinfo v0.7.1 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/runc v1.1.10 // indirect github.com/opencontainers/runtime-spec v1.1.0 // indirect github.com/opencontainers/selinux v1.11.0 // indirect @@ -130,29 +119,30 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/proglottis/gpgme v0.1.3 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect + github.com/prometheus/common v0.37.0 // indirect + github.com/prometheus/procfs v0.8.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect - github.com/rogpeppe/go-internal v1.10.0 // indirect - github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect - github.com/sigstore/fulcio v1.4.3 // indirect - github.com/sigstore/rekor v1.2.2 // indirect - github.com/sigstore/sigstore v1.7.5 // indirect + github.com/sigstore/sigstore v1.4.4 // indirect github.com/sony/gobreaker v0.4.2-0.20210216022020-dd874f9dd33b // indirect github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 // indirect - github.com/sylabs/sif/v2 v2.15.0 // indirect + github.com/sylabs/sif/v2 v2.8.3 // indirect github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 // indirect github.com/tchap/go-patricia/v2 v2.3.1 // indirect + github.com/theupdateframework/go-tuf v0.5.2-0.20220930112810-3890c1e7ace4 // indirect github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect github.com/ulikunitz/xz v0.5.11 // indirect github.com/vbatts/tar-split v0.11.5 // indirect - github.com/vbauerster/mpb/v8 v8.6.2 // indirect - go.mongodb.org/mongo-driver v1.11.3 // indirect + github.com/vbauerster/mpb/v7 v7.4.2 // indirect + go.etcd.io/bbolt v1.3.6 // indirect go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect - go.opentelemetry.io/otel v1.21.0 // indirect - go.opentelemetry.io/otel/metric v1.21.0 // indirect - go.opentelemetry.io/otel/trace v1.21.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 // indirect + go.opentelemetry.io/otel v1.22.0 // indirect + go.opentelemetry.io/otel/metric v1.22.0 // indirect + go.opentelemetry.io/otel/trace v1.22.0 // indirect golang.org/x/crypto v0.18.0 // indirect golang.org/x/mod v0.13.0 // indirect golang.org/x/net v0.20.0 // indirect @@ -162,11 +152,12 @@ require ( golang.org/x/time v0.5.0 // indirect golang.org/x/tools v0.14.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 // indirect + google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac // indirect - google.golang.org/grpc v1.60.1 // indirect + google.golang.org/grpc v1.61.0 // indirect google.golang.org/protobuf v1.32.0 // indirect gopkg.in/go-jose/go-jose.v2 v2.6.1 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 3e4e3cb3d1..e7356260a4 100644 --- a/go.sum +++ b/go.sum @@ -1,16 +1,46 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM= -cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= +cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/compute v1.23.4 h1:EBT9Nw4q3zyE7G45Wvv3MzolIrCJEuHys5muLY0wvAw= +cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= -cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= -cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= -dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= -dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.37.0 h1:WI8CsaFO8Q9KjPVtsZ5Cmi0dXV25zMoX0FklT7c3Jm4= +cloud.google.com/go/storage v1.37.0/go.mod h1:i34TiT2IhiNDmcj65PqwCjcoUX7Z5pLzS8DEmoiFq1k= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/14rcole/gopopulate v0.0.0-20180821133914-b175b219e774 h1:SCbEWT58NSt7d2mcFdvxC9uyrdcTfvBbPLThhkDmXzg= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -53,47 +83,55 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/Microsoft/hcsshim v0.12.0-rc.1 h1:Hy+xzYujv7urO5wrgcG58SPMOXNLrj4WCJbySs2XX/A= -github.com/Microsoft/hcsshim v0.12.0-rc.1/go.mod h1:Y1a1S0QlYp1mBpyvGiuEdOfZqnao+0uX5AWHXQ5NhZU= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Microsoft/hcsshim v0.10.0-rc.3 h1:xitFWOoxrVd0OgGvjtr5fM6LjUZaGWP02pia856YLFQ= +github.com/Microsoft/hcsshim v0.10.0-rc.3/go.mod h1:C9nOYXQjBOZG9CfMF8V3hOOoVYAqSajyedIrx4rRh64= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= -github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/aws/aws-sdk-go v1.50.0 h1:HBtrLeO+QyDKnc3t1+5DR1RxodOHCGr8ZcrHudpv7jI= -github.com/aws/aws-sdk-go v1.50.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/aws/aws-sdk-go v1.50.7 h1:odKb+uneeGgF2jgAerKjFzpljiyZxleV4SHB7oBK+YA= +github.com/aws/aws-sdk-go v1.50.7/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k= -github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0= -github.com/containerd/cgroups/v3 v3.0.2/go.mod h1:JUgITrzdFqp42uI2ryGA+ge0ap/nxzYgkGmIcetmErE= -github.com/containerd/containerd v1.7.0 h1:G/ZQr3gMZs6ZT0qPUZ15znx5QSdQdASW11nXTLTM2Pg= -github.com/containerd/containerd v1.7.0/go.mod h1:QfR7Efgb/6X2BDpTPJRvPTYDE9rsF0FsXX9J8sIs/sc= +github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY= +github.com/containerd/cgroups v1.0.4 h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA= +github.com/containerd/cgroups v1.0.4/go.mod h1:nLNQtsF7Sl2HxNebu77i1R0oDlhiTG+kO4JTrUzo6IA= github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU= github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk= github.com/containers/common v0.49.3 h1:fPS7rm2s86umFImchQTAeg8LRKRtj6tfIeiW5Xagz74= github.com/containers/common v0.49.3/go.mod h1:ueM5hT0itKqCQvVJDs+EtjornAQtrHYxQJzP2gxeGIg= -github.com/containers/image/v5 v5.29.1 h1:9COTXQpl3FgrW/jw/roLAWlW4TN9ly7/bCAKY76wYl8= -github.com/containers/image/v5 v5.29.1/go.mod h1:kQ7qcDsps424ZAz24thD+x7+dJw1vgur3A9tTDsj97E= +github.com/containers/image/v5 v5.22.1 h1:Oj8C/ACrNn18f8MNTqOeBOHAN51GF1rEhoVSCA/ylvI= +github.com/containers/image/v5 v5.22.1/go.mod h1:D8Ksv2RNB8qLJ7xe1P3rgJJOSQpahA6amv2Ax++/YO4= github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01 h1:Qzk5C6cYglewc+UyGf6lc8Mj2UaPTHy/iF2De0/77CA= github.com/containers/libtrust v0.0.0-20230121012942-c1716e8a8d01/go.mod h1:9rfv8iPl1ZP7aqh9YA68wnZv2NUDbXdcdPHVz0pFbPY= github.com/containers/ocicrypt v1.1.9 h1:2Csfba4jse85Raxk5HIyEk8OwZNjRvfkhEGijOjIdEM= github.com/containers/ocicrypt v1.1.9/go.mod h1:dTKx1918d8TDkxXvarscpNVY+lyPakPNFN4jwA9GBys= -github.com/containers/storage v1.51.0 h1:AowbcpiWXzAjHosKz7MKvPEqpyX+ryZA/ZurytRrFNA= -github.com/containers/storage v1.51.0/go.mod h1:ybl8a3j1PPtpyaEi/5A6TOFs+5TrEyObeKJzVtkUlfc= +github.com/containers/storage v1.48.1 h1:mMdr6whnMu8jJ1dO+tKaeSNbu6XJYSufWQF20uLr9Og= +github.com/containers/storage v1.48.1/go.mod h1:pRp3lkRo2qodb/ltpnudoXggrviRmaCmU5a5GhTBae0= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyberphone/json-canonicalization v0.0.0-20231011164504-785e29786b46 h1:2Dx4IHfC1yHWI12AxQDJM1QbRCDfk6M+blLzlZCXdrc= -github.com/cyberphone/json-canonicalization v0.0.0-20231011164504-785e29786b46/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -104,7 +142,6 @@ github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/ github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= -github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM= @@ -114,8 +151,10 @@ github.com/docker/docker-credential-helpers v0.8.0/go.mod h1:UGFXcuoQ5TxPiB54nHO github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02 h1:tR3jsKPiO/mb6ntzk/dJlHZtm37CPfVp1C9KIo534+4= github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02/go.mod h1:7NQ3kWOx2cZOSjtcveTa5nqupVr2s6/83sG+rTlI7uA= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -126,81 +165,34 @@ github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBF github.com/facebookgo/clock v0.0.0-20150410010913-600d898af40a h1:yDWHCSQ40h88yih2JAcL6Ls/kVkSE8GFACTGVnMPruw= github.com/facebookgo/limitgroup v0.0.0-20150612190941-6abd8d71ec01 h1:IeaD1VDVBPlx3viJT9Md8if8IxxJnO+x0JCGb054heg= github.com/facebookgo/muster v0.0.0-20150708232844-fd3d7953fd52 h1:a4DFiKFJiDRGFD1qIcqGLX/WlUMD9dyLSLDt+9QZgt8= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-jose/go-jose/v3 v3.0.1 h1:pWmKFVtt+Jl0vBZTIpz/eAKwsm6LkIxDVVbFHKkchhA= github.com/go-jose/go-jose/v3 v3.0.1/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= -github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= -github.com/go-openapi/analysis v0.21.4 h1:ZDFLvSNxpDaomuCueM0BlSXxpANBlFYiBvr+GXrvIHc= -github.com/go-openapi/analysis v0.21.4/go.mod h1:4zQ35W4neeZTqh3ol0rv/O8JBbka9QyAgQRPp9y3pfo= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.4 h1:unTcVm6PispJsMECE3zWgvG4xTiKda1LIR5rCRWLG6M= -github.com/go-openapi/errors v0.20.4/go.mod h1:Z3FlZ4I8jEGxjUK+bugx3on2mIAk4txuAOhlsB1FSgk= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/jsonreference v0.20.0/go.mod h1:Ag74Ico3lPc+zR+qjn4XBUmXymS4zJbYVCZmcgkasdo= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= -github.com/go-openapi/loads v0.21.2 h1:r2a/xFIYeZ4Qd2TnGpWDIQNcP80dIaZgf704za8enro= -github.com/go-openapi/loads v0.21.2/go.mod h1:Jq58Os6SSGz0rzh62ptiu8Z31I+OTHqmULx5e/gJbNw= -github.com/go-openapi/runtime v0.26.0 h1:HYOFtG00FM1UvqrcxbEJg/SwvDRvYLQKGhw2zaQjTcc= -github.com/go-openapi/runtime v0.26.0/go.mod h1:QgRGeZwrUcSHdeh4Ka9Glvo0ug1LC5WyE+EV88plZrQ= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/spec v0.20.6/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= -github.com/go-openapi/spec v0.20.9 h1:xnlYNQAwKd2VQRRfwTEI0DcK+2cbuvI/0c7jx3gA8/8= -github.com/go-openapi/spec v0.20.9/go.mod h1:2OpW+JddWPrpXSCIX8eOx7lZ5iyuWj3RYR6VaaBKcWA= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/strfmt v0.21.3/go.mod h1:k+RzNO0Da+k3FrrynSNN8F7n/peCmQQqbbXjtDfvmGg= -github.com/go-openapi/strfmt v0.21.7 h1:rspiXgNWgeUzhjo1YU01do6qsahtJNByjLVbPLNHb8k= -github.com/go-openapi/strfmt v0.21.7/go.mod h1:adeGTkxE44sPyLk0JV235VQAO/ZXUr8KAzYjclFs3ew= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU= -github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/validate v0.22.1 h1:G+c2ub6q47kfX1sOBLwIQwzBVt8qmOAARyo/9Fqs9NU= -github.com/go-openapi/validate v0.22.1/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= @@ -209,49 +201,77 @@ github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOW github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-containerregistry v0.16.1 h1:rUEt426sR6nyrL3gt+18ibRcvYpKYdpsa5ZW7MA08dQ= -github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= +github.com/google/go-containerregistry v0.11.0 h1:Xt8x1adcREjFcmDoDK8OdOsjxu90PHkGuwNP8GiHMLM= +github.com/google/go-containerregistry v0.11.0/go.mod h1:BBaYtsHPHA42uEgAvd/NejvAfPSlz281sJWqupjSxfk= github.com/google/go-intervals v0.0.2 h1:FGrVEiUnTRKR8yE04qzXYaJMtnIYqobR5QbblK3ixcM= github.com/google/go-intervals v0.0.2/go.mod h1:MkaR3LNRfeKLPmqgJYs4E66z5InYjmCjbbr4TQlcT6Y= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= github.com/gophercloud/gophercloud v1.8.0 h1:TM3Jawprb2NrdOnvcHhWJalmKmAmOGgfZElM/3oBYCk= @@ -263,17 +283,21 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.9.2 h1:CG6TE5H9/JXsFWJCfoIVpKFIkFe6ysEuHirp4DxCsHI= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v1.3.1 h1:vDwF1DFNZhntP4DAjuTpOw3uEgMUpXh1pB5fW9DqHpo= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.7.5 h1:bJj+Pj19UZMIweq/iie+1u5YCdGrnxCT9yvm0e+Nd5M= github.com/hashicorp/go-retryablehttp v0.7.5/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/honeycombio/beeline-go v1.10.0 h1:cUDe555oqvw8oD76BQJ8alk7FP0JZ/M/zXpNvOEDLDc= github.com/honeycombio/libhoney-go v1.16.0 h1:kPpqoz6vbOzgp7jC6SR7SkNj7rua7rgxvznI6M3KdHc= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= @@ -281,16 +305,21 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmhodges/clock v0.0.0-20160418191101-880ee4c33548 h1:dYTbLf4m0a5u0KLmPfB6mgxbcV7588bOCx79hxa5Sr4= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= +github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.17.3 h1:qkRjuerhUU1EmXLYGkSH6EZL+vPSxIrYjLNAK4slzwA= github.com/klauspost/compress v1.17.3/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU= @@ -298,9 +327,9 @@ github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQ github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b h1:iNjcivnc6lhbvJA3LD622NPrUponluJrBWPIwGG/3Bg= github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -310,47 +339,39 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/letsencrypt/boulder v0.0.0-20230213213521-fdfea0d469b6 h1:unJdfS94Y3k85TKy+mvKzjW5R9rIC+Lv4KGbE7uNu0I= github.com/letsencrypt/boulder v0.0.0-20230213213521-fdfea0d469b6/go.mod h1:PUgW5vI9ANEaV6qv9a6EKu8gAySgwf0xrzG9xIB/CK0= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= -github.com/mattn/go-sqlite3 v1.14.18 h1:JL0eqdCOq6DJVNPSvArO/bIV9/P7fbGrV00LZHc+5aI= -github.com/mattn/go-sqlite3 v1.14.18/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mistifyio/go-zfs/v3 v3.0.1 h1:YaoXgBePoMA12+S1u/ddkv+QqxcfiZK4prI6HPnkFiU= github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/sys/mountinfo v0.7.1 h1:/tTvQaSJRr2FshkhXiIpux6fQ2Zvc4j7tAhMTStAG2g= github.com/moby/sys/mountinfo v0.7.1/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= -github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297 h1:yH0SvLzcbZxcJXho2yh7CqdENGMQe73Cw3woZBpPli0= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= -github.com/opencontainers/image-spec v1.1.0-rc5/go.mod h1:X4pATf0uXsnn3g5aiGIsVnJBR4mxhKzfwmvK/B2NTm8= +github.com/opencontainers/image-spec v1.1.0-rc.6 h1:Kv1Dp8IuQevyC6QTol7CYJWdQMfpRUhmJ1yntMKiJR0= +github.com/opencontainers/image-spec v1.1.0-rc.6/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= github.com/opencontainers/runc v1.1.10 h1:EaL5WeO9lv9wmS6SASjszOeQdSctvpbu0DdBQBizE40= github.com/opencontainers/runc v1.1.10/go.mod h1:+/R6+KmDlh+hOO8NkjmgkG9Qzvypzk0yXxAPYYR65+M= github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg= @@ -361,8 +382,6 @@ github.com/oracle/oci-go-sdk/v54 v54.0.0 h1:CDLjeSejv2aDpElAJrhKpi6zvT/zhZCZuXch github.com/oracle/oci-go-sdk/v54 v54.0.0/go.mod h1:+t+yvcFGVp+3ZnztnyxqXfQDsMlq8U25faBLa+mqCMc= github.com/ostreedev/ostree-go v0.0.0-20210805093236-719684c64e4f h1:/UDgs8FGMqwnHagNDPGOlts35QkhAZ8by3DR7nMih7M= github.com/ostreedev/ostree-go v0.0.0-20210805093236-719684c64e4f/go.mod h1:J6OG6YJVEWopen4avK3VNQSnALmmjvniMmni/YFYAwc= -github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -373,42 +392,55 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/proglottis/gpgme v0.1.3 h1:Crxx0oz4LKB3QXc5Ea0J19K/3ICfy3ftr5exgUK1AU0= github.com/proglottis/gpgme v0.1.3/go.mod h1:fPbW/EZ0LvwQtH8Hy7eixhp1eF3G39dtx7GUN+0Gmy0= -github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= -github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sebdah/goldie/v2 v2.5.3 h1:9ES/mNN+HNUbNWpVAlrzuZ7jE+Nrczbj8uFRjM7624Y= -github.com/secure-systems-lab/go-securesystemslib v0.7.0 h1:OwvJ5jQf9LnIAS83waAjPbcMsODrTQUpJ02eNLUoxBg= -github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xeGtfIqFy7Do03K4cdCY0A/GlJLDKLHI= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= -github.com/sigstore/fulcio v1.4.3 h1:9JcUCZjjVhRF9fmhVuz6i1RyhCc/EGCD7MOl+iqCJLQ= -github.com/sigstore/fulcio v1.4.3/go.mod h1:BQPWo7cfxmJwgaHlphUHUpFkp5+YxeJes82oo39m5og= -github.com/sigstore/rekor v1.2.2 h1:5JK/zKZvcQpL/jBmHvmFj3YbpDMBQnJQ6ygp8xdF3bY= -github.com/sigstore/rekor v1.2.2/go.mod h1:FGnWBGWzeNceJnp0x9eDFd41mI8aQqCjj+Zp0IEs0Qg= -github.com/sigstore/sigstore v1.7.5 h1:ij55dBhLwjICmLTBJZm7SqoQLdsu/oowDanACcJNs48= -github.com/sigstore/sigstore v1.7.5/go.mod h1:9OCmYWhzuq/G4e1cy9m297tuMRJ1LExyrXY3ZC3Zt/s= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sigstore/sigstore v1.4.4 h1:lVsnNTY8DUmy2hnwCPtimWfEqv+DIwleORkF8KyFsMs= +github.com/sigstore/sigstore v1.4.4/go.mod h1:wIqu9sN72+pds31MMu89GchxXHy17k+VZWc+HY1ZXMA= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sony/gobreaker v0.4.2-0.20210216022020-dd874f9dd33b h1:br+bPNZsJWKicw/5rALEo67QHs5weyD5tf8WST+4sJ0= github.com/sony/gobreaker v0.4.2-0.20210216022020-dd874f9dd33b/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980 h1:lIOOHPEbXzO3vnmx2gok1Tfs31Q8GQqKLc8vVqyQq/I= @@ -420,6 +452,7 @@ github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= @@ -427,14 +460,14 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/sylabs/sif/v2 v2.15.0 h1:Nv0tzksFnoQiQ2eUwpAis9nVqEu4c3RcNSxX8P3Cecw= -github.com/sylabs/sif/v2 v2.15.0/go.mod h1:X1H7eaPz6BAxA84POMESXoXfTqgAnLQkujyF/CQFWTc= +github.com/sylabs/sif/v2 v2.8.3 h1:m5MwWhGOSdf+vuz/Riehbm2L3mcVn0716YduLicFbIE= +github.com/sylabs/sif/v2 v2.8.3/go.mod h1:ZK1fytsX0alye/c4p7HEzVcsaKLitheoZgiIH/vCMTc= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes= github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= +github.com/theupdateframework/go-tuf v0.5.2-0.20220930112810-3890c1e7ace4 h1:1i/Afw3rmaR1gF3sfVkG2X6ldkikQwA9zY380LrR5YI= +github.com/theupdateframework/go-tuf v0.5.2-0.20220930112810-3890c1e7ace4/go.mod h1:vAqWV3zEs89byeFsAYoh/Q14vJTgJkHwnnRCWBBBINY= github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 h1:e/5i7d4oYZ+C1wj2THlRK+oAhjeS/TRQwMfkIuet3w0= github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs= github.com/ubccr/kerby v0.0.0-20170626144437-201a958fc453 h1:rN0NwUFS6oK9ESlk2QyKfucb/gL4opUutNlCS2bBlvA= @@ -443,65 +476,86 @@ github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= -github.com/vbauerster/mpb/v8 v8.6.2 h1:9EhnJGQRtvgDVCychJgR96EDCOqgg2NsMuk5JUcX4DA= -github.com/vbauerster/mpb/v8 v8.6.2/go.mod h1:oVJ7T+dib99kZ/VBjoBaC8aPXiSAihnzuKmotuihyFo= +github.com/vbauerster/mpb/v7 v7.4.2 h1:n917F4d8EWdUKc9c81wFkksyG6P6Mg7IETfKCE1Xqng= +github.com/vbauerster/mpb/v7 v7.4.2/go.mod h1:UmOiIUI8aPqWXIps0ciik3RKMdzx7+ooQpq+fBcXwBA= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmware/govmomi v0.34.2 h1:o6ydkTVITOkpQU6HAf6tP5GvHFCNJlNUNlMsvFK77X4= github.com/vmware/govmomi v0.34.2/go.mod h1:qWWT6n9mdCr/T9vySsoUqcI04sSEj4CqHXxtk/Y+Los= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= -go.mongodb.org/mongo-driver v1.10.0/go.mod h1:wsihk0Kdgv8Kqu1Anit4sfK+22vSFbUrAVEYRhCXrA8= -go.mongodb.org/mongo-driver v1.11.3 h1:Ql6K6qYHEzB6xvu4+AU0BoRoqf9vFPcc4o7MUIdPW8Y= -go.mongodb.org/mongo-driver v1.11.3/go.mod h1:PTSz5yu21bkT/wXpkS7WR5f0ddqw5quethTUn9WM+2g= +go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352 h1:CCriYyAfq1Br1aIYettdHZTy8mBTIPo7We18TuO/bak= go.mozilla.org/pkcs7 v0.0.0-20210826202110-33d05740a352/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= -go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= -go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= -go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= -go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= -go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= -go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= -go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= +go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= +go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= +go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= +go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -509,47 +563,106 @@ golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY= golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -561,28 +674,63 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc= @@ -591,29 +739,83 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -google.golang.org/api v0.157.0 h1:ORAeqmbrrozeyw5NjnMxh7peHO0UzV4wWYSwZeCUb20= -google.golang.org/api v0.157.0/go.mod h1:+z4v4ufbZ1WEpld6yMGHyggs+PmAHiaLNj5ytP3N01g= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.161.0 h1:oYzk/bs26WN10AV7iU7MVJVXBH8oCPS2hHyBiEeFoSU= +google.golang.org/api v0.161.0/go.mod h1:0mu0TpK33qnydLvWqbImq2b1eQ5FHRSDCBzAxX9ZHyw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917 h1:nz5NESFLZbJGPFxDT/HCn+V1mZ8JGNoY4nUpmW/Y2eg= -google.golang.org/genproto v0.0.0-20240102182953-50ed04b92917/go.mod h1:pZqR+glSb11aJ+JQcczCvgf47+duRuzNSKqE8YAQnV0= -google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 h1:rcS6EyEaoCO52hQDupoSfrxI3R6C2Tq741is7X8OvnM= -google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917/go.mod h1:CmlNWB9lSezaYELKS5Ym1r44VrrbPUa7JTvw+6MbpJ0= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac h1:ZL/Teoy/ZGnzyrqK/Optxxp2pmVh+fmJ97slxSRyzUg= +google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= +google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8= +google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac h1:nUQEQmH/csSvFECKYRv6HWEyypysidKl2I6Qpsglq/0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= -google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= +google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -622,33 +824,44 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/statsd.v2 v2.0.0 h1:FXkZSCZIH17vLCO5sO2UucTHsH9pc+17F6pl3JVCwMc= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/go-jose/go-jose.v2 v2.6.1 h1:qEzJlIDmG9q5VO0M/o8tGS65QMHMS1w01TQJB1VPJ4U= gopkg.in/go-jose/go-jose.v2 v2.6.1/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.0.3 h1:4AuOwCGf4lLR9u3YOe2awrHygurzhO/HeQ6laiA6Sx0= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/vendor/cloud.google.com/go/compute/apiv1/accelerator_types_client.go b/vendor/cloud.google.com/go/compute/apiv1/accelerator_types_client.go index 816579fb77..b6501fba4c 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/accelerator_types_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/accelerator_types_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -191,7 +191,9 @@ func NewAcceleratorTypesRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultAcceleratorTypesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -261,6 +263,9 @@ func (c *acceleratorTypesRESTClient) AggregatedList(ctx context.Context, req *co if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -479,103 +484,3 @@ func (c *acceleratorTypesRESTClient) List(ctx context.Context, req *computepb.Li return it } - -// AcceleratorTypeIterator manages a stream of *computepb.AcceleratorType. -type AcceleratorTypeIterator struct { - items []*computepb.AcceleratorType - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.AcceleratorType, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *AcceleratorTypeIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *AcceleratorTypeIterator) Next() (*computepb.AcceleratorType, error) { - var item *computepb.AcceleratorType - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *AcceleratorTypeIterator) bufLen() int { - return len(it.items) -} - -func (it *AcceleratorTypeIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// AcceleratorTypesScopedListPair is a holder type for string/*computepb.AcceleratorTypesScopedList map entries -type AcceleratorTypesScopedListPair struct { - Key string - Value *computepb.AcceleratorTypesScopedList -} - -// AcceleratorTypesScopedListPairIterator manages a stream of AcceleratorTypesScopedListPair. -type AcceleratorTypesScopedListPairIterator struct { - items []AcceleratorTypesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []AcceleratorTypesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *AcceleratorTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *AcceleratorTypesScopedListPairIterator) Next() (AcceleratorTypesScopedListPair, error) { - var item AcceleratorTypesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *AcceleratorTypesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *AcceleratorTypesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/addresses_client.go b/vendor/cloud.google.com/go/compute/apiv1/addresses_client.go index 68ea319698..c851a0b43d 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/addresses_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/addresses_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -241,7 +241,9 @@ func NewAddressesRESTClient(ctx context.Context, opts ...option.ClientOption) (* func defaultAddressesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -314,6 +316,9 @@ func (c *addressesRESTClient) AggregatedList(ctx context.Context, req *computepb if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -833,103 +838,3 @@ func (c *addressesRESTClient) SetLabels(ctx context.Context, req *computepb.SetL } return op, nil } - -// AddressIterator manages a stream of *computepb.Address. -type AddressIterator struct { - items []*computepb.Address - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Address, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *AddressIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *AddressIterator) Next() (*computepb.Address, error) { - var item *computepb.Address - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *AddressIterator) bufLen() int { - return len(it.items) -} - -func (it *AddressIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// AddressesScopedListPair is a holder type for string/*computepb.AddressesScopedList map entries -type AddressesScopedListPair struct { - Key string - Value *computepb.AddressesScopedList -} - -// AddressesScopedListPairIterator manages a stream of AddressesScopedListPair. -type AddressesScopedListPairIterator struct { - items []AddressesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []AddressesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *AddressesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *AddressesScopedListPairIterator) Next() (AddressesScopedListPair, error) { - var item AddressesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *AddressesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *AddressesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/autoscalers_client.go b/vendor/cloud.google.com/go/compute/apiv1/autoscalers_client.go index 2bdba0a163..366e83a4a6 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/autoscalers_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/autoscalers_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -241,7 +241,9 @@ func NewAutoscalersRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultAutoscalersRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -314,6 +316,9 @@ func (c *autoscalersRESTClient) AggregatedList(ctx context.Context, req *compute if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -839,103 +844,3 @@ func (c *autoscalersRESTClient) Update(ctx context.Context, req *computepb.Updat } return op, nil } - -// AutoscalerIterator manages a stream of *computepb.Autoscaler. -type AutoscalerIterator struct { - items []*computepb.Autoscaler - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Autoscaler, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *AutoscalerIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *AutoscalerIterator) Next() (*computepb.Autoscaler, error) { - var item *computepb.Autoscaler - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *AutoscalerIterator) bufLen() int { - return len(it.items) -} - -func (it *AutoscalerIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// AutoscalersScopedListPair is a holder type for string/*computepb.AutoscalersScopedList map entries -type AutoscalersScopedListPair struct { - Key string - Value *computepb.AutoscalersScopedList -} - -// AutoscalersScopedListPairIterator manages a stream of AutoscalersScopedListPair. -type AutoscalersScopedListPairIterator struct { - items []AutoscalersScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []AutoscalersScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *AutoscalersScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *AutoscalersScopedListPairIterator) Next() (AutoscalersScopedListPair, error) { - var item AutoscalersScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *AutoscalersScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *AutoscalersScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/auxiliary.go b/vendor/cloud.google.com/go/compute/apiv1/auxiliary.go new file mode 100644 index 0000000000..1a8ab48935 --- /dev/null +++ b/vendor/cloud.google.com/go/compute/apiv1/auxiliary.go @@ -0,0 +1,5579 @@ +// Copyright 2024 Google LLC +// +// 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 +// +// https://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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package compute + +import ( + computepb "cloud.google.com/go/compute/apiv1/computepb" + "google.golang.org/api/iterator" +) + +// AcceleratorTypeIterator manages a stream of *computepb.AcceleratorType. +type AcceleratorTypeIterator struct { + items []*computepb.AcceleratorType + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.AcceleratorType, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *AcceleratorTypeIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AcceleratorTypeIterator) Next() (*computepb.AcceleratorType, error) { + var item *computepb.AcceleratorType + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AcceleratorTypeIterator) bufLen() int { + return len(it.items) +} + +func (it *AcceleratorTypeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// AcceleratorTypesScopedListPair is a holder type for string/*computepb.AcceleratorTypesScopedList map entries +type AcceleratorTypesScopedListPair struct { + Key string + Value *computepb.AcceleratorTypesScopedList +} + +// AcceleratorTypesScopedListPairIterator manages a stream of AcceleratorTypesScopedListPair. +type AcceleratorTypesScopedListPairIterator struct { + items []AcceleratorTypesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []AcceleratorTypesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *AcceleratorTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AcceleratorTypesScopedListPairIterator) Next() (AcceleratorTypesScopedListPair, error) { + var item AcceleratorTypesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AcceleratorTypesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *AcceleratorTypesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// AddressIterator manages a stream of *computepb.Address. +type AddressIterator struct { + items []*computepb.Address + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Address, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *AddressIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AddressIterator) Next() (*computepb.Address, error) { + var item *computepb.Address + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AddressIterator) bufLen() int { + return len(it.items) +} + +func (it *AddressIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// AddressesScopedListPair is a holder type for string/*computepb.AddressesScopedList map entries +type AddressesScopedListPair struct { + Key string + Value *computepb.AddressesScopedList +} + +// AddressesScopedListPairIterator manages a stream of AddressesScopedListPair. +type AddressesScopedListPairIterator struct { + items []AddressesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []AddressesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *AddressesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AddressesScopedListPairIterator) Next() (AddressesScopedListPair, error) { + var item AddressesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AddressesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *AddressesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// AutoscalerIterator manages a stream of *computepb.Autoscaler. +type AutoscalerIterator struct { + items []*computepb.Autoscaler + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Autoscaler, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *AutoscalerIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AutoscalerIterator) Next() (*computepb.Autoscaler, error) { + var item *computepb.Autoscaler + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AutoscalerIterator) bufLen() int { + return len(it.items) +} + +func (it *AutoscalerIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// AutoscalersScopedListPair is a holder type for string/*computepb.AutoscalersScopedList map entries +type AutoscalersScopedListPair struct { + Key string + Value *computepb.AutoscalersScopedList +} + +// AutoscalersScopedListPairIterator manages a stream of AutoscalersScopedListPair. +type AutoscalersScopedListPairIterator struct { + items []AutoscalersScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []AutoscalersScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *AutoscalersScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *AutoscalersScopedListPairIterator) Next() (AutoscalersScopedListPair, error) { + var item AutoscalersScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *AutoscalersScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *AutoscalersScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// BackendBucketIterator manages a stream of *computepb.BackendBucket. +type BackendBucketIterator struct { + items []*computepb.BackendBucket + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.BackendBucket, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *BackendBucketIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *BackendBucketIterator) Next() (*computepb.BackendBucket, error) { + var item *computepb.BackendBucket + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *BackendBucketIterator) bufLen() int { + return len(it.items) +} + +func (it *BackendBucketIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// BackendServiceIterator manages a stream of *computepb.BackendService. +type BackendServiceIterator struct { + items []*computepb.BackendService + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.BackendService, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *BackendServiceIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *BackendServiceIterator) Next() (*computepb.BackendService, error) { + var item *computepb.BackendService + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *BackendServiceIterator) bufLen() int { + return len(it.items) +} + +func (it *BackendServiceIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// BackendServicesScopedListPair is a holder type for string/*computepb.BackendServicesScopedList map entries +type BackendServicesScopedListPair struct { + Key string + Value *computepb.BackendServicesScopedList +} + +// BackendServicesScopedListPairIterator manages a stream of BackendServicesScopedListPair. +type BackendServicesScopedListPairIterator struct { + items []BackendServicesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []BackendServicesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *BackendServicesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *BackendServicesScopedListPairIterator) Next() (BackendServicesScopedListPair, error) { + var item BackendServicesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *BackendServicesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *BackendServicesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// CommitmentIterator manages a stream of *computepb.Commitment. +type CommitmentIterator struct { + items []*computepb.Commitment + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Commitment, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *CommitmentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *CommitmentIterator) Next() (*computepb.Commitment, error) { + var item *computepb.Commitment + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *CommitmentIterator) bufLen() int { + return len(it.items) +} + +func (it *CommitmentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// CommitmentsScopedListPair is a holder type for string/*computepb.CommitmentsScopedList map entries +type CommitmentsScopedListPair struct { + Key string + Value *computepb.CommitmentsScopedList +} + +// CommitmentsScopedListPairIterator manages a stream of CommitmentsScopedListPair. +type CommitmentsScopedListPairIterator struct { + items []CommitmentsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []CommitmentsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *CommitmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *CommitmentsScopedListPairIterator) Next() (CommitmentsScopedListPair, error) { + var item CommitmentsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *CommitmentsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *CommitmentsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// DiskIterator manages a stream of *computepb.Disk. +type DiskIterator struct { + items []*computepb.Disk + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Disk, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *DiskIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *DiskIterator) Next() (*computepb.Disk, error) { + var item *computepb.Disk + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *DiskIterator) bufLen() int { + return len(it.items) +} + +func (it *DiskIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// DiskTypeIterator manages a stream of *computepb.DiskType. +type DiskTypeIterator struct { + items []*computepb.DiskType + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.DiskType, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *DiskTypeIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *DiskTypeIterator) Next() (*computepb.DiskType, error) { + var item *computepb.DiskType + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *DiskTypeIterator) bufLen() int { + return len(it.items) +} + +func (it *DiskTypeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// DiskTypesScopedListPair is a holder type for string/*computepb.DiskTypesScopedList map entries +type DiskTypesScopedListPair struct { + Key string + Value *computepb.DiskTypesScopedList +} + +// DiskTypesScopedListPairIterator manages a stream of DiskTypesScopedListPair. +type DiskTypesScopedListPairIterator struct { + items []DiskTypesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []DiskTypesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *DiskTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *DiskTypesScopedListPairIterator) Next() (DiskTypesScopedListPair, error) { + var item DiskTypesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *DiskTypesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *DiskTypesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// DisksScopedListPair is a holder type for string/*computepb.DisksScopedList map entries +type DisksScopedListPair struct { + Key string + Value *computepb.DisksScopedList +} + +// DisksScopedListPairIterator manages a stream of DisksScopedListPair. +type DisksScopedListPairIterator struct { + items []DisksScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []DisksScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *DisksScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *DisksScopedListPairIterator) Next() (DisksScopedListPair, error) { + var item DisksScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *DisksScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *DisksScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ExchangedPeeringRouteIterator manages a stream of *computepb.ExchangedPeeringRoute. +type ExchangedPeeringRouteIterator struct { + items []*computepb.ExchangedPeeringRoute + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.ExchangedPeeringRoute, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ExchangedPeeringRouteIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ExchangedPeeringRouteIterator) Next() (*computepb.ExchangedPeeringRoute, error) { + var item *computepb.ExchangedPeeringRoute + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ExchangedPeeringRouteIterator) bufLen() int { + return len(it.items) +} + +func (it *ExchangedPeeringRouteIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ExternalVpnGatewayIterator manages a stream of *computepb.ExternalVpnGateway. +type ExternalVpnGatewayIterator struct { + items []*computepb.ExternalVpnGateway + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.ExternalVpnGateway, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ExternalVpnGatewayIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ExternalVpnGatewayIterator) Next() (*computepb.ExternalVpnGateway, error) { + var item *computepb.ExternalVpnGateway + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ExternalVpnGatewayIterator) bufLen() int { + return len(it.items) +} + +func (it *ExternalVpnGatewayIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// FirewallIterator manages a stream of *computepb.Firewall. +type FirewallIterator struct { + items []*computepb.Firewall + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Firewall, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *FirewallIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *FirewallIterator) Next() (*computepb.Firewall, error) { + var item *computepb.Firewall + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *FirewallIterator) bufLen() int { + return len(it.items) +} + +func (it *FirewallIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// FirewallPolicyIterator manages a stream of *computepb.FirewallPolicy. +type FirewallPolicyIterator struct { + items []*computepb.FirewallPolicy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.FirewallPolicy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *FirewallPolicyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *FirewallPolicyIterator) Next() (*computepb.FirewallPolicy, error) { + var item *computepb.FirewallPolicy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *FirewallPolicyIterator) bufLen() int { + return len(it.items) +} + +func (it *FirewallPolicyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ForwardingRuleIterator manages a stream of *computepb.ForwardingRule. +type ForwardingRuleIterator struct { + items []*computepb.ForwardingRule + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.ForwardingRule, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ForwardingRuleIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ForwardingRuleIterator) Next() (*computepb.ForwardingRule, error) { + var item *computepb.ForwardingRule + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ForwardingRuleIterator) bufLen() int { + return len(it.items) +} + +func (it *ForwardingRuleIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ForwardingRulesScopedListPair is a holder type for string/*computepb.ForwardingRulesScopedList map entries +type ForwardingRulesScopedListPair struct { + Key string + Value *computepb.ForwardingRulesScopedList +} + +// ForwardingRulesScopedListPairIterator manages a stream of ForwardingRulesScopedListPair. +type ForwardingRulesScopedListPairIterator struct { + items []ForwardingRulesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []ForwardingRulesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ForwardingRulesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ForwardingRulesScopedListPairIterator) Next() (ForwardingRulesScopedListPair, error) { + var item ForwardingRulesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ForwardingRulesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *ForwardingRulesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// HealthCheckIterator manages a stream of *computepb.HealthCheck. +type HealthCheckIterator struct { + items []*computepb.HealthCheck + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.HealthCheck, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *HealthCheckIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *HealthCheckIterator) Next() (*computepb.HealthCheck, error) { + var item *computepb.HealthCheck + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *HealthCheckIterator) bufLen() int { + return len(it.items) +} + +func (it *HealthCheckIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// HealthCheckServiceIterator manages a stream of *computepb.HealthCheckService. +type HealthCheckServiceIterator struct { + items []*computepb.HealthCheckService + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.HealthCheckService, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *HealthCheckServiceIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *HealthCheckServiceIterator) Next() (*computepb.HealthCheckService, error) { + var item *computepb.HealthCheckService + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *HealthCheckServiceIterator) bufLen() int { + return len(it.items) +} + +func (it *HealthCheckServiceIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// HealthChecksScopedListPair is a holder type for string/*computepb.HealthChecksScopedList map entries +type HealthChecksScopedListPair struct { + Key string + Value *computepb.HealthChecksScopedList +} + +// HealthChecksScopedListPairIterator manages a stream of HealthChecksScopedListPair. +type HealthChecksScopedListPairIterator struct { + items []HealthChecksScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []HealthChecksScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *HealthChecksScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *HealthChecksScopedListPairIterator) Next() (HealthChecksScopedListPair, error) { + var item HealthChecksScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *HealthChecksScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *HealthChecksScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ImageIterator manages a stream of *computepb.Image. +type ImageIterator struct { + items []*computepb.Image + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Image, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ImageIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ImageIterator) Next() (*computepb.Image, error) { + var item *computepb.Image + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ImageIterator) bufLen() int { + return len(it.items) +} + +func (it *ImageIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceGroupIterator manages a stream of *computepb.InstanceGroup. +type InstanceGroupIterator struct { + items []*computepb.InstanceGroup + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceGroup, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceGroupIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceGroupIterator) Next() (*computepb.InstanceGroup, error) { + var item *computepb.InstanceGroup + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceGroupIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceGroupIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceGroupManagerIterator manages a stream of *computepb.InstanceGroupManager. +type InstanceGroupManagerIterator struct { + items []*computepb.InstanceGroupManager + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceGroupManager, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceGroupManagerIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceGroupManagerIterator) Next() (*computepb.InstanceGroupManager, error) { + var item *computepb.InstanceGroupManager + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceGroupManagerIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceGroupManagerIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceGroupManagersScopedListPair is a holder type for string/*computepb.InstanceGroupManagersScopedList map entries +type InstanceGroupManagersScopedListPair struct { + Key string + Value *computepb.InstanceGroupManagersScopedList +} + +// InstanceGroupManagersScopedListPairIterator manages a stream of InstanceGroupManagersScopedListPair. +type InstanceGroupManagersScopedListPairIterator struct { + items []InstanceGroupManagersScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []InstanceGroupManagersScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceGroupManagersScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceGroupManagersScopedListPairIterator) Next() (InstanceGroupManagersScopedListPair, error) { + var item InstanceGroupManagersScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceGroupManagersScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceGroupManagersScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceGroupsScopedListPair is a holder type for string/*computepb.InstanceGroupsScopedList map entries +type InstanceGroupsScopedListPair struct { + Key string + Value *computepb.InstanceGroupsScopedList +} + +// InstanceGroupsScopedListPairIterator manages a stream of InstanceGroupsScopedListPair. +type InstanceGroupsScopedListPairIterator struct { + items []InstanceGroupsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []InstanceGroupsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceGroupsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceGroupsScopedListPairIterator) Next() (InstanceGroupsScopedListPair, error) { + var item InstanceGroupsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceGroupsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceGroupsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceIterator manages a stream of *computepb.Instance. +type InstanceIterator struct { + items []*computepb.Instance + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Instance, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceIterator) Next() (*computepb.Instance, error) { + var item *computepb.Instance + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceManagedByIgmErrorIterator manages a stream of *computepb.InstanceManagedByIgmError. +type InstanceManagedByIgmErrorIterator struct { + items []*computepb.InstanceManagedByIgmError + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceManagedByIgmError, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceManagedByIgmErrorIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceManagedByIgmErrorIterator) Next() (*computepb.InstanceManagedByIgmError, error) { + var item *computepb.InstanceManagedByIgmError + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceManagedByIgmErrorIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceManagedByIgmErrorIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceTemplateIterator manages a stream of *computepb.InstanceTemplate. +type InstanceTemplateIterator struct { + items []*computepb.InstanceTemplate + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceTemplate, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceTemplateIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceTemplateIterator) Next() (*computepb.InstanceTemplate, error) { + var item *computepb.InstanceTemplate + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceTemplateIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceTemplateIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceTemplatesScopedListPair is a holder type for string/*computepb.InstanceTemplatesScopedList map entries +type InstanceTemplatesScopedListPair struct { + Key string + Value *computepb.InstanceTemplatesScopedList +} + +// InstanceTemplatesScopedListPairIterator manages a stream of InstanceTemplatesScopedListPair. +type InstanceTemplatesScopedListPairIterator struct { + items []InstanceTemplatesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []InstanceTemplatesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceTemplatesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceTemplatesScopedListPairIterator) Next() (InstanceTemplatesScopedListPair, error) { + var item InstanceTemplatesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceTemplatesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceTemplatesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstanceWithNamedPortsIterator manages a stream of *computepb.InstanceWithNamedPorts. +type InstanceWithNamedPortsIterator struct { + items []*computepb.InstanceWithNamedPorts + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceWithNamedPorts, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstanceWithNamedPortsIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstanceWithNamedPortsIterator) Next() (*computepb.InstanceWithNamedPorts, error) { + var item *computepb.InstanceWithNamedPorts + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstanceWithNamedPortsIterator) bufLen() int { + return len(it.items) +} + +func (it *InstanceWithNamedPortsIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InstancesScopedListPair is a holder type for string/*computepb.InstancesScopedList map entries +type InstancesScopedListPair struct { + Key string + Value *computepb.InstancesScopedList +} + +// InstancesScopedListPairIterator manages a stream of InstancesScopedListPair. +type InstancesScopedListPairIterator struct { + items []InstancesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []InstancesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InstancesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InstancesScopedListPairIterator) Next() (InstancesScopedListPair, error) { + var item InstancesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InstancesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *InstancesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InterconnectAttachmentIterator manages a stream of *computepb.InterconnectAttachment. +type InterconnectAttachmentIterator struct { + items []*computepb.InterconnectAttachment + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InterconnectAttachment, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InterconnectAttachmentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InterconnectAttachmentIterator) Next() (*computepb.InterconnectAttachment, error) { + var item *computepb.InterconnectAttachment + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InterconnectAttachmentIterator) bufLen() int { + return len(it.items) +} + +func (it *InterconnectAttachmentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InterconnectAttachmentsScopedListPair is a holder type for string/*computepb.InterconnectAttachmentsScopedList map entries +type InterconnectAttachmentsScopedListPair struct { + Key string + Value *computepb.InterconnectAttachmentsScopedList +} + +// InterconnectAttachmentsScopedListPairIterator manages a stream of InterconnectAttachmentsScopedListPair. +type InterconnectAttachmentsScopedListPairIterator struct { + items []InterconnectAttachmentsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []InterconnectAttachmentsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InterconnectAttachmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InterconnectAttachmentsScopedListPairIterator) Next() (InterconnectAttachmentsScopedListPair, error) { + var item InterconnectAttachmentsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InterconnectAttachmentsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *InterconnectAttachmentsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InterconnectIterator manages a stream of *computepb.Interconnect. +type InterconnectIterator struct { + items []*computepb.Interconnect + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Interconnect, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InterconnectIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InterconnectIterator) Next() (*computepb.Interconnect, error) { + var item *computepb.Interconnect + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InterconnectIterator) bufLen() int { + return len(it.items) +} + +func (it *InterconnectIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InterconnectLocationIterator manages a stream of *computepb.InterconnectLocation. +type InterconnectLocationIterator struct { + items []*computepb.InterconnectLocation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InterconnectLocation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InterconnectLocationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InterconnectLocationIterator) Next() (*computepb.InterconnectLocation, error) { + var item *computepb.InterconnectLocation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InterconnectLocationIterator) bufLen() int { + return len(it.items) +} + +func (it *InterconnectLocationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// InterconnectRemoteLocationIterator manages a stream of *computepb.InterconnectRemoteLocation. +type InterconnectRemoteLocationIterator struct { + items []*computepb.InterconnectRemoteLocation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.InterconnectRemoteLocation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *InterconnectRemoteLocationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *InterconnectRemoteLocationIterator) Next() (*computepb.InterconnectRemoteLocation, error) { + var item *computepb.InterconnectRemoteLocation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *InterconnectRemoteLocationIterator) bufLen() int { + return len(it.items) +} + +func (it *InterconnectRemoteLocationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// LicenseIterator manages a stream of *computepb.License. +type LicenseIterator struct { + items []*computepb.License + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.License, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *LicenseIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *LicenseIterator) Next() (*computepb.License, error) { + var item *computepb.License + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *LicenseIterator) bufLen() int { + return len(it.items) +} + +func (it *LicenseIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// MachineImageIterator manages a stream of *computepb.MachineImage. +type MachineImageIterator struct { + items []*computepb.MachineImage + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.MachineImage, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *MachineImageIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *MachineImageIterator) Next() (*computepb.MachineImage, error) { + var item *computepb.MachineImage + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *MachineImageIterator) bufLen() int { + return len(it.items) +} + +func (it *MachineImageIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// MachineTypeIterator manages a stream of *computepb.MachineType. +type MachineTypeIterator struct { + items []*computepb.MachineType + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.MachineType, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *MachineTypeIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *MachineTypeIterator) Next() (*computepb.MachineType, error) { + var item *computepb.MachineType + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *MachineTypeIterator) bufLen() int { + return len(it.items) +} + +func (it *MachineTypeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// MachineTypesScopedListPair is a holder type for string/*computepb.MachineTypesScopedList map entries +type MachineTypesScopedListPair struct { + Key string + Value *computepb.MachineTypesScopedList +} + +// MachineTypesScopedListPairIterator manages a stream of MachineTypesScopedListPair. +type MachineTypesScopedListPairIterator struct { + items []MachineTypesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []MachineTypesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *MachineTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *MachineTypesScopedListPairIterator) Next() (MachineTypesScopedListPair, error) { + var item MachineTypesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *MachineTypesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *MachineTypesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ManagedInstanceIterator manages a stream of *computepb.ManagedInstance. +type ManagedInstanceIterator struct { + items []*computepb.ManagedInstance + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.ManagedInstance, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ManagedInstanceIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ManagedInstanceIterator) Next() (*computepb.ManagedInstance, error) { + var item *computepb.ManagedInstance + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ManagedInstanceIterator) bufLen() int { + return len(it.items) +} + +func (it *ManagedInstanceIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkAttachmentIterator manages a stream of *computepb.NetworkAttachment. +type NetworkAttachmentIterator struct { + items []*computepb.NetworkAttachment + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NetworkAttachment, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkAttachmentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NetworkAttachmentIterator) Next() (*computepb.NetworkAttachment, error) { + var item *computepb.NetworkAttachment + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkAttachmentIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkAttachmentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkAttachmentsScopedListPair is a holder type for string/*computepb.NetworkAttachmentsScopedList map entries +type NetworkAttachmentsScopedListPair struct { + Key string + Value *computepb.NetworkAttachmentsScopedList +} + +// NetworkAttachmentsScopedListPairIterator manages a stream of NetworkAttachmentsScopedListPair. +type NetworkAttachmentsScopedListPairIterator struct { + items []NetworkAttachmentsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []NetworkAttachmentsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkAttachmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NetworkAttachmentsScopedListPairIterator) Next() (NetworkAttachmentsScopedListPair, error) { + var item NetworkAttachmentsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkAttachmentsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkAttachmentsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkEdgeSecurityServicesScopedListPair is a holder type for string/*computepb.NetworkEdgeSecurityServicesScopedList map entries +type NetworkEdgeSecurityServicesScopedListPair struct { + Key string + Value *computepb.NetworkEdgeSecurityServicesScopedList +} + +// NetworkEdgeSecurityServicesScopedListPairIterator manages a stream of NetworkEdgeSecurityServicesScopedListPair. +type NetworkEdgeSecurityServicesScopedListPairIterator struct { + items []NetworkEdgeSecurityServicesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []NetworkEdgeSecurityServicesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkEdgeSecurityServicesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NetworkEdgeSecurityServicesScopedListPairIterator) Next() (NetworkEdgeSecurityServicesScopedListPair, error) { + var item NetworkEdgeSecurityServicesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkEdgeSecurityServicesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkEdgeSecurityServicesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkEndpointGroupIterator manages a stream of *computepb.NetworkEndpointGroup. +type NetworkEndpointGroupIterator struct { + items []*computepb.NetworkEndpointGroup + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NetworkEndpointGroup, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkEndpointGroupIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NetworkEndpointGroupIterator) Next() (*computepb.NetworkEndpointGroup, error) { + var item *computepb.NetworkEndpointGroup + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkEndpointGroupIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkEndpointGroupIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkEndpointGroupsScopedListPair is a holder type for string/*computepb.NetworkEndpointGroupsScopedList map entries +type NetworkEndpointGroupsScopedListPair struct { + Key string + Value *computepb.NetworkEndpointGroupsScopedList +} + +// NetworkEndpointGroupsScopedListPairIterator manages a stream of NetworkEndpointGroupsScopedListPair. +type NetworkEndpointGroupsScopedListPairIterator struct { + items []NetworkEndpointGroupsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []NetworkEndpointGroupsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkEndpointGroupsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NetworkEndpointGroupsScopedListPairIterator) Next() (NetworkEndpointGroupsScopedListPair, error) { + var item NetworkEndpointGroupsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkEndpointGroupsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkEndpointGroupsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkEndpointWithHealthStatusIterator manages a stream of *computepb.NetworkEndpointWithHealthStatus. +type NetworkEndpointWithHealthStatusIterator struct { + items []*computepb.NetworkEndpointWithHealthStatus + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NetworkEndpointWithHealthStatus, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkEndpointWithHealthStatusIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NetworkEndpointWithHealthStatusIterator) Next() (*computepb.NetworkEndpointWithHealthStatus, error) { + var item *computepb.NetworkEndpointWithHealthStatus + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkEndpointWithHealthStatusIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkEndpointWithHealthStatusIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NetworkIterator manages a stream of *computepb.Network. +type NetworkIterator struct { + items []*computepb.Network + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Network, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NetworkIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NetworkIterator) Next() (*computepb.Network, error) { + var item *computepb.Network + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NetworkIterator) bufLen() int { + return len(it.items) +} + +func (it *NetworkIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NodeGroupIterator manages a stream of *computepb.NodeGroup. +type NodeGroupIterator struct { + items []*computepb.NodeGroup + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeGroup, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeGroupIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NodeGroupIterator) Next() (*computepb.NodeGroup, error) { + var item *computepb.NodeGroup + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeGroupIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeGroupIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NodeGroupNodeIterator manages a stream of *computepb.NodeGroupNode. +type NodeGroupNodeIterator struct { + items []*computepb.NodeGroupNode + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeGroupNode, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeGroupNodeIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NodeGroupNodeIterator) Next() (*computepb.NodeGroupNode, error) { + var item *computepb.NodeGroupNode + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeGroupNodeIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeGroupNodeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NodeGroupsScopedListPair is a holder type for string/*computepb.NodeGroupsScopedList map entries +type NodeGroupsScopedListPair struct { + Key string + Value *computepb.NodeGroupsScopedList +} + +// NodeGroupsScopedListPairIterator manages a stream of NodeGroupsScopedListPair. +type NodeGroupsScopedListPairIterator struct { + items []NodeGroupsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []NodeGroupsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeGroupsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NodeGroupsScopedListPairIterator) Next() (NodeGroupsScopedListPair, error) { + var item NodeGroupsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeGroupsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeGroupsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NodeTemplateIterator manages a stream of *computepb.NodeTemplate. +type NodeTemplateIterator struct { + items []*computepb.NodeTemplate + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeTemplate, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeTemplateIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NodeTemplateIterator) Next() (*computepb.NodeTemplate, error) { + var item *computepb.NodeTemplate + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeTemplateIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeTemplateIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NodeTemplatesScopedListPair is a holder type for string/*computepb.NodeTemplatesScopedList map entries +type NodeTemplatesScopedListPair struct { + Key string + Value *computepb.NodeTemplatesScopedList +} + +// NodeTemplatesScopedListPairIterator manages a stream of NodeTemplatesScopedListPair. +type NodeTemplatesScopedListPairIterator struct { + items []NodeTemplatesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []NodeTemplatesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeTemplatesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NodeTemplatesScopedListPairIterator) Next() (NodeTemplatesScopedListPair, error) { + var item NodeTemplatesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeTemplatesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeTemplatesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NodeTypeIterator manages a stream of *computepb.NodeType. +type NodeTypeIterator struct { + items []*computepb.NodeType + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeType, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeTypeIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NodeTypeIterator) Next() (*computepb.NodeType, error) { + var item *computepb.NodeType + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeTypeIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeTypeIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NodeTypesScopedListPair is a holder type for string/*computepb.NodeTypesScopedList map entries +type NodeTypesScopedListPair struct { + Key string + Value *computepb.NodeTypesScopedList +} + +// NodeTypesScopedListPairIterator manages a stream of NodeTypesScopedListPair. +type NodeTypesScopedListPairIterator struct { + items []NodeTypesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []NodeTypesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NodeTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NodeTypesScopedListPairIterator) Next() (NodeTypesScopedListPair, error) { + var item NodeTypesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NodeTypesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *NodeTypesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// NotificationEndpointIterator manages a stream of *computepb.NotificationEndpoint. +type NotificationEndpointIterator struct { + items []*computepb.NotificationEndpoint + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.NotificationEndpoint, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *NotificationEndpointIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *NotificationEndpointIterator) Next() (*computepb.NotificationEndpoint, error) { + var item *computepb.NotificationEndpoint + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *NotificationEndpointIterator) bufLen() int { + return len(it.items) +} + +func (it *NotificationEndpointIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// OperationIterator manages a stream of *computepb.Operation. +type OperationIterator struct { + items []*computepb.Operation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Operation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *OperationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *OperationIterator) Next() (*computepb.Operation, error) { + var item *computepb.Operation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OperationIterator) bufLen() int { + return len(it.items) +} + +func (it *OperationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// OperationsScopedListPair is a holder type for string/*computepb.OperationsScopedList map entries +type OperationsScopedListPair struct { + Key string + Value *computepb.OperationsScopedList +} + +// OperationsScopedListPairIterator manages a stream of OperationsScopedListPair. +type OperationsScopedListPairIterator struct { + items []OperationsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []OperationsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *OperationsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *OperationsScopedListPairIterator) Next() (OperationsScopedListPair, error) { + var item OperationsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *OperationsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *OperationsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// PacketMirroringIterator manages a stream of *computepb.PacketMirroring. +type PacketMirroringIterator struct { + items []*computepb.PacketMirroring + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.PacketMirroring, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PacketMirroringIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *PacketMirroringIterator) Next() (*computepb.PacketMirroring, error) { + var item *computepb.PacketMirroring + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PacketMirroringIterator) bufLen() int { + return len(it.items) +} + +func (it *PacketMirroringIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// PacketMirroringsScopedListPair is a holder type for string/*computepb.PacketMirroringsScopedList map entries +type PacketMirroringsScopedListPair struct { + Key string + Value *computepb.PacketMirroringsScopedList +} + +// PacketMirroringsScopedListPairIterator manages a stream of PacketMirroringsScopedListPair. +type PacketMirroringsScopedListPairIterator struct { + items []PacketMirroringsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []PacketMirroringsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PacketMirroringsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *PacketMirroringsScopedListPairIterator) Next() (PacketMirroringsScopedListPair, error) { + var item PacketMirroringsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PacketMirroringsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *PacketMirroringsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// PerInstanceConfigIterator manages a stream of *computepb.PerInstanceConfig. +type PerInstanceConfigIterator struct { + items []*computepb.PerInstanceConfig + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.PerInstanceConfig, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PerInstanceConfigIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *PerInstanceConfigIterator) Next() (*computepb.PerInstanceConfig, error) { + var item *computepb.PerInstanceConfig + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PerInstanceConfigIterator) bufLen() int { + return len(it.items) +} + +func (it *PerInstanceConfigIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ProjectIterator manages a stream of *computepb.Project. +type ProjectIterator struct { + items []*computepb.Project + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Project, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ProjectIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ProjectIterator) Next() (*computepb.Project, error) { + var item *computepb.Project + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ProjectIterator) bufLen() int { + return len(it.items) +} + +func (it *ProjectIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// PublicAdvertisedPrefixIterator manages a stream of *computepb.PublicAdvertisedPrefix. +type PublicAdvertisedPrefixIterator struct { + items []*computepb.PublicAdvertisedPrefix + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.PublicAdvertisedPrefix, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PublicAdvertisedPrefixIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *PublicAdvertisedPrefixIterator) Next() (*computepb.PublicAdvertisedPrefix, error) { + var item *computepb.PublicAdvertisedPrefix + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PublicAdvertisedPrefixIterator) bufLen() int { + return len(it.items) +} + +func (it *PublicAdvertisedPrefixIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// PublicDelegatedPrefixIterator manages a stream of *computepb.PublicDelegatedPrefix. +type PublicDelegatedPrefixIterator struct { + items []*computepb.PublicDelegatedPrefix + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.PublicDelegatedPrefix, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PublicDelegatedPrefixIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *PublicDelegatedPrefixIterator) Next() (*computepb.PublicDelegatedPrefix, error) { + var item *computepb.PublicDelegatedPrefix + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PublicDelegatedPrefixIterator) bufLen() int { + return len(it.items) +} + +func (it *PublicDelegatedPrefixIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// PublicDelegatedPrefixesScopedListPair is a holder type for string/*computepb.PublicDelegatedPrefixesScopedList map entries +type PublicDelegatedPrefixesScopedListPair struct { + Key string + Value *computepb.PublicDelegatedPrefixesScopedList +} + +// PublicDelegatedPrefixesScopedListPairIterator manages a stream of PublicDelegatedPrefixesScopedListPair. +type PublicDelegatedPrefixesScopedListPairIterator struct { + items []PublicDelegatedPrefixesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []PublicDelegatedPrefixesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *PublicDelegatedPrefixesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *PublicDelegatedPrefixesScopedListPairIterator) Next() (PublicDelegatedPrefixesScopedListPair, error) { + var item PublicDelegatedPrefixesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *PublicDelegatedPrefixesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *PublicDelegatedPrefixesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ReferenceIterator manages a stream of *computepb.Reference. +type ReferenceIterator struct { + items []*computepb.Reference + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Reference, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ReferenceIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ReferenceIterator) Next() (*computepb.Reference, error) { + var item *computepb.Reference + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ReferenceIterator) bufLen() int { + return len(it.items) +} + +func (it *ReferenceIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// RegionIterator manages a stream of *computepb.Region. +type RegionIterator struct { + items []*computepb.Region + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Region, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *RegionIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *RegionIterator) Next() (*computepb.Region, error) { + var item *computepb.Region + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *RegionIterator) bufLen() int { + return len(it.items) +} + +func (it *RegionIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ReservationIterator manages a stream of *computepb.Reservation. +type ReservationIterator struct { + items []*computepb.Reservation + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Reservation, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ReservationIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ReservationIterator) Next() (*computepb.Reservation, error) { + var item *computepb.Reservation + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ReservationIterator) bufLen() int { + return len(it.items) +} + +func (it *ReservationIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ReservationsScopedListPair is a holder type for string/*computepb.ReservationsScopedList map entries +type ReservationsScopedListPair struct { + Key string + Value *computepb.ReservationsScopedList +} + +// ReservationsScopedListPairIterator manages a stream of ReservationsScopedListPair. +type ReservationsScopedListPairIterator struct { + items []ReservationsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []ReservationsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ReservationsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ReservationsScopedListPairIterator) Next() (ReservationsScopedListPair, error) { + var item ReservationsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ReservationsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *ReservationsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ResourcePoliciesScopedListPair is a holder type for string/*computepb.ResourcePoliciesScopedList map entries +type ResourcePoliciesScopedListPair struct { + Key string + Value *computepb.ResourcePoliciesScopedList +} + +// ResourcePoliciesScopedListPairIterator manages a stream of ResourcePoliciesScopedListPair. +type ResourcePoliciesScopedListPairIterator struct { + items []ResourcePoliciesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []ResourcePoliciesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ResourcePoliciesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ResourcePoliciesScopedListPairIterator) Next() (ResourcePoliciesScopedListPair, error) { + var item ResourcePoliciesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ResourcePoliciesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *ResourcePoliciesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ResourcePolicyIterator manages a stream of *computepb.ResourcePolicy. +type ResourcePolicyIterator struct { + items []*computepb.ResourcePolicy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.ResourcePolicy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ResourcePolicyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ResourcePolicyIterator) Next() (*computepb.ResourcePolicy, error) { + var item *computepb.ResourcePolicy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ResourcePolicyIterator) bufLen() int { + return len(it.items) +} + +func (it *ResourcePolicyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// RouteIterator manages a stream of *computepb.Route. +type RouteIterator struct { + items []*computepb.Route + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Route, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *RouteIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *RouteIterator) Next() (*computepb.Route, error) { + var item *computepb.Route + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *RouteIterator) bufLen() int { + return len(it.items) +} + +func (it *RouteIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// RouterIterator manages a stream of *computepb.Router. +type RouterIterator struct { + items []*computepb.Router + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Router, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *RouterIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *RouterIterator) Next() (*computepb.Router, error) { + var item *computepb.Router + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *RouterIterator) bufLen() int { + return len(it.items) +} + +func (it *RouterIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// RoutersScopedListPair is a holder type for string/*computepb.RoutersScopedList map entries +type RoutersScopedListPair struct { + Key string + Value *computepb.RoutersScopedList +} + +// RoutersScopedListPairIterator manages a stream of RoutersScopedListPair. +type RoutersScopedListPairIterator struct { + items []RoutersScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []RoutersScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *RoutersScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *RoutersScopedListPairIterator) Next() (RoutersScopedListPair, error) { + var item RoutersScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *RoutersScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *RoutersScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SecurityPoliciesScopedListPair is a holder type for string/*computepb.SecurityPoliciesScopedList map entries +type SecurityPoliciesScopedListPair struct { + Key string + Value *computepb.SecurityPoliciesScopedList +} + +// SecurityPoliciesScopedListPairIterator manages a stream of SecurityPoliciesScopedListPair. +type SecurityPoliciesScopedListPairIterator struct { + items []SecurityPoliciesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []SecurityPoliciesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SecurityPoliciesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SecurityPoliciesScopedListPairIterator) Next() (SecurityPoliciesScopedListPair, error) { + var item SecurityPoliciesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SecurityPoliciesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *SecurityPoliciesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SecurityPolicyIterator manages a stream of *computepb.SecurityPolicy. +type SecurityPolicyIterator struct { + items []*computepb.SecurityPolicy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.SecurityPolicy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SecurityPolicyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SecurityPolicyIterator) Next() (*computepb.SecurityPolicy, error) { + var item *computepb.SecurityPolicy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SecurityPolicyIterator) bufLen() int { + return len(it.items) +} + +func (it *SecurityPolicyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ServiceAttachmentIterator manages a stream of *computepb.ServiceAttachment. +type ServiceAttachmentIterator struct { + items []*computepb.ServiceAttachment + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.ServiceAttachment, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ServiceAttachmentIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ServiceAttachmentIterator) Next() (*computepb.ServiceAttachment, error) { + var item *computepb.ServiceAttachment + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ServiceAttachmentIterator) bufLen() int { + return len(it.items) +} + +func (it *ServiceAttachmentIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ServiceAttachmentsScopedListPair is a holder type for string/*computepb.ServiceAttachmentsScopedList map entries +type ServiceAttachmentsScopedListPair struct { + Key string + Value *computepb.ServiceAttachmentsScopedList +} + +// ServiceAttachmentsScopedListPairIterator manages a stream of ServiceAttachmentsScopedListPair. +type ServiceAttachmentsScopedListPairIterator struct { + items []ServiceAttachmentsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []ServiceAttachmentsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ServiceAttachmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ServiceAttachmentsScopedListPairIterator) Next() (ServiceAttachmentsScopedListPair, error) { + var item ServiceAttachmentsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ServiceAttachmentsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *ServiceAttachmentsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SnapshotIterator manages a stream of *computepb.Snapshot. +type SnapshotIterator struct { + items []*computepb.Snapshot + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Snapshot, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SnapshotIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SnapshotIterator) Next() (*computepb.Snapshot, error) { + var item *computepb.Snapshot + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SnapshotIterator) bufLen() int { + return len(it.items) +} + +func (it *SnapshotIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SslCertificateIterator manages a stream of *computepb.SslCertificate. +type SslCertificateIterator struct { + items []*computepb.SslCertificate + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.SslCertificate, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SslCertificateIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SslCertificateIterator) Next() (*computepb.SslCertificate, error) { + var item *computepb.SslCertificate + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SslCertificateIterator) bufLen() int { + return len(it.items) +} + +func (it *SslCertificateIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SslCertificatesScopedListPair is a holder type for string/*computepb.SslCertificatesScopedList map entries +type SslCertificatesScopedListPair struct { + Key string + Value *computepb.SslCertificatesScopedList +} + +// SslCertificatesScopedListPairIterator manages a stream of SslCertificatesScopedListPair. +type SslCertificatesScopedListPairIterator struct { + items []SslCertificatesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []SslCertificatesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SslCertificatesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SslCertificatesScopedListPairIterator) Next() (SslCertificatesScopedListPair, error) { + var item SslCertificatesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SslCertificatesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *SslCertificatesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SslPoliciesScopedListPair is a holder type for string/*computepb.SslPoliciesScopedList map entries +type SslPoliciesScopedListPair struct { + Key string + Value *computepb.SslPoliciesScopedList +} + +// SslPoliciesScopedListPairIterator manages a stream of SslPoliciesScopedListPair. +type SslPoliciesScopedListPairIterator struct { + items []SslPoliciesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []SslPoliciesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SslPoliciesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SslPoliciesScopedListPairIterator) Next() (SslPoliciesScopedListPair, error) { + var item SslPoliciesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SslPoliciesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *SslPoliciesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SslPolicyIterator manages a stream of *computepb.SslPolicy. +type SslPolicyIterator struct { + items []*computepb.SslPolicy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.SslPolicy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SslPolicyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SslPolicyIterator) Next() (*computepb.SslPolicy, error) { + var item *computepb.SslPolicy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SslPolicyIterator) bufLen() int { + return len(it.items) +} + +func (it *SslPolicyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SubnetworkIterator manages a stream of *computepb.Subnetwork. +type SubnetworkIterator struct { + items []*computepb.Subnetwork + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Subnetwork, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SubnetworkIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SubnetworkIterator) Next() (*computepb.Subnetwork, error) { + var item *computepb.Subnetwork + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SubnetworkIterator) bufLen() int { + return len(it.items) +} + +func (it *SubnetworkIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// SubnetworksScopedListPair is a holder type for string/*computepb.SubnetworksScopedList map entries +type SubnetworksScopedListPair struct { + Key string + Value *computepb.SubnetworksScopedList +} + +// SubnetworksScopedListPairIterator manages a stream of SubnetworksScopedListPair. +type SubnetworksScopedListPairIterator struct { + items []SubnetworksScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []SubnetworksScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *SubnetworksScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *SubnetworksScopedListPairIterator) Next() (SubnetworksScopedListPair, error) { + var item SubnetworksScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *SubnetworksScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *SubnetworksScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetGrpcProxyIterator manages a stream of *computepb.TargetGrpcProxy. +type TargetGrpcProxyIterator struct { + items []*computepb.TargetGrpcProxy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetGrpcProxy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetGrpcProxyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetGrpcProxyIterator) Next() (*computepb.TargetGrpcProxy, error) { + var item *computepb.TargetGrpcProxy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetGrpcProxyIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetGrpcProxyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetHttpProxiesScopedListPair is a holder type for string/*computepb.TargetHttpProxiesScopedList map entries +type TargetHttpProxiesScopedListPair struct { + Key string + Value *computepb.TargetHttpProxiesScopedList +} + +// TargetHttpProxiesScopedListPairIterator manages a stream of TargetHttpProxiesScopedListPair. +type TargetHttpProxiesScopedListPairIterator struct { + items []TargetHttpProxiesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []TargetHttpProxiesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetHttpProxiesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetHttpProxiesScopedListPairIterator) Next() (TargetHttpProxiesScopedListPair, error) { + var item TargetHttpProxiesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetHttpProxiesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetHttpProxiesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetHttpProxyIterator manages a stream of *computepb.TargetHttpProxy. +type TargetHttpProxyIterator struct { + items []*computepb.TargetHttpProxy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetHttpProxy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetHttpProxyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetHttpProxyIterator) Next() (*computepb.TargetHttpProxy, error) { + var item *computepb.TargetHttpProxy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetHttpProxyIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetHttpProxyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetHttpsProxiesScopedListPair is a holder type for string/*computepb.TargetHttpsProxiesScopedList map entries +type TargetHttpsProxiesScopedListPair struct { + Key string + Value *computepb.TargetHttpsProxiesScopedList +} + +// TargetHttpsProxiesScopedListPairIterator manages a stream of TargetHttpsProxiesScopedListPair. +type TargetHttpsProxiesScopedListPairIterator struct { + items []TargetHttpsProxiesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []TargetHttpsProxiesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetHttpsProxiesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetHttpsProxiesScopedListPairIterator) Next() (TargetHttpsProxiesScopedListPair, error) { + var item TargetHttpsProxiesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetHttpsProxiesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetHttpsProxiesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetHttpsProxyIterator manages a stream of *computepb.TargetHttpsProxy. +type TargetHttpsProxyIterator struct { + items []*computepb.TargetHttpsProxy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetHttpsProxy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetHttpsProxyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetHttpsProxyIterator) Next() (*computepb.TargetHttpsProxy, error) { + var item *computepb.TargetHttpsProxy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetHttpsProxyIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetHttpsProxyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetInstanceIterator manages a stream of *computepb.TargetInstance. +type TargetInstanceIterator struct { + items []*computepb.TargetInstance + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetInstance, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetInstanceIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetInstanceIterator) Next() (*computepb.TargetInstance, error) { + var item *computepb.TargetInstance + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetInstanceIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetInstanceIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetInstancesScopedListPair is a holder type for string/*computepb.TargetInstancesScopedList map entries +type TargetInstancesScopedListPair struct { + Key string + Value *computepb.TargetInstancesScopedList +} + +// TargetInstancesScopedListPairIterator manages a stream of TargetInstancesScopedListPair. +type TargetInstancesScopedListPairIterator struct { + items []TargetInstancesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []TargetInstancesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetInstancesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetInstancesScopedListPairIterator) Next() (TargetInstancesScopedListPair, error) { + var item TargetInstancesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetInstancesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetInstancesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetPoolIterator manages a stream of *computepb.TargetPool. +type TargetPoolIterator struct { + items []*computepb.TargetPool + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetPool, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetPoolIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetPoolIterator) Next() (*computepb.TargetPool, error) { + var item *computepb.TargetPool + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetPoolIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetPoolIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetPoolsScopedListPair is a holder type for string/*computepb.TargetPoolsScopedList map entries +type TargetPoolsScopedListPair struct { + Key string + Value *computepb.TargetPoolsScopedList +} + +// TargetPoolsScopedListPairIterator manages a stream of TargetPoolsScopedListPair. +type TargetPoolsScopedListPairIterator struct { + items []TargetPoolsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []TargetPoolsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetPoolsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetPoolsScopedListPairIterator) Next() (TargetPoolsScopedListPair, error) { + var item TargetPoolsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetPoolsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetPoolsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetSslProxyIterator manages a stream of *computepb.TargetSslProxy. +type TargetSslProxyIterator struct { + items []*computepb.TargetSslProxy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetSslProxy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetSslProxyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetSslProxyIterator) Next() (*computepb.TargetSslProxy, error) { + var item *computepb.TargetSslProxy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetSslProxyIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetSslProxyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetTcpProxiesScopedListPair is a holder type for string/*computepb.TargetTcpProxiesScopedList map entries +type TargetTcpProxiesScopedListPair struct { + Key string + Value *computepb.TargetTcpProxiesScopedList +} + +// TargetTcpProxiesScopedListPairIterator manages a stream of TargetTcpProxiesScopedListPair. +type TargetTcpProxiesScopedListPairIterator struct { + items []TargetTcpProxiesScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []TargetTcpProxiesScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetTcpProxiesScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetTcpProxiesScopedListPairIterator) Next() (TargetTcpProxiesScopedListPair, error) { + var item TargetTcpProxiesScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetTcpProxiesScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetTcpProxiesScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetTcpProxyIterator manages a stream of *computepb.TargetTcpProxy. +type TargetTcpProxyIterator struct { + items []*computepb.TargetTcpProxy + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetTcpProxy, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetTcpProxyIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetTcpProxyIterator) Next() (*computepb.TargetTcpProxy, error) { + var item *computepb.TargetTcpProxy + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetTcpProxyIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetTcpProxyIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetVpnGatewayIterator manages a stream of *computepb.TargetVpnGateway. +type TargetVpnGatewayIterator struct { + items []*computepb.TargetVpnGateway + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetVpnGateway, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetVpnGatewayIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetVpnGatewayIterator) Next() (*computepb.TargetVpnGateway, error) { + var item *computepb.TargetVpnGateway + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetVpnGatewayIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetVpnGatewayIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// TargetVpnGatewaysScopedListPair is a holder type for string/*computepb.TargetVpnGatewaysScopedList map entries +type TargetVpnGatewaysScopedListPair struct { + Key string + Value *computepb.TargetVpnGatewaysScopedList +} + +// TargetVpnGatewaysScopedListPairIterator manages a stream of TargetVpnGatewaysScopedListPair. +type TargetVpnGatewaysScopedListPairIterator struct { + items []TargetVpnGatewaysScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []TargetVpnGatewaysScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *TargetVpnGatewaysScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *TargetVpnGatewaysScopedListPairIterator) Next() (TargetVpnGatewaysScopedListPair, error) { + var item TargetVpnGatewaysScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *TargetVpnGatewaysScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *TargetVpnGatewaysScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// UrlMapIterator manages a stream of *computepb.UrlMap. +type UrlMapIterator struct { + items []*computepb.UrlMap + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.UrlMap, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *UrlMapIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *UrlMapIterator) Next() (*computepb.UrlMap, error) { + var item *computepb.UrlMap + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *UrlMapIterator) bufLen() int { + return len(it.items) +} + +func (it *UrlMapIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// UrlMapsScopedListPair is a holder type for string/*computepb.UrlMapsScopedList map entries +type UrlMapsScopedListPair struct { + Key string + Value *computepb.UrlMapsScopedList +} + +// UrlMapsScopedListPairIterator manages a stream of UrlMapsScopedListPair. +type UrlMapsScopedListPairIterator struct { + items []UrlMapsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []UrlMapsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *UrlMapsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *UrlMapsScopedListPairIterator) Next() (UrlMapsScopedListPair, error) { + var item UrlMapsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *UrlMapsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *UrlMapsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// UsableSubnetworkIterator manages a stream of *computepb.UsableSubnetwork. +type UsableSubnetworkIterator struct { + items []*computepb.UsableSubnetwork + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.UsableSubnetwork, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *UsableSubnetworkIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *UsableSubnetworkIterator) Next() (*computepb.UsableSubnetwork, error) { + var item *computepb.UsableSubnetwork + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *UsableSubnetworkIterator) bufLen() int { + return len(it.items) +} + +func (it *UsableSubnetworkIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// VmEndpointNatMappingsIterator manages a stream of *computepb.VmEndpointNatMappings. +type VmEndpointNatMappingsIterator struct { + items []*computepb.VmEndpointNatMappings + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.VmEndpointNatMappings, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *VmEndpointNatMappingsIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *VmEndpointNatMappingsIterator) Next() (*computepb.VmEndpointNatMappings, error) { + var item *computepb.VmEndpointNatMappings + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *VmEndpointNatMappingsIterator) bufLen() int { + return len(it.items) +} + +func (it *VmEndpointNatMappingsIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// VpnGatewayIterator manages a stream of *computepb.VpnGateway. +type VpnGatewayIterator struct { + items []*computepb.VpnGateway + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.VpnGateway, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *VpnGatewayIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *VpnGatewayIterator) Next() (*computepb.VpnGateway, error) { + var item *computepb.VpnGateway + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *VpnGatewayIterator) bufLen() int { + return len(it.items) +} + +func (it *VpnGatewayIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// VpnGatewaysScopedListPair is a holder type for string/*computepb.VpnGatewaysScopedList map entries +type VpnGatewaysScopedListPair struct { + Key string + Value *computepb.VpnGatewaysScopedList +} + +// VpnGatewaysScopedListPairIterator manages a stream of VpnGatewaysScopedListPair. +type VpnGatewaysScopedListPairIterator struct { + items []VpnGatewaysScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []VpnGatewaysScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *VpnGatewaysScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *VpnGatewaysScopedListPairIterator) Next() (VpnGatewaysScopedListPair, error) { + var item VpnGatewaysScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *VpnGatewaysScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *VpnGatewaysScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// VpnTunnelIterator manages a stream of *computepb.VpnTunnel. +type VpnTunnelIterator struct { + items []*computepb.VpnTunnel + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.VpnTunnel, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *VpnTunnelIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *VpnTunnelIterator) Next() (*computepb.VpnTunnel, error) { + var item *computepb.VpnTunnel + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *VpnTunnelIterator) bufLen() int { + return len(it.items) +} + +func (it *VpnTunnelIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// VpnTunnelsScopedListPair is a holder type for string/*computepb.VpnTunnelsScopedList map entries +type VpnTunnelsScopedListPair struct { + Key string + Value *computepb.VpnTunnelsScopedList +} + +// VpnTunnelsScopedListPairIterator manages a stream of VpnTunnelsScopedListPair. +type VpnTunnelsScopedListPairIterator struct { + items []VpnTunnelsScopedListPair + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []VpnTunnelsScopedListPair, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *VpnTunnelsScopedListPairIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *VpnTunnelsScopedListPairIterator) Next() (VpnTunnelsScopedListPair, error) { + var item VpnTunnelsScopedListPair + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *VpnTunnelsScopedListPairIterator) bufLen() int { + return len(it.items) +} + +func (it *VpnTunnelsScopedListPairIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// XpnResourceIdIterator manages a stream of *computepb.XpnResourceId. +type XpnResourceIdIterator struct { + items []*computepb.XpnResourceId + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.XpnResourceId, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *XpnResourceIdIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *XpnResourceIdIterator) Next() (*computepb.XpnResourceId, error) { + var item *computepb.XpnResourceId + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *XpnResourceIdIterator) bufLen() int { + return len(it.items) +} + +func (it *XpnResourceIdIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} + +// ZoneIterator manages a stream of *computepb.Zone. +type ZoneIterator struct { + items []*computepb.Zone + pageInfo *iterator.PageInfo + nextFunc func() error + + // Response is the raw response for the current page. + // It must be cast to the RPC response type. + // Calling Next() or InternalFetch() updates this value. + Response interface{} + + // InternalFetch is for use by the Google Cloud Libraries only. + // It is not part of the stable interface of this package. + // + // InternalFetch returns results from a single call to the underlying RPC. + // The number of results is no greater than pageSize. + // If there are no more results, nextPageToken is empty and err is nil. + InternalFetch func(pageSize int, pageToken string) (results []*computepb.Zone, nextPageToken string, err error) +} + +// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. +func (it *ZoneIterator) PageInfo() *iterator.PageInfo { + return it.pageInfo +} + +// Next returns the next result. Its second return value is iterator.Done if there are no more +// results. Once Next returns Done, all subsequent calls will return Done. +func (it *ZoneIterator) Next() (*computepb.Zone, error) { + var item *computepb.Zone + if err := it.nextFunc(); err != nil { + return item, err + } + item = it.items[0] + it.items = it.items[1:] + return item, nil +} + +func (it *ZoneIterator) bufLen() int { + return len(it.items) +} + +func (it *ZoneIterator) takeBuf() interface{} { + b := it.items + it.items = nil + return b +} diff --git a/vendor/cloud.google.com/go/compute/apiv1/backend_buckets_client.go b/vendor/cloud.google.com/go/compute/apiv1/backend_buckets_client.go index ab0e0ede31..6028357370 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/backend_buckets_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/backend_buckets_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -46,10 +46,13 @@ type BackendBucketsCallOptions struct { Delete []gax.CallOption DeleteSignedUrlKey []gax.CallOption Get []gax.CallOption + GetIamPolicy []gax.CallOption Insert []gax.CallOption List []gax.CallOption Patch []gax.CallOption SetEdgeSecurityPolicy []gax.CallOption + SetIamPolicy []gax.CallOption + TestIamPermissions []gax.CallOption Update []gax.CallOption } @@ -76,6 +79,18 @@ func defaultBackendBucketsRESTCallOptions() *BackendBucketsCallOptions { http.StatusServiceUnavailable) }), }, + GetIamPolicy: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, Insert: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -97,6 +112,12 @@ func defaultBackendBucketsRESTCallOptions() *BackendBucketsCallOptions { SetEdgeSecurityPolicy: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + SetIamPolicy: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, + TestIamPermissions: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Update: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -112,10 +133,13 @@ type internalBackendBucketsClient interface { Delete(context.Context, *computepb.DeleteBackendBucketRequest, ...gax.CallOption) (*Operation, error) DeleteSignedUrlKey(context.Context, *computepb.DeleteSignedUrlKeyBackendBucketRequest, ...gax.CallOption) (*Operation, error) Get(context.Context, *computepb.GetBackendBucketRequest, ...gax.CallOption) (*computepb.BackendBucket, error) + GetIamPolicy(context.Context, *computepb.GetIamPolicyBackendBucketRequest, ...gax.CallOption) (*computepb.Policy, error) Insert(context.Context, *computepb.InsertBackendBucketRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListBackendBucketsRequest, ...gax.CallOption) *BackendBucketIterator Patch(context.Context, *computepb.PatchBackendBucketRequest, ...gax.CallOption) (*Operation, error) SetEdgeSecurityPolicy(context.Context, *computepb.SetEdgeSecurityPolicyBackendBucketRequest, ...gax.CallOption) (*Operation, error) + SetIamPolicy(context.Context, *computepb.SetIamPolicyBackendBucketRequest, ...gax.CallOption) (*computepb.Policy, error) + TestIamPermissions(context.Context, *computepb.TestIamPermissionsBackendBucketRequest, ...gax.CallOption) (*computepb.TestPermissionsResponse, error) Update(context.Context, *computepb.UpdateBackendBucketRequest, ...gax.CallOption) (*Operation, error) } @@ -174,6 +198,11 @@ func (c *BackendBucketsClient) Get(ctx context.Context, req *computepb.GetBacken return c.internalClient.Get(ctx, req, opts...) } +// GetIamPolicy gets the access control policy for a resource. May be empty if no such policy or resource exists. +func (c *BackendBucketsClient) GetIamPolicy(ctx context.Context, req *computepb.GetIamPolicyBackendBucketRequest, opts ...gax.CallOption) (*computepb.Policy, error) { + return c.internalClient.GetIamPolicy(ctx, req, opts...) +} + // Insert creates a BackendBucket resource in the specified project using the data included in the request. func (c *BackendBucketsClient) Insert(ctx context.Context, req *computepb.InsertBackendBucketRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Insert(ctx, req, opts...) @@ -194,6 +223,16 @@ func (c *BackendBucketsClient) SetEdgeSecurityPolicy(ctx context.Context, req *c return c.internalClient.SetEdgeSecurityPolicy(ctx, req, opts...) } +// SetIamPolicy sets the access control policy on the specified resource. Replaces any existing policy. +func (c *BackendBucketsClient) SetIamPolicy(ctx context.Context, req *computepb.SetIamPolicyBackendBucketRequest, opts ...gax.CallOption) (*computepb.Policy, error) { + return c.internalClient.SetIamPolicy(ctx, req, opts...) +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. +func (c *BackendBucketsClient) TestIamPermissions(ctx context.Context, req *computepb.TestIamPermissionsBackendBucketRequest, opts ...gax.CallOption) (*computepb.TestPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + // Update updates the specified BackendBucket resource with the data included in the request. func (c *BackendBucketsClient) Update(ctx context.Context, req *computepb.UpdateBackendBucketRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Update(ctx, req, opts...) @@ -251,7 +290,9 @@ func NewBackendBucketsRESTClient(ctx context.Context, opts ...option.ClientOptio func defaultBackendBucketsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -554,6 +595,68 @@ func (c *backendBucketsRESTClient) Get(ctx context.Context, req *computepb.GetBa return resp, nil } +// GetIamPolicy gets the access control policy for a resource. May be empty if no such policy or resource exists. +func (c *backendBucketsRESTClient) GetIamPolicy(ctx context.Context, req *computepb.GetIamPolicyBackendBucketRequest, opts ...gax.CallOption) (*computepb.Policy, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/backendBuckets/%v/getIamPolicy", req.GetProject(), req.GetResource()) + + params := url.Values{} + if req != nil && req.OptionsRequestedPolicyVersion != nil { + params.Add("optionsRequestedPolicyVersion", fmt.Sprintf("%v", req.GetOptionsRequestedPolicyVersion())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Policy{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // Insert creates a BackendBucket resource in the specified project using the data included in the request. func (c *backendBucketsRESTClient) Insert(ctx context.Context, req *computepb.InsertBackendBucketRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -879,6 +982,130 @@ func (c *backendBucketsRESTClient) SetEdgeSecurityPolicy(ctx context.Context, re return op, nil } +// SetIamPolicy sets the access control policy on the specified resource. Replaces any existing policy. +func (c *backendBucketsRESTClient) SetIamPolicy(ctx context.Context, req *computepb.SetIamPolicyBackendBucketRequest, opts ...gax.CallOption) (*computepb.Policy, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetGlobalSetPolicyRequestResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/backendBuckets/%v/setIamPolicy", req.GetProject(), req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Policy{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. +func (c *backendBucketsRESTClient) TestIamPermissions(ctx context.Context, req *computepb.TestIamPermissionsBackendBucketRequest, opts ...gax.CallOption) (*computepb.TestPermissionsResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetTestPermissionsRequestResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/backendBuckets/%v/testIamPermissions", req.GetProject(), req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.TestPermissionsResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // Update updates the specified BackendBucket resource with the data included in the request. func (c *backendBucketsRESTClient) Update(ctx context.Context, req *computepb.UpdateBackendBucketRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -954,50 +1181,3 @@ func (c *backendBucketsRESTClient) Update(ctx context.Context, req *computepb.Up } return op, nil } - -// BackendBucketIterator manages a stream of *computepb.BackendBucket. -type BackendBucketIterator struct { - items []*computepb.BackendBucket - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.BackendBucket, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *BackendBucketIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *BackendBucketIterator) Next() (*computepb.BackendBucket, error) { - var item *computepb.BackendBucket - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *BackendBucketIterator) bufLen() int { - return len(it.items) -} - -func (it *BackendBucketIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/backend_services_client.go b/vendor/cloud.google.com/go/compute/apiv1/backend_services_client.go index d56ba9b07a..57484564a3 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/backend_services_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/backend_services_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -52,10 +52,12 @@ type BackendServicesCallOptions struct { GetIamPolicy []gax.CallOption Insert []gax.CallOption List []gax.CallOption + ListUsable []gax.CallOption Patch []gax.CallOption SetEdgeSecurityPolicy []gax.CallOption SetIamPolicy []gax.CallOption SetSecurityPolicy []gax.CallOption + TestIamPermissions []gax.CallOption Update []gax.CallOption } @@ -124,6 +126,18 @@ func defaultBackendServicesRESTCallOptions() *BackendServicesCallOptions { http.StatusServiceUnavailable) }), }, + ListUsable: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, Patch: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -136,6 +150,9 @@ func defaultBackendServicesRESTCallOptions() *BackendServicesCallOptions { SetSecurityPolicy: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + TestIamPermissions: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Update: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -156,10 +173,12 @@ type internalBackendServicesClient interface { GetIamPolicy(context.Context, *computepb.GetIamPolicyBackendServiceRequest, ...gax.CallOption) (*computepb.Policy, error) Insert(context.Context, *computepb.InsertBackendServiceRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListBackendServicesRequest, ...gax.CallOption) *BackendServiceIterator + ListUsable(context.Context, *computepb.ListUsableBackendServicesRequest, ...gax.CallOption) *BackendServiceIterator Patch(context.Context, *computepb.PatchBackendServiceRequest, ...gax.CallOption) (*Operation, error) SetEdgeSecurityPolicy(context.Context, *computepb.SetEdgeSecurityPolicyBackendServiceRequest, ...gax.CallOption) (*Operation, error) SetIamPolicy(context.Context, *computepb.SetIamPolicyBackendServiceRequest, ...gax.CallOption) (*computepb.Policy, error) SetSecurityPolicy(context.Context, *computepb.SetSecurityPolicyBackendServiceRequest, ...gax.CallOption) (*Operation, error) + TestIamPermissions(context.Context, *computepb.TestIamPermissionsBackendServiceRequest, ...gax.CallOption) (*computepb.TestPermissionsResponse, error) Update(context.Context, *computepb.UpdateBackendServiceRequest, ...gax.CallOption) (*Operation, error) } @@ -243,6 +262,11 @@ func (c *BackendServicesClient) List(ctx context.Context, req *computepb.ListBac return c.internalClient.List(ctx, req, opts...) } +// ListUsable retrieves an aggregated list of all usable backend services in the specified project. +func (c *BackendServicesClient) ListUsable(ctx context.Context, req *computepb.ListUsableBackendServicesRequest, opts ...gax.CallOption) *BackendServiceIterator { + return c.internalClient.ListUsable(ctx, req, opts...) +} + // Patch patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. func (c *BackendServicesClient) Patch(ctx context.Context, req *computepb.PatchBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Patch(ctx, req, opts...) @@ -263,6 +287,11 @@ func (c *BackendServicesClient) SetSecurityPolicy(ctx context.Context, req *comp return c.internalClient.SetSecurityPolicy(ctx, req, opts...) } +// TestIamPermissions returns permissions that a caller has on the specified resource. +func (c *BackendServicesClient) TestIamPermissions(ctx context.Context, req *computepb.TestIamPermissionsBackendServiceRequest, opts ...gax.CallOption) (*computepb.TestPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + // Update updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. func (c *BackendServicesClient) Update(ctx context.Context, req *computepb.UpdateBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Update(ctx, req, opts...) @@ -320,7 +349,9 @@ func NewBackendServicesRESTClient(ctx context.Context, opts ...option.ClientOpti func defaultBackendServicesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -469,6 +500,9 @@ func (c *backendServicesRESTClient) AggregatedList(ctx context.Context, req *com if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1027,6 +1061,103 @@ func (c *backendServicesRESTClient) List(ctx context.Context, req *computepb.Lis return it } +// ListUsable retrieves an aggregated list of all usable backend services in the specified project. +func (c *backendServicesRESTClient) ListUsable(ctx context.Context, req *computepb.ListUsableBackendServicesRequest, opts ...gax.CallOption) *BackendServiceIterator { + it := &BackendServiceIterator{} + req = proto.Clone(req).(*computepb.ListUsableBackendServicesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*computepb.BackendService, string, error) { + resp := &computepb.BackendServiceListUsable{} + if pageToken != "" { + req.PageToken = proto.String(pageToken) + } + if pageSize > math.MaxInt32 { + req.MaxResults = proto.Uint32(math.MaxInt32) + } else if pageSize != 0 { + req.MaxResults = proto.Uint32(uint32(pageSize)) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/backendServices/listUsable", req.GetProject()) + + params := url.Values{} + if req != nil && req.Filter != nil { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req != nil && req.MaxResults != nil { + params.Add("maxResults", fmt.Sprintf("%v", req.GetMaxResults())) + } + if req != nil && req.OrderBy != nil { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req != nil && req.PageToken != nil { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req != nil && req.ReturnPartialSuccess != nil { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetItems(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetMaxResults()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + // Patch patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. func (c *backendServicesRESTClient) Patch(ctx context.Context, req *computepb.PatchBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -1317,6 +1448,68 @@ func (c *backendServicesRESTClient) SetSecurityPolicy(ctx context.Context, req * return op, nil } +// TestIamPermissions returns permissions that a caller has on the specified resource. +func (c *backendServicesRESTClient) TestIamPermissions(ctx context.Context, req *computepb.TestIamPermissionsBackendServiceRequest, opts ...gax.CallOption) (*computepb.TestPermissionsResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetTestPermissionsRequestResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/backendServices/%v/testIamPermissions", req.GetProject(), req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.TestPermissionsResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // Update updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. func (c *backendServicesRESTClient) Update(ctx context.Context, req *computepb.UpdateBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -1392,103 +1585,3 @@ func (c *backendServicesRESTClient) Update(ctx context.Context, req *computepb.U } return op, nil } - -// BackendServiceIterator manages a stream of *computepb.BackendService. -type BackendServiceIterator struct { - items []*computepb.BackendService - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.BackendService, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *BackendServiceIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *BackendServiceIterator) Next() (*computepb.BackendService, error) { - var item *computepb.BackendService - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *BackendServiceIterator) bufLen() int { - return len(it.items) -} - -func (it *BackendServiceIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// BackendServicesScopedListPair is a holder type for string/*computepb.BackendServicesScopedList map entries -type BackendServicesScopedListPair struct { - Key string - Value *computepb.BackendServicesScopedList -} - -// BackendServicesScopedListPairIterator manages a stream of BackendServicesScopedListPair. -type BackendServicesScopedListPairIterator struct { - items []BackendServicesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []BackendServicesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *BackendServicesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *BackendServicesScopedListPairIterator) Next() (BackendServicesScopedListPair, error) { - var item BackendServicesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *BackendServicesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *BackendServicesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/computepb/compute.pb.go b/vendor/cloud.google.com/go/compute/apiv1/computepb/compute.pb.go index 72aeec771a..94ba4f7f89 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/computepb/compute.pb.go +++ b/vendor/cloud.google.com/go/compute/apiv1/computepb/compute.pb.go @@ -14,13 +14,13 @@ // Generated by the disco-to-proto3-converter. DO NOT EDIT! // Source Discovery file: compute.v1.json -// Source file revision: 20230711 +// Source file revision: 20231110 // API name: compute // API version: v1 // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 +// protoc-gen-go v1.32.0 // protoc v4.23.2 // source: google/cloud/compute/v1/compute.proto @@ -38,6 +38,7 @@ import ( status "google.golang.org/grpc/status" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" ) const ( @@ -105,7 +106,7 @@ func (x AccessConfig_NetworkTier) Number() protoreflect.EnumNumber { // Deprecated: Use AccessConfig_NetworkTier.Descriptor instead. func (AccessConfig_NetworkTier) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{8, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{9, 0} } // The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. @@ -156,7 +157,7 @@ func (x AccessConfig_Type) Number() protoreflect.EnumNumber { // Deprecated: Use AccessConfig_Type.Descriptor instead. func (AccessConfig_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{8, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{9, 1} } // The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL. @@ -212,7 +213,7 @@ func (x Address_AddressType) Number() protoreflect.EnumNumber { // Deprecated: Use Address_AddressType.Descriptor instead. func (Address_AddressType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29, 0} } // The IP version that will be used by this address. Valid options are IPV4 or IPV6. @@ -266,7 +267,7 @@ func (x Address_IpVersion) Number() protoreflect.EnumNumber { // Deprecated: Use Address_IpVersion.Descriptor instead. func (Address_IpVersion) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29, 1} } // The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation. @@ -319,7 +320,7 @@ func (x Address_Ipv6EndpointType) Number() protoreflect.EnumNumber { // Deprecated: Use Address_Ipv6EndpointType.Descriptor instead. func (Address_Ipv6EndpointType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29, 2} } // This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM. @@ -380,7 +381,7 @@ func (x Address_NetworkTier) Number() protoreflect.EnumNumber { // Deprecated: Use Address_NetworkTier.Descriptor instead. func (Address_NetworkTier) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29, 3} } // The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. @@ -457,7 +458,7 @@ func (x Address_Purpose) Number() protoreflect.EnumNumber { // Deprecated: Use Address_Purpose.Descriptor instead. func (Address_Purpose) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27, 4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29, 4} } // [Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available. @@ -514,7 +515,7 @@ func (x Address_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Address_Status.Descriptor instead. func (Address_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27, 5} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29, 5} } // Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance. @@ -565,7 +566,7 @@ func (x AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_I // Deprecated: Use AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface.Descriptor instead. func (AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk_Interface) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{76, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{78, 0} } // [Output Only] The architecture of the attached disk. Valid values are ARM64 or X86_64. @@ -622,7 +623,7 @@ func (x AttachedDisk_Architecture) Number() protoreflect.EnumNumber { // Deprecated: Use AttachedDisk_Architecture.Descriptor instead. func (AttachedDisk_Architecture) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{85, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90, 0} } // Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks. @@ -673,7 +674,7 @@ func (x AttachedDisk_Interface) Number() protoreflect.EnumNumber { // Deprecated: Use AttachedDisk_Interface.Descriptor instead. func (AttachedDisk_Interface) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{85, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90, 1} } // The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode. @@ -726,7 +727,7 @@ func (x AttachedDisk_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use AttachedDisk_Mode.Descriptor instead. func (AttachedDisk_Mode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{85, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90, 2} } // For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api. @@ -779,7 +780,7 @@ func (x AttachedDisk_SavedState) Number() protoreflect.EnumNumber { // Deprecated: Use AttachedDisk_SavedState.Descriptor instead. func (AttachedDisk_SavedState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{85, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90, 3} } // Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT. @@ -830,7 +831,7 @@ func (x AttachedDisk_Type) Number() protoreflect.EnumNumber { // Deprecated: Use AttachedDisk_Type.Descriptor instead. func (AttachedDisk_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{85, 4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90, 4} } // The architecture of the attached disk. Valid values are arm64 or x86_64. @@ -887,7 +888,7 @@ func (x AttachedDiskInitializeParams_Architecture) Number() protoreflect.EnumNum // Deprecated: Use AttachedDiskInitializeParams_Architecture.Descriptor instead. func (AttachedDiskInitializeParams_Architecture) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{86, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{91, 0} } // Specifies which action to take on instance update with this disk. Default is to use the existing disk. @@ -944,7 +945,7 @@ func (x AttachedDiskInitializeParams_OnUpdateAction) Number() protoreflect.EnumN // Deprecated: Use AttachedDiskInitializeParams_OnUpdateAction.Descriptor instead. func (AttachedDiskInitializeParams_OnUpdateAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{86, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{91, 1} } // The log type that this config enables. @@ -1005,7 +1006,7 @@ func (x AuditLogConfig_LogType) Number() protoreflect.EnumNumber { // Deprecated: Use AuditLogConfig_LogType.Descriptor instead. func (AuditLogConfig_LogType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{88, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{93, 0} } // This is deprecated and has no effect. Do not use. @@ -1070,7 +1071,7 @@ func (x AuthorizationLoggingOptions_PermissionType) Number() protoreflect.EnumNu // Deprecated: Use AuthorizationLoggingOptions_PermissionType.Descriptor instead. func (AuthorizationLoggingOptions_PermissionType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{89, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{94, 0} } // [Output Only] The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future. @@ -1131,7 +1132,7 @@ func (x Autoscaler_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Autoscaler_Status.Descriptor instead. func (Autoscaler_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{95, 0} } // The type of error, warning, or notice returned. Current set of possible values: - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - MODE_ONLY_UP (WARNING): Autoscaling is in the "Autoscale only out" mode. The autoscaler can add instances but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions. @@ -1255,7 +1256,7 @@ func (x AutoscalerStatusDetails_Type) Number() protoreflect.EnumNumber { // Deprecated: Use AutoscalerStatusDetails_Type.Descriptor instead. func (AutoscalerStatusDetails_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{93, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{98, 0} } // Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see "Turning off or restricting an autoscaler" @@ -1316,7 +1317,7 @@ func (x AutoscalingPolicy_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use AutoscalingPolicy_Mode.Descriptor instead. func (AutoscalingPolicy_Mode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{95, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{100, 0} } // Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: * NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand. @@ -1369,7 +1370,7 @@ func (x AutoscalingPolicyCpuUtilization_PredictiveMethod) Number() protoreflect. // Deprecated: Use AutoscalingPolicyCpuUtilization_PredictiveMethod.Descriptor instead. func (AutoscalingPolicyCpuUtilization_PredictiveMethod) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{96, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{101, 0} } // Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE. @@ -1426,7 +1427,7 @@ func (x AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType) Number() // Deprecated: Use AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType.Descriptor instead. func (AutoscalingPolicyCustomMetricUtilization_UtilizationTargetType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{97, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{102, 0} } // Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected. @@ -1483,7 +1484,7 @@ func (x Backend_BalancingMode) Number() protoreflect.EnumNumber { // Deprecated: Use Backend_BalancingMode.Descriptor instead. func (Backend_BalancingMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{101, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{106, 0} } // Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. @@ -1536,7 +1537,7 @@ func (x BackendBucket_CompressionMode) Number() protoreflect.EnumNumber { // Deprecated: Use BackendBucket_CompressionMode.Descriptor instead. func (BackendBucket_CompressionMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{102, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{107, 0} } // Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. @@ -1596,7 +1597,7 @@ func (x BackendBucketCdnPolicy_CacheMode) Number() protoreflect.EnumNumber { // Deprecated: Use BackendBucketCdnPolicy_CacheMode.Descriptor instead. func (BackendBucketCdnPolicy_CacheMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{103, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108, 0} } // Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header. @@ -1649,7 +1650,7 @@ func (x BackendService_CompressionMode) Number() protoreflect.EnumNumber { // Deprecated: Use BackendService_CompressionMode.Descriptor instead. func (BackendService_CompressionMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113, 0} } // Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer. @@ -1717,10 +1718,10 @@ func (x BackendService_LoadBalancingScheme) Number() protoreflect.EnumNumber { // Deprecated: Use BackendService_LoadBalancingScheme.Descriptor instead. func (BackendService_LoadBalancingScheme) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113, 1} } -// The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. +// The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. type BackendService_LocalityLbPolicy int32 const ( @@ -1793,7 +1794,7 @@ func (x BackendService_LocalityLbPolicy) Number() protoreflect.EnumNumber { // Deprecated: Use BackendService_LocalityLbPolicy.Descriptor instead. func (BackendService_LocalityLbPolicy) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113, 2} } // The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy. @@ -1868,7 +1869,7 @@ func (x BackendService_Protocol) Number() protoreflect.EnumNumber { // Deprecated: Use BackendService_Protocol.Descriptor instead. func (BackendService_Protocol) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113, 3} } // Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). @@ -1945,7 +1946,7 @@ func (x BackendService_SessionAffinity) Number() protoreflect.EnumNumber { // Deprecated: Use BackendService_SessionAffinity.Descriptor instead. func (BackendService_SessionAffinity) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108, 4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113, 4} } // Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. @@ -2005,7 +2006,7 @@ func (x BackendServiceCdnPolicy_CacheMode) Number() protoreflect.EnumNumber { // Deprecated: Use BackendServiceCdnPolicy_CacheMode.Descriptor instead. func (BackendServiceCdnPolicy_CacheMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{110, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{115, 0} } // Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see [Connection Persistence for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence) and [Connection Persistence for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence). @@ -2059,7 +2060,7 @@ func (x BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyB // Deprecated: Use BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends.Descriptor instead. func (BackendServiceConnectionTrackingPolicy_ConnectionPersistenceOnUnhealthyBackends) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{118, 0} } // Specifies the key used for connection tracking. There are two options: - PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode). @@ -2113,7 +2114,7 @@ func (x BackendServiceConnectionTrackingPolicy_TrackingMode) Number() protorefle // Deprecated: Use BackendServiceConnectionTrackingPolicy_TrackingMode.Descriptor instead. func (BackendServiceConnectionTrackingPolicy_TrackingMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{118, 1} } // The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected. @@ -2189,7 +2190,7 @@ func (x BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name) Number() pro // Deprecated: Use BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name.Descriptor instead. func (BackendServiceLocalityLoadBalancingPolicyConfigPolicy_Name) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{120, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{126, 0} } // This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL. @@ -2246,7 +2247,7 @@ func (x BackendServiceLogConfig_OptionalMode) Number() protoreflect.EnumNumber { // Deprecated: Use BackendServiceLogConfig_OptionalMode.Descriptor instead. func (BackendServiceLogConfig_OptionalMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{121, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{127, 0} } // The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880 @@ -2321,7 +2322,7 @@ func (x BfdPacket_Diagnostic) Number() protoreflect.EnumNumber { // Deprecated: Use BfdPacket_Diagnostic.Descriptor instead. func (BfdPacket_Diagnostic) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{124, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{131, 0} } // The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880 @@ -2381,7 +2382,7 @@ func (x BfdPacket_State) Number() protoreflect.EnumNumber { // Deprecated: Use BfdPacket_State.Descriptor instead. func (BfdPacket_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{124, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{131, 1} } // The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. @@ -2435,7 +2436,7 @@ func (x BfdStatus_BfdSessionInitializationMode) Number() protoreflect.EnumNumber // Deprecated: Use BfdStatus_BfdSessionInitializationMode.Descriptor instead. func (BfdStatus_BfdSessionInitializationMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{125, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{132, 0} } // The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880 @@ -2510,7 +2511,7 @@ func (x BfdStatus_LocalDiagnostic) Number() protoreflect.EnumNumber { // Deprecated: Use BfdStatus_LocalDiagnostic.Descriptor instead. func (BfdStatus_LocalDiagnostic) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{125, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{132, 1} } // The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880 @@ -2570,7 +2571,67 @@ func (x BfdStatus_LocalState) Number() protoreflect.EnumNumber { // Deprecated: Use BfdStatus_LocalState.Descriptor instead. func (BfdStatus_LocalState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{125, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{132, 2} +} + +// [Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. +type BulkInsertOperationStatus_Status int32 + +const ( + // A value indicating that the enum field is not set. + BulkInsertOperationStatus_UNDEFINED_STATUS BulkInsertOperationStatus_Status = 0 + // Rolling forward - creating VMs. + BulkInsertOperationStatus_CREATING BulkInsertOperationStatus_Status = 455564985 + // Done + BulkInsertOperationStatus_DONE BulkInsertOperationStatus_Status = 2104194 + // Rolling back - cleaning up after an error. + BulkInsertOperationStatus_ROLLING_BACK BulkInsertOperationStatus_Status = 259411649 + BulkInsertOperationStatus_STATUS_UNSPECIFIED BulkInsertOperationStatus_Status = 42133066 +) + +// Enum value maps for BulkInsertOperationStatus_Status. +var ( + BulkInsertOperationStatus_Status_name = map[int32]string{ + 0: "UNDEFINED_STATUS", + 455564985: "CREATING", + 2104194: "DONE", + 259411649: "ROLLING_BACK", + 42133066: "STATUS_UNSPECIFIED", + } + BulkInsertOperationStatus_Status_value = map[string]int32{ + "UNDEFINED_STATUS": 0, + "CREATING": 455564985, + "DONE": 2104194, + "ROLLING_BACK": 259411649, + "STATUS_UNSPECIFIED": 42133066, + } +) + +func (x BulkInsertOperationStatus_Status) Enum() *BulkInsertOperationStatus_Status { + p := new(BulkInsertOperationStatus_Status) + *p = x + return p +} + +func (x BulkInsertOperationStatus_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BulkInsertOperationStatus_Status) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[41].Descriptor() +} + +func (BulkInsertOperationStatus_Status) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[41] +} + +func (x BulkInsertOperationStatus_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BulkInsertOperationStatus_Status.Descriptor instead. +func (BulkInsertOperationStatus_Status) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{140, 0} } // The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified. @@ -2611,11 +2672,11 @@ func (x Commitment_Category) String() string { } func (Commitment_Category) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[41].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[42].Descriptor() } func (Commitment_Category) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[41] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[42] } func (x Commitment_Category) Number() protoreflect.EnumNumber { @@ -2624,7 +2685,7 @@ func (x Commitment_Category) Number() protoreflect.EnumNumber { // Deprecated: Use Commitment_Category.Descriptor instead. func (Commitment_Category) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{141, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{149, 0} } // The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years). @@ -2665,11 +2726,11 @@ func (x Commitment_Plan) String() string { } func (Commitment_Plan) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[42].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[43].Descriptor() } func (Commitment_Plan) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[42] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[43] } func (x Commitment_Plan) Number() protoreflect.EnumNumber { @@ -2678,7 +2739,7 @@ func (x Commitment_Plan) Number() protoreflect.EnumNumber { // Deprecated: Use Commitment_Plan.Descriptor instead. func (Commitment_Plan) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{141, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{149, 1} } // [Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED. @@ -2726,11 +2787,11 @@ func (x Commitment_Status) String() string { } func (Commitment_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[43].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[44].Descriptor() } func (Commitment_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[43] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[44] } func (x Commitment_Status) Number() protoreflect.EnumNumber { @@ -2739,7 +2800,7 @@ func (x Commitment_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Commitment_Status.Descriptor instead. func (Commitment_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{141, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{149, 2} } // The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines. @@ -2747,20 +2808,23 @@ type Commitment_Type int32 const ( // A value indicating that the enum field is not set. - Commitment_UNDEFINED_TYPE Commitment_Type = 0 - Commitment_ACCELERATOR_OPTIMIZED Commitment_Type = 280848403 - Commitment_COMPUTE_OPTIMIZED Commitment_Type = 158349023 - Commitment_COMPUTE_OPTIMIZED_C2D Commitment_Type = 383246453 - Commitment_COMPUTE_OPTIMIZED_C3 Commitment_Type = 428004784 - Commitment_GENERAL_PURPOSE Commitment_Type = 299793543 - Commitment_GENERAL_PURPOSE_E2 Commitment_Type = 301911877 - Commitment_GENERAL_PURPOSE_N2 Commitment_Type = 301912156 - Commitment_GENERAL_PURPOSE_N2D Commitment_Type = 232471400 - Commitment_GENERAL_PURPOSE_T2D Commitment_Type = 232477166 - Commitment_GRAPHICS_OPTIMIZED Commitment_Type = 68500563 - Commitment_MEMORY_OPTIMIZED Commitment_Type = 281753417 - Commitment_MEMORY_OPTIMIZED_M3 Commitment_Type = 276301372 - Commitment_TYPE_UNSPECIFIED Commitment_Type = 437714322 + Commitment_UNDEFINED_TYPE Commitment_Type = 0 + Commitment_ACCELERATOR_OPTIMIZED Commitment_Type = 280848403 + Commitment_ACCELERATOR_OPTIMIZED_A3 Commitment_Type = 158574526 + Commitment_COMPUTE_OPTIMIZED Commitment_Type = 158349023 + Commitment_COMPUTE_OPTIMIZED_C2D Commitment_Type = 383246453 + Commitment_COMPUTE_OPTIMIZED_C3 Commitment_Type = 428004784 + Commitment_COMPUTE_OPTIMIZED_C3D Commitment_Type = 383246484 + Commitment_COMPUTE_OPTIMIZED_H3 Commitment_Type = 428004939 + Commitment_GENERAL_PURPOSE Commitment_Type = 299793543 + Commitment_GENERAL_PURPOSE_E2 Commitment_Type = 301911877 + Commitment_GENERAL_PURPOSE_N2 Commitment_Type = 301912156 + Commitment_GENERAL_PURPOSE_N2D Commitment_Type = 232471400 + Commitment_GENERAL_PURPOSE_T2D Commitment_Type = 232477166 + Commitment_GRAPHICS_OPTIMIZED Commitment_Type = 68500563 + Commitment_MEMORY_OPTIMIZED Commitment_Type = 281753417 + Commitment_MEMORY_OPTIMIZED_M3 Commitment_Type = 276301372 + Commitment_TYPE_UNSPECIFIED Commitment_Type = 437714322 ) // Enum value maps for Commitment_Type. @@ -2768,9 +2832,12 @@ var ( Commitment_Type_name = map[int32]string{ 0: "UNDEFINED_TYPE", 280848403: "ACCELERATOR_OPTIMIZED", + 158574526: "ACCELERATOR_OPTIMIZED_A3", 158349023: "COMPUTE_OPTIMIZED", 383246453: "COMPUTE_OPTIMIZED_C2D", 428004784: "COMPUTE_OPTIMIZED_C3", + 383246484: "COMPUTE_OPTIMIZED_C3D", + 428004939: "COMPUTE_OPTIMIZED_H3", 299793543: "GENERAL_PURPOSE", 301911877: "GENERAL_PURPOSE_E2", 301912156: "GENERAL_PURPOSE_N2", @@ -2782,20 +2849,23 @@ var ( 437714322: "TYPE_UNSPECIFIED", } Commitment_Type_value = map[string]int32{ - "UNDEFINED_TYPE": 0, - "ACCELERATOR_OPTIMIZED": 280848403, - "COMPUTE_OPTIMIZED": 158349023, - "COMPUTE_OPTIMIZED_C2D": 383246453, - "COMPUTE_OPTIMIZED_C3": 428004784, - "GENERAL_PURPOSE": 299793543, - "GENERAL_PURPOSE_E2": 301911877, - "GENERAL_PURPOSE_N2": 301912156, - "GENERAL_PURPOSE_N2D": 232471400, - "GENERAL_PURPOSE_T2D": 232477166, - "GRAPHICS_OPTIMIZED": 68500563, - "MEMORY_OPTIMIZED": 281753417, - "MEMORY_OPTIMIZED_M3": 276301372, - "TYPE_UNSPECIFIED": 437714322, + "UNDEFINED_TYPE": 0, + "ACCELERATOR_OPTIMIZED": 280848403, + "ACCELERATOR_OPTIMIZED_A3": 158574526, + "COMPUTE_OPTIMIZED": 158349023, + "COMPUTE_OPTIMIZED_C2D": 383246453, + "COMPUTE_OPTIMIZED_C3": 428004784, + "COMPUTE_OPTIMIZED_C3D": 383246484, + "COMPUTE_OPTIMIZED_H3": 428004939, + "GENERAL_PURPOSE": 299793543, + "GENERAL_PURPOSE_E2": 301911877, + "GENERAL_PURPOSE_N2": 301912156, + "GENERAL_PURPOSE_N2D": 232471400, + "GENERAL_PURPOSE_T2D": 232477166, + "GRAPHICS_OPTIMIZED": 68500563, + "MEMORY_OPTIMIZED": 281753417, + "MEMORY_OPTIMIZED_M3": 276301372, + "TYPE_UNSPECIFIED": 437714322, } ) @@ -2810,11 +2880,11 @@ func (x Commitment_Type) String() string { } func (Commitment_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[44].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[45].Descriptor() } func (Commitment_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[44] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[45] } func (x Commitment_Type) Number() protoreflect.EnumNumber { @@ -2823,7 +2893,7 @@ func (x Commitment_Type) Number() protoreflect.EnumNumber { // Deprecated: Use Commitment_Type.Descriptor instead. func (Commitment_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{141, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{149, 3} } // This is deprecated and has no effect. Do not use. @@ -2885,11 +2955,11 @@ func (x Condition_Iam) String() string { } func (Condition_Iam) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[45].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[46].Descriptor() } func (Condition_Iam) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[45] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[46] } func (x Condition_Iam) Number() protoreflect.EnumNumber { @@ -2898,7 +2968,7 @@ func (x Condition_Iam) Number() protoreflect.EnumNumber { // Deprecated: Use Condition_Iam.Descriptor instead. func (Condition_Iam) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{145, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{153, 0} } // This is deprecated and has no effect. Do not use. @@ -2954,11 +3024,11 @@ func (x Condition_Op) String() string { } func (Condition_Op) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[46].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[47].Descriptor() } func (Condition_Op) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[46] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[47] } func (x Condition_Op) Number() protoreflect.EnumNumber { @@ -2967,7 +3037,7 @@ func (x Condition_Op) Number() protoreflect.EnumNumber { // Deprecated: Use Condition_Op.Descriptor instead. func (Condition_Op) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{145, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{153, 1} } // This is deprecated and has no effect. Do not use. @@ -3017,11 +3087,11 @@ func (x Condition_Sys) String() string { } func (Condition_Sys) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[47].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[48].Descriptor() } func (Condition_Sys) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[47] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[48] } func (x Condition_Sys) Number() protoreflect.EnumNumber { @@ -3030,7 +3100,7 @@ func (x Condition_Sys) Number() protoreflect.EnumNumber { // Deprecated: Use Condition_Sys.Descriptor instead. func (Condition_Sys) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{145, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{153, 2} } // The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error. @@ -3074,11 +3144,11 @@ func (x DeprecationStatus_State) String() string { } func (DeprecationStatus_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[48].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[49].Descriptor() } func (DeprecationStatus_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[48] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[49] } func (x DeprecationStatus_State) Number() protoreflect.EnumNumber { @@ -3087,7 +3157,7 @@ func (x DeprecationStatus_State) Number() protoreflect.EnumNumber { // Deprecated: Use DeprecationStatus_State.Descriptor instead. func (DeprecationStatus_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{247, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{255, 0} } // The architecture of the disk. Valid values are ARM64 or X86_64. @@ -3131,11 +3201,11 @@ func (x Disk_Architecture) String() string { } func (Disk_Architecture) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[49].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[50].Descriptor() } func (Disk_Architecture) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[49] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[50] } func (x Disk_Architecture) Number() protoreflect.EnumNumber { @@ -3144,7 +3214,7 @@ func (x Disk_Architecture) Number() protoreflect.EnumNumber { // Deprecated: Use Disk_Architecture.Descriptor instead. func (Disk_Architecture) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{253, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{262, 0} } // [Output Only] The status of disk creation. - CREATING: Disk is provisioning. - RESTORING: Source data is being copied into the disk. - FAILED: Disk creation failed. - READY: Disk is ready for use. - DELETING: Disk is deleting. @@ -3196,11 +3266,11 @@ func (x Disk_Status) String() string { } func (Disk_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[50].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[51].Descriptor() } func (Disk_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[50] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[51] } func (x Disk_Status) Number() protoreflect.EnumNumber { @@ -3209,7 +3279,7 @@ func (x Disk_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Disk_Status.Descriptor instead. func (Disk_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{253, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{262, 1} } // Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. @@ -3269,11 +3339,11 @@ func (x DiskInstantiationConfig_InstantiateFrom) String() string { } func (DiskInstantiationConfig_InstantiateFrom) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[51].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[52].Descriptor() } func (DiskInstantiationConfig_InstantiateFrom) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[51] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[52] } func (x DiskInstantiationConfig_InstantiateFrom) Number() protoreflect.EnumNumber { @@ -3282,7 +3352,7 @@ func (x DiskInstantiationConfig_InstantiateFrom) Number() protoreflect.EnumNumbe // Deprecated: Use DiskInstantiationConfig_InstantiateFrom.Descriptor instead. func (DiskInstantiationConfig_InstantiateFrom) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{257, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{266, 0} } type DiskResourceStatusAsyncReplicationStatus_State int32 @@ -3336,11 +3406,11 @@ func (x DiskResourceStatusAsyncReplicationStatus_State) String() string { } func (DiskResourceStatusAsyncReplicationStatus_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[52].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[53].Descriptor() } func (DiskResourceStatusAsyncReplicationStatus_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[52] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[53] } func (x DiskResourceStatusAsyncReplicationStatus_State) Number() protoreflect.EnumNumber { @@ -3349,7 +3419,7 @@ func (x DiskResourceStatusAsyncReplicationStatus_State) Number() protoreflect.En // Deprecated: Use DiskResourceStatusAsyncReplicationStatus_State.Descriptor instead. func (DiskResourceStatusAsyncReplicationStatus_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{262, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{271, 0} } // The distribution shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType). @@ -3397,11 +3467,11 @@ func (x DistributionPolicy_TargetShape) String() string { } func (DistributionPolicy_TargetShape) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[53].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[54].Descriptor() } func (DistributionPolicy_TargetShape) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[53] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[54] } func (x DistributionPolicy_TargetShape) Number() protoreflect.EnumNumber { @@ -3410,7 +3480,7 @@ func (x DistributionPolicy_TargetShape) Number() protoreflect.EnumNumber { // Deprecated: Use DistributionPolicy_TargetShape.Descriptor instead. func (DistributionPolicy_TargetShape) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{274, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{283, 0} } // The type of the peering route. @@ -3454,11 +3524,11 @@ func (x ExchangedPeeringRoute_Type) String() string { } func (ExchangedPeeringRoute_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[54].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[55].Descriptor() } func (ExchangedPeeringRoute_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[54] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[55] } func (x ExchangedPeeringRoute_Type) Number() protoreflect.EnumNumber { @@ -3467,7 +3537,7 @@ func (x ExchangedPeeringRoute_Type) Number() protoreflect.EnumNumber { // Deprecated: Use ExchangedPeeringRoute_Type.Descriptor instead. func (ExchangedPeeringRoute_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{283, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{292, 0} } // Indicates the user-supplied redundancy type of this external VPN gateway. @@ -3511,11 +3581,11 @@ func (x ExternalVpnGateway_RedundancyType) String() string { } func (ExternalVpnGateway_RedundancyType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[55].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[56].Descriptor() } func (ExternalVpnGateway_RedundancyType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[55] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[56] } func (x ExternalVpnGateway_RedundancyType) Number() protoreflect.EnumNumber { @@ -3524,7 +3594,7 @@ func (x ExternalVpnGateway_RedundancyType) Number() protoreflect.EnumNumber { // Deprecated: Use ExternalVpnGateway_RedundancyType.Descriptor instead. func (ExternalVpnGateway_RedundancyType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{287, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{296, 0} } // The file type of source file. @@ -3565,11 +3635,11 @@ func (x FileContentBuffer_FileType) String() string { } func (FileContentBuffer_FileType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[56].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[57].Descriptor() } func (FileContentBuffer_FileType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[56] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[57] } func (x FileContentBuffer_FileType) Number() protoreflect.EnumNumber { @@ -3578,7 +3648,7 @@ func (x FileContentBuffer_FileType) Number() protoreflect.EnumNumber { // Deprecated: Use FileContentBuffer_FileType.Descriptor instead. func (FileContentBuffer_FileType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{290, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{299, 0} } // Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields. @@ -3618,11 +3688,11 @@ func (x Firewall_Direction) String() string { } func (Firewall_Direction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[57].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[58].Descriptor() } func (Firewall_Direction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[57] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[58] } func (x Firewall_Direction) Number() protoreflect.EnumNumber { @@ -3631,7 +3701,7 @@ func (x Firewall_Direction) Number() protoreflect.EnumNumber { // Deprecated: Use Firewall_Direction.Descriptor instead. func (Firewall_Direction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{291, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{300, 0} } // This field can only be specified for a particular firewall rule if logging is enabled for that rule. This field denotes whether to include or exclude metadata for firewall logs. @@ -3669,11 +3739,11 @@ func (x FirewallLogConfig_Metadata) String() string { } func (FirewallLogConfig_Metadata) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[58].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[59].Descriptor() } func (FirewallLogConfig_Metadata) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[58] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[59] } func (x FirewallLogConfig_Metadata) Number() protoreflect.EnumNumber { @@ -3682,7 +3752,7 @@ func (x FirewallLogConfig_Metadata) Number() protoreflect.EnumNumber { // Deprecated: Use FirewallLogConfig_Metadata.Descriptor instead. func (FirewallLogConfig_Metadata) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{293, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{302, 0} } // The direction in which this rule applies. @@ -3720,11 +3790,11 @@ func (x FirewallPolicyRule_Direction) String() string { } func (FirewallPolicyRule_Direction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[59].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[60].Descriptor() } func (FirewallPolicyRule_Direction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[59] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[60] } func (x FirewallPolicyRule_Direction) Number() protoreflect.EnumNumber { @@ -3733,7 +3803,7 @@ func (x FirewallPolicyRule_Direction) Number() protoreflect.EnumNumber { // Deprecated: Use FirewallPolicyRule_Direction.Descriptor instead. func (FirewallPolicyRule_Direction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{298, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{307, 0} } // [Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted. @@ -3771,11 +3841,11 @@ func (x FirewallPolicyRuleSecureTag_State) String() string { } func (FirewallPolicyRuleSecureTag_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[60].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[61].Descriptor() } func (FirewallPolicyRuleSecureTag_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[60] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[61] } func (x FirewallPolicyRuleSecureTag_State) Number() protoreflect.EnumNumber { @@ -3784,7 +3854,7 @@ func (x FirewallPolicyRuleSecureTag_State) Number() protoreflect.EnumNumber { // Deprecated: Use FirewallPolicyRuleSecureTag_State.Descriptor instead. func (FirewallPolicyRuleSecureTag_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{301, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{310, 0} } // The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends). @@ -3837,11 +3907,11 @@ func (x ForwardingRule_IPProtocolEnum) String() string { } func (ForwardingRule_IPProtocolEnum) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[61].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[62].Descriptor() } func (ForwardingRule_IPProtocolEnum) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[61] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[62] } func (x ForwardingRule_IPProtocolEnum) Number() protoreflect.EnumNumber { @@ -3850,7 +3920,7 @@ func (x ForwardingRule_IPProtocolEnum) Number() protoreflect.EnumNumber { // Deprecated: Use ForwardingRule_IPProtocolEnum.Descriptor instead. func (ForwardingRule_IPProtocolEnum) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{303, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{312, 0} } // The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6. @@ -3891,11 +3961,11 @@ func (x ForwardingRule_IpVersion) String() string { } func (ForwardingRule_IpVersion) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[62].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[63].Descriptor() } func (ForwardingRule_IpVersion) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[62] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[63] } func (x ForwardingRule_IpVersion) Number() protoreflect.EnumNumber { @@ -3904,7 +3974,7 @@ func (x ForwardingRule_IpVersion) Number() protoreflect.EnumNumber { // Deprecated: Use ForwardingRule_IpVersion.Descriptor instead. func (ForwardingRule_IpVersion) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{303, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{312, 1} } // Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts. @@ -3954,11 +4024,11 @@ func (x ForwardingRule_LoadBalancingScheme) String() string { } func (ForwardingRule_LoadBalancingScheme) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[63].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[64].Descriptor() } func (ForwardingRule_LoadBalancingScheme) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[63] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[64] } func (x ForwardingRule_LoadBalancingScheme) Number() protoreflect.EnumNumber { @@ -3967,7 +4037,7 @@ func (x ForwardingRule_LoadBalancingScheme) Number() protoreflect.EnumNumber { // Deprecated: Use ForwardingRule_LoadBalancingScheme.Descriptor instead. func (ForwardingRule_LoadBalancingScheme) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{303, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{312, 2} } // This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address. @@ -4015,11 +4085,11 @@ func (x ForwardingRule_NetworkTier) String() string { } func (ForwardingRule_NetworkTier) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[64].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[65].Descriptor() } func (ForwardingRule_NetworkTier) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[64] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[65] } func (x ForwardingRule_NetworkTier) Number() protoreflect.EnumNumber { @@ -4028,7 +4098,7 @@ func (x ForwardingRule_NetworkTier) Number() protoreflect.EnumNumber { // Deprecated: Use ForwardingRule_NetworkTier.Descriptor instead. func (ForwardingRule_NetworkTier) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{303, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{312, 3} } type ForwardingRule_PscConnectionStatus int32 @@ -4082,11 +4152,11 @@ func (x ForwardingRule_PscConnectionStatus) String() string { } func (ForwardingRule_PscConnectionStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[65].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[66].Descriptor() } func (ForwardingRule_PscConnectionStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[65] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[66] } func (x ForwardingRule_PscConnectionStatus) Number() protoreflect.EnumNumber { @@ -4095,7 +4165,7 @@ func (x ForwardingRule_PscConnectionStatus) Number() protoreflect.EnumNumber { // Deprecated: Use ForwardingRule_PscConnectionStatus.Descriptor instead. func (ForwardingRule_PscConnectionStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{303, 4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{312, 4} } // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. @@ -4139,11 +4209,11 @@ func (x GRPCHealthCheck_PortSpecification) String() string { } func (GRPCHealthCheck_PortSpecification) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[66].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[67].Descriptor() } func (GRPCHealthCheck_PortSpecification) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[66] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[67] } func (x GRPCHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { @@ -4152,7 +4222,7 @@ func (x GRPCHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { // Deprecated: Use GRPCHealthCheck_PortSpecification.Descriptor instead. func (GRPCHealthCheck_PortSpecification) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{309, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{318, 0} } // The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE - SEV_SNP_CAPABLE For more information, see Enabling guest operating system features. @@ -4167,6 +4237,7 @@ const ( GuestOsFeature_SECURE_BOOT GuestOsFeature_Type = 376811194 GuestOsFeature_SEV_CAPABLE GuestOsFeature_Type = 87083793 GuestOsFeature_SEV_LIVE_MIGRATABLE GuestOsFeature_Type = 392039820 + GuestOsFeature_SEV_LIVE_MIGRATABLE_V2 GuestOsFeature_Type = 168551983 GuestOsFeature_SEV_SNP_CAPABLE GuestOsFeature_Type = 426919 GuestOsFeature_UEFI_COMPATIBLE GuestOsFeature_Type = 195865408 GuestOsFeature_VIRTIO_SCSI_MULTIQUEUE GuestOsFeature_Type = 201597069 @@ -4183,6 +4254,7 @@ var ( 376811194: "SECURE_BOOT", 87083793: "SEV_CAPABLE", 392039820: "SEV_LIVE_MIGRATABLE", + 168551983: "SEV_LIVE_MIGRATABLE_V2", 426919: "SEV_SNP_CAPABLE", 195865408: "UEFI_COMPATIBLE", 201597069: "VIRTIO_SCSI_MULTIQUEUE", @@ -4196,6 +4268,7 @@ var ( "SECURE_BOOT": 376811194, "SEV_CAPABLE": 87083793, "SEV_LIVE_MIGRATABLE": 392039820, + "SEV_LIVE_MIGRATABLE_V2": 168551983, "SEV_SNP_CAPABLE": 426919, "UEFI_COMPATIBLE": 195865408, "VIRTIO_SCSI_MULTIQUEUE": 201597069, @@ -4214,11 +4287,11 @@ func (x GuestOsFeature_Type) String() string { } func (GuestOsFeature_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[67].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[68].Descriptor() } func (GuestOsFeature_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[67] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[68] } func (x GuestOsFeature_Type) Number() protoreflect.EnumNumber { @@ -4227,7 +4300,7 @@ func (x GuestOsFeature_Type) Number() protoreflect.EnumNumber { // Deprecated: Use GuestOsFeature_Type.Descriptor instead. func (GuestOsFeature_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{452, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{466, 0} } // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. @@ -4271,11 +4344,11 @@ func (x HTTP2HealthCheck_PortSpecification) String() string { } func (HTTP2HealthCheck_PortSpecification) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[68].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[69].Descriptor() } func (HTTP2HealthCheck_PortSpecification) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[68] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[69] } func (x HTTP2HealthCheck_PortSpecification) Number() protoreflect.EnumNumber { @@ -4284,7 +4357,7 @@ func (x HTTP2HealthCheck_PortSpecification) Number() protoreflect.EnumNumber { // Deprecated: Use HTTP2HealthCheck_PortSpecification.Descriptor instead. func (HTTP2HealthCheck_PortSpecification) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{453, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{467, 0} } // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. @@ -4322,11 +4395,11 @@ func (x HTTP2HealthCheck_ProxyHeader) String() string { } func (HTTP2HealthCheck_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[69].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[70].Descriptor() } func (HTTP2HealthCheck_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[69] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[70] } func (x HTTP2HealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { @@ -4335,7 +4408,7 @@ func (x HTTP2HealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { // Deprecated: Use HTTP2HealthCheck_ProxyHeader.Descriptor instead. func (HTTP2HealthCheck_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{453, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{467, 1} } // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. @@ -4379,11 +4452,11 @@ func (x HTTPHealthCheck_PortSpecification) String() string { } func (HTTPHealthCheck_PortSpecification) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[70].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[71].Descriptor() } func (HTTPHealthCheck_PortSpecification) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[70] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[71] } func (x HTTPHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { @@ -4392,7 +4465,7 @@ func (x HTTPHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { // Deprecated: Use HTTPHealthCheck_PortSpecification.Descriptor instead. func (HTTPHealthCheck_PortSpecification) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{454, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{468, 0} } // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. @@ -4430,11 +4503,11 @@ func (x HTTPHealthCheck_ProxyHeader) String() string { } func (HTTPHealthCheck_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[71].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[72].Descriptor() } func (HTTPHealthCheck_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[71] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[72] } func (x HTTPHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { @@ -4443,7 +4516,7 @@ func (x HTTPHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { // Deprecated: Use HTTPHealthCheck_ProxyHeader.Descriptor instead. func (HTTPHealthCheck_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{454, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{468, 1} } // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. @@ -4487,11 +4560,11 @@ func (x HTTPSHealthCheck_PortSpecification) String() string { } func (HTTPSHealthCheck_PortSpecification) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[72].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[73].Descriptor() } func (HTTPSHealthCheck_PortSpecification) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[72] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[73] } func (x HTTPSHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { @@ -4500,7 +4573,7 @@ func (x HTTPSHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { // Deprecated: Use HTTPSHealthCheck_PortSpecification.Descriptor instead. func (HTTPSHealthCheck_PortSpecification) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{455, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{469, 0} } // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. @@ -4538,11 +4611,11 @@ func (x HTTPSHealthCheck_ProxyHeader) String() string { } func (HTTPSHealthCheck_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[73].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[74].Descriptor() } func (HTTPSHealthCheck_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[73] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[74] } func (x HTTPSHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { @@ -4551,7 +4624,7 @@ func (x HTTPSHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { // Deprecated: Use HTTPSHealthCheck_ProxyHeader.Descriptor instead. func (HTTPSHealthCheck_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{455, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{469, 1} } // Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field. @@ -4604,11 +4677,11 @@ func (x HealthCheck_Type) String() string { } func (HealthCheck_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[74].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[75].Descriptor() } func (HealthCheck_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[74] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[75] } func (x HealthCheck_Type) Number() protoreflect.EnumNumber { @@ -4617,7 +4690,7 @@ func (x HealthCheck_Type) Number() protoreflect.EnumNumber { // Deprecated: Use HealthCheck_Type.Descriptor instead. func (HealthCheck_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{456, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{470, 0} } // Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService. @@ -4657,11 +4730,11 @@ func (x HealthCheckService_HealthStatusAggregationPolicy) String() string { } func (HealthCheckService_HealthStatusAggregationPolicy) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[75].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[76].Descriptor() } func (HealthCheckService_HealthStatusAggregationPolicy) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[75] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[76] } func (x HealthCheckService_HealthStatusAggregationPolicy) Number() protoreflect.EnumNumber { @@ -4670,7 +4743,7 @@ func (x HealthCheckService_HealthStatusAggregationPolicy) Number() protoreflect. // Deprecated: Use HealthCheckService_HealthStatusAggregationPolicy.Descriptor instead. func (HealthCheckService_HealthStatusAggregationPolicy) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{460, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{474, 0} } // Health state of the IPv4 address of the instance. @@ -4708,11 +4781,11 @@ func (x HealthStatus_HealthState) String() string { } func (HealthStatus_HealthState) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[76].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[77].Descriptor() } func (HealthStatus_HealthState) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[76] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[77] } func (x HealthStatus_HealthState) Number() protoreflect.EnumNumber { @@ -4721,7 +4794,7 @@ func (x HealthStatus_HealthState) Number() protoreflect.EnumNumber { // Deprecated: Use HealthStatus_HealthState.Descriptor instead. func (HealthStatus_HealthState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{465, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{479, 0} } type HealthStatus_WeightError int32 @@ -4768,11 +4841,11 @@ func (x HealthStatus_WeightError) String() string { } func (HealthStatus_WeightError) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[77].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[78].Descriptor() } func (HealthStatus_WeightError) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[77] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[78] } func (x HealthStatus_WeightError) Number() protoreflect.EnumNumber { @@ -4781,7 +4854,7 @@ func (x HealthStatus_WeightError) Number() protoreflect.EnumNumber { // Deprecated: Use HealthStatus_WeightError.Descriptor instead. func (HealthStatus_WeightError) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{465, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{479, 1} } // Health state of the network endpoint determined based on the health checks configured. @@ -4829,11 +4902,11 @@ func (x HealthStatusForNetworkEndpoint_HealthState) String() string { } func (HealthStatusForNetworkEndpoint_HealthState) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[78].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[79].Descriptor() } func (HealthStatusForNetworkEndpoint_HealthState) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[78] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[79] } func (x HealthStatusForNetworkEndpoint_HealthState) Number() protoreflect.EnumNumber { @@ -4842,7 +4915,7 @@ func (x HealthStatusForNetworkEndpoint_HealthState) Number() protoreflect.EnumNu // Deprecated: Use HealthStatusForNetworkEndpoint_HealthState.Descriptor instead. func (HealthStatusForNetworkEndpoint_HealthState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{466, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{480, 0} } // The HTTP Status code to use for this RedirectAction. Supported values are: - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method is retained. @@ -4894,11 +4967,11 @@ func (x HttpRedirectAction_RedirectResponseCode) String() string { } func (HttpRedirectAction_RedirectResponseCode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[79].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[80].Descriptor() } func (HttpRedirectAction_RedirectResponseCode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[79] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[80] } func (x HttpRedirectAction_RedirectResponseCode) Number() protoreflect.EnumNumber { @@ -4907,7 +4980,7 @@ func (x HttpRedirectAction_RedirectResponseCode) Number() protoreflect.EnumNumbe // Deprecated: Use HttpRedirectAction_RedirectResponseCode.Descriptor instead. func (HttpRedirectAction_RedirectResponseCode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{477, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{491, 0} } // The architecture of the image. Valid values are ARM64 or X86_64. @@ -4951,11 +5024,11 @@ func (x Image_Architecture) String() string { } func (Image_Architecture) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[80].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[81].Descriptor() } func (Image_Architecture) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[80] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[81] } func (x Image_Architecture) Number() protoreflect.EnumNumber { @@ -4964,7 +5037,7 @@ func (x Image_Architecture) Number() protoreflect.EnumNumber { // Deprecated: Use Image_Architecture.Descriptor instead. func (Image_Architecture) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{482, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{496, 0} } // The type of the image used to create this disk. The default and only valid value is RAW. @@ -4999,11 +5072,11 @@ func (x Image_SourceType) String() string { } func (Image_SourceType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[81].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[82].Descriptor() } func (Image_SourceType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[81] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[82] } func (x Image_SourceType) Number() protoreflect.EnumNumber { @@ -5012,7 +5085,7 @@ func (x Image_SourceType) Number() protoreflect.EnumNumber { // Deprecated: Use Image_SourceType.Descriptor instead. func (Image_SourceType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{482, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{496, 1} } // [Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY. @@ -5060,11 +5133,11 @@ func (x Image_Status) String() string { } func (Image_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[82].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[83].Descriptor() } func (Image_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[82] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[83] } func (x Image_Status) Number() protoreflect.EnumNumber { @@ -5073,7 +5146,7 @@ func (x Image_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Image_Status.Descriptor instead. func (Image_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{482, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{496, 2} } // KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified. @@ -5117,11 +5190,11 @@ func (x Instance_KeyRevocationActionType) String() string { } func (Instance_KeyRevocationActionType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[83].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[84].Descriptor() } func (Instance_KeyRevocationActionType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[83] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[84] } func (x Instance_KeyRevocationActionType) Number() protoreflect.EnumNumber { @@ -5130,7 +5203,7 @@ func (x Instance_KeyRevocationActionType) Number() protoreflect.EnumNumber { // Deprecated: Use Instance_KeyRevocationActionType.Descriptor instead. func (Instance_KeyRevocationActionType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{558, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{572, 0} } // The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default. @@ -5174,11 +5247,11 @@ func (x Instance_PrivateIpv6GoogleAccess) String() string { } func (Instance_PrivateIpv6GoogleAccess) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[84].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[85].Descriptor() } func (Instance_PrivateIpv6GoogleAccess) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[84] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[85] } func (x Instance_PrivateIpv6GoogleAccess) Number() protoreflect.EnumNumber { @@ -5187,7 +5260,7 @@ func (x Instance_PrivateIpv6GoogleAccess) Number() protoreflect.EnumNumber { // Deprecated: Use Instance_PrivateIpv6GoogleAccess.Descriptor instead. func (Instance_PrivateIpv6GoogleAccess) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{558, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{572, 1} } // [Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle. @@ -5259,11 +5332,11 @@ func (x Instance_Status) String() string { } func (Instance_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[85].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[86].Descriptor() } func (Instance_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[85] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[86] } func (x Instance_Status) Number() protoreflect.EnumNumber { @@ -5272,7 +5345,7 @@ func (x Instance_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Instance_Status.Descriptor instead. func (Instance_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{558, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{572, 2} } // Pagination behavior of the listManagedInstances API method for this managed instance group. @@ -5312,11 +5385,11 @@ func (x InstanceGroupManager_ListManagedInstancesResults) String() string { } func (InstanceGroupManager_ListManagedInstancesResults) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[86].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[87].Descriptor() } func (InstanceGroupManager_ListManagedInstancesResults) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[86] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[87] } func (x InstanceGroupManager_ListManagedInstancesResults) Number() protoreflect.EnumNumber { @@ -5325,7 +5398,7 @@ func (x InstanceGroupManager_ListManagedInstancesResults) Number() protoreflect. // Deprecated: Use InstanceGroupManager_ListManagedInstancesResults.Descriptor instead. func (InstanceGroupManager_ListManagedInstancesResults) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{565, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{579, 0} } // A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. @@ -5363,11 +5436,11 @@ func (x InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair) String( } func (InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[87].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[88].Descriptor() } func (InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[87] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[88] } func (x InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair) Number() protoreflect.EnumNumber { @@ -5376,7 +5449,7 @@ func (x InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair) Number( // Deprecated: Use InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair.Descriptor instead. func (InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{569, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{583, 0} } // The instance redistribution policy for regional managed instance groups. Valid values are: - PROACTIVE (default): The group attempts to maintain an even distribution of VM instances across zones in the region. - NONE: For non-autoscaled groups, proactive redistribution is disabled. @@ -5411,11 +5484,11 @@ func (x InstanceGroupManagerUpdatePolicy_InstanceRedistributionType) String() st } func (InstanceGroupManagerUpdatePolicy_InstanceRedistributionType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[88].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[89].Descriptor() } func (InstanceGroupManagerUpdatePolicy_InstanceRedistributionType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[88] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[89] } func (x InstanceGroupManagerUpdatePolicy_InstanceRedistributionType) Number() protoreflect.EnumNumber { @@ -5424,7 +5497,7 @@ func (x InstanceGroupManagerUpdatePolicy_InstanceRedistributionType) Number() pr // Deprecated: Use InstanceGroupManagerUpdatePolicy_InstanceRedistributionType.Descriptor instead. func (InstanceGroupManagerUpdatePolicy_InstanceRedistributionType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{575, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{589, 0} } // Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes. @@ -5461,11 +5534,11 @@ func (x InstanceGroupManagerUpdatePolicy_MinimalAction) String() string { } func (InstanceGroupManagerUpdatePolicy_MinimalAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[89].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[90].Descriptor() } func (InstanceGroupManagerUpdatePolicy_MinimalAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[89] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[90] } func (x InstanceGroupManagerUpdatePolicy_MinimalAction) Number() protoreflect.EnumNumber { @@ -5474,7 +5547,7 @@ func (x InstanceGroupManagerUpdatePolicy_MinimalAction) Number() protoreflect.En // Deprecated: Use InstanceGroupManagerUpdatePolicy_MinimalAction.Descriptor instead. func (InstanceGroupManagerUpdatePolicy_MinimalAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{575, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{589, 1} } // Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all. @@ -5511,11 +5584,11 @@ func (x InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction) String() s } func (InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[90].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[91].Descriptor() } func (InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[90] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[91] } func (x InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction) Number() protoreflect.EnumNumber { @@ -5524,7 +5597,7 @@ func (x InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction) Number() p // Deprecated: Use InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction.Descriptor instead. func (InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{575, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{589, 2} } // What action should be used to replace instances. See minimal_action.REPLACE @@ -5564,11 +5637,11 @@ func (x InstanceGroupManagerUpdatePolicy_ReplacementMethod) String() string { } func (InstanceGroupManagerUpdatePolicy_ReplacementMethod) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[91].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[92].Descriptor() } func (InstanceGroupManagerUpdatePolicy_ReplacementMethod) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[91] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[92] } func (x InstanceGroupManagerUpdatePolicy_ReplacementMethod) Number() protoreflect.EnumNumber { @@ -5577,7 +5650,7 @@ func (x InstanceGroupManagerUpdatePolicy_ReplacementMethod) Number() protoreflec // Deprecated: Use InstanceGroupManagerUpdatePolicy_ReplacementMethod.Descriptor instead. func (InstanceGroupManagerUpdatePolicy_ReplacementMethod) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{575, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{589, 3} } // The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update. @@ -5615,11 +5688,11 @@ func (x InstanceGroupManagerUpdatePolicy_Type) String() string { } func (InstanceGroupManagerUpdatePolicy_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[92].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[93].Descriptor() } func (InstanceGroupManagerUpdatePolicy_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[92] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[93] } func (x InstanceGroupManagerUpdatePolicy_Type) Number() protoreflect.EnumNumber { @@ -5628,7 +5701,7 @@ func (x InstanceGroupManagerUpdatePolicy_Type) Number() protoreflect.EnumNumber // Deprecated: Use InstanceGroupManagerUpdatePolicy_Type.Descriptor instead. func (InstanceGroupManagerUpdatePolicy_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{575, 4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{589, 4} } // The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update. @@ -5665,11 +5738,11 @@ func (x InstanceGroupManagersApplyUpdatesRequest_MinimalAction) String() string } func (InstanceGroupManagersApplyUpdatesRequest_MinimalAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[93].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[94].Descriptor() } func (InstanceGroupManagersApplyUpdatesRequest_MinimalAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[93] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[94] } func (x InstanceGroupManagersApplyUpdatesRequest_MinimalAction) Number() protoreflect.EnumNumber { @@ -5678,7 +5751,7 @@ func (x InstanceGroupManagersApplyUpdatesRequest_MinimalAction) Number() protore // Deprecated: Use InstanceGroupManagersApplyUpdatesRequest_MinimalAction.Descriptor instead. func (InstanceGroupManagersApplyUpdatesRequest_MinimalAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{578, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{592, 0} } // The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail. @@ -5715,11 +5788,11 @@ func (x InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) St } func (InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[94].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[95].Descriptor() } func (InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[94] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[95] } func (x InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) Number() protoreflect.EnumNumber { @@ -5728,7 +5801,7 @@ func (x InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) Nu // Deprecated: Use InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction.Descriptor instead. func (InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{578, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{592, 1} } // A filter for the state of the instances in the instance group. Valid options are ALL or RUNNING. If you do not specify this parameter the list includes all instances regardless of their state. @@ -5768,11 +5841,11 @@ func (x InstanceGroupsListInstancesRequest_InstanceState) String() string { } func (InstanceGroupsListInstancesRequest_InstanceState) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[95].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[96].Descriptor() } func (InstanceGroupsListInstancesRequest_InstanceState) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[95] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[96] } func (x InstanceGroupsListInstancesRequest_InstanceState) Number() protoreflect.EnumNumber { @@ -5781,7 +5854,7 @@ func (x InstanceGroupsListInstancesRequest_InstanceState) Number() protoreflect. // Deprecated: Use InstanceGroupsListInstancesRequest_InstanceState.Descriptor instead. func (InstanceGroupsListInstancesRequest_InstanceState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{593, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{607, 0} } // [Output Only] Action that managed instance group was executing on the instance when the error occurred. Possible values: @@ -5865,11 +5938,11 @@ func (x InstanceManagedByIgmErrorInstanceActionDetails_Action) String() string { } func (InstanceManagedByIgmErrorInstanceActionDetails_Action) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[96].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[97].Descriptor() } func (InstanceManagedByIgmErrorInstanceActionDetails_Action) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[96] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[97] } func (x InstanceManagedByIgmErrorInstanceActionDetails_Action) Number() protoreflect.EnumNumber { @@ -5878,7 +5951,7 @@ func (x InstanceManagedByIgmErrorInstanceActionDetails_Action) Number() protoref // Deprecated: Use InstanceManagedByIgmErrorInstanceActionDetails_Action.Descriptor instead. func (InstanceManagedByIgmErrorInstanceActionDetails_Action) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{600, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{614, 0} } // KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified. @@ -5922,11 +5995,11 @@ func (x InstanceProperties_KeyRevocationActionType) String() string { } func (InstanceProperties_KeyRevocationActionType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[97].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[98].Descriptor() } func (InstanceProperties_KeyRevocationActionType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[97] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[98] } func (x InstanceProperties_KeyRevocationActionType) Number() protoreflect.EnumNumber { @@ -5935,7 +6008,7 @@ func (x InstanceProperties_KeyRevocationActionType) Number() protoreflect.EnumNu // Deprecated: Use InstanceProperties_KeyRevocationActionType.Descriptor instead. func (InstanceProperties_KeyRevocationActionType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{604, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{618, 0} } // The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet. @@ -5979,11 +6052,11 @@ func (x InstanceProperties_PrivateIpv6GoogleAccess) String() string { } func (InstanceProperties_PrivateIpv6GoogleAccess) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[98].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[99].Descriptor() } func (InstanceProperties_PrivateIpv6GoogleAccess) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[98] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[99] } func (x InstanceProperties_PrivateIpv6GoogleAccess) Number() protoreflect.EnumNumber { @@ -5992,7 +6065,7 @@ func (x InstanceProperties_PrivateIpv6GoogleAccess) Number() protoreflect.EnumNu // Deprecated: Use InstanceProperties_PrivateIpv6GoogleAccess.Descriptor instead. func (InstanceProperties_PrivateIpv6GoogleAccess) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{604, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{618, 1} } // [Output Only] The status of the instance. @@ -6064,11 +6137,11 @@ func (x InstanceWithNamedPorts_Status) String() string { } func (InstanceWithNamedPorts_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[99].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[100].Descriptor() } func (InstanceWithNamedPorts_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[99] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[100] } func (x InstanceWithNamedPorts_Status) Number() protoreflect.EnumNumber { @@ -6077,7 +6150,7 @@ func (x InstanceWithNamedPorts_Status) Number() protoreflect.EnumNumber { // Deprecated: Use InstanceWithNamedPorts_Status.Descriptor instead. func (InstanceWithNamedPorts_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{610, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{624, 0} } // [Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL. @@ -6121,11 +6194,11 @@ func (x InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Stri } func (InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[100].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[101].Descriptor() } func (InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[100] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[101] } func (x InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Number() protoreflect.EnumNumber { @@ -6134,7 +6207,53 @@ func (x InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Numb // Deprecated: Use InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type.Descriptor instead. func (InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{613, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{628, 0} +} + +// Additional supported values which may be not listed in the enum directly due to technical reasons: +// IF_MACSEC +type Interconnect_AvailableFeatures int32 + +const ( + // A value indicating that the enum field is not set. + Interconnect_UNDEFINED_AVAILABLE_FEATURES Interconnect_AvailableFeatures = 0 +) + +// Enum value maps for Interconnect_AvailableFeatures. +var ( + Interconnect_AvailableFeatures_name = map[int32]string{ + 0: "UNDEFINED_AVAILABLE_FEATURES", + } + Interconnect_AvailableFeatures_value = map[string]int32{ + "UNDEFINED_AVAILABLE_FEATURES": 0, + } +) + +func (x Interconnect_AvailableFeatures) Enum() *Interconnect_AvailableFeatures { + p := new(Interconnect_AvailableFeatures) + *p = x + return p +} + +func (x Interconnect_AvailableFeatures) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Interconnect_AvailableFeatures) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[102].Descriptor() +} + +func (Interconnect_AvailableFeatures) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[102] +} + +func (x Interconnect_AvailableFeatures) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Interconnect_AvailableFeatures.Descriptor instead. +func (Interconnect_AvailableFeatures) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 0} } // Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED. @@ -6178,11 +6297,11 @@ func (x Interconnect_InterconnectType) String() string { } func (Interconnect_InterconnectType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[101].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[103].Descriptor() } func (Interconnect_InterconnectType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[101] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[103] } func (x Interconnect_InterconnectType) Number() protoreflect.EnumNumber { @@ -6191,7 +6310,7 @@ func (x Interconnect_InterconnectType) Number() protoreflect.EnumNumber { // Deprecated: Use Interconnect_InterconnectType.Descriptor instead. func (Interconnect_InterconnectType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{624, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 1} } // Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle. @@ -6231,11 +6350,11 @@ func (x Interconnect_LinkType) String() string { } func (Interconnect_LinkType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[102].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[104].Descriptor() } func (Interconnect_LinkType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[102] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[104] } func (x Interconnect_LinkType) Number() protoreflect.EnumNumber { @@ -6244,7 +6363,7 @@ func (x Interconnect_LinkType) Number() protoreflect.EnumNumber { // Deprecated: Use Interconnect_LinkType.Descriptor instead. func (Interconnect_LinkType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{624, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 2} } // [Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. @@ -6284,11 +6403,11 @@ func (x Interconnect_OperationalStatus) String() string { } func (Interconnect_OperationalStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[103].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[105].Descriptor() } func (Interconnect_OperationalStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[103] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[105] } func (x Interconnect_OperationalStatus) Number() protoreflect.EnumNumber { @@ -6297,7 +6416,53 @@ func (x Interconnect_OperationalStatus) Number() protoreflect.EnumNumber { // Deprecated: Use Interconnect_OperationalStatus.Descriptor instead. func (Interconnect_OperationalStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{624, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 3} +} + +// Additional supported values which may be not listed in the enum directly due to technical reasons: +// IF_MACSEC +type Interconnect_RequestedFeatures int32 + +const ( + // A value indicating that the enum field is not set. + Interconnect_UNDEFINED_REQUESTED_FEATURES Interconnect_RequestedFeatures = 0 +) + +// Enum value maps for Interconnect_RequestedFeatures. +var ( + Interconnect_RequestedFeatures_name = map[int32]string{ + 0: "UNDEFINED_REQUESTED_FEATURES", + } + Interconnect_RequestedFeatures_value = map[string]int32{ + "UNDEFINED_REQUESTED_FEATURES": 0, + } +) + +func (x Interconnect_RequestedFeatures) Enum() *Interconnect_RequestedFeatures { + p := new(Interconnect_RequestedFeatures) + *p = x + return p +} + +func (x Interconnect_RequestedFeatures) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Interconnect_RequestedFeatures) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[106].Descriptor() +} + +func (Interconnect_RequestedFeatures) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[106] +} + +func (x Interconnect_RequestedFeatures) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Interconnect_RequestedFeatures.Descriptor instead. +func (Interconnect_RequestedFeatures) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 4} } // [Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. @@ -6337,11 +6502,11 @@ func (x Interconnect_State) String() string { } func (Interconnect_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[104].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[107].Descriptor() } func (Interconnect_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[104] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[107] } func (x Interconnect_State) Number() protoreflect.EnumNumber { @@ -6350,7 +6515,7 @@ func (x Interconnect_State) Number() protoreflect.EnumNumber { // Deprecated: Use Interconnect_State.Descriptor instead. func (Interconnect_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{624, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 5} } // Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s @@ -6430,11 +6595,11 @@ func (x InterconnectAttachment_Bandwidth) String() string { } func (InterconnectAttachment_Bandwidth) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[105].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[108].Descriptor() } func (InterconnectAttachment_Bandwidth) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[105] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[108] } func (x InterconnectAttachment_Bandwidth) Number() protoreflect.EnumNumber { @@ -6443,7 +6608,7 @@ func (x InterconnectAttachment_Bandwidth) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectAttachment_Bandwidth.Descriptor instead. func (InterconnectAttachment_Bandwidth) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641, 0} } // Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. @@ -6484,11 +6649,11 @@ func (x InterconnectAttachment_EdgeAvailabilityDomain) String() string { } func (InterconnectAttachment_EdgeAvailabilityDomain) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[106].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[109].Descriptor() } func (InterconnectAttachment_EdgeAvailabilityDomain) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[106] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[109] } func (x InterconnectAttachment_EdgeAvailabilityDomain) Number() protoreflect.EnumNumber { @@ -6497,7 +6662,7 @@ func (x InterconnectAttachment_EdgeAvailabilityDomain) Number() protoreflect.Enu // Deprecated: Use InterconnectAttachment_EdgeAvailabilityDomain.Descriptor instead. func (InterconnectAttachment_EdgeAvailabilityDomain) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641, 1} } // Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. @@ -6537,11 +6702,11 @@ func (x InterconnectAttachment_Encryption) String() string { } func (InterconnectAttachment_Encryption) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[107].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[110].Descriptor() } func (InterconnectAttachment_Encryption) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[107] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[110] } func (x InterconnectAttachment_Encryption) Number() protoreflect.EnumNumber { @@ -6550,7 +6715,7 @@ func (x InterconnectAttachment_Encryption) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectAttachment_Encryption.Descriptor instead. func (InterconnectAttachment_Encryption) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641, 2} } // [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. @@ -6590,11 +6755,11 @@ func (x InterconnectAttachment_OperationalStatus) String() string { } func (InterconnectAttachment_OperationalStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[108].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[111].Descriptor() } func (InterconnectAttachment_OperationalStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[108] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[111] } func (x InterconnectAttachment_OperationalStatus) Number() protoreflect.EnumNumber { @@ -6603,7 +6768,7 @@ func (x InterconnectAttachment_OperationalStatus) Number() protoreflect.EnumNumb // Deprecated: Use InterconnectAttachment_OperationalStatus.Descriptor instead. func (InterconnectAttachment_OperationalStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641, 3} } // The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations. @@ -6643,11 +6808,11 @@ func (x InterconnectAttachment_StackType) String() string { } func (InterconnectAttachment_StackType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[109].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[112].Descriptor() } func (InterconnectAttachment_StackType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[109] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[112] } func (x InterconnectAttachment_StackType) Number() protoreflect.EnumNumber { @@ -6656,7 +6821,7 @@ func (x InterconnectAttachment_StackType) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectAttachment_StackType.Descriptor instead. func (InterconnectAttachment_StackType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625, 4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641, 4} } // [Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. @@ -6715,11 +6880,11 @@ func (x InterconnectAttachment_State) String() string { } func (InterconnectAttachment_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[110].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[113].Descriptor() } func (InterconnectAttachment_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[110] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[113] } func (x InterconnectAttachment_State) Number() protoreflect.EnumNumber { @@ -6728,7 +6893,7 @@ func (x InterconnectAttachment_State) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectAttachment_State.Descriptor instead. func (InterconnectAttachment_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625, 5} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641, 5} } // The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. @@ -6772,11 +6937,11 @@ func (x InterconnectAttachment_Type) String() string { } func (InterconnectAttachment_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[111].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[114].Descriptor() } func (InterconnectAttachment_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[111] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[114] } func (x InterconnectAttachment_Type) Number() protoreflect.EnumNumber { @@ -6785,7 +6950,7 @@ func (x InterconnectAttachment_Type) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectAttachment_Type.Descriptor instead. func (InterconnectAttachment_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625, 6} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641, 6} } // [Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested. @@ -6829,11 +6994,11 @@ func (x InterconnectAttachmentConfigurationConstraints_BgpMd5) String() string { } func (InterconnectAttachmentConfigurationConstraints_BgpMd5) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[112].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[115].Descriptor() } func (InterconnectAttachmentConfigurationConstraints_BgpMd5) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[112] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[115] } func (x InterconnectAttachmentConfigurationConstraints_BgpMd5) Number() protoreflect.EnumNumber { @@ -6842,7 +7007,7 @@ func (x InterconnectAttachmentConfigurationConstraints_BgpMd5) Number() protoref // Deprecated: Use InterconnectAttachmentConfigurationConstraints_BgpMd5.Descriptor instead. func (InterconnectAttachmentConfigurationConstraints_BgpMd5) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{627, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{643, 0} } // The aggregation type of the bundle interface. @@ -6882,11 +7047,11 @@ func (x InterconnectDiagnostics_BundleAggregationType) String() string { } func (InterconnectDiagnostics_BundleAggregationType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[113].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[116].Descriptor() } func (InterconnectDiagnostics_BundleAggregationType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[113] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[116] } func (x InterconnectDiagnostics_BundleAggregationType) Number() protoreflect.EnumNumber { @@ -6895,7 +7060,7 @@ func (x InterconnectDiagnostics_BundleAggregationType) Number() protoreflect.Enu // Deprecated: Use InterconnectDiagnostics_BundleAggregationType.Descriptor instead. func (InterconnectDiagnostics_BundleAggregationType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{634, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{650, 0} } // The operational status of the bundle interface. @@ -6935,11 +7100,11 @@ func (x InterconnectDiagnostics_BundleOperationalStatus) String() string { } func (InterconnectDiagnostics_BundleOperationalStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[114].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[117].Descriptor() } func (InterconnectDiagnostics_BundleOperationalStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[114] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[117] } func (x InterconnectDiagnostics_BundleOperationalStatus) Number() protoreflect.EnumNumber { @@ -6948,7 +7113,7 @@ func (x InterconnectDiagnostics_BundleOperationalStatus) Number() protoreflect.E // Deprecated: Use InterconnectDiagnostics_BundleOperationalStatus.Descriptor instead. func (InterconnectDiagnostics_BundleOperationalStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{634, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{650, 1} } // The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty. @@ -6988,11 +7153,11 @@ func (x InterconnectDiagnosticsLinkLACPStatus_State) String() string { } func (InterconnectDiagnosticsLinkLACPStatus_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[115].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[118].Descriptor() } func (InterconnectDiagnosticsLinkLACPStatus_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[115] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[118] } func (x InterconnectDiagnosticsLinkLACPStatus_State) Number() protoreflect.EnumNumber { @@ -7001,7 +7166,7 @@ func (x InterconnectDiagnosticsLinkLACPStatus_State) Number() protoreflect.EnumN // Deprecated: Use InterconnectDiagnosticsLinkLACPStatus_State.Descriptor instead. func (InterconnectDiagnosticsLinkLACPStatus_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{636, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{652, 0} } // The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - HIGH_ALARM: The value has crossed above the high alarm threshold. @@ -7053,11 +7218,11 @@ func (x InterconnectDiagnosticsLinkOpticalPower_State) String() string { } func (InterconnectDiagnosticsLinkOpticalPower_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[116].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[119].Descriptor() } func (InterconnectDiagnosticsLinkOpticalPower_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[116] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[119] } func (x InterconnectDiagnosticsLinkOpticalPower_State) Number() protoreflect.EnumNumber { @@ -7066,7 +7231,7 @@ func (x InterconnectDiagnosticsLinkOpticalPower_State) Number() protoreflect.Enu // Deprecated: Use InterconnectDiagnosticsLinkOpticalPower_State.Descriptor instead. func (InterconnectDiagnosticsLinkOpticalPower_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{637, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{653, 0} } // The operational status of the link. @@ -7106,11 +7271,11 @@ func (x InterconnectDiagnosticsLinkStatus_OperationalStatus) String() string { } func (InterconnectDiagnosticsLinkStatus_OperationalStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[117].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[120].Descriptor() } func (InterconnectDiagnosticsLinkStatus_OperationalStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[117] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[120] } func (x InterconnectDiagnosticsLinkStatus_OperationalStatus) Number() protoreflect.EnumNumber { @@ -7119,7 +7284,107 @@ func (x InterconnectDiagnosticsLinkStatus_OperationalStatus) Number() protorefle // Deprecated: Use InterconnectDiagnosticsLinkStatus_OperationalStatus.Descriptor instead. func (InterconnectDiagnosticsLinkStatus_OperationalStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{638, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{654, 0} +} + +type InterconnectLocation_AvailableFeatures int32 + +const ( + // A value indicating that the enum field is not set. + InterconnectLocation_UNDEFINED_AVAILABLE_FEATURES InterconnectLocation_AvailableFeatures = 0 + // Media Access Control security (MACsec) + InterconnectLocation_IF_MACSEC InterconnectLocation_AvailableFeatures = 396279300 +) + +// Enum value maps for InterconnectLocation_AvailableFeatures. +var ( + InterconnectLocation_AvailableFeatures_name = map[int32]string{ + 0: "UNDEFINED_AVAILABLE_FEATURES", + 396279300: "IF_MACSEC", + } + InterconnectLocation_AvailableFeatures_value = map[string]int32{ + "UNDEFINED_AVAILABLE_FEATURES": 0, + "IF_MACSEC": 396279300, + } +) + +func (x InterconnectLocation_AvailableFeatures) Enum() *InterconnectLocation_AvailableFeatures { + p := new(InterconnectLocation_AvailableFeatures) + *p = x + return p +} + +func (x InterconnectLocation_AvailableFeatures) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InterconnectLocation_AvailableFeatures) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[121].Descriptor() +} + +func (InterconnectLocation_AvailableFeatures) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[121] +} + +func (x InterconnectLocation_AvailableFeatures) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InterconnectLocation_AvailableFeatures.Descriptor instead. +func (InterconnectLocation_AvailableFeatures) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{657, 0} +} + +type InterconnectLocation_AvailableLinkTypes int32 + +const ( + // A value indicating that the enum field is not set. + InterconnectLocation_UNDEFINED_AVAILABLE_LINK_TYPES InterconnectLocation_AvailableLinkTypes = 0 + // 100G Ethernet, LR Optics. + InterconnectLocation_LINK_TYPE_ETHERNET_100G_LR InterconnectLocation_AvailableLinkTypes = 337672551 + // 10G Ethernet, LR Optics. [(rate_bps) = 10000000000]; + InterconnectLocation_LINK_TYPE_ETHERNET_10G_LR InterconnectLocation_AvailableLinkTypes = 236739749 +) + +// Enum value maps for InterconnectLocation_AvailableLinkTypes. +var ( + InterconnectLocation_AvailableLinkTypes_name = map[int32]string{ + 0: "UNDEFINED_AVAILABLE_LINK_TYPES", + 337672551: "LINK_TYPE_ETHERNET_100G_LR", + 236739749: "LINK_TYPE_ETHERNET_10G_LR", + } + InterconnectLocation_AvailableLinkTypes_value = map[string]int32{ + "UNDEFINED_AVAILABLE_LINK_TYPES": 0, + "LINK_TYPE_ETHERNET_100G_LR": 337672551, + "LINK_TYPE_ETHERNET_10G_LR": 236739749, + } +) + +func (x InterconnectLocation_AvailableLinkTypes) Enum() *InterconnectLocation_AvailableLinkTypes { + p := new(InterconnectLocation_AvailableLinkTypes) + *p = x + return p +} + +func (x InterconnectLocation_AvailableLinkTypes) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (InterconnectLocation_AvailableLinkTypes) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[122].Descriptor() +} + +func (InterconnectLocation_AvailableLinkTypes) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[122] +} + +func (x InterconnectLocation_AvailableLinkTypes) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use InterconnectLocation_AvailableLinkTypes.Descriptor instead. +func (InterconnectLocation_AvailableLinkTypes) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{657, 1} } // [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA @@ -7181,11 +7446,11 @@ func (x InterconnectLocation_Continent) String() string { } func (InterconnectLocation_Continent) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[118].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[123].Descriptor() } func (InterconnectLocation_Continent) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[118] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[123] } func (x InterconnectLocation_Continent) Number() protoreflect.EnumNumber { @@ -7194,7 +7459,7 @@ func (x InterconnectLocation_Continent) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectLocation_Continent.Descriptor instead. func (InterconnectLocation_Continent) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{657, 2} } // [Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. @@ -7234,11 +7499,11 @@ func (x InterconnectLocation_Status) String() string { } func (InterconnectLocation_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[119].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[124].Descriptor() } func (InterconnectLocation_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[119] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[124] } func (x InterconnectLocation_Status) Number() protoreflect.EnumNumber { @@ -7247,7 +7512,7 @@ func (x InterconnectLocation_Status) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectLocation_Status.Descriptor instead. func (InterconnectLocation_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{657, 3} } // Identifies the network presence of this location. @@ -7295,11 +7560,11 @@ func (x InterconnectLocationRegionInfo_LocationPresence) String() string { } func (InterconnectLocationRegionInfo_LocationPresence) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[120].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[125].Descriptor() } func (InterconnectLocationRegionInfo_LocationPresence) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[120] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[125] } func (x InterconnectLocationRegionInfo_LocationPresence) Number() protoreflect.EnumNumber { @@ -7308,7 +7573,7 @@ func (x InterconnectLocationRegionInfo_LocationPresence) Number() protoreflect.E // Deprecated: Use InterconnectLocationRegionInfo_LocationPresence.Descriptor instead. func (InterconnectLocationRegionInfo_LocationPresence) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{642, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{659, 0} } // Form this outage is expected to take, which can take one of the following values: - OUTAGE: The Interconnect may be completely out of service for some or all of the specified window. - PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain up, but with reduced bandwidth. Note that the versions of this enum prefixed with "IT_" have been deprecated in favor of the unprefixed values. @@ -7356,11 +7621,11 @@ func (x InterconnectOutageNotification_IssueType) String() string { } func (InterconnectOutageNotification_IssueType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[121].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[126].Descriptor() } func (InterconnectOutageNotification_IssueType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[121] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[126] } func (x InterconnectOutageNotification_IssueType) Number() protoreflect.EnumNumber { @@ -7369,7 +7634,7 @@ func (x InterconnectOutageNotification_IssueType) Number() protoreflect.EnumNumb // Deprecated: Use InterconnectOutageNotification_IssueType.Descriptor instead. func (InterconnectOutageNotification_IssueType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{643, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{664, 0} } // The party that generated this notification, which can take the following value: - GOOGLE: this notification as generated by Google. Note that the value of NSRC_GOOGLE has been deprecated in favor of GOOGLE. @@ -7409,11 +7674,11 @@ func (x InterconnectOutageNotification_Source) String() string { } func (InterconnectOutageNotification_Source) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[122].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[127].Descriptor() } func (InterconnectOutageNotification_Source) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[122] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[127] } func (x InterconnectOutageNotification_Source) Number() protoreflect.EnumNumber { @@ -7422,7 +7687,7 @@ func (x InterconnectOutageNotification_Source) Number() protoreflect.EnumNumber // Deprecated: Use InterconnectOutageNotification_Source.Descriptor instead. func (InterconnectOutageNotification_Source) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{643, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{664, 1} } // State of this notification, which can take one of the following values: - ACTIVE: This outage notification is active. The event could be in the past, present, or future. See start_time and end_time for scheduling. - CANCELLED: The outage associated with this notification was cancelled before the outage was due to start. - COMPLETED: The outage associated with this notification is complete. Note that the versions of this enum prefixed with "NS_" have been deprecated in favor of the unprefixed values. @@ -7474,11 +7739,11 @@ func (x InterconnectOutageNotification_State) String() string { } func (InterconnectOutageNotification_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[123].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[128].Descriptor() } func (InterconnectOutageNotification_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[123] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[128] } func (x InterconnectOutageNotification_State) Number() protoreflect.EnumNumber { @@ -7487,7 +7752,7 @@ func (x InterconnectOutageNotification_State) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectOutageNotification_State.Descriptor instead. func (InterconnectOutageNotification_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{643, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{664, 2} } // [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA @@ -7534,11 +7799,11 @@ func (x InterconnectRemoteLocation_Continent) String() string { } func (InterconnectRemoteLocation_Continent) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[124].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[129].Descriptor() } func (InterconnectRemoteLocation_Continent) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[124] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[129] } func (x InterconnectRemoteLocation_Continent) Number() protoreflect.EnumNumber { @@ -7547,7 +7812,7 @@ func (x InterconnectRemoteLocation_Continent) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectRemoteLocation_Continent.Descriptor instead. func (InterconnectRemoteLocation_Continent) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{644, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{665, 0} } // [Output Only] Link Aggregation Control Protocol (LACP) constraints, which can take one of the following values: LACP_SUPPORTED, LACP_UNSUPPORTED @@ -7587,11 +7852,11 @@ func (x InterconnectRemoteLocation_Lacp) String() string { } func (InterconnectRemoteLocation_Lacp) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[125].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[130].Descriptor() } func (InterconnectRemoteLocation_Lacp) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[125] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[130] } func (x InterconnectRemoteLocation_Lacp) Number() protoreflect.EnumNumber { @@ -7600,7 +7865,7 @@ func (x InterconnectRemoteLocation_Lacp) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectRemoteLocation_Lacp.Descriptor instead. func (InterconnectRemoteLocation_Lacp) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{644, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{665, 1} } // [Output Only] The status of this InterconnectRemoteLocation, which can take one of the following values: - CLOSED: The InterconnectRemoteLocation is closed and is unavailable for provisioning new Cross-Cloud Interconnects. - AVAILABLE: The InterconnectRemoteLocation is available for provisioning new Cross-Cloud Interconnects. @@ -7640,11 +7905,11 @@ func (x InterconnectRemoteLocation_Status) String() string { } func (InterconnectRemoteLocation_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[126].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[131].Descriptor() } func (InterconnectRemoteLocation_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[126] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[131] } func (x InterconnectRemoteLocation_Status) Number() protoreflect.EnumNumber { @@ -7653,7 +7918,7 @@ func (x InterconnectRemoteLocation_Status) Number() protoreflect.EnumNumber { // Deprecated: Use InterconnectRemoteLocation_Status.Descriptor instead. func (InterconnectRemoteLocation_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{644, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{665, 2} } // [Output Only] Port pair remote location constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_REMOTE_LOCATION, PORT_PAIR_MATCHING_REMOTE_LOCATION. GCP's API refers only to individual ports, but the UI uses this field when ordering a pair of ports, to prevent users from accidentally ordering something that is incompatible with their cloud provider. Specifically, when ordering a redundant pair of Cross-Cloud Interconnect ports, and one of them uses a remote location with portPairMatchingRemoteLocation set to matching, the UI requires that both ports use the same remote location. @@ -7693,11 +7958,11 @@ func (x InterconnectRemoteLocationConstraints_PortPairRemoteLocation) String() s } func (InterconnectRemoteLocationConstraints_PortPairRemoteLocation) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[127].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[132].Descriptor() } func (InterconnectRemoteLocationConstraints_PortPairRemoteLocation) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[127] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[132] } func (x InterconnectRemoteLocationConstraints_PortPairRemoteLocation) Number() protoreflect.EnumNumber { @@ -7706,7 +7971,7 @@ func (x InterconnectRemoteLocationConstraints_PortPairRemoteLocation) Number() p // Deprecated: Use InterconnectRemoteLocationConstraints_PortPairRemoteLocation.Descriptor instead. func (InterconnectRemoteLocationConstraints_PortPairRemoteLocation) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{645, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{666, 0} } // [Output Only] Port pair VLAN constraints, which can take one of the following values: PORT_PAIR_UNCONSTRAINED_VLAN, PORT_PAIR_MATCHING_VLAN @@ -7746,11 +8011,11 @@ func (x InterconnectRemoteLocationConstraints_PortPairVlan) String() string { } func (InterconnectRemoteLocationConstraints_PortPairVlan) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[128].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[133].Descriptor() } func (InterconnectRemoteLocationConstraints_PortPairVlan) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[128] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[133] } func (x InterconnectRemoteLocationConstraints_PortPairVlan) Number() protoreflect.EnumNumber { @@ -7759,7 +8024,7 @@ func (x InterconnectRemoteLocationConstraints_PortPairVlan) Number() protoreflec // Deprecated: Use InterconnectRemoteLocationConstraints_PortPairVlan.Descriptor instead. func (InterconnectRemoteLocationConstraints_PortPairVlan) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{645, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{666, 1} } // [Output Only] Current state of this License Code. @@ -7810,11 +8075,11 @@ func (x LicenseCode_State) String() string { } func (LicenseCode_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[129].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[134].Descriptor() } func (LicenseCode_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[129] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[134] } func (x LicenseCode_State) Number() protoreflect.EnumNumber { @@ -7823,7 +8088,7 @@ func (x LicenseCode_State) Number() protoreflect.EnumNumber { // Deprecated: Use LicenseCode_State.Descriptor instead. func (LicenseCode_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{653, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{675, 0} } // The direction of the exchanged routes. @@ -7863,11 +8128,11 @@ func (x ListPeeringRoutesNetworksRequest_Direction) String() string { } func (ListPeeringRoutesNetworksRequest_Direction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[130].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[135].Descriptor() } func (ListPeeringRoutesNetworksRequest_Direction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[130] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[135] } func (x ListPeeringRoutesNetworksRequest_Direction) Number() protoreflect.EnumNumber { @@ -7876,7 +8141,7 @@ func (x ListPeeringRoutesNetworksRequest_Direction) Number() protoreflect.EnumNu // Deprecated: Use ListPeeringRoutesNetworksRequest_Direction.Descriptor instead. func (ListPeeringRoutesNetworksRequest_Direction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{708, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{731, 0} } // Strategy for distributing VMs across zones in a region. @@ -7920,11 +8185,11 @@ func (x LocationPolicy_TargetShape) String() string { } func (LocationPolicy_TargetShape) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[131].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[136].Descriptor() } func (LocationPolicy_TargetShape) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[131] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[136] } func (x LocationPolicy_TargetShape) Number() protoreflect.EnumNumber { @@ -7933,7 +8198,7 @@ func (x LocationPolicy_TargetShape) Number() protoreflect.EnumNumber { // Deprecated: Use LocationPolicy_TargetShape.Descriptor instead. func (LocationPolicy_TargetShape) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{764, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{789, 0} } // Preference for a given location. Set to either ALLOW or DENY. @@ -7977,11 +8242,11 @@ func (x LocationPolicyLocation_Preference) String() string { } func (LocationPolicyLocation_Preference) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[132].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[137].Descriptor() } func (LocationPolicyLocation_Preference) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[132] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[137] } func (x LocationPolicyLocation_Preference) Number() protoreflect.EnumNumber { @@ -7990,7 +8255,7 @@ func (x LocationPolicyLocation_Preference) Number() protoreflect.EnumNumber { // Deprecated: Use LocationPolicyLocation_Preference.Descriptor instead. func (LocationPolicyLocation_Preference) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{765, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{790, 0} } // This is deprecated and has no effect. Do not use. @@ -8034,11 +8299,11 @@ func (x LogConfigCloudAuditOptions_LogName) String() string { } func (LogConfigCloudAuditOptions_LogName) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[133].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[138].Descriptor() } func (LogConfigCloudAuditOptions_LogName) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[133] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[138] } func (x LogConfigCloudAuditOptions_LogName) Number() protoreflect.EnumNumber { @@ -8047,7 +8312,7 @@ func (x LogConfigCloudAuditOptions_LogName) Number() protoreflect.EnumNumber { // Deprecated: Use LogConfigCloudAuditOptions_LogName.Descriptor instead. func (LogConfigCloudAuditOptions_LogName) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{768, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{793, 0} } // This is deprecated and has no effect. Do not use. @@ -8087,11 +8352,11 @@ func (x LogConfigDataAccessOptions_LogMode) String() string { } func (LogConfigDataAccessOptions_LogMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[134].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[139].Descriptor() } func (LogConfigDataAccessOptions_LogMode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[134] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[139] } func (x LogConfigDataAccessOptions_LogMode) Number() protoreflect.EnumNumber { @@ -8100,7 +8365,7 @@ func (x LogConfigDataAccessOptions_LogMode) Number() protoreflect.EnumNumber { // Deprecated: Use LogConfigDataAccessOptions_LogMode.Descriptor instead. func (LogConfigDataAccessOptions_LogMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{771, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{796, 0} } // [Output Only] The status of the machine image. One of the following values: INVALID, CREATING, READY, DELETING, and UPLOADING. @@ -8147,11 +8412,11 @@ func (x MachineImage_Status) String() string { } func (MachineImage_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[135].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[140].Descriptor() } func (MachineImage_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[135] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[140] } func (x MachineImage_Status) Number() protoreflect.EnumNumber { @@ -8160,7 +8425,7 @@ func (x MachineImage_Status) Number() protoreflect.EnumNumber { // Deprecated: Use MachineImage_Status.Descriptor instead. func (MachineImage_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{772, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{797, 0} } // [Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: - NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. - CREATING The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful. - CREATING_WITHOUT_RETRIES The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased instead. - RECREATING The managed instance group is recreating this instance. - DELETING The managed instance group is permanently deleting this instance. - ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. - RESTARTING The managed instance group is restarting the instance. - REFRESHING The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance. - VERIFYING The managed instance group has created the instance and it is in the process of being verified. @@ -8239,11 +8504,11 @@ func (x ManagedInstance_CurrentAction) String() string { } func (ManagedInstance_CurrentAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[136].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[141].Descriptor() } func (ManagedInstance_CurrentAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[136] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[141] } func (x ManagedInstance_CurrentAction) Number() protoreflect.EnumNumber { @@ -8252,7 +8517,7 @@ func (x ManagedInstance_CurrentAction) Number() protoreflect.EnumNumber { // Deprecated: Use ManagedInstance_CurrentAction.Descriptor instead. func (ManagedInstance_CurrentAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{778, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{803, 0} } // [Output Only] The status of the instance. This field is empty when the instance does not exist. @@ -8325,11 +8590,11 @@ func (x ManagedInstance_InstanceStatus) String() string { } func (ManagedInstance_InstanceStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[137].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[142].Descriptor() } func (ManagedInstance_InstanceStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[137] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[142] } func (x ManagedInstance_InstanceStatus) Number() protoreflect.EnumNumber { @@ -8338,7 +8603,7 @@ func (x ManagedInstance_InstanceStatus) Number() protoreflect.EnumNumber { // Deprecated: Use ManagedInstance_InstanceStatus.Descriptor instead. func (ManagedInstance_InstanceStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{778, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{803, 1} } // [Output Only] The current detailed instance health state. @@ -8390,11 +8655,11 @@ func (x ManagedInstanceInstanceHealth_DetailedHealthState) String() string { } func (ManagedInstanceInstanceHealth_DetailedHealthState) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[138].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[143].Descriptor() } func (ManagedInstanceInstanceHealth_DetailedHealthState) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[138] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[143] } func (x ManagedInstanceInstanceHealth_DetailedHealthState) Number() protoreflect.EnumNumber { @@ -8403,7 +8668,7 @@ func (x ManagedInstanceInstanceHealth_DetailedHealthState) Number() protoreflect // Deprecated: Use ManagedInstanceInstanceHealth_DetailedHealthState.Descriptor instead. func (ManagedInstanceInstanceHealth_DetailedHealthState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{779, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{804, 0} } // Specifies how individual filter label matches within the list of filterLabels and contributes toward the overall metadataFilter match. Supported values are: - MATCH_ANY: at least one of the filterLabels must have a matching label in the provided metadata. - MATCH_ALL: all filterLabels must have matching labels in the provided metadata. @@ -8447,11 +8712,11 @@ func (x MetadataFilter_FilterMatchCriteria) String() string { } func (MetadataFilter_FilterMatchCriteria) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[139].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[144].Descriptor() } func (MetadataFilter_FilterMatchCriteria) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[139] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[144] } func (x MetadataFilter_FilterMatchCriteria) Number() protoreflect.EnumNumber { @@ -8460,7 +8725,109 @@ func (x MetadataFilter_FilterMatchCriteria) Number() protoreflect.EnumNumber { // Deprecated: Use MetadataFilter_FilterMatchCriteria.Descriptor instead. func (MetadataFilter_FilterMatchCriteria) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{783, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{808, 0} +} + +// Specifies whether NAT IP is auto or manual. +type NatIpInfoNatIpInfoMapping_Mode int32 + +const ( + // A value indicating that the enum field is not set. + NatIpInfoNatIpInfoMapping_UNDEFINED_MODE NatIpInfoNatIpInfoMapping_Mode = 0 + NatIpInfoNatIpInfoMapping_AUTO NatIpInfoNatIpInfoMapping_Mode = 2020783 + NatIpInfoNatIpInfoMapping_MANUAL NatIpInfoNatIpInfoMapping_Mode = 119397318 +) + +// Enum value maps for NatIpInfoNatIpInfoMapping_Mode. +var ( + NatIpInfoNatIpInfoMapping_Mode_name = map[int32]string{ + 0: "UNDEFINED_MODE", + 2020783: "AUTO", + 119397318: "MANUAL", + } + NatIpInfoNatIpInfoMapping_Mode_value = map[string]int32{ + "UNDEFINED_MODE": 0, + "AUTO": 2020783, + "MANUAL": 119397318, + } +) + +func (x NatIpInfoNatIpInfoMapping_Mode) Enum() *NatIpInfoNatIpInfoMapping_Mode { + p := new(NatIpInfoNatIpInfoMapping_Mode) + *p = x + return p +} + +func (x NatIpInfoNatIpInfoMapping_Mode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NatIpInfoNatIpInfoMapping_Mode) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[145].Descriptor() +} + +func (NatIpInfoNatIpInfoMapping_Mode) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[145] +} + +func (x NatIpInfoNatIpInfoMapping_Mode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NatIpInfoNatIpInfoMapping_Mode.Descriptor instead. +func (NatIpInfoNatIpInfoMapping_Mode) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{817, 0} +} + +// Specifies whether NAT IP is currently serving at least one endpoint or not. +type NatIpInfoNatIpInfoMapping_Usage int32 + +const ( + // A value indicating that the enum field is not set. + NatIpInfoNatIpInfoMapping_UNDEFINED_USAGE NatIpInfoNatIpInfoMapping_Usage = 0 + NatIpInfoNatIpInfoMapping_IN_USE NatIpInfoNatIpInfoMapping_Usage = 17393485 + NatIpInfoNatIpInfoMapping_UNUSED NatIpInfoNatIpInfoMapping_Usage = 360643030 +) + +// Enum value maps for NatIpInfoNatIpInfoMapping_Usage. +var ( + NatIpInfoNatIpInfoMapping_Usage_name = map[int32]string{ + 0: "UNDEFINED_USAGE", + 17393485: "IN_USE", + 360643030: "UNUSED", + } + NatIpInfoNatIpInfoMapping_Usage_value = map[string]int32{ + "UNDEFINED_USAGE": 0, + "IN_USE": 17393485, + "UNUSED": 360643030, + } +) + +func (x NatIpInfoNatIpInfoMapping_Usage) Enum() *NatIpInfoNatIpInfoMapping_Usage { + p := new(NatIpInfoNatIpInfoMapping_Usage) + *p = x + return p +} + +func (x NatIpInfoNatIpInfoMapping_Usage) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NatIpInfoNatIpInfoMapping_Usage) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[146].Descriptor() +} + +func (NatIpInfoNatIpInfoMapping_Usage) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[146] +} + +func (x NatIpInfoNatIpInfoMapping_Usage) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NatIpInfoNatIpInfoMapping_Usage.Descriptor instead. +func (NatIpInfoNatIpInfoMapping_Usage) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{817, 1} } // The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified. @@ -8498,11 +8865,11 @@ func (x Network_NetworkFirewallPolicyEnforcementOrder) String() string { } func (Network_NetworkFirewallPolicyEnforcementOrder) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[140].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[147].Descriptor() } func (Network_NetworkFirewallPolicyEnforcementOrder) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[140] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[147] } func (x Network_NetworkFirewallPolicyEnforcementOrder) Number() protoreflect.EnumNumber { @@ -8511,7 +8878,7 @@ func (x Network_NetworkFirewallPolicyEnforcementOrder) Number() protoreflect.Enu // Deprecated: Use Network_NetworkFirewallPolicyEnforcementOrder.Descriptor instead. func (Network_NetworkFirewallPolicyEnforcementOrder) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{791, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{819, 0} } type NetworkAttachment_ConnectionPreference int32 @@ -8551,11 +8918,11 @@ func (x NetworkAttachment_ConnectionPreference) String() string { } func (NetworkAttachment_ConnectionPreference) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[141].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[148].Descriptor() } func (NetworkAttachment_ConnectionPreference) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[141] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[148] } func (x NetworkAttachment_ConnectionPreference) Number() protoreflect.EnumNumber { @@ -8564,7 +8931,7 @@ func (x NetworkAttachment_ConnectionPreference) Number() protoreflect.EnumNumber // Deprecated: Use NetworkAttachment_ConnectionPreference.Descriptor instead. func (NetworkAttachment_ConnectionPreference) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{792, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{820, 0} } // The status of a connected endpoint to this network attachment. @@ -8619,11 +8986,11 @@ func (x NetworkAttachmentConnectedEndpoint_Status) String() string { } func (NetworkAttachmentConnectedEndpoint_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[142].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[149].Descriptor() } func (NetworkAttachmentConnectedEndpoint_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[142] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[149] } func (x NetworkAttachmentConnectedEndpoint_Status) Number() protoreflect.EnumNumber { @@ -8632,7 +8999,7 @@ func (x NetworkAttachmentConnectedEndpoint_Status) Number() protoreflect.EnumNum // Deprecated: Use NetworkAttachmentConnectedEndpoint_Status.Descriptor instead. func (NetworkAttachmentConnectedEndpoint_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{794, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{822, 0} } // Type of network endpoints in this network endpoint group. Can be one of GCE_VM_IP, GCE_VM_IP_PORT, NON_GCP_PRIVATE_IP_PORT, INTERNET_FQDN_PORT, INTERNET_IP_PORT, SERVERLESS, PRIVATE_SERVICE_CONNECT. @@ -8692,11 +9059,11 @@ func (x NetworkEndpointGroup_NetworkEndpointType) String() string { } func (NetworkEndpointGroup_NetworkEndpointType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[143].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[150].Descriptor() } func (NetworkEndpointGroup_NetworkEndpointType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[143] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[150] } func (x NetworkEndpointGroup_NetworkEndpointType) Number() protoreflect.EnumNumber { @@ -8705,7 +9072,7 @@ func (x NetworkEndpointGroup_NetworkEndpointType) Number() protoreflect.EnumNumb // Deprecated: Use NetworkEndpointGroup_NetworkEndpointType.Descriptor instead. func (NetworkEndpointGroup_NetworkEndpointType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{801, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{829, 0} } // [Output Only] The connection status of the PSC Forwarding Rule. @@ -8760,11 +9127,11 @@ func (x NetworkEndpointGroupPscData_PscConnectionStatus) String() string { } func (NetworkEndpointGroupPscData_PscConnectionStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[144].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[151].Descriptor() } func (NetworkEndpointGroupPscData_PscConnectionStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[144] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[151] } func (x NetworkEndpointGroupPscData_PscConnectionStatus) Number() protoreflect.EnumNumber { @@ -8773,7 +9140,7 @@ func (x NetworkEndpointGroupPscData_PscConnectionStatus) Number() protoreflect.E // Deprecated: Use NetworkEndpointGroupPscData_PscConnectionStatus.Descriptor instead. func (NetworkEndpointGroupPscData_PscConnectionStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{807, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{835, 0} } // Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided. @@ -8813,11 +9180,11 @@ func (x NetworkEndpointGroupsListEndpointsRequest_HealthStatus) String() string } func (NetworkEndpointGroupsListEndpointsRequest_HealthStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[145].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[152].Descriptor() } func (NetworkEndpointGroupsListEndpointsRequest_HealthStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[145] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[152] } func (x NetworkEndpointGroupsListEndpointsRequest_HealthStatus) Number() protoreflect.EnumNumber { @@ -8826,7 +9193,7 @@ func (x NetworkEndpointGroupsListEndpointsRequest_HealthStatus) Number() protore // Deprecated: Use NetworkEndpointGroupsListEndpointsRequest_HealthStatus.Descriptor instead. func (NetworkEndpointGroupsListEndpointsRequest_HealthStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{810, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{838, 0} } // [Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6. @@ -8869,11 +9236,11 @@ func (x NetworkInterface_Ipv6AccessType) String() string { } func (NetworkInterface_Ipv6AccessType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[146].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[153].Descriptor() } func (NetworkInterface_Ipv6AccessType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[146] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[153] } func (x NetworkInterface_Ipv6AccessType) Number() protoreflect.EnumNumber { @@ -8882,7 +9249,7 @@ func (x NetworkInterface_Ipv6AccessType) Number() protoreflect.EnumNumber { // Deprecated: Use NetworkInterface_Ipv6AccessType.Descriptor instead. func (NetworkInterface_Ipv6AccessType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{814, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{842, 0} } // The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet. @@ -8926,11 +9293,11 @@ func (x NetworkInterface_NicType) String() string { } func (NetworkInterface_NicType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[147].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[154].Descriptor() } func (NetworkInterface_NicType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[147] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[154] } func (x NetworkInterface_NicType) Number() protoreflect.EnumNumber { @@ -8939,7 +9306,7 @@ func (x NetworkInterface_NicType) Number() protoreflect.EnumNumber { // Deprecated: Use NetworkInterface_NicType.Descriptor instead. func (NetworkInterface_NicType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{814, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{842, 1} } // The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations. @@ -8982,11 +9349,11 @@ func (x NetworkInterface_StackType) String() string { } func (NetworkInterface_StackType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[148].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[155].Descriptor() } func (NetworkInterface_StackType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[148] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[155] } func (x NetworkInterface_StackType) Number() protoreflect.EnumNumber { @@ -8995,7 +9362,7 @@ func (x NetworkInterface_StackType) Number() protoreflect.EnumNumber { // Deprecated: Use NetworkInterface_StackType.Descriptor instead. func (NetworkInterface_StackType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{814, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{842, 2} } // Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY. @@ -9035,11 +9402,11 @@ func (x NetworkPeering_StackType) String() string { } func (NetworkPeering_StackType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[149].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[156].Descriptor() } func (NetworkPeering_StackType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[149] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[156] } func (x NetworkPeering_StackType) Number() protoreflect.EnumNumber { @@ -9048,7 +9415,7 @@ func (x NetworkPeering_StackType) Number() protoreflect.EnumNumber { // Deprecated: Use NetworkPeering_StackType.Descriptor instead. func (NetworkPeering_StackType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{816, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{844, 0} } // [Output Only] State for the peering, either `ACTIVE` or `INACTIVE`. The peering is `ACTIVE` when there's a matching configuration in the peer network. @@ -9088,11 +9455,11 @@ func (x NetworkPeering_State) String() string { } func (NetworkPeering_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[150].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[157].Descriptor() } func (NetworkPeering_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[150] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[157] } func (x NetworkPeering_State) Number() protoreflect.EnumNumber { @@ -9101,7 +9468,7 @@ func (x NetworkPeering_State) Number() protoreflect.EnumNumber { // Deprecated: Use NetworkPeering_State.Descriptor instead. func (NetworkPeering_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{816, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{844, 1} } type NetworkPerformanceConfig_TotalEgressBandwidthTier int32 @@ -9138,11 +9505,11 @@ func (x NetworkPerformanceConfig_TotalEgressBandwidthTier) String() string { } func (NetworkPerformanceConfig_TotalEgressBandwidthTier) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[151].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[158].Descriptor() } func (NetworkPerformanceConfig_TotalEgressBandwidthTier) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[151] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[158] } func (x NetworkPerformanceConfig_TotalEgressBandwidthTier) Number() protoreflect.EnumNumber { @@ -9151,7 +9518,7 @@ func (x NetworkPerformanceConfig_TotalEgressBandwidthTier) Number() protoreflect // Deprecated: Use NetworkPerformanceConfig_TotalEgressBandwidthTier.Descriptor instead. func (NetworkPerformanceConfig_TotalEgressBandwidthTier) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{817, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{845, 0} } // The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions. @@ -9189,11 +9556,11 @@ func (x NetworkRoutingConfig_RoutingMode) String() string { } func (NetworkRoutingConfig_RoutingMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[152].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[159].Descriptor() } func (NetworkRoutingConfig_RoutingMode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[152] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[159] } func (x NetworkRoutingConfig_RoutingMode) Number() protoreflect.EnumNumber { @@ -9202,7 +9569,7 @@ func (x NetworkRoutingConfig_RoutingMode) Number() protoreflect.EnumNumber { // Deprecated: Use NetworkRoutingConfig_RoutingMode.Descriptor instead. func (NetworkRoutingConfig_RoutingMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{818, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{846, 0} } // [Output Only] The type of the firewall policy. @@ -9243,11 +9610,11 @@ func (x NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Strin } func (NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[153].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[160].Descriptor() } func (NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[153] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[160] } func (x NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Number() protoreflect.EnumNumber { @@ -9256,7 +9623,7 @@ func (x NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Numbe // Deprecated: Use NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type.Descriptor instead. func (NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{821, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{849, 0} } // Specifies how to handle instances when a node in the group undergoes maintenance. Set to one of: DEFAULT, RESTART_IN_PLACE, or MIGRATE_WITHIN_NODE_GROUP. The default value is DEFAULT. For more information, see Maintenance policies. @@ -9303,11 +9670,11 @@ func (x NodeGroup_MaintenancePolicy) String() string { } func (NodeGroup_MaintenancePolicy) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[154].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[161].Descriptor() } func (NodeGroup_MaintenancePolicy) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[154] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[161] } func (x NodeGroup_MaintenancePolicy) Number() protoreflect.EnumNumber { @@ -9316,7 +9683,7 @@ func (x NodeGroup_MaintenancePolicy) Number() protoreflect.EnumNumber { // Deprecated: Use NodeGroup_MaintenancePolicy.Descriptor instead. func (NodeGroup_MaintenancePolicy) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{824, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{852, 0} } type NodeGroup_Status int32 @@ -9359,11 +9726,11 @@ func (x NodeGroup_Status) String() string { } func (NodeGroup_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[155].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[162].Descriptor() } func (NodeGroup_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[155] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[162] } func (x NodeGroup_Status) Number() protoreflect.EnumNumber { @@ -9372,7 +9739,7 @@ func (x NodeGroup_Status) Number() protoreflect.EnumNumber { // Deprecated: Use NodeGroup_Status.Descriptor instead. func (NodeGroup_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{824, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{852, 1} } // The autoscaling mode. Set to one of: ON, OFF, or ONLY_SCALE_OUT. For more information, see Autoscaler modes. @@ -9419,11 +9786,11 @@ func (x NodeGroupAutoscalingPolicy_Mode) String() string { } func (NodeGroupAutoscalingPolicy_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[156].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[163].Descriptor() } func (NodeGroupAutoscalingPolicy_Mode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[156] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[163] } func (x NodeGroupAutoscalingPolicy_Mode) Number() protoreflect.EnumNumber { @@ -9432,7 +9799,7 @@ func (x NodeGroupAutoscalingPolicy_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use NodeGroupAutoscalingPolicy_Mode.Descriptor instead. func (NodeGroupAutoscalingPolicy_Mode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{826, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{854, 0} } // CPU overcommit. @@ -9473,11 +9840,11 @@ func (x NodeGroupNode_CpuOvercommitType) String() string { } func (NodeGroupNode_CpuOvercommitType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[157].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[164].Descriptor() } func (NodeGroupNode_CpuOvercommitType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[157] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[164] } func (x NodeGroupNode_CpuOvercommitType) Number() protoreflect.EnumNumber { @@ -9486,7 +9853,7 @@ func (x NodeGroupNode_CpuOvercommitType) Number() protoreflect.EnumNumber { // Deprecated: Use NodeGroupNode_CpuOvercommitType.Descriptor instead. func (NodeGroupNode_CpuOvercommitType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{829, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{857, 0} } type NodeGroupNode_Status int32 @@ -9532,11 +9899,11 @@ func (x NodeGroupNode_Status) String() string { } func (NodeGroupNode_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[158].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[165].Descriptor() } func (NodeGroupNode_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[158] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[165] } func (x NodeGroupNode_Status) Number() protoreflect.EnumNumber { @@ -9545,7 +9912,7 @@ func (x NodeGroupNode_Status) Number() protoreflect.EnumNumber { // Deprecated: Use NodeGroupNode_Status.Descriptor instead. func (NodeGroupNode_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{829, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{857, 1} } // CPU overcommit. @@ -9586,11 +9953,11 @@ func (x NodeTemplate_CpuOvercommitType) String() string { } func (NodeTemplate_CpuOvercommitType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[159].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[166].Descriptor() } func (NodeTemplate_CpuOvercommitType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[159] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[166] } func (x NodeTemplate_CpuOvercommitType) Number() protoreflect.EnumNumber { @@ -9599,7 +9966,7 @@ func (x NodeTemplate_CpuOvercommitType) Number() protoreflect.EnumNumber { // Deprecated: Use NodeTemplate_CpuOvercommitType.Descriptor instead. func (NodeTemplate_CpuOvercommitType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{836, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{864, 0} } // [Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING. @@ -9647,11 +10014,11 @@ func (x NodeTemplate_Status) String() string { } func (NodeTemplate_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[160].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[167].Descriptor() } func (NodeTemplate_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[160] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[167] } func (x NodeTemplate_Status) Number() protoreflect.EnumNumber { @@ -9660,7 +10027,7 @@ func (x NodeTemplate_Status) Number() protoreflect.EnumNumber { // Deprecated: Use NodeTemplate_Status.Descriptor instead. func (NodeTemplate_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{836, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{864, 1} } // [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`. @@ -9701,11 +10068,11 @@ func (x Operation_Status) String() string { } func (Operation_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[161].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[168].Descriptor() } func (Operation_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[161] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[168] } func (x Operation_Status) Number() protoreflect.EnumNumber { @@ -9714,7 +10081,7 @@ func (x Operation_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Operation_Status.Descriptor instead. func (Operation_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{848, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{876, 0} } // From how long ago in the past these intervals were observed. @@ -9759,11 +10126,11 @@ func (x PacketIntervals_Duration) String() string { } func (PacketIntervals_Duration) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[162].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[169].Descriptor() } func (PacketIntervals_Duration) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[162] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[169] } func (x PacketIntervals_Duration) Number() protoreflect.EnumNumber { @@ -9772,7 +10139,7 @@ func (x PacketIntervals_Duration) Number() protoreflect.EnumNumber { // Deprecated: Use PacketIntervals_Duration.Descriptor instead. func (PacketIntervals_Duration) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{853, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{881, 0} } // The type of packets for which inter-packet intervals were computed. @@ -9819,11 +10186,11 @@ func (x PacketIntervals_Type) String() string { } func (PacketIntervals_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[163].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[170].Descriptor() } func (PacketIntervals_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[163] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[170] } func (x PacketIntervals_Type) Number() protoreflect.EnumNumber { @@ -9832,7 +10199,7 @@ func (x PacketIntervals_Type) Number() protoreflect.EnumNumber { // Deprecated: Use PacketIntervals_Type.Descriptor instead. func (PacketIntervals_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{853, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{881, 1} } // Indicates whether or not this packet mirroring takes effect. If set to FALSE, this packet mirroring policy will not be enforced on the network. The default is TRUE. @@ -9870,11 +10237,11 @@ func (x PacketMirroring_Enable) String() string { } func (PacketMirroring_Enable) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[164].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[171].Descriptor() } func (PacketMirroring_Enable) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[164] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[171] } func (x PacketMirroring_Enable) Number() protoreflect.EnumNumber { @@ -9883,7 +10250,7 @@ func (x PacketMirroring_Enable) Number() protoreflect.EnumNumber { // Deprecated: Use PacketMirroring_Enable.Descriptor instead. func (PacketMirroring_Enable) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{854, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{882, 0} } // Direction of traffic to mirror, either INGRESS, EGRESS, or BOTH. The default is BOTH. @@ -9927,11 +10294,11 @@ func (x PacketMirroringFilter_Direction) String() string { } func (PacketMirroringFilter_Direction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[165].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[172].Descriptor() } func (PacketMirroringFilter_Direction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[165] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[172] } func (x PacketMirroringFilter_Direction) Number() protoreflect.EnumNumber { @@ -9940,7 +10307,7 @@ func (x PacketMirroringFilter_Direction) Number() protoreflect.EnumNumber { // Deprecated: Use PacketMirroringFilter_Direction.Descriptor instead. func (PacketMirroringFilter_Direction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{856, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{884, 0} } // The status of applying this per-instance configuration on the corresponding managed instance. @@ -9996,11 +10363,11 @@ func (x PerInstanceConfig_Status) String() string { } func (PerInstanceConfig_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[166].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[173].Descriptor() } func (PerInstanceConfig_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[166] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[173] } func (x PerInstanceConfig_Status) Number() protoreflect.EnumNumber { @@ -10009,7 +10376,7 @@ func (x PerInstanceConfig_Status) Number() protoreflect.EnumNumber { // Deprecated: Use PerInstanceConfig_Status.Descriptor instead. func (PerInstanceConfig_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{912, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{943, 0} } // These stateful disks will never be deleted during autohealing, update, instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole MIG is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. @@ -10047,11 +10414,11 @@ func (x PreservedStatePreservedDisk_AutoDelete) String() string { } func (PreservedStatePreservedDisk_AutoDelete) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[167].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[174].Descriptor() } func (PreservedStatePreservedDisk_AutoDelete) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[167] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[174] } func (x PreservedStatePreservedDisk_AutoDelete) Number() protoreflect.EnumNumber { @@ -10060,7 +10427,7 @@ func (x PreservedStatePreservedDisk_AutoDelete) Number() protoreflect.EnumNumber // Deprecated: Use PreservedStatePreservedDisk_AutoDelete.Descriptor instead. func (PreservedStatePreservedDisk_AutoDelete) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{916, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{947, 0} } // The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode. @@ -10100,11 +10467,11 @@ func (x PreservedStatePreservedDisk_Mode) String() string { } func (PreservedStatePreservedDisk_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[168].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[175].Descriptor() } func (PreservedStatePreservedDisk_Mode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[168] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[175] } func (x PreservedStatePreservedDisk_Mode) Number() protoreflect.EnumNumber { @@ -10113,7 +10480,58 @@ func (x PreservedStatePreservedDisk_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use PreservedStatePreservedDisk_Mode.Descriptor instead. func (PreservedStatePreservedDisk_Mode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{916, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{947, 1} +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +type PreservedStatePreservedNetworkIp_AutoDelete int32 + +const ( + // A value indicating that the enum field is not set. + PreservedStatePreservedNetworkIp_UNDEFINED_AUTO_DELETE PreservedStatePreservedNetworkIp_AutoDelete = 0 + PreservedStatePreservedNetworkIp_NEVER PreservedStatePreservedNetworkIp_AutoDelete = 74175084 + PreservedStatePreservedNetworkIp_ON_PERMANENT_INSTANCE_DELETION PreservedStatePreservedNetworkIp_AutoDelete = 95727719 +) + +// Enum value maps for PreservedStatePreservedNetworkIp_AutoDelete. +var ( + PreservedStatePreservedNetworkIp_AutoDelete_name = map[int32]string{ + 0: "UNDEFINED_AUTO_DELETE", + 74175084: "NEVER", + 95727719: "ON_PERMANENT_INSTANCE_DELETION", + } + PreservedStatePreservedNetworkIp_AutoDelete_value = map[string]int32{ + "UNDEFINED_AUTO_DELETE": 0, + "NEVER": 74175084, + "ON_PERMANENT_INSTANCE_DELETION": 95727719, + } +) + +func (x PreservedStatePreservedNetworkIp_AutoDelete) Enum() *PreservedStatePreservedNetworkIp_AutoDelete { + p := new(PreservedStatePreservedNetworkIp_AutoDelete) + *p = x + return p +} + +func (x PreservedStatePreservedNetworkIp_AutoDelete) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PreservedStatePreservedNetworkIp_AutoDelete) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[176].Descriptor() +} + +func (PreservedStatePreservedNetworkIp_AutoDelete) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[176] +} + +func (x PreservedStatePreservedNetworkIp_AutoDelete) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PreservedStatePreservedNetworkIp_AutoDelete.Descriptor instead. +func (PreservedStatePreservedNetworkIp_AutoDelete) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{948, 0} } // This signifies the default network tier used for configuring resources of the project and can only take the following values: PREMIUM, STANDARD. Initially the default network tier is PREMIUM. @@ -10161,11 +10579,11 @@ func (x Project_DefaultNetworkTier) String() string { } func (Project_DefaultNetworkTier) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[169].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[177].Descriptor() } func (Project_DefaultNetworkTier) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[169] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[177] } func (x Project_DefaultNetworkTier) Number() protoreflect.EnumNumber { @@ -10174,7 +10592,7 @@ func (x Project_DefaultNetworkTier) Number() protoreflect.EnumNumber { // Deprecated: Use Project_DefaultNetworkTier.Descriptor instead. func (Project_DefaultNetworkTier) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{918, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{951, 0} } // [Output Only] Default internal DNS setting used by VMs running in this project. @@ -10218,11 +10636,11 @@ func (x Project_VmDnsSetting) String() string { } func (Project_VmDnsSetting) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[170].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[178].Descriptor() } func (Project_VmDnsSetting) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[170] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[178] } func (x Project_VmDnsSetting) Number() protoreflect.EnumNumber { @@ -10231,7 +10649,7 @@ func (x Project_VmDnsSetting) Number() protoreflect.EnumNumber { // Deprecated: Use Project_VmDnsSetting.Descriptor instead. func (Project_VmDnsSetting) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{918, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{951, 1} } // [Output Only] The role this project has in a shared VPC configuration. Currently, only projects with the host role, which is specified by the value HOST, are differentiated. @@ -10269,11 +10687,11 @@ func (x Project_XpnProjectStatus) String() string { } func (Project_XpnProjectStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[171].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[179].Descriptor() } func (Project_XpnProjectStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[171] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[179] } func (x Project_XpnProjectStatus) Number() protoreflect.EnumNumber { @@ -10282,7 +10700,7 @@ func (x Project_XpnProjectStatus) Number() protoreflect.EnumNumber { // Deprecated: Use Project_XpnProjectStatus.Descriptor instead. func (Project_XpnProjectStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{918, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{951, 2} } // Default network tier to be set. @@ -10330,11 +10748,11 @@ func (x ProjectsSetDefaultNetworkTierRequest_NetworkTier) String() string { } func (ProjectsSetDefaultNetworkTierRequest_NetworkTier) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[172].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[180].Descriptor() } func (ProjectsSetDefaultNetworkTierRequest_NetworkTier) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[172] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[180] } func (x ProjectsSetDefaultNetworkTierRequest_NetworkTier) Number() protoreflect.EnumNumber { @@ -10343,7 +10761,117 @@ func (x ProjectsSetDefaultNetworkTierRequest_NetworkTier) Number() protoreflect. // Deprecated: Use ProjectsSetDefaultNetworkTierRequest_NetworkTier.Descriptor instead. func (ProjectsSetDefaultNetworkTierRequest_NetworkTier) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{923, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{956, 0} +} + +// [Output Only] The version of BYOIP API. +type PublicAdvertisedPrefix_ByoipApiVersion int32 + +const ( + // A value indicating that the enum field is not set. + PublicAdvertisedPrefix_UNDEFINED_BYOIP_API_VERSION PublicAdvertisedPrefix_ByoipApiVersion = 0 + // This public advertised prefix can be used to create both regional and global public delegated prefixes. It usually takes 4 weeks to create or delete a public delegated prefix. The BGP status cannot be changed. + PublicAdvertisedPrefix_V1 PublicAdvertisedPrefix_ByoipApiVersion = 2715 + // This public advertised prefix can only be used to create regional public delegated prefixes. Public delegated prefix creation and deletion takes minutes and the BGP status can be modified. + PublicAdvertisedPrefix_V2 PublicAdvertisedPrefix_ByoipApiVersion = 2716 +) + +// Enum value maps for PublicAdvertisedPrefix_ByoipApiVersion. +var ( + PublicAdvertisedPrefix_ByoipApiVersion_name = map[int32]string{ + 0: "UNDEFINED_BYOIP_API_VERSION", + 2715: "V1", + 2716: "V2", + } + PublicAdvertisedPrefix_ByoipApiVersion_value = map[string]int32{ + "UNDEFINED_BYOIP_API_VERSION": 0, + "V1": 2715, + "V2": 2716, + } +) + +func (x PublicAdvertisedPrefix_ByoipApiVersion) Enum() *PublicAdvertisedPrefix_ByoipApiVersion { + p := new(PublicAdvertisedPrefix_ByoipApiVersion) + *p = x + return p +} + +func (x PublicAdvertisedPrefix_ByoipApiVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublicAdvertisedPrefix_ByoipApiVersion) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[181].Descriptor() +} + +func (PublicAdvertisedPrefix_ByoipApiVersion) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[181] +} + +func (x PublicAdvertisedPrefix_ByoipApiVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublicAdvertisedPrefix_ByoipApiVersion.Descriptor instead. +func (PublicAdvertisedPrefix_ByoipApiVersion) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{957, 0} +} + +// Specifies how child public delegated prefix will be scoped. It could be one of following values: - `REGIONAL`: The public delegated prefix is regional only. The provisioning will take a few minutes. - `GLOBAL`: The public delegated prefix is global only. The provisioning will take ~4 weeks. - `GLOBAL_AND_REGIONAL` [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2. +type PublicAdvertisedPrefix_PdpScope int32 + +const ( + // A value indicating that the enum field is not set. + PublicAdvertisedPrefix_UNDEFINED_PDP_SCOPE PublicAdvertisedPrefix_PdpScope = 0 + // The public delegated prefix is global only. The provisioning will take ~4 weeks. + PublicAdvertisedPrefix_GLOBAL PublicAdvertisedPrefix_PdpScope = 494663587 + // The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2. + PublicAdvertisedPrefix_GLOBAL_AND_REGIONAL PublicAdvertisedPrefix_PdpScope = 318053059 + // The public delegated prefix is regional only. The provisioning will take a few minutes. + PublicAdvertisedPrefix_REGIONAL PublicAdvertisedPrefix_PdpScope = 92288543 +) + +// Enum value maps for PublicAdvertisedPrefix_PdpScope. +var ( + PublicAdvertisedPrefix_PdpScope_name = map[int32]string{ + 0: "UNDEFINED_PDP_SCOPE", + 494663587: "GLOBAL", + 318053059: "GLOBAL_AND_REGIONAL", + 92288543: "REGIONAL", + } + PublicAdvertisedPrefix_PdpScope_value = map[string]int32{ + "UNDEFINED_PDP_SCOPE": 0, + "GLOBAL": 494663587, + "GLOBAL_AND_REGIONAL": 318053059, + "REGIONAL": 92288543, + } +) + +func (x PublicAdvertisedPrefix_PdpScope) Enum() *PublicAdvertisedPrefix_PdpScope { + p := new(PublicAdvertisedPrefix_PdpScope) + *p = x + return p +} + +func (x PublicAdvertisedPrefix_PdpScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublicAdvertisedPrefix_PdpScope) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[182].Descriptor() +} + +func (PublicAdvertisedPrefix_PdpScope) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[182] +} + +func (x PublicAdvertisedPrefix_PdpScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublicAdvertisedPrefix_PdpScope.Descriptor instead. +func (PublicAdvertisedPrefix_PdpScope) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{957, 1} } // The status of the public advertised prefix. Possible values include: - `INITIAL`: RPKI validation is complete. - `PTR_CONFIGURED`: User has configured the PTR. - `VALIDATED`: Reverse DNS lookup is successful. - `REVERSE_DNS_LOOKUP_FAILED`: Reverse DNS lookup failed. - `PREFIX_CONFIGURATION_IN_PROGRESS`: The prefix is being configured. - `PREFIX_CONFIGURATION_COMPLETE`: The prefix is fully configured. - `PREFIX_REMOVAL_IN_PROGRESS`: The prefix is being removed. @@ -10352,6 +10880,8 @@ type PublicAdvertisedPrefix_Status int32 const ( // A value indicating that the enum field is not set. PublicAdvertisedPrefix_UNDEFINED_STATUS PublicAdvertisedPrefix_Status = 0 + // The prefix is announced to Internet. + PublicAdvertisedPrefix_ANNOUNCED_TO_INTERNET PublicAdvertisedPrefix_Status = 177880897 // RPKI validation is complete. PublicAdvertisedPrefix_INITIAL PublicAdvertisedPrefix_Status = 518841124 // The prefix is fully configured. @@ -10362,6 +10892,8 @@ const ( PublicAdvertisedPrefix_PREFIX_REMOVAL_IN_PROGRESS PublicAdvertisedPrefix_Status = 284375783 // User has configured the PTR. PublicAdvertisedPrefix_PTR_CONFIGURED PublicAdvertisedPrefix_Status = 513497167 + // The prefix is currently withdrawn but ready to be announced. + PublicAdvertisedPrefix_READY_TO_ANNOUNCE PublicAdvertisedPrefix_Status = 64641265 // Reverse DNS lookup failed. PublicAdvertisedPrefix_REVERSE_DNS_LOOKUP_FAILED PublicAdvertisedPrefix_Status = 295755183 // Reverse DNS lookup is successful. @@ -10372,21 +10904,25 @@ const ( var ( PublicAdvertisedPrefix_Status_name = map[int32]string{ 0: "UNDEFINED_STATUS", + 177880897: "ANNOUNCED_TO_INTERNET", 518841124: "INITIAL", 480889551: "PREFIX_CONFIGURATION_COMPLETE", 378550961: "PREFIX_CONFIGURATION_IN_PROGRESS", 284375783: "PREFIX_REMOVAL_IN_PROGRESS", 513497167: "PTR_CONFIGURED", + 64641265: "READY_TO_ANNOUNCE", 295755183: "REVERSE_DNS_LOOKUP_FAILED", 66197998: "VALIDATED", } PublicAdvertisedPrefix_Status_value = map[string]int32{ "UNDEFINED_STATUS": 0, + "ANNOUNCED_TO_INTERNET": 177880897, "INITIAL": 518841124, "PREFIX_CONFIGURATION_COMPLETE": 480889551, "PREFIX_CONFIGURATION_IN_PROGRESS": 378550961, "PREFIX_REMOVAL_IN_PROGRESS": 284375783, "PTR_CONFIGURED": 513497167, + "READY_TO_ANNOUNCE": 64641265, "REVERSE_DNS_LOOKUP_FAILED": 295755183, "VALIDATED": 66197998, } @@ -10403,11 +10939,11 @@ func (x PublicAdvertisedPrefix_Status) String() string { } func (PublicAdvertisedPrefix_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[173].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[183].Descriptor() } func (PublicAdvertisedPrefix_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[173] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[183] } func (x PublicAdvertisedPrefix_Status) Number() protoreflect.EnumNumber { @@ -10416,7 +10952,60 @@ func (x PublicAdvertisedPrefix_Status) Number() protoreflect.EnumNumber { // Deprecated: Use PublicAdvertisedPrefix_Status.Descriptor instead. func (PublicAdvertisedPrefix_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{924, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{957, 2} +} + +// [Output Only] The version of BYOIP API. +type PublicDelegatedPrefix_ByoipApiVersion int32 + +const ( + // A value indicating that the enum field is not set. + PublicDelegatedPrefix_UNDEFINED_BYOIP_API_VERSION PublicDelegatedPrefix_ByoipApiVersion = 0 + // This public delegated prefix usually takes 4 weeks to delete, and the BGP status cannot be changed. Announce and Withdraw APIs can not be used on this prefix. + PublicDelegatedPrefix_V1 PublicDelegatedPrefix_ByoipApiVersion = 2715 + // This public delegated prefix takes minutes to delete. Announce and Withdraw APIs can be used on this prefix to change the BGP status. + PublicDelegatedPrefix_V2 PublicDelegatedPrefix_ByoipApiVersion = 2716 +) + +// Enum value maps for PublicDelegatedPrefix_ByoipApiVersion. +var ( + PublicDelegatedPrefix_ByoipApiVersion_name = map[int32]string{ + 0: "UNDEFINED_BYOIP_API_VERSION", + 2715: "V1", + 2716: "V2", + } + PublicDelegatedPrefix_ByoipApiVersion_value = map[string]int32{ + "UNDEFINED_BYOIP_API_VERSION": 0, + "V1": 2715, + "V2": 2716, + } +) + +func (x PublicDelegatedPrefix_ByoipApiVersion) Enum() *PublicDelegatedPrefix_ByoipApiVersion { + p := new(PublicDelegatedPrefix_ByoipApiVersion) + *p = x + return p +} + +func (x PublicDelegatedPrefix_ByoipApiVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PublicDelegatedPrefix_ByoipApiVersion) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[184].Descriptor() +} + +func (PublicDelegatedPrefix_ByoipApiVersion) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[184] +} + +func (x PublicDelegatedPrefix_ByoipApiVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PublicDelegatedPrefix_ByoipApiVersion.Descriptor instead. +func (PublicDelegatedPrefix_ByoipApiVersion) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{960, 0} } // [Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. @@ -10427,6 +11016,10 @@ const ( PublicDelegatedPrefix_UNDEFINED_STATUS PublicDelegatedPrefix_Status = 0 // The public delegated prefix is active. PublicDelegatedPrefix_ANNOUNCED PublicDelegatedPrefix_Status = 365103355 + // The prefix is announced within Google network. + PublicDelegatedPrefix_ANNOUNCED_TO_GOOGLE PublicDelegatedPrefix_Status = 454875705 + // The prefix is announced to Internet and within Google. + PublicDelegatedPrefix_ANNOUNCED_TO_INTERNET PublicDelegatedPrefix_Status = 177880897 // The public delegated prefix is being deprovsioned. PublicDelegatedPrefix_DELETING PublicDelegatedPrefix_Status = 528602024 // The public delegated prefix is being initialized and addresses cannot be created yet. @@ -10440,16 +11033,20 @@ var ( PublicDelegatedPrefix_Status_name = map[int32]string{ 0: "UNDEFINED_STATUS", 365103355: "ANNOUNCED", + 454875705: "ANNOUNCED_TO_GOOGLE", + 177880897: "ANNOUNCED_TO_INTERNET", 528602024: "DELETING", 306588749: "INITIALIZING", 64641265: "READY_TO_ANNOUNCE", } PublicDelegatedPrefix_Status_value = map[string]int32{ - "UNDEFINED_STATUS": 0, - "ANNOUNCED": 365103355, - "DELETING": 528602024, - "INITIALIZING": 306588749, - "READY_TO_ANNOUNCE": 64641265, + "UNDEFINED_STATUS": 0, + "ANNOUNCED": 365103355, + "ANNOUNCED_TO_GOOGLE": 454875705, + "ANNOUNCED_TO_INTERNET": 177880897, + "DELETING": 528602024, + "INITIALIZING": 306588749, + "READY_TO_ANNOUNCE": 64641265, } ) @@ -10464,11 +11061,11 @@ func (x PublicDelegatedPrefix_Status) String() string { } func (PublicDelegatedPrefix_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[174].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[185].Descriptor() } func (PublicDelegatedPrefix_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[174] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[185] } func (x PublicDelegatedPrefix_Status) Number() protoreflect.EnumNumber { @@ -10477,7 +11074,7 @@ func (x PublicDelegatedPrefix_Status) Number() protoreflect.EnumNumber { // Deprecated: Use PublicDelegatedPrefix_Status.Descriptor instead. func (PublicDelegatedPrefix_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{927, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{960, 1} } // [Output Only] The status of the sub public delegated prefix. @@ -10515,11 +11112,11 @@ func (x PublicDelegatedPrefixPublicDelegatedSubPrefix_Status) String() string { } func (PublicDelegatedPrefixPublicDelegatedSubPrefix_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[175].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[186].Descriptor() } func (PublicDelegatedPrefixPublicDelegatedSubPrefix_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[175] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[186] } func (x PublicDelegatedPrefixPublicDelegatedSubPrefix_Status) Number() protoreflect.EnumNumber { @@ -10528,7 +11125,7 @@ func (x PublicDelegatedPrefixPublicDelegatedSubPrefix_Status) Number() protorefl // Deprecated: Use PublicDelegatedPrefixPublicDelegatedSubPrefix_Status.Descriptor instead. func (PublicDelegatedPrefixPublicDelegatedSubPrefix_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{930, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{963, 0} } // [Output Only] Name of the quota metric. @@ -11009,11 +11606,11 @@ func (x Quota_Metric) String() string { } func (Quota_Metric) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[176].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[187].Descriptor() } func (Quota_Metric) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[176] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[187] } func (x Quota_Metric) Number() protoreflect.EnumNumber { @@ -11022,7 +11619,7 @@ func (x Quota_Metric) Number() protoreflect.EnumNumber { // Deprecated: Use Quota_Metric.Descriptor instead. func (Quota_Metric) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{932, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{965, 0} } // Rollout status of the future quota limit. @@ -11062,11 +11659,11 @@ func (x QuotaExceededInfo_RolloutStatus) String() string { } func (QuotaExceededInfo_RolloutStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[177].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[188].Descriptor() } func (QuotaExceededInfo_RolloutStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[177] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[188] } func (x QuotaExceededInfo_RolloutStatus) Number() protoreflect.EnumNumber { @@ -11075,7 +11672,7 @@ func (x QuotaExceededInfo_RolloutStatus) Number() protoreflect.EnumNumber { // Deprecated: Use QuotaExceededInfo_RolloutStatus.Descriptor instead. func (QuotaExceededInfo_RolloutStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{933, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{966, 0} } // The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created. @@ -11110,11 +11707,11 @@ func (x RawDisk_ContainerType) String() string { } func (RawDisk_ContainerType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[178].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[189].Descriptor() } func (RawDisk_ContainerType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[178] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[189] } func (x RawDisk_ContainerType) Number() protoreflect.EnumNumber { @@ -11123,7 +11720,7 @@ func (x RawDisk_ContainerType) Number() protoreflect.EnumNumber { // Deprecated: Use RawDisk_ContainerType.Descriptor instead. func (RawDisk_ContainerType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{934, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{967, 0} } // [Output Only] Status of the region, either UP or DOWN. @@ -11161,11 +11758,11 @@ func (x Region_Status) String() string { } func (Region_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[179].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[190].Descriptor() } func (Region_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[179] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[190] } func (x Region_Status) Number() protoreflect.EnumNumber { @@ -11174,7 +11771,7 @@ func (x Region_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Region_Status.Descriptor instead. func (Region_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{938, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{971, 0} } // The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update. @@ -11211,11 +11808,11 @@ func (x RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction) String() s } func (RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[180].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[191].Descriptor() } func (RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[180] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[191] } func (x RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction) Number() protoreflect.EnumNumber { @@ -11224,7 +11821,7 @@ func (x RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction) Number() p // Deprecated: Use RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction.Descriptor instead. func (RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{952, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{985, 0} } // The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail. @@ -11261,11 +11858,11 @@ func (x RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedActi } func (RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[181].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[192].Descriptor() } func (RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[181] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[192] } func (x RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) Number() protoreflect.EnumNumber { @@ -11274,7 +11871,7 @@ func (x RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedActi // Deprecated: Use RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction.Descriptor instead. func (RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{952, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{985, 1} } // Instances in which state should be returned. Valid options are: 'ALL', 'RUNNING'. By default, it lists all instances. @@ -11314,11 +11911,11 @@ func (x RegionInstanceGroupsListInstancesRequest_InstanceState) String() string } func (RegionInstanceGroupsListInstancesRequest_InstanceState) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[182].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[193].Descriptor() } func (RegionInstanceGroupsListInstancesRequest_InstanceState) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[182] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[193] } func (x RegionInstanceGroupsListInstancesRequest_InstanceState) Number() protoreflect.EnumNumber { @@ -11327,7 +11924,7 @@ func (x RegionInstanceGroupsListInstancesRequest_InstanceState) Number() protore // Deprecated: Use RegionInstanceGroupsListInstancesRequest_InstanceState.Descriptor instead. func (RegionInstanceGroupsListInstancesRequest_InstanceState) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{962, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{995, 0} } // [Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL. @@ -11371,11 +11968,11 @@ func (x RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirew } func (RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[183].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[194].Descriptor() } func (RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[183] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[194] } func (x RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) Number() protoreflect.EnumNumber { @@ -11384,7 +11981,7 @@ func (x RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirew // Deprecated: Use RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type.Descriptor instead. func (RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{966, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1001, 0} } // [Output Only] The status of the reservation. @@ -11435,11 +12032,11 @@ func (x Reservation_Status) String() string { } func (Reservation_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[184].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[195].Descriptor() } func (Reservation_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[184] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[195] } func (x Reservation_Status) Number() protoreflect.EnumNumber { @@ -11448,7 +12045,7 @@ func (x Reservation_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Reservation_Status.Descriptor instead. func (Reservation_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{986, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1022, 0} } // Specifies the type of reservation from which this instance can consume resources: ANY_RESERVATION (default), SPECIFIC_RESERVATION, or NO_RESERVATION. See Consuming reserved instances for examples. @@ -11495,11 +12092,11 @@ func (x ReservationAffinity_ConsumeReservationType) String() string { } func (ReservationAffinity_ConsumeReservationType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[185].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[196].Descriptor() } func (ReservationAffinity_ConsumeReservationType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[185] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[196] } func (x ReservationAffinity_ConsumeReservationType) Number() protoreflect.EnumNumber { @@ -11508,7 +12105,7 @@ func (x ReservationAffinity_ConsumeReservationType) Number() protoreflect.EnumNu // Deprecated: Use ReservationAffinity_ConsumeReservationType.Descriptor instead. func (ReservationAffinity_ConsumeReservationType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{987, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1023, 0} } // Type of resource for which this commitment applies. Possible values are VCPU, MEMORY, LOCAL_SSD, and ACCELERATOR. @@ -11555,11 +12152,11 @@ func (x ResourceCommitment_Type) String() string { } func (ResourceCommitment_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[186].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[197].Descriptor() } func (ResourceCommitment_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[186] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[197] } func (x ResourceCommitment_Type) Number() protoreflect.EnumNumber { @@ -11568,7 +12165,7 @@ func (x ResourceCommitment_Type) Number() protoreflect.EnumNumber { // Deprecated: Use ResourceCommitment_Type.Descriptor instead. func (ResourceCommitment_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{998, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1034, 0} } // [Output Only] The status of resource policy creation. @@ -11619,11 +12216,11 @@ func (x ResourcePolicy_Status) String() string { } func (ResourcePolicy_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[187].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[198].Descriptor() } func (ResourcePolicy_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[187] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[198] } func (x ResourcePolicy_Status) Number() protoreflect.EnumNumber { @@ -11632,7 +12229,7 @@ func (x ResourcePolicy_Status) Number() protoreflect.EnumNumber { // Deprecated: Use ResourcePolicy_Status.Descriptor instead. func (ResourcePolicy_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1001, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1037, 0} } // Specifies network collocation @@ -11670,11 +12267,11 @@ func (x ResourcePolicyGroupPlacementPolicy_Collocation) String() string { } func (ResourcePolicyGroupPlacementPolicy_Collocation) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[188].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[199].Descriptor() } func (ResourcePolicyGroupPlacementPolicy_Collocation) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[188] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[199] } func (x ResourcePolicyGroupPlacementPolicy_Collocation) Number() protoreflect.EnumNumber { @@ -11683,7 +12280,7 @@ func (x ResourcePolicyGroupPlacementPolicy_Collocation) Number() protoreflect.En // Deprecated: Use ResourcePolicyGroupPlacementPolicy_Collocation.Descriptor instead. func (ResourcePolicyGroupPlacementPolicy_Collocation) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1005, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1041, 0} } // Specifies the behavior to apply to scheduled snapshots when the source disk is deleted. @@ -11724,11 +12321,11 @@ func (x ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete) } func (ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[189].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[200].Descriptor() } func (ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[189] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[200] } func (x ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete) Number() protoreflect.EnumNumber { @@ -11737,7 +12334,7 @@ func (x ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete) // Deprecated: Use ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete.Descriptor instead. func (ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1013, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1049, 0} } // Defines a schedule that runs on specific days of the week. Specify one or more days. The following options are available: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY. @@ -11793,11 +12390,11 @@ func (x ResourcePolicyWeeklyCycleDayOfWeek_Day) String() string { } func (ResourcePolicyWeeklyCycleDayOfWeek_Day) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[190].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[201].Descriptor() } func (ResourcePolicyWeeklyCycleDayOfWeek_Day) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[190] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[201] } func (x ResourcePolicyWeeklyCycleDayOfWeek_Day) Number() protoreflect.EnumNumber { @@ -11806,7 +12403,7 @@ func (x ResourcePolicyWeeklyCycleDayOfWeek_Day) Number() protoreflect.EnumNumber // Deprecated: Use ResourcePolicyWeeklyCycleDayOfWeek_Day.Descriptor instead. func (ResourcePolicyWeeklyCycleDayOfWeek_Day) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1017, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1053, 0} } // [Output only] The status of the route. @@ -11854,11 +12451,11 @@ func (x Route_RouteStatus) String() string { } func (Route_RouteStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[191].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[202].Descriptor() } func (Route_RouteStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[191] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[202] } func (x Route_RouteStatus) Number() protoreflect.EnumNumber { @@ -11867,7 +12464,7 @@ func (x Route_RouteStatus) Number() protoreflect.EnumNumber { // Deprecated: Use Route_RouteStatus.Descriptor instead. func (Route_RouteStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1020, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1056, 0} } // [Output Only] The type of this route, which can be one of the following values: - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers - 'SUBNET' for a route from a subnet of the VPC - 'BGP' for a route learned from a BGP peer of this router - 'STATIC' for a static route @@ -11911,11 +12508,11 @@ func (x Route_RouteType) String() string { } func (Route_RouteType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[192].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[203].Descriptor() } func (Route_RouteType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[192] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[203] } func (x Route_RouteType) Number() protoreflect.EnumNumber { @@ -11924,7 +12521,7 @@ func (x Route_RouteType) Number() protoreflect.EnumNumber { // Deprecated: Use Route_RouteType.Descriptor instead. func (Route_RouteType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1020, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1056, 1} } // [Output Only] The type of the AS Path, which can be one of the following values: - 'AS_SET': unordered set of autonomous systems that the route in has traversed - 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed - 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed @@ -11968,11 +12565,11 @@ func (x RouteAsPath_PathSegmentType) String() string { } func (RouteAsPath_PathSegmentType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[193].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[204].Descriptor() } func (RouteAsPath_PathSegmentType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[193] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[204] } func (x RouteAsPath_PathSegmentType) Number() protoreflect.EnumNumber { @@ -11981,7 +12578,7 @@ func (x RouteAsPath_PathSegmentType) Number() protoreflect.EnumNumber { // Deprecated: Use RouteAsPath_PathSegmentType.Descriptor instead. func (RouteAsPath_PathSegmentType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1021, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1057, 0} } // User-specified flag to indicate which mode to use for advertisement. The options are DEFAULT or CUSTOM. @@ -12019,11 +12616,11 @@ func (x RouterBgp_AdvertiseMode) String() string { } func (RouterBgp_AdvertiseMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[194].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[205].Descriptor() } func (RouterBgp_AdvertiseMode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[194] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[205] } func (x RouterBgp_AdvertiseMode) Number() protoreflect.EnumNumber { @@ -12032,7 +12629,7 @@ func (x RouterBgp_AdvertiseMode) Number() protoreflect.EnumNumber { // Deprecated: Use RouterBgp_AdvertiseMode.Descriptor instead. func (RouterBgp_AdvertiseMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1026, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1062, 0} } type RouterBgp_AdvertisedGroups int32 @@ -12067,11 +12664,11 @@ func (x RouterBgp_AdvertisedGroups) String() string { } func (RouterBgp_AdvertisedGroups) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[195].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[206].Descriptor() } func (RouterBgp_AdvertisedGroups) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[195] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[206] } func (x RouterBgp_AdvertisedGroups) Number() protoreflect.EnumNumber { @@ -12080,7 +12677,7 @@ func (x RouterBgp_AdvertisedGroups) Number() protoreflect.EnumNumber { // Deprecated: Use RouterBgp_AdvertisedGroups.Descriptor instead. func (RouterBgp_AdvertisedGroups) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1026, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1062, 1} } // User-specified flag to indicate which mode to use for advertisement. @@ -12118,11 +12715,11 @@ func (x RouterBgpPeer_AdvertiseMode) String() string { } func (RouterBgpPeer_AdvertiseMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[196].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[207].Descriptor() } func (RouterBgpPeer_AdvertiseMode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[196] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[207] } func (x RouterBgpPeer_AdvertiseMode) Number() protoreflect.EnumNumber { @@ -12131,7 +12728,7 @@ func (x RouterBgpPeer_AdvertiseMode) Number() protoreflect.EnumNumber { // Deprecated: Use RouterBgpPeer_AdvertiseMode.Descriptor instead. func (RouterBgpPeer_AdvertiseMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1027, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1063, 0} } type RouterBgpPeer_AdvertisedGroups int32 @@ -12166,11 +12763,11 @@ func (x RouterBgpPeer_AdvertisedGroups) String() string { } func (RouterBgpPeer_AdvertisedGroups) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[197].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[208].Descriptor() } func (RouterBgpPeer_AdvertisedGroups) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[197] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[208] } func (x RouterBgpPeer_AdvertisedGroups) Number() protoreflect.EnumNumber { @@ -12179,7 +12776,7 @@ func (x RouterBgpPeer_AdvertisedGroups) Number() protoreflect.EnumNumber { // Deprecated: Use RouterBgpPeer_AdvertisedGroups.Descriptor instead. func (RouterBgpPeer_AdvertisedGroups) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1027, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1063, 1} } // The status of the BGP peer connection. If set to FALSE, any active session with the peer is terminated and all associated routing information is removed. If set to TRUE, the peer connection can be established with routing information. The default is TRUE. @@ -12217,11 +12814,11 @@ func (x RouterBgpPeer_Enable) String() string { } func (RouterBgpPeer_Enable) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[198].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[209].Descriptor() } func (RouterBgpPeer_Enable) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[198] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[209] } func (x RouterBgpPeer_Enable) Number() protoreflect.EnumNumber { @@ -12230,7 +12827,7 @@ func (x RouterBgpPeer_Enable) Number() protoreflect.EnumNumber { // Deprecated: Use RouterBgpPeer_Enable.Descriptor instead. func (RouterBgpPeer_Enable) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1027, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1063, 2} } // [Output Only] The resource that configures and manages this BGP peer. - MANAGED_BY_USER is the default value and can be managed by you or other users - MANAGED_BY_ATTACHMENT is a BGP peer that is configured and managed by Cloud Interconnect, specifically by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of BGP peer when the PARTNER InterconnectAttachment is created, updated, or deleted. @@ -12270,11 +12867,11 @@ func (x RouterBgpPeer_ManagementType) String() string { } func (RouterBgpPeer_ManagementType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[199].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[210].Descriptor() } func (RouterBgpPeer_ManagementType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[199] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[210] } func (x RouterBgpPeer_ManagementType) Number() protoreflect.EnumNumber { @@ -12283,7 +12880,7 @@ func (x RouterBgpPeer_ManagementType) Number() protoreflect.EnumNumber { // Deprecated: Use RouterBgpPeer_ManagementType.Descriptor instead. func (RouterBgpPeer_ManagementType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1027, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1063, 3} } // The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer. The default is DISABLED. @@ -12324,11 +12921,11 @@ func (x RouterBgpPeerBfd_SessionInitializationMode) String() string { } func (RouterBgpPeerBfd_SessionInitializationMode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[200].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[211].Descriptor() } func (RouterBgpPeerBfd_SessionInitializationMode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[200] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[211] } func (x RouterBgpPeerBfd_SessionInitializationMode) Number() protoreflect.EnumNumber { @@ -12337,7 +12934,7 @@ func (x RouterBgpPeerBfd_SessionInitializationMode) Number() protoreflect.EnumNu // Deprecated: Use RouterBgpPeerBfd_SessionInitializationMode.Descriptor instead. func (RouterBgpPeerBfd_SessionInitializationMode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1028, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1064, 0} } // [Output Only] The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted. @@ -12377,11 +12974,11 @@ func (x RouterInterface_ManagementType) String() string { } func (RouterInterface_ManagementType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[201].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[212].Descriptor() } func (RouterInterface_ManagementType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[201] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[212] } func (x RouterInterface_ManagementType) Number() protoreflect.EnumNumber { @@ -12390,10 +12987,10 @@ func (x RouterInterface_ManagementType) Number() protoreflect.EnumNumber { // Deprecated: Use RouterInterface_ManagementType.Descriptor instead. func (RouterInterface_ManagementType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1030, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1066, 0} } -// The network tier to use when automatically reserving IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used. +// The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used. type RouterNat_AutoNetworkTier int32 const ( @@ -12438,11 +13035,11 @@ func (x RouterNat_AutoNetworkTier) String() string { } func (RouterNat_AutoNetworkTier) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[202].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[213].Descriptor() } func (RouterNat_AutoNetworkTier) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[202] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[213] } func (x RouterNat_AutoNetworkTier) Number() protoreflect.EnumNumber { @@ -12451,7 +13048,7 @@ func (x RouterNat_AutoNetworkTier) Number() protoreflect.EnumNumber { // Deprecated: Use RouterNat_AutoNetworkTier.Descriptor instead. func (RouterNat_AutoNetworkTier) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1033, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1069, 0} } type RouterNat_EndpointTypes int32 @@ -12459,6 +13056,8 @@ type RouterNat_EndpointTypes int32 const ( // A value indicating that the enum field is not set. RouterNat_UNDEFINED_ENDPOINT_TYPES RouterNat_EndpointTypes = 0 + // This is used for regional Application Load Balancers (internal and external) and regional proxy Network Load Balancers (internal and external) endpoints. + RouterNat_ENDPOINT_TYPE_MANAGED_PROXY_LB RouterNat_EndpointTypes = 439196930 // This is used for Secure Web Gateway endpoints. RouterNat_ENDPOINT_TYPE_SWG RouterNat_EndpointTypes = 159344456 // This is the default. @@ -12469,13 +13068,15 @@ const ( var ( RouterNat_EndpointTypes_name = map[int32]string{ 0: "UNDEFINED_ENDPOINT_TYPES", + 439196930: "ENDPOINT_TYPE_MANAGED_PROXY_LB", 159344456: "ENDPOINT_TYPE_SWG", 57095474: "ENDPOINT_TYPE_VM", } RouterNat_EndpointTypes_value = map[string]int32{ - "UNDEFINED_ENDPOINT_TYPES": 0, - "ENDPOINT_TYPE_SWG": 159344456, - "ENDPOINT_TYPE_VM": 57095474, + "UNDEFINED_ENDPOINT_TYPES": 0, + "ENDPOINT_TYPE_MANAGED_PROXY_LB": 439196930, + "ENDPOINT_TYPE_SWG": 159344456, + "ENDPOINT_TYPE_VM": 57095474, } ) @@ -12490,11 +13091,11 @@ func (x RouterNat_EndpointTypes) String() string { } func (RouterNat_EndpointTypes) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[203].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[214].Descriptor() } func (RouterNat_EndpointTypes) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[203] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[214] } func (x RouterNat_EndpointTypes) Number() protoreflect.EnumNumber { @@ -12503,7 +13104,7 @@ func (x RouterNat_EndpointTypes) Number() protoreflect.EnumNumber { // Deprecated: Use RouterNat_EndpointTypes.Descriptor instead. func (RouterNat_EndpointTypes) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1033, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1069, 1} } // Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty. @@ -12543,11 +13144,11 @@ func (x RouterNat_NatIpAllocateOption) String() string { } func (RouterNat_NatIpAllocateOption) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[204].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[215].Descriptor() } func (RouterNat_NatIpAllocateOption) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[204] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[215] } func (x RouterNat_NatIpAllocateOption) Number() protoreflect.EnumNumber { @@ -12556,7 +13157,7 @@ func (x RouterNat_NatIpAllocateOption) Number() protoreflect.EnumNumber { // Deprecated: Use RouterNat_NatIpAllocateOption.Descriptor instead. func (RouterNat_NatIpAllocateOption) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1033, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1069, 2} } // Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region. @@ -12600,11 +13201,11 @@ func (x RouterNat_SourceSubnetworkIpRangesToNat) String() string { } func (RouterNat_SourceSubnetworkIpRangesToNat) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[205].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[216].Descriptor() } func (RouterNat_SourceSubnetworkIpRangesToNat) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[205] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[216] } func (x RouterNat_SourceSubnetworkIpRangesToNat) Number() protoreflect.EnumNumber { @@ -12613,7 +13214,60 @@ func (x RouterNat_SourceSubnetworkIpRangesToNat) Number() protoreflect.EnumNumbe // Deprecated: Use RouterNat_SourceSubnetworkIpRangesToNat.Descriptor instead. func (RouterNat_SourceSubnetworkIpRangesToNat) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1033, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1069, 3} +} + +// Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC. +type RouterNat_Type int32 + +const ( + // A value indicating that the enum field is not set. + RouterNat_UNDEFINED_TYPE RouterNat_Type = 0 + // NAT used for private IP translation. + RouterNat_PRIVATE RouterNat_Type = 403485027 + // NAT used for public IP translation. This is the default. + RouterNat_PUBLIC RouterNat_Type = 223389289 +) + +// Enum value maps for RouterNat_Type. +var ( + RouterNat_Type_name = map[int32]string{ + 0: "UNDEFINED_TYPE", + 403485027: "PRIVATE", + 223389289: "PUBLIC", + } + RouterNat_Type_value = map[string]int32{ + "UNDEFINED_TYPE": 0, + "PRIVATE": 403485027, + "PUBLIC": 223389289, + } +) + +func (x RouterNat_Type) Enum() *RouterNat_Type { + p := new(RouterNat_Type) + *p = x + return p +} + +func (x RouterNat_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RouterNat_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[217].Descriptor() +} + +func (RouterNat_Type) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[217] +} + +func (x RouterNat_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RouterNat_Type.Descriptor instead. +func (RouterNat_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1069, 4} } // Specify the desired filtering of logs on this NAT. If unspecified, logs are exported for all connections handled by this NAT. This option can take one of the following values: - ERRORS_ONLY: Export logs only for connection failures. - TRANSLATIONS_ONLY: Export logs only for successful connections. - ALL: Export logs for all connections, successful and unsuccessful. @@ -12657,11 +13311,11 @@ func (x RouterNatLogConfig_Filter) String() string { } func (RouterNatLogConfig_Filter) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[206].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[218].Descriptor() } func (RouterNatLogConfig_Filter) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[206] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[218] } func (x RouterNatLogConfig_Filter) Number() protoreflect.EnumNumber { @@ -12670,7 +13324,7 @@ func (x RouterNatLogConfig_Filter) Number() protoreflect.EnumNumber { // Deprecated: Use RouterNatLogConfig_Filter.Descriptor instead. func (RouterNatLogConfig_Filter) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1034, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1070, 0} } type RouterNatSubnetworkToNat_SourceIpRangesToNat int32 @@ -12713,11 +13367,11 @@ func (x RouterNatSubnetworkToNat_SourceIpRangesToNat) String() string { } func (RouterNatSubnetworkToNat_SourceIpRangesToNat) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[207].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[219].Descriptor() } func (RouterNatSubnetworkToNat_SourceIpRangesToNat) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[207] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[219] } func (x RouterNatSubnetworkToNat_SourceIpRangesToNat) Number() protoreflect.EnumNumber { @@ -12726,7 +13380,7 @@ func (x RouterNatSubnetworkToNat_SourceIpRangesToNat) Number() protoreflect.Enum // Deprecated: Use RouterNatSubnetworkToNat_SourceIpRangesToNat.Descriptor instead. func (RouterNatSubnetworkToNat_SourceIpRangesToNat) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1037, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1073, 0} } // Status of the BGP peer: {UP, DOWN} @@ -12767,11 +13421,11 @@ func (x RouterStatusBgpPeerStatus_Status) String() string { } func (RouterStatusBgpPeerStatus_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[208].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[220].Descriptor() } func (RouterStatusBgpPeerStatus_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[208] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[220] } func (x RouterStatusBgpPeerStatus_Status) Number() protoreflect.EnumNumber { @@ -12780,7 +13434,7 @@ func (x RouterStatusBgpPeerStatus_Status) Number() protoreflect.EnumNumber { // Deprecated: Use RouterStatusBgpPeerStatus_Status.Descriptor instead. func (RouterStatusBgpPeerStatus_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1039, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1075, 0} } // Indicates why particular status was returned. @@ -12819,11 +13473,11 @@ func (x RouterStatusBgpPeerStatus_StatusReason) String() string { } func (RouterStatusBgpPeerStatus_StatusReason) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[209].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[221].Descriptor() } func (RouterStatusBgpPeerStatus_StatusReason) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[209] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[221] } func (x RouterStatusBgpPeerStatus_StatusReason) Number() protoreflect.EnumNumber { @@ -12832,7 +13486,7 @@ func (x RouterStatusBgpPeerStatus_StatusReason) Number() protoreflect.EnumNumber // Deprecated: Use RouterStatusBgpPeerStatus_StatusReason.Descriptor instead. func (RouterStatusBgpPeerStatus_StatusReason) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1039, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1075, 1} } // This is deprecated and has no effect. Do not use. @@ -12888,11 +13542,11 @@ func (x Rule_Action) String() string { } func (Rule_Action) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[210].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[222].Descriptor() } func (Rule_Action) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[210] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[222] } func (x Rule_Action) Number() protoreflect.EnumNumber { @@ -12901,7 +13555,7 @@ func (x Rule_Action) Number() protoreflect.EnumNumber { // Deprecated: Use Rule_Action.Descriptor instead. func (Rule_Action) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1045, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1081, 0} } // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. @@ -12945,11 +13599,11 @@ func (x SSLHealthCheck_PortSpecification) String() string { } func (SSLHealthCheck_PortSpecification) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[211].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[223].Descriptor() } func (SSLHealthCheck_PortSpecification) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[211] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[223] } func (x SSLHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { @@ -12958,7 +13612,7 @@ func (x SSLHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { // Deprecated: Use SSLHealthCheck_PortSpecification.Descriptor instead. func (SSLHealthCheck_PortSpecification) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1046, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1082, 0} } // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. @@ -12996,11 +13650,11 @@ func (x SSLHealthCheck_ProxyHeader) String() string { } func (SSLHealthCheck_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[212].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[224].Descriptor() } func (SSLHealthCheck_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[212] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[224] } func (x SSLHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { @@ -13009,7 +13663,7 @@ func (x SSLHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { // Deprecated: Use SSLHealthCheck_ProxyHeader.Descriptor instead. func (SSLHealthCheck_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1046, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1082, 1} } // Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. @@ -13047,11 +13701,11 @@ func (x SavedAttachedDisk_Interface) String() string { } func (SavedAttachedDisk_Interface) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[213].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[225].Descriptor() } func (SavedAttachedDisk_Interface) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[213] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[225] } func (x SavedAttachedDisk_Interface) Number() protoreflect.EnumNumber { @@ -13060,7 +13714,7 @@ func (x SavedAttachedDisk_Interface) Number() protoreflect.EnumNumber { // Deprecated: Use SavedAttachedDisk_Interface.Descriptor instead. func (SavedAttachedDisk_Interface) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1047, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1083, 0} } // The mode in which this disk is attached to the source instance, either READ_WRITE or READ_ONLY. @@ -13100,11 +13754,11 @@ func (x SavedAttachedDisk_Mode) String() string { } func (SavedAttachedDisk_Mode) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[214].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[226].Descriptor() } func (SavedAttachedDisk_Mode) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[214] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[226] } func (x SavedAttachedDisk_Mode) Number() protoreflect.EnumNumber { @@ -13113,7 +13767,7 @@ func (x SavedAttachedDisk_Mode) Number() protoreflect.EnumNumber { // Deprecated: Use SavedAttachedDisk_Mode.Descriptor instead. func (SavedAttachedDisk_Mode) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1047, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1083, 1} } // [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. @@ -13151,11 +13805,11 @@ func (x SavedAttachedDisk_StorageBytesStatus) String() string { } func (SavedAttachedDisk_StorageBytesStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[215].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[227].Descriptor() } func (SavedAttachedDisk_StorageBytesStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[215] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[227] } func (x SavedAttachedDisk_StorageBytesStatus) Number() protoreflect.EnumNumber { @@ -13164,7 +13818,7 @@ func (x SavedAttachedDisk_StorageBytesStatus) Number() protoreflect.EnumNumber { // Deprecated: Use SavedAttachedDisk_StorageBytesStatus.Descriptor instead. func (SavedAttachedDisk_StorageBytesStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1047, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1083, 2} } // Specifies the type of the attached disk, either SCRATCH or PERSISTENT. @@ -13202,11 +13856,11 @@ func (x SavedAttachedDisk_Type) String() string { } func (SavedAttachedDisk_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[216].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[228].Descriptor() } func (SavedAttachedDisk_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[216] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[228] } func (x SavedAttachedDisk_Type) Number() protoreflect.EnumNumber { @@ -13215,7 +13869,7 @@ func (x SavedAttachedDisk_Type) Number() protoreflect.EnumNumber { // Deprecated: Use SavedAttachedDisk_Type.Descriptor instead. func (SavedAttachedDisk_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1047, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1083, 3} } // [Output Only] The architecture of the attached disk. @@ -13259,11 +13913,11 @@ func (x SavedDisk_Architecture) String() string { } func (SavedDisk_Architecture) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[217].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[229].Descriptor() } func (SavedDisk_Architecture) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[217] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[229] } func (x SavedDisk_Architecture) Number() protoreflect.EnumNumber { @@ -13272,7 +13926,7 @@ func (x SavedDisk_Architecture) Number() protoreflect.EnumNumber { // Deprecated: Use SavedDisk_Architecture.Descriptor instead. func (SavedDisk_Architecture) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1048, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1084, 0} } // [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. @@ -13310,11 +13964,11 @@ func (x SavedDisk_StorageBytesStatus) String() string { } func (SavedDisk_StorageBytesStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[218].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[230].Descriptor() } func (SavedDisk_StorageBytesStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[218] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[230] } func (x SavedDisk_StorageBytesStatus) Number() protoreflect.EnumNumber { @@ -13323,7 +13977,7 @@ func (x SavedDisk_StorageBytesStatus) Number() protoreflect.EnumNumber { // Deprecated: Use SavedDisk_StorageBytesStatus.Descriptor instead. func (SavedDisk_StorageBytesStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1048, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1084, 1} } // [Output Only] The current state of a scaling schedule. @@ -13371,11 +14025,11 @@ func (x ScalingScheduleStatus_State) String() string { } func (ScalingScheduleStatus_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[219].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[231].Descriptor() } func (ScalingScheduleStatus_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[219] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[231] } func (x ScalingScheduleStatus_State) Number() protoreflect.EnumNumber { @@ -13384,7 +14038,7 @@ func (x ScalingScheduleStatus_State) Number() protoreflect.EnumNumber { // Deprecated: Use ScalingScheduleStatus_State.Descriptor instead. func (ScalingScheduleStatus_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1049, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1085, 0} } // Specifies the termination action for the instance. @@ -13428,11 +14082,11 @@ func (x Scheduling_InstanceTerminationAction) String() string { } func (Scheduling_InstanceTerminationAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[220].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[232].Descriptor() } func (Scheduling_InstanceTerminationAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[220] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[232] } func (x Scheduling_InstanceTerminationAction) Number() protoreflect.EnumNumber { @@ -13441,7 +14095,7 @@ func (x Scheduling_InstanceTerminationAction) Number() protoreflect.EnumNumber { // Deprecated: Use Scheduling_InstanceTerminationAction.Descriptor instead. func (Scheduling_InstanceTerminationAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1050, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1086, 0} } // Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Set VM host maintenance policy. @@ -13481,11 +14135,11 @@ func (x Scheduling_OnHostMaintenance) String() string { } func (Scheduling_OnHostMaintenance) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[221].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[233].Descriptor() } func (Scheduling_OnHostMaintenance) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[221] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[233] } func (x Scheduling_OnHostMaintenance) Number() protoreflect.EnumNumber { @@ -13494,7 +14148,7 @@ func (x Scheduling_OnHostMaintenance) Number() protoreflect.EnumNumber { // Deprecated: Use Scheduling_OnHostMaintenance.Descriptor instead. func (Scheduling_OnHostMaintenance) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1050, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1086, 1} } // Specifies the provisioning model of the instance. @@ -13534,11 +14188,11 @@ func (x Scheduling_ProvisioningModel) String() string { } func (Scheduling_ProvisioningModel) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[222].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[234].Descriptor() } func (Scheduling_ProvisioningModel) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[222] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[234] } func (x Scheduling_ProvisioningModel) Number() protoreflect.EnumNumber { @@ -13547,7 +14201,7 @@ func (x Scheduling_ProvisioningModel) Number() protoreflect.EnumNumber { // Deprecated: Use Scheduling_ProvisioningModel.Descriptor instead. func (Scheduling_ProvisioningModel) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1050, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1086, 2} } // Defines the operation of node selection. Valid operators are IN for affinity and NOT_IN for anti-affinity. @@ -13590,11 +14244,11 @@ func (x SchedulingNodeAffinity_Operator) String() string { } func (SchedulingNodeAffinity_Operator) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[223].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[235].Descriptor() } func (SchedulingNodeAffinity_Operator) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[223] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[235] } func (x SchedulingNodeAffinity_Operator) Number() protoreflect.EnumNumber { @@ -13603,7 +14257,7 @@ func (x SchedulingNodeAffinity_Operator) Number() protoreflect.EnumNumber { // Deprecated: Use SchedulingNodeAffinity_Operator.Descriptor instead. func (SchedulingNodeAffinity_Operator) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1051, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1087, 0} } // The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. @@ -13644,11 +14298,11 @@ func (x SecurityPolicy_Type) String() string { } func (SecurityPolicy_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[224].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[236].Descriptor() } func (SecurityPolicy_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[224] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[236] } func (x SecurityPolicy_Type) Number() protoreflect.EnumNumber { @@ -13657,7 +14311,7 @@ func (x SecurityPolicy_Type) Number() protoreflect.EnumNumber { // Deprecated: Use SecurityPolicy_Type.Descriptor instead. func (SecurityPolicy_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1058, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1094, 0} } // Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR. @@ -13695,11 +14349,11 @@ func (x SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibi } func (SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[225].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[237].Descriptor() } func (SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[225] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[237] } func (x SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility) Number() protoreflect.EnumNumber { @@ -13708,7 +14362,7 @@ func (x SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibi // Deprecated: Use SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility.Descriptor instead. func (SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1060, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1096, 0} } type SecurityPolicyAdvancedOptionsConfig_JsonParsing int32 @@ -13718,6 +14372,7 @@ const ( SecurityPolicyAdvancedOptionsConfig_UNDEFINED_JSON_PARSING SecurityPolicyAdvancedOptionsConfig_JsonParsing = 0 SecurityPolicyAdvancedOptionsConfig_DISABLED SecurityPolicyAdvancedOptionsConfig_JsonParsing = 516696700 SecurityPolicyAdvancedOptionsConfig_STANDARD SecurityPolicyAdvancedOptionsConfig_JsonParsing = 484642493 + SecurityPolicyAdvancedOptionsConfig_STANDARD_WITH_GRAPHQL SecurityPolicyAdvancedOptionsConfig_JsonParsing = 106979218 ) // Enum value maps for SecurityPolicyAdvancedOptionsConfig_JsonParsing. @@ -13726,11 +14381,13 @@ var ( 0: "UNDEFINED_JSON_PARSING", 516696700: "DISABLED", 484642493: "STANDARD", + 106979218: "STANDARD_WITH_GRAPHQL", } SecurityPolicyAdvancedOptionsConfig_JsonParsing_value = map[string]int32{ "UNDEFINED_JSON_PARSING": 0, "DISABLED": 516696700, "STANDARD": 484642493, + "STANDARD_WITH_GRAPHQL": 106979218, } ) @@ -13745,11 +14402,11 @@ func (x SecurityPolicyAdvancedOptionsConfig_JsonParsing) String() string { } func (SecurityPolicyAdvancedOptionsConfig_JsonParsing) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[226].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[238].Descriptor() } func (SecurityPolicyAdvancedOptionsConfig_JsonParsing) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[226] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[238] } func (x SecurityPolicyAdvancedOptionsConfig_JsonParsing) Number() protoreflect.EnumNumber { @@ -13758,7 +14415,7 @@ func (x SecurityPolicyAdvancedOptionsConfig_JsonParsing) Number() protoreflect.E // Deprecated: Use SecurityPolicyAdvancedOptionsConfig_JsonParsing.Descriptor instead. func (SecurityPolicyAdvancedOptionsConfig_JsonParsing) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1061, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1098, 0} } type SecurityPolicyAdvancedOptionsConfig_LogLevel int32 @@ -13795,11 +14452,11 @@ func (x SecurityPolicyAdvancedOptionsConfig_LogLevel) String() string { } func (SecurityPolicyAdvancedOptionsConfig_LogLevel) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[227].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[239].Descriptor() } func (SecurityPolicyAdvancedOptionsConfig_LogLevel) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[227] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[239] } func (x SecurityPolicyAdvancedOptionsConfig_LogLevel) Number() protoreflect.EnumNumber { @@ -13808,7 +14465,7 @@ func (x SecurityPolicyAdvancedOptionsConfig_LogLevel) Number() protoreflect.Enum // Deprecated: Use SecurityPolicyAdvancedOptionsConfig_LogLevel.Descriptor instead. func (SecurityPolicyAdvancedOptionsConfig_LogLevel) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1061, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1098, 1} } type SecurityPolicyDdosProtectionConfig_DdosProtection int32 @@ -13845,11 +14502,11 @@ func (x SecurityPolicyDdosProtectionConfig_DdosProtection) String() string { } func (SecurityPolicyDdosProtectionConfig_DdosProtection) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[228].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[240].Descriptor() } func (SecurityPolicyDdosProtectionConfig_DdosProtection) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[228] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[240] } func (x SecurityPolicyDdosProtectionConfig_DdosProtection) Number() protoreflect.EnumNumber { @@ -13858,7 +14515,7 @@ func (x SecurityPolicyDdosProtectionConfig_DdosProtection) Number() protoreflect // Deprecated: Use SecurityPolicyDdosProtectionConfig_DdosProtection.Descriptor instead. func (SecurityPolicyDdosProtectionConfig_DdosProtection) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1063, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1100, 0} } // Preconfigured versioned expression. If this field is specified, config must also be specified. Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding src_ip_range field in config. @@ -13894,11 +14551,11 @@ func (x SecurityPolicyRuleMatcher_VersionedExpr) String() string { } func (SecurityPolicyRuleMatcher_VersionedExpr) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[229].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[241].Descriptor() } func (SecurityPolicyRuleMatcher_VersionedExpr) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[229] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[241] } func (x SecurityPolicyRuleMatcher_VersionedExpr) Number() protoreflect.EnumNumber { @@ -13907,7 +14564,7 @@ func (x SecurityPolicyRuleMatcher_VersionedExpr) Number() protoreflect.EnumNumbe // Deprecated: Use SecurityPolicyRuleMatcher_VersionedExpr.Descriptor instead. func (SecurityPolicyRuleMatcher_VersionedExpr) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1070, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1107, 0} } // The match operator for the field. @@ -13959,11 +14616,11 @@ func (x SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op) String( } func (SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[230].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[242].Descriptor() } func (SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[230] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[242] } func (x SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op) Number() protoreflect.EnumNumber { @@ -13972,7 +14629,7 @@ func (x SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op) Number( // Deprecated: Use SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op.Descriptor instead. func (SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1074, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1113, 0} } // Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. @@ -14028,11 +14685,11 @@ func (x SecurityPolicyRuleRateLimitOptions_EnforceOnKey) String() string { } func (SecurityPolicyRuleRateLimitOptions_EnforceOnKey) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[231].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[243].Descriptor() } func (SecurityPolicyRuleRateLimitOptions_EnforceOnKey) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[231] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[243] } func (x SecurityPolicyRuleRateLimitOptions_EnforceOnKey) Number() protoreflect.EnumNumber { @@ -14041,7 +14698,7 @@ func (x SecurityPolicyRuleRateLimitOptions_EnforceOnKey) Number() protoreflect.E // Deprecated: Use SecurityPolicyRuleRateLimitOptions_EnforceOnKey.Descriptor instead. func (SecurityPolicyRuleRateLimitOptions_EnforceOnKey) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1075, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1114, 0} } // Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. @@ -14097,11 +14754,11 @@ func (x SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType) S } func (SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[232].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[244].Descriptor() } func (SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[232] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[244] } func (x SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType) Number() protoreflect.EnumNumber { @@ -14110,7 +14767,7 @@ func (x SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType) N // Deprecated: Use SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType.Descriptor instead. func (SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1076, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1115, 0} } // Type of the redirect action. @@ -14148,11 +14805,11 @@ func (x SecurityPolicyRuleRedirectOptions_Type) String() string { } func (SecurityPolicyRuleRedirectOptions_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[233].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[245].Descriptor() } func (SecurityPolicyRuleRedirectOptions_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[233] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[245] } func (x SecurityPolicyRuleRedirectOptions_Type) Number() protoreflect.EnumNumber { @@ -14161,7 +14818,64 @@ func (x SecurityPolicyRuleRedirectOptions_Type) Number() protoreflect.EnumNumber // Deprecated: Use SecurityPolicyRuleRedirectOptions_Type.Descriptor instead. func (SecurityPolicyRuleRedirectOptions_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1078, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1117, 0} +} + +// The base relative to which 'offset' is measured. Possible values are: - IPV4: Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. - UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. required +type SecurityPolicyUserDefinedField_Base int32 + +const ( + // A value indicating that the enum field is not set. + SecurityPolicyUserDefinedField_UNDEFINED_BASE SecurityPolicyUserDefinedField_Base = 0 + SecurityPolicyUserDefinedField_IPV4 SecurityPolicyUserDefinedField_Base = 2254341 + SecurityPolicyUserDefinedField_IPV6 SecurityPolicyUserDefinedField_Base = 2254343 + SecurityPolicyUserDefinedField_TCP SecurityPolicyUserDefinedField_Base = 82881 + SecurityPolicyUserDefinedField_UDP SecurityPolicyUserDefinedField_Base = 83873 +) + +// Enum value maps for SecurityPolicyUserDefinedField_Base. +var ( + SecurityPolicyUserDefinedField_Base_name = map[int32]string{ + 0: "UNDEFINED_BASE", + 2254341: "IPV4", + 2254343: "IPV6", + 82881: "TCP", + 83873: "UDP", + } + SecurityPolicyUserDefinedField_Base_value = map[string]int32{ + "UNDEFINED_BASE": 0, + "IPV4": 2254341, + "IPV6": 2254343, + "TCP": 82881, + "UDP": 83873, + } +) + +func (x SecurityPolicyUserDefinedField_Base) Enum() *SecurityPolicyUserDefinedField_Base { + p := new(SecurityPolicyUserDefinedField_Base) + *p = x + return p +} + +func (x SecurityPolicyUserDefinedField_Base) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SecurityPolicyUserDefinedField_Base) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[246].Descriptor() +} + +func (SecurityPolicyUserDefinedField_Base) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[246] +} + +func (x SecurityPolicyUserDefinedField_Base) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SecurityPolicyUserDefinedField_Base.Descriptor instead. +func (SecurityPolicyUserDefinedField_Base) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1118, 0} } type ServerBinding_Type int32 @@ -14203,11 +14917,11 @@ func (x ServerBinding_Type) String() string { } func (ServerBinding_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[234].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[247].Descriptor() } func (ServerBinding_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[234] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[247] } func (x ServerBinding_Type) Number() protoreflect.EnumNumber { @@ -14216,7 +14930,7 @@ func (x ServerBinding_Type) Number() protoreflect.EnumNumber { // Deprecated: Use ServerBinding_Type.Descriptor instead. func (ServerBinding_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1083, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1123, 0} } // The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer forwarding rules. @@ -14257,11 +14971,11 @@ func (x ServiceAttachment_ConnectionPreference) String() string { } func (ServiceAttachment_ConnectionPreference) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[235].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[248].Descriptor() } func (ServiceAttachment_ConnectionPreference) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[235] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[248] } func (x ServiceAttachment_ConnectionPreference) Number() protoreflect.EnumNumber { @@ -14270,7 +14984,7 @@ func (x ServiceAttachment_ConnectionPreference) Number() protoreflect.EnumNumber // Deprecated: Use ServiceAttachment_ConnectionPreference.Descriptor instead. func (ServiceAttachment_ConnectionPreference) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1085, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1125, 0} } // The status of a connected endpoint to this service attachment. @@ -14325,11 +15039,11 @@ func (x ServiceAttachmentConnectedEndpoint_Status) String() string { } func (ServiceAttachmentConnectedEndpoint_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[236].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[249].Descriptor() } func (ServiceAttachmentConnectedEndpoint_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[236] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[249] } func (x ServiceAttachmentConnectedEndpoint_Status) Number() protoreflect.EnumNumber { @@ -14338,7 +15052,75 @@ func (x ServiceAttachmentConnectedEndpoint_Status) Number() protoreflect.EnumNum // Deprecated: Use ServiceAttachmentConnectedEndpoint_Status.Descriptor instead. func (ServiceAttachmentConnectedEndpoint_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1087, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1127, 0} +} + +// [Output Only] Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State int32 + +const ( + // A value indicating that the enum field is not set. + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_UNDEFINED_STATE SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = 0 + // Operation not tracked in this location e.g. zone is marked as DOWN. + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_ABANDONED SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = 81797556 + // Operation has completed successfully. + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_DONE SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = 2104194 + // Operation is in an error state. + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_FAILED SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = 455706685 + // Operation is confirmed to be in the location. + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_PROPAGATED SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = 507550299 + // Operation is not yet confirmed to have been created in the location. + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_PROPAGATING SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = 164807046 + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_UNSPECIFIED SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State = 526786327 +) + +// Enum value maps for SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State. +var ( + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_name = map[int32]string{ + 0: "UNDEFINED_STATE", + 81797556: "ABANDONED", + 2104194: "DONE", + 455706685: "FAILED", + 507550299: "PROPAGATED", + 164807046: "PROPAGATING", + 526786327: "UNSPECIFIED", + } + SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State_value = map[string]int32{ + "UNDEFINED_STATE": 0, + "ABANDONED": 81797556, + "DONE": 2104194, + "FAILED": 455706685, + "PROPAGATED": 507550299, + "PROPAGATING": 164807046, + "UNSPECIFIED": 526786327, + } +) + +func (x SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State) Enum() *SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State { + p := new(SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State) + *p = x + return p +} + +func (x SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[250].Descriptor() +} + +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[250] +} + +func (x SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State.Descriptor instead. +func (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1137, 0} } // Type of sharing for this shared-reservation @@ -14386,11 +15168,11 @@ func (x ShareSettings_ShareType) String() string { } func (ShareSettings_ShareType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[237].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[251].Descriptor() } func (ShareSettings_ShareType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[237] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[251] } func (x ShareSettings_ShareType) Number() protoreflect.EnumNumber { @@ -14399,7 +15181,7 @@ func (x ShareSettings_ShareType) Number() protoreflect.EnumNumber { // Deprecated: Use ShareSettings_ShareType.Descriptor instead. func (ShareSettings_ShareType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1171, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1218, 0} } // [Output Only] The architecture of the snapshot. Valid values are ARM64 or X86_64. @@ -14443,11 +15225,11 @@ func (x Snapshot_Architecture) String() string { } func (Snapshot_Architecture) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[238].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[252].Descriptor() } func (Snapshot_Architecture) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[238] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[252] } func (x Snapshot_Architecture) Number() protoreflect.EnumNumber { @@ -14456,7 +15238,7 @@ func (x Snapshot_Architecture) Number() protoreflect.EnumNumber { // Deprecated: Use Snapshot_Architecture.Descriptor instead. func (Snapshot_Architecture) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1180, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1227, 0} } // Indicates the type of the snapshot. @@ -14494,11 +15276,11 @@ func (x Snapshot_SnapshotType) String() string { } func (Snapshot_SnapshotType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[239].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[253].Descriptor() } func (Snapshot_SnapshotType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[239] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[253] } func (x Snapshot_SnapshotType) Number() protoreflect.EnumNumber { @@ -14507,7 +15289,7 @@ func (x Snapshot_SnapshotType) Number() protoreflect.EnumNumber { // Deprecated: Use Snapshot_SnapshotType.Descriptor instead. func (Snapshot_SnapshotType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1180, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1227, 1} } // [Output Only] The status of the snapshot. This can be CREATING, DELETING, FAILED, READY, or UPLOADING. @@ -14559,11 +15341,11 @@ func (x Snapshot_Status) String() string { } func (Snapshot_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[240].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[254].Descriptor() } func (Snapshot_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[240] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[254] } func (x Snapshot_Status) Number() protoreflect.EnumNumber { @@ -14572,7 +15354,7 @@ func (x Snapshot_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Snapshot_Status.Descriptor instead. func (Snapshot_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1180, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1227, 2} } // [Output Only] An indicator whether storageBytes is in a stable state or it is being adjusted as a result of shared storage reallocation. This status can either be UPDATING, meaning the size of the snapshot is being updated, or UP_TO_DATE, meaning the size of the snapshot is up-to-date. @@ -14610,11 +15392,11 @@ func (x Snapshot_StorageBytesStatus) String() string { } func (Snapshot_StorageBytesStatus) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[241].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[255].Descriptor() } func (Snapshot_StorageBytesStatus) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[241] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[255] } func (x Snapshot_StorageBytesStatus) Number() protoreflect.EnumNumber { @@ -14623,7 +15405,67 @@ func (x Snapshot_StorageBytesStatus) Number() protoreflect.EnumNumber { // Deprecated: Use Snapshot_StorageBytesStatus.Descriptor instead. func (Snapshot_StorageBytesStatus) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1180, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1227, 3} +} + +// The chosen location policy. +type SnapshotSettingsStorageLocationSettings_Policy int32 + +const ( + // A value indicating that the enum field is not set. + SnapshotSettingsStorageLocationSettings_UNDEFINED_POLICY SnapshotSettingsStorageLocationSettings_Policy = 0 + // Store snapshot in the same region as with the originating disk. No additional parameters are needed. + SnapshotSettingsStorageLocationSettings_LOCAL_REGION SnapshotSettingsStorageLocationSettings_Policy = 403535464 + // Store snapshot to the nearest multi region GCS bucket, relative to the originating disk. No additional parameters are needed. + SnapshotSettingsStorageLocationSettings_NEAREST_MULTI_REGION SnapshotSettingsStorageLocationSettings_Policy = 212467515 + // Store snapshot in the specific locations, as specified by the user. The list of regions to store must be defined under the `locations` field. + SnapshotSettingsStorageLocationSettings_SPECIFIC_LOCATIONS SnapshotSettingsStorageLocationSettings_Policy = 280093809 + SnapshotSettingsStorageLocationSettings_STORAGE_LOCATION_POLICY_UNSPECIFIED SnapshotSettingsStorageLocationSettings_Policy = 250644592 +) + +// Enum value maps for SnapshotSettingsStorageLocationSettings_Policy. +var ( + SnapshotSettingsStorageLocationSettings_Policy_name = map[int32]string{ + 0: "UNDEFINED_POLICY", + 403535464: "LOCAL_REGION", + 212467515: "NEAREST_MULTI_REGION", + 280093809: "SPECIFIC_LOCATIONS", + 250644592: "STORAGE_LOCATION_POLICY_UNSPECIFIED", + } + SnapshotSettingsStorageLocationSettings_Policy_value = map[string]int32{ + "UNDEFINED_POLICY": 0, + "LOCAL_REGION": 403535464, + "NEAREST_MULTI_REGION": 212467515, + "SPECIFIC_LOCATIONS": 280093809, + "STORAGE_LOCATION_POLICY_UNSPECIFIED": 250644592, + } +) + +func (x SnapshotSettingsStorageLocationSettings_Policy) Enum() *SnapshotSettingsStorageLocationSettings_Policy { + p := new(SnapshotSettingsStorageLocationSettings_Policy) + *p = x + return p +} + +func (x SnapshotSettingsStorageLocationSettings_Policy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (SnapshotSettingsStorageLocationSettings_Policy) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[256].Descriptor() +} + +func (SnapshotSettingsStorageLocationSettings_Policy) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[256] +} + +func (x SnapshotSettingsStorageLocationSettings_Policy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use SnapshotSettingsStorageLocationSettings_Policy.Descriptor instead. +func (SnapshotSettingsStorageLocationSettings_Policy) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1230, 0} } // KeyRevocationActionType of the instance. Supported options are "STOP" and "NONE". The default value is "NONE" if it is not specified. @@ -14667,11 +15509,11 @@ func (x SourceInstanceProperties_KeyRevocationActionType) String() string { } func (SourceInstanceProperties_KeyRevocationActionType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[242].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[257].Descriptor() } func (SourceInstanceProperties_KeyRevocationActionType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[242] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[257] } func (x SourceInstanceProperties_KeyRevocationActionType) Number() protoreflect.EnumNumber { @@ -14680,7 +15522,7 @@ func (x SourceInstanceProperties_KeyRevocationActionType) Number() protoreflect. // Deprecated: Use SourceInstanceProperties_KeyRevocationActionType.Descriptor instead. func (SourceInstanceProperties_KeyRevocationActionType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1184, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1234, 0} } // (Optional) Specifies the type of SSL certificate, either "SELF_MANAGED" or "MANAGED". If not specified, the certificate is self-managed and the fields certificate and private_key are used. @@ -14723,11 +15565,11 @@ func (x SslCertificate_Type) String() string { } func (SslCertificate_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[243].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[258].Descriptor() } func (SslCertificate_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[243] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[258] } func (x SslCertificate_Type) Number() protoreflect.EnumNumber { @@ -14736,7 +15578,7 @@ func (x SslCertificate_Type) Number() protoreflect.EnumNumber { // Deprecated: Use SslCertificate_Type.Descriptor instead. func (SslCertificate_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1185, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1235, 0} } // [Output only] Status of the managed certificate resource. @@ -14791,11 +15633,11 @@ func (x SslCertificateManagedSslCertificate_Status) String() string { } func (SslCertificateManagedSslCertificate_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[244].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[259].Descriptor() } func (SslCertificateManagedSslCertificate_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[244] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[259] } func (x SslCertificateManagedSslCertificate_Status) Number() protoreflect.EnumNumber { @@ -14804,7 +15646,7 @@ func (x SslCertificateManagedSslCertificate_Status) Number() protoreflect.EnumNu // Deprecated: Use SslCertificateManagedSslCertificate_Status.Descriptor instead. func (SslCertificateManagedSslCertificate_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1188, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1238, 0} } // The minimum version of SSL protocol that can be used by the clients to establish a connection with the load balancer. This can be one of TLS_1_0, TLS_1_1, TLS_1_2. @@ -14848,11 +15690,11 @@ func (x SslPolicy_MinTlsVersion) String() string { } func (SslPolicy_MinTlsVersion) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[245].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[260].Descriptor() } func (SslPolicy_MinTlsVersion) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[245] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[260] } func (x SslPolicy_MinTlsVersion) Number() protoreflect.EnumNumber { @@ -14861,7 +15703,7 @@ func (x SslPolicy_MinTlsVersion) Number() protoreflect.EnumNumber { // Deprecated: Use SslPolicy_MinTlsVersion.Descriptor instead. func (SslPolicy_MinTlsVersion) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1195, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1245, 0} } // Profile specifies the set of SSL features that can be used by the load balancer when negotiating SSL with clients. This can be one of COMPATIBLE, MODERN, RESTRICTED, or CUSTOM. If using CUSTOM, the set of SSL features to enable must be specified in the customFeatures field. @@ -14909,11 +15751,11 @@ func (x SslPolicy_Profile) String() string { } func (SslPolicy_Profile) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[246].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[261].Descriptor() } func (SslPolicy_Profile) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[246] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[261] } func (x SslPolicy_Profile) Number() protoreflect.EnumNumber { @@ -14922,7 +15764,7 @@ func (x SslPolicy_Profile) Number() protoreflect.EnumNumber { // Deprecated: Use SslPolicy_Profile.Descriptor instead. func (SslPolicy_Profile) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1195, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1245, 1} } // These stateful disks will never be deleted during autohealing, update or VM instance recreate operations. This flag is used to configure if the disk should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. Note: disks attached in READ_ONLY mode cannot be auto-deleted. @@ -14960,11 +15802,11 @@ func (x StatefulPolicyPreservedStateDiskDevice_AutoDelete) String() string { } func (StatefulPolicyPreservedStateDiskDevice_AutoDelete) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[247].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[262].Descriptor() } func (StatefulPolicyPreservedStateDiskDevice_AutoDelete) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[247] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[262] } func (x StatefulPolicyPreservedStateDiskDevice_AutoDelete) Number() protoreflect.EnumNumber { @@ -14973,7 +15815,58 @@ func (x StatefulPolicyPreservedStateDiskDevice_AutoDelete) Number() protoreflect // Deprecated: Use StatefulPolicyPreservedStateDiskDevice_AutoDelete.Descriptor instead. func (StatefulPolicyPreservedStateDiskDevice_AutoDelete) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1203, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1253, 0} +} + +// These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. +type StatefulPolicyPreservedStateNetworkIp_AutoDelete int32 + +const ( + // A value indicating that the enum field is not set. + StatefulPolicyPreservedStateNetworkIp_UNDEFINED_AUTO_DELETE StatefulPolicyPreservedStateNetworkIp_AutoDelete = 0 + StatefulPolicyPreservedStateNetworkIp_NEVER StatefulPolicyPreservedStateNetworkIp_AutoDelete = 74175084 + StatefulPolicyPreservedStateNetworkIp_ON_PERMANENT_INSTANCE_DELETION StatefulPolicyPreservedStateNetworkIp_AutoDelete = 95727719 +) + +// Enum value maps for StatefulPolicyPreservedStateNetworkIp_AutoDelete. +var ( + StatefulPolicyPreservedStateNetworkIp_AutoDelete_name = map[int32]string{ + 0: "UNDEFINED_AUTO_DELETE", + 74175084: "NEVER", + 95727719: "ON_PERMANENT_INSTANCE_DELETION", + } + StatefulPolicyPreservedStateNetworkIp_AutoDelete_value = map[string]int32{ + "UNDEFINED_AUTO_DELETE": 0, + "NEVER": 74175084, + "ON_PERMANENT_INSTANCE_DELETION": 95727719, + } +) + +func (x StatefulPolicyPreservedStateNetworkIp_AutoDelete) Enum() *StatefulPolicyPreservedStateNetworkIp_AutoDelete { + p := new(StatefulPolicyPreservedStateNetworkIp_AutoDelete) + *p = x + return p +} + +func (x StatefulPolicyPreservedStateNetworkIp_AutoDelete) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StatefulPolicyPreservedStateNetworkIp_AutoDelete) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[263].Descriptor() +} + +func (StatefulPolicyPreservedStateNetworkIp_AutoDelete) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[263] +} + +func (x StatefulPolicyPreservedStateNetworkIp_AutoDelete) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StatefulPolicyPreservedStateNetworkIp_AutoDelete.Descriptor instead. +func (StatefulPolicyPreservedStateNetworkIp_AutoDelete) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1254, 0} } // The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. @@ -15016,11 +15909,11 @@ func (x Subnetwork_Ipv6AccessType) String() string { } func (Subnetwork_Ipv6AccessType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[248].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[264].Descriptor() } func (Subnetwork_Ipv6AccessType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[248] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[264] } func (x Subnetwork_Ipv6AccessType) Number() protoreflect.EnumNumber { @@ -15029,7 +15922,7 @@ func (x Subnetwork_Ipv6AccessType) Number() protoreflect.EnumNumber { // Deprecated: Use Subnetwork_Ipv6AccessType.Descriptor instead. func (Subnetwork_Ipv6AccessType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261, 0} } // This field is for internal use. This field can be both set at resource creation time and updated using patch. @@ -15073,11 +15966,11 @@ func (x Subnetwork_PrivateIpv6GoogleAccess) String() string { } func (Subnetwork_PrivateIpv6GoogleAccess) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[249].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[265].Descriptor() } func (Subnetwork_PrivateIpv6GoogleAccess) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[249] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[265] } func (x Subnetwork_PrivateIpv6GoogleAccess) Number() protoreflect.EnumNumber { @@ -15086,7 +15979,7 @@ func (x Subnetwork_PrivateIpv6GoogleAccess) Number() protoreflect.EnumNumber { // Deprecated: Use Subnetwork_PrivateIpv6GoogleAccess.Descriptor instead. func (Subnetwork_PrivateIpv6GoogleAccess) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261, 1} } // The purpose of the resource. This field can be either PRIVATE, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. @@ -15095,15 +15988,19 @@ type Subnetwork_Purpose int32 const ( // A value indicating that the enum field is not set. Subnetwork_UNDEFINED_PURPOSE Subnetwork_Purpose = 0 + // Subnet reserved for Global Envoy-based Load Balancing. + Subnetwork_GLOBAL_MANAGED_PROXY Subnetwork_Purpose = 236463602 // Subnet reserved for Internal HTTP(S) Load Balancing. Subnetwork_INTERNAL_HTTPS_LOAD_BALANCER Subnetwork_Purpose = 248748889 // Regular user created or automatically created subnet. Subnetwork_PRIVATE Subnetwork_Purpose = 403485027 + // Subnetwork used as source range for Private NAT Gateways. + Subnetwork_PRIVATE_NAT Subnetwork_Purpose = 367764517 // Regular user created or automatically created subnet. Subnetwork_PRIVATE_RFC_1918 Subnetwork_Purpose = 254902107 // Subnetworks created for Private Service Connect in the producer network. Subnetwork_PRIVATE_SERVICE_CONNECT Subnetwork_Purpose = 48134724 - // Subnetwork used for Regional Internal/External HTTP(S) Load Balancing. + // Subnetwork used for Regional Envoy-based Load Balancing. Subnetwork_REGIONAL_MANAGED_PROXY Subnetwork_Purpose = 153049966 ) @@ -15111,16 +16008,20 @@ const ( var ( Subnetwork_Purpose_name = map[int32]string{ 0: "UNDEFINED_PURPOSE", + 236463602: "GLOBAL_MANAGED_PROXY", 248748889: "INTERNAL_HTTPS_LOAD_BALANCER", 403485027: "PRIVATE", + 367764517: "PRIVATE_NAT", 254902107: "PRIVATE_RFC_1918", 48134724: "PRIVATE_SERVICE_CONNECT", 153049966: "REGIONAL_MANAGED_PROXY", } Subnetwork_Purpose_value = map[string]int32{ "UNDEFINED_PURPOSE": 0, + "GLOBAL_MANAGED_PROXY": 236463602, "INTERNAL_HTTPS_LOAD_BALANCER": 248748889, "PRIVATE": 403485027, + "PRIVATE_NAT": 367764517, "PRIVATE_RFC_1918": 254902107, "PRIVATE_SERVICE_CONNECT": 48134724, "REGIONAL_MANAGED_PROXY": 153049966, @@ -15138,11 +16039,11 @@ func (x Subnetwork_Purpose) String() string { } func (Subnetwork_Purpose) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[250].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[266].Descriptor() } func (Subnetwork_Purpose) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[250] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[266] } func (x Subnetwork_Purpose) Number() protoreflect.EnumNumber { @@ -15151,7 +16052,7 @@ func (x Subnetwork_Purpose) Number() protoreflect.EnumNumber { // Deprecated: Use Subnetwork_Purpose.Descriptor instead. func (Subnetwork_Purpose) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261, 2} } // The role of subnetwork. Currently, this field is only used when purpose = REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. @@ -15191,11 +16092,11 @@ func (x Subnetwork_Role) String() string { } func (Subnetwork_Role) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[251].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[267].Descriptor() } func (Subnetwork_Role) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[251] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[267] } func (x Subnetwork_Role) Number() protoreflect.EnumNumber { @@ -15204,7 +16105,7 @@ func (x Subnetwork_Role) Number() protoreflect.EnumNumber { // Deprecated: Use Subnetwork_Role.Descriptor instead. func (Subnetwork_Role) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261, 3} } // The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. @@ -15247,11 +16148,11 @@ func (x Subnetwork_StackType) String() string { } func (Subnetwork_StackType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[252].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[268].Descriptor() } func (Subnetwork_StackType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[252] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[268] } func (x Subnetwork_StackType) Number() protoreflect.EnumNumber { @@ -15260,7 +16161,7 @@ func (x Subnetwork_StackType) Number() protoreflect.EnumNumber { // Deprecated: Use Subnetwork_StackType.Descriptor instead. func (Subnetwork_StackType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209, 4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261, 4} } // [Output Only] The state of the subnetwork, which can be one of the following values: READY: Subnetwork is created and ready to use DRAINING: only applicable to subnetworks that have the purpose set to INTERNAL_HTTPS_LOAD_BALANCER and indicates that connections to the load balancer are being drained. A subnetwork that is draining cannot be used or modified until it reaches a status of READY @@ -15300,11 +16201,11 @@ func (x Subnetwork_State) String() string { } func (Subnetwork_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[253].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[269].Descriptor() } func (Subnetwork_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[253] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[269] } func (x Subnetwork_State) Number() protoreflect.EnumNumber { @@ -15313,7 +16214,7 @@ func (x Subnetwork_State) Number() protoreflect.EnumNumber { // Deprecated: Use Subnetwork_State.Descriptor instead. func (Subnetwork_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209, 5} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261, 5} } // Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection. @@ -15363,11 +16264,11 @@ func (x SubnetworkLogConfig_AggregationInterval) String() string { } func (SubnetworkLogConfig_AggregationInterval) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[254].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[270].Descriptor() } func (SubnetworkLogConfig_AggregationInterval) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[254] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[270] } func (x SubnetworkLogConfig_AggregationInterval) Number() protoreflect.EnumNumber { @@ -15376,7 +16277,7 @@ func (x SubnetworkLogConfig_AggregationInterval) Number() protoreflect.EnumNumbe // Deprecated: Use SubnetworkLogConfig_AggregationInterval.Descriptor instead. func (SubnetworkLogConfig_AggregationInterval) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1212, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1264, 0} } // Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA. @@ -15417,11 +16318,11 @@ func (x SubnetworkLogConfig_Metadata) String() string { } func (SubnetworkLogConfig_Metadata) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[255].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[271].Descriptor() } func (SubnetworkLogConfig_Metadata) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[255] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[271] } func (x SubnetworkLogConfig_Metadata) Number() protoreflect.EnumNumber { @@ -15430,7 +16331,7 @@ func (x SubnetworkLogConfig_Metadata) Number() protoreflect.EnumNumber { // Deprecated: Use SubnetworkLogConfig_Metadata.Descriptor instead. func (SubnetworkLogConfig_Metadata) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1212, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1264, 1} } type Subsetting_Policy int32 @@ -15469,11 +16370,11 @@ func (x Subsetting_Policy) String() string { } func (Subsetting_Policy) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[256].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[272].Descriptor() } func (Subsetting_Policy) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[256] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[272] } func (x Subsetting_Policy) Number() protoreflect.EnumNumber { @@ -15482,7 +16383,7 @@ func (x Subsetting_Policy) Number() protoreflect.EnumNumber { // Deprecated: Use Subsetting_Policy.Descriptor instead. func (Subsetting_Policy) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1217, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1269, 0} } // Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for pass-through load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports. @@ -15526,11 +16427,11 @@ func (x TCPHealthCheck_PortSpecification) String() string { } func (TCPHealthCheck_PortSpecification) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[257].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[273].Descriptor() } func (TCPHealthCheck_PortSpecification) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[257] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[273] } func (x TCPHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { @@ -15539,7 +16440,7 @@ func (x TCPHealthCheck_PortSpecification) Number() protoreflect.EnumNumber { // Deprecated: Use TCPHealthCheck_PortSpecification.Descriptor instead. func (TCPHealthCheck_PortSpecification) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1220, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1272, 0} } // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. @@ -15577,11 +16478,11 @@ func (x TCPHealthCheck_ProxyHeader) String() string { } func (TCPHealthCheck_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[258].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[274].Descriptor() } func (TCPHealthCheck_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[258] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[274] } func (x TCPHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { @@ -15590,7 +16491,7 @@ func (x TCPHealthCheck_ProxyHeader) Number() protoreflect.EnumNumber { // Deprecated: Use TCPHealthCheck_ProxyHeader.Descriptor instead. func (TCPHealthCheck_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1220, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1272, 1} } // QUIC policy for the TargetHttpsProxy resource. @@ -15634,11 +16535,11 @@ func (x TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride) String() string { } func (TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[259].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[275].Descriptor() } func (TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[259] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[275] } func (x TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride) Number() protoreflect.EnumNumber { @@ -15647,7 +16548,7 @@ func (x TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride) Number() protoref // Deprecated: Use TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride.Descriptor instead. func (TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1230, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1282, 0} } // Specifies the QUIC override policy for this TargetHttpsProxy resource. This setting determines whether the load balancer attempts to negotiate QUIC with clients. You can specify NONE, ENABLE, or DISABLE. - When quic-override is set to NONE, Google manages whether QUIC is used. - When quic-override is set to ENABLE, the load balancer uses QUIC when possible. - When quic-override is set to DISABLE, the load balancer doesn't use QUIC. - If the quic-override flag is not specified, NONE is implied. @@ -15691,11 +16592,11 @@ func (x TargetHttpsProxy_QuicOverride) String() string { } func (TargetHttpsProxy_QuicOverride) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[260].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[276].Descriptor() } func (TargetHttpsProxy_QuicOverride) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[260] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[276] } func (x TargetHttpsProxy_QuicOverride) Number() protoreflect.EnumNumber { @@ -15704,7 +16605,7 @@ func (x TargetHttpsProxy_QuicOverride) Number() protoreflect.EnumNumber { // Deprecated: Use TargetHttpsProxy_QuicOverride.Descriptor instead. func (TargetHttpsProxy_QuicOverride) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1232, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1284, 0} } // Must have a value of NO_NAT. Protocol forwarding delivers packets while preserving the destination IP address of the forwarding rule referencing the target instance. @@ -15740,11 +16641,11 @@ func (x TargetInstance_NatPolicy) String() string { } func (TargetInstance_NatPolicy) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[261].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[277].Descriptor() } func (TargetInstance_NatPolicy) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[261] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[277] } func (x TargetInstance_NatPolicy) Number() protoreflect.EnumNumber { @@ -15753,7 +16654,7 @@ func (x TargetInstance_NatPolicy) Number() protoreflect.EnumNumber { // Deprecated: Use TargetInstance_NatPolicy.Descriptor instead. func (TargetInstance_NatPolicy) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1235, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1287, 0} } // Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy. @@ -15817,11 +16718,11 @@ func (x TargetPool_SessionAffinity) String() string { } func (TargetPool_SessionAffinity) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[262].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[278].Descriptor() } func (TargetPool_SessionAffinity) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[262] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[278] } func (x TargetPool_SessionAffinity) Number() protoreflect.EnumNumber { @@ -15830,7 +16731,7 @@ func (x TargetPool_SessionAffinity) Number() protoreflect.EnumNumber { // Deprecated: Use TargetPool_SessionAffinity.Descriptor instead. func (TargetPool_SessionAffinity) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1239, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1291, 0} } // The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed. @@ -15868,11 +16769,11 @@ func (x TargetSslProxiesSetProxyHeaderRequest_ProxyHeader) String() string { } func (TargetSslProxiesSetProxyHeaderRequest_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[263].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[279].Descriptor() } func (TargetSslProxiesSetProxyHeaderRequest_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[263] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[279] } func (x TargetSslProxiesSetProxyHeaderRequest_ProxyHeader) Number() protoreflect.EnumNumber { @@ -15881,7 +16782,7 @@ func (x TargetSslProxiesSetProxyHeaderRequest_ProxyHeader) Number() protoreflect // Deprecated: Use TargetSslProxiesSetProxyHeaderRequest_ProxyHeader.Descriptor instead. func (TargetSslProxiesSetProxyHeaderRequest_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1251, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1303, 0} } // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. @@ -15919,11 +16820,11 @@ func (x TargetSslProxy_ProxyHeader) String() string { } func (TargetSslProxy_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[264].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[280].Descriptor() } func (TargetSslProxy_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[264] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[280] } func (x TargetSslProxy_ProxyHeader) Number() protoreflect.EnumNumber { @@ -15932,7 +16833,7 @@ func (x TargetSslProxy_ProxyHeader) Number() protoreflect.EnumNumber { // Deprecated: Use TargetSslProxy_ProxyHeader.Descriptor instead. func (TargetSslProxy_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1253, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1305, 0} } // The new type of proxy header to append before sending data to the backend. NONE or PROXY_V1 are allowed. @@ -15970,11 +16871,11 @@ func (x TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader) String() string { } func (TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[265].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[281].Descriptor() } func (TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[265] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[281] } func (x TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader) Number() protoreflect.EnumNumber { @@ -15983,7 +16884,7 @@ func (x TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader) Number() protoreflect // Deprecated: Use TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader.Descriptor instead. func (TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1257, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1309, 0} } // Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE. @@ -16021,11 +16922,11 @@ func (x TargetTcpProxy_ProxyHeader) String() string { } func (TargetTcpProxy_ProxyHeader) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[266].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[282].Descriptor() } func (TargetTcpProxy_ProxyHeader) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[266] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[282] } func (x TargetTcpProxy_ProxyHeader) Number() protoreflect.EnumNumber { @@ -16034,7 +16935,7 @@ func (x TargetTcpProxy_ProxyHeader) Number() protoreflect.EnumNumber { // Deprecated: Use TargetTcpProxy_ProxyHeader.Descriptor instead. func (TargetTcpProxy_ProxyHeader) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1258, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1310, 0} } // [Output Only] The status of the VPN gateway, which can be one of the following: CREATING, READY, FAILED, or DELETING. @@ -16078,11 +16979,11 @@ func (x TargetVpnGateway_Status) String() string { } func (TargetVpnGateway_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[267].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[283].Descriptor() } func (TargetVpnGateway_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[267] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[283] } func (x TargetVpnGateway_Status) Number() protoreflect.EnumNumber { @@ -16091,7 +16992,120 @@ func (x TargetVpnGateway_Status) Number() protoreflect.EnumNumber { // Deprecated: Use TargetVpnGateway_Status.Descriptor instead. func (TargetVpnGateway_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1313, 0} +} + +type UpcomingMaintenance_MaintenanceStatus int32 + +const ( + // A value indicating that the enum field is not set. + UpcomingMaintenance_UNDEFINED_MAINTENANCE_STATUS UpcomingMaintenance_MaintenanceStatus = 0 + // There is ongoing maintenance on this VM. + UpcomingMaintenance_ONGOING UpcomingMaintenance_MaintenanceStatus = 473158491 + // There is pending maintenance. + UpcomingMaintenance_PENDING UpcomingMaintenance_MaintenanceStatus = 35394935 + // Unknown maintenance status. Do not use this value. + UpcomingMaintenance_UNKNOWN UpcomingMaintenance_MaintenanceStatus = 433141802 +) + +// Enum value maps for UpcomingMaintenance_MaintenanceStatus. +var ( + UpcomingMaintenance_MaintenanceStatus_name = map[int32]string{ + 0: "UNDEFINED_MAINTENANCE_STATUS", + 473158491: "ONGOING", + 35394935: "PENDING", + 433141802: "UNKNOWN", + } + UpcomingMaintenance_MaintenanceStatus_value = map[string]int32{ + "UNDEFINED_MAINTENANCE_STATUS": 0, + "ONGOING": 473158491, + "PENDING": 35394935, + "UNKNOWN": 433141802, + } +) + +func (x UpcomingMaintenance_MaintenanceStatus) Enum() *UpcomingMaintenance_MaintenanceStatus { + p := new(UpcomingMaintenance_MaintenanceStatus) + *p = x + return p +} + +func (x UpcomingMaintenance_MaintenanceStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UpcomingMaintenance_MaintenanceStatus) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[284].Descriptor() +} + +func (UpcomingMaintenance_MaintenanceStatus) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[284] +} + +func (x UpcomingMaintenance_MaintenanceStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use UpcomingMaintenance_MaintenanceStatus.Descriptor instead. +func (UpcomingMaintenance_MaintenanceStatus) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1347, 0} +} + +// Defines the type of maintenance. +type UpcomingMaintenance_Type int32 + +const ( + // A value indicating that the enum field is not set. + UpcomingMaintenance_UNDEFINED_TYPE UpcomingMaintenance_Type = 0 + // Scheduled maintenance (e.g. maintenance after uptime guarantee is complete). + UpcomingMaintenance_SCHEDULED UpcomingMaintenance_Type = 478400653 + // No type specified. Do not use this value. + UpcomingMaintenance_UNKNOWN_TYPE UpcomingMaintenance_Type = 490705455 + // Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee). + UpcomingMaintenance_UNSCHEDULED UpcomingMaintenance_Type = 450077204 +) + +// Enum value maps for UpcomingMaintenance_Type. +var ( + UpcomingMaintenance_Type_name = map[int32]string{ + 0: "UNDEFINED_TYPE", + 478400653: "SCHEDULED", + 490705455: "UNKNOWN_TYPE", + 450077204: "UNSCHEDULED", + } + UpcomingMaintenance_Type_value = map[string]int32{ + "UNDEFINED_TYPE": 0, + "SCHEDULED": 478400653, + "UNKNOWN_TYPE": 490705455, + "UNSCHEDULED": 450077204, + } +) + +func (x UpcomingMaintenance_Type) Enum() *UpcomingMaintenance_Type { + p := new(UpcomingMaintenance_Type) + *p = x + return p +} + +func (x UpcomingMaintenance_Type) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (UpcomingMaintenance_Type) Descriptor() protoreflect.EnumDescriptor { + return file_google_cloud_compute_v1_compute_proto_enumTypes[285].Descriptor() +} + +func (UpcomingMaintenance_Type) Type() protoreflect.EnumType { + return &file_google_cloud_compute_v1_compute_proto_enumTypes[285] +} + +func (x UpcomingMaintenance_Type) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use UpcomingMaintenance_Type.Descriptor instead. +func (UpcomingMaintenance_Type) EnumDescriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1347, 1} } // Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require. @@ -16128,11 +17142,11 @@ func (x UpdateInstanceRequest_MinimalAction) String() string { } func (UpdateInstanceRequest_MinimalAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[268].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[286].Descriptor() } func (UpdateInstanceRequest_MinimalAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[268] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[286] } func (x UpdateInstanceRequest_MinimalAction) Number() protoreflect.EnumNumber { @@ -16141,7 +17155,7 @@ func (x UpdateInstanceRequest_MinimalAction) Number() protoreflect.EnumNumber { // Deprecated: Use UpdateInstanceRequest_MinimalAction.Descriptor instead. func (UpdateInstanceRequest_MinimalAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1300, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1356, 0} } // Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART. @@ -16178,11 +17192,11 @@ func (x UpdateInstanceRequest_MostDisruptiveAllowedAction) String() string { } func (UpdateInstanceRequest_MostDisruptiveAllowedAction) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[269].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[287].Descriptor() } func (UpdateInstanceRequest_MostDisruptiveAllowedAction) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[269] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[287] } func (x UpdateInstanceRequest_MostDisruptiveAllowedAction) Number() protoreflect.EnumNumber { @@ -16191,7 +17205,7 @@ func (x UpdateInstanceRequest_MostDisruptiveAllowedAction) Number() protoreflect // Deprecated: Use UpdateInstanceRequest_MostDisruptiveAllowedAction.Descriptor instead. func (UpdateInstanceRequest_MostDisruptiveAllowedAction) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1300, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1356, 1} } type UrlMapsValidateRequest_LoadBalancingSchemes int32 @@ -16199,11 +17213,11 @@ type UrlMapsValidateRequest_LoadBalancingSchemes int32 const ( // A value indicating that the enum field is not set. UrlMapsValidateRequest_UNDEFINED_LOAD_BALANCING_SCHEMES UrlMapsValidateRequest_LoadBalancingSchemes = 0 - // Signifies that this will be used for Classic L7 External Load Balancing. + // Signifies that this will be used for classic Application Load Balancers. UrlMapsValidateRequest_EXTERNAL UrlMapsValidateRequest_LoadBalancingSchemes = 35607499 - // Signifies that this will be used for Envoy-based L7 External Load Balancing. + // Signifies that this will be used for Envoy-based global external Application Load Balancers. UrlMapsValidateRequest_EXTERNAL_MANAGED UrlMapsValidateRequest_LoadBalancingSchemes = 512006923 - // If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inferrence is not possible, EXTERNAL will be used as the default type. + // If unspecified, the validation will try to infer the scheme from the backend service resources this Url map references. If the inference is not possible, EXTERNAL will be used as the default type. UrlMapsValidateRequest_LOAD_BALANCING_SCHEME_UNSPECIFIED UrlMapsValidateRequest_LoadBalancingSchemes = 526507452 ) @@ -16234,11 +17248,11 @@ func (x UrlMapsValidateRequest_LoadBalancingSchemes) String() string { } func (UrlMapsValidateRequest_LoadBalancingSchemes) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[270].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[288].Descriptor() } func (UrlMapsValidateRequest_LoadBalancingSchemes) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[270] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[288] } func (x UrlMapsValidateRequest_LoadBalancingSchemes) Number() protoreflect.EnumNumber { @@ -16247,7 +17261,7 @@ func (x UrlMapsValidateRequest_LoadBalancingSchemes) Number() protoreflect.EnumN // Deprecated: Use UrlMapsValidateRequest_LoadBalancingSchemes.Descriptor instead. func (UrlMapsValidateRequest_LoadBalancingSchemes) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1323, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1379, 0} } // The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. @@ -16287,11 +17301,11 @@ func (x UsableSubnetwork_Ipv6AccessType) String() string { } func (UsableSubnetwork_Ipv6AccessType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[271].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[289].Descriptor() } func (UsableSubnetwork_Ipv6AccessType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[271] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[289] } func (x UsableSubnetwork_Ipv6AccessType) Number() protoreflect.EnumNumber { @@ -16300,7 +17314,7 @@ func (x UsableSubnetwork_Ipv6AccessType) Number() protoreflect.EnumNumber { // Deprecated: Use UsableSubnetwork_Ipv6AccessType.Descriptor instead. func (UsableSubnetwork_Ipv6AccessType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1326, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1382, 0} } // The purpose of the resource. This field can be either PRIVATE, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or INTERNAL_HTTPS_LOAD_BALANCER. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. A subnet with purpose set to REGIONAL_MANAGED_PROXY is a user-created subnetwork that is reserved for regional Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to INTERNAL_HTTPS_LOAD_BALANCER is a proxy-only subnet that can be used only by regional internal HTTP(S) load balancers. Note that REGIONAL_MANAGED_PROXY is the preferred setting for all regional Envoy load balancers. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY. @@ -16309,15 +17323,19 @@ type UsableSubnetwork_Purpose int32 const ( // A value indicating that the enum field is not set. UsableSubnetwork_UNDEFINED_PURPOSE UsableSubnetwork_Purpose = 0 + // Subnet reserved for Global Envoy-based Load Balancing. + UsableSubnetwork_GLOBAL_MANAGED_PROXY UsableSubnetwork_Purpose = 236463602 // Subnet reserved for Internal HTTP(S) Load Balancing. UsableSubnetwork_INTERNAL_HTTPS_LOAD_BALANCER UsableSubnetwork_Purpose = 248748889 // Regular user created or automatically created subnet. UsableSubnetwork_PRIVATE UsableSubnetwork_Purpose = 403485027 + // Subnetwork used as source range for Private NAT Gateways. + UsableSubnetwork_PRIVATE_NAT UsableSubnetwork_Purpose = 367764517 // Regular user created or automatically created subnet. UsableSubnetwork_PRIVATE_RFC_1918 UsableSubnetwork_Purpose = 254902107 // Subnetworks created for Private Service Connect in the producer network. UsableSubnetwork_PRIVATE_SERVICE_CONNECT UsableSubnetwork_Purpose = 48134724 - // Subnetwork used for Regional Internal/External HTTP(S) Load Balancing. + // Subnetwork used for Regional Envoy-based Load Balancing. UsableSubnetwork_REGIONAL_MANAGED_PROXY UsableSubnetwork_Purpose = 153049966 ) @@ -16325,16 +17343,20 @@ const ( var ( UsableSubnetwork_Purpose_name = map[int32]string{ 0: "UNDEFINED_PURPOSE", + 236463602: "GLOBAL_MANAGED_PROXY", 248748889: "INTERNAL_HTTPS_LOAD_BALANCER", 403485027: "PRIVATE", + 367764517: "PRIVATE_NAT", 254902107: "PRIVATE_RFC_1918", 48134724: "PRIVATE_SERVICE_CONNECT", 153049966: "REGIONAL_MANAGED_PROXY", } UsableSubnetwork_Purpose_value = map[string]int32{ "UNDEFINED_PURPOSE": 0, + "GLOBAL_MANAGED_PROXY": 236463602, "INTERNAL_HTTPS_LOAD_BALANCER": 248748889, "PRIVATE": 403485027, + "PRIVATE_NAT": 367764517, "PRIVATE_RFC_1918": 254902107, "PRIVATE_SERVICE_CONNECT": 48134724, "REGIONAL_MANAGED_PROXY": 153049966, @@ -16352,11 +17374,11 @@ func (x UsableSubnetwork_Purpose) String() string { } func (UsableSubnetwork_Purpose) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[272].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[290].Descriptor() } func (UsableSubnetwork_Purpose) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[272] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[290] } func (x UsableSubnetwork_Purpose) Number() protoreflect.EnumNumber { @@ -16365,7 +17387,7 @@ func (x UsableSubnetwork_Purpose) Number() protoreflect.EnumNumber { // Deprecated: Use UsableSubnetwork_Purpose.Descriptor instead. func (UsableSubnetwork_Purpose) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1326, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1382, 1} } // The role of subnetwork. Currently, this field is only used when purpose = REGIONAL_MANAGED_PROXY. The value can be set to ACTIVE or BACKUP. An ACTIVE subnetwork is one that is currently being used for Envoy-based load balancers in a region. A BACKUP subnetwork is one that is ready to be promoted to ACTIVE or is currently draining. This field can be updated with a patch request. @@ -16405,11 +17427,11 @@ func (x UsableSubnetwork_Role) String() string { } func (UsableSubnetwork_Role) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[273].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[291].Descriptor() } func (UsableSubnetwork_Role) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[273] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[291] } func (x UsableSubnetwork_Role) Number() protoreflect.EnumNumber { @@ -16418,7 +17440,7 @@ func (x UsableSubnetwork_Role) Number() protoreflect.EnumNumber { // Deprecated: Use UsableSubnetwork_Role.Descriptor instead. func (UsableSubnetwork_Role) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1326, 2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1382, 2} } // The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch. @@ -16458,11 +17480,11 @@ func (x UsableSubnetwork_StackType) String() string { } func (UsableSubnetwork_StackType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[274].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[292].Descriptor() } func (UsableSubnetwork_StackType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[274] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[292] } func (x UsableSubnetwork_StackType) Number() protoreflect.EnumNumber { @@ -16471,7 +17493,7 @@ func (x UsableSubnetwork_StackType) Number() protoreflect.EnumNumber { // Deprecated: Use UsableSubnetwork_StackType.Descriptor instead. func (UsableSubnetwork_StackType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1326, 3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1382, 3} } // The stack type for this VPN gateway to identify the IP protocols that are enabled. Possible values are: IPV4_ONLY, IPV4_IPV6. If not specified, IPV4_ONLY will be used. @@ -16511,11 +17533,11 @@ func (x VpnGateway_StackType) String() string { } func (VpnGateway_StackType) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[275].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[293].Descriptor() } func (VpnGateway_StackType) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[275] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[293] } func (x VpnGateway_StackType) Number() protoreflect.EnumNumber { @@ -16524,7 +17546,7 @@ func (x VpnGateway_StackType) Number() protoreflect.EnumNumber { // Deprecated: Use VpnGateway_StackType.Descriptor instead. func (VpnGateway_StackType) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1336, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1392, 0} } // Indicates the high availability requirement state for the VPN connection. Valid values are CONNECTION_REDUNDANCY_MET, CONNECTION_REDUNDANCY_NOT_MET. @@ -16564,11 +17586,11 @@ func (x VpnGatewayStatusHighAvailabilityRequirementState_State) String() string } func (VpnGatewayStatusHighAvailabilityRequirementState_State) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[276].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[294].Descriptor() } func (VpnGatewayStatusHighAvailabilityRequirementState_State) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[276] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[294] } func (x VpnGatewayStatusHighAvailabilityRequirementState_State) Number() protoreflect.EnumNumber { @@ -16577,7 +17599,7 @@ func (x VpnGatewayStatusHighAvailabilityRequirementState_State) Number() protore // Deprecated: Use VpnGatewayStatusHighAvailabilityRequirementState_State.Descriptor instead. func (VpnGatewayStatusHighAvailabilityRequirementState_State) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1340, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1396, 0} } // Indicates the reason why the VPN connection does not meet the high availability redundancy criteria/requirement. Valid values is INCOMPLETE_TUNNELS_COVERAGE. @@ -16612,11 +17634,11 @@ func (x VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason) Stri } func (VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[277].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[295].Descriptor() } func (VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[277] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[295] } func (x VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason) Number() protoreflect.EnumNumber { @@ -16625,7 +17647,7 @@ func (x VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason) Numb // Deprecated: Use VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason.Descriptor instead. func (VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1340, 1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1396, 1} } // [Output Only] The status of the VPN tunnel, which can be one of the following: - PROVISIONING: Resource is being allocated for the VPN tunnel. - WAITING_FOR_FULL_CONFIG: Waiting to receive all VPN-related configs from the user. Network, TargetVpnGateway, VpnTunnel, ForwardingRule, and Route resources are needed to setup the VPN tunnel. - FIRST_HANDSHAKE: Successful first handshake with the peer VPN. - ESTABLISHED: Secure session is successfully established with the peer VPN. - NETWORK_ERROR: Deprecated, replaced by NO_INCOMING_PACKETS - AUTHORIZATION_ERROR: Auth error (for example, bad shared secret). - NEGOTIATION_FAILURE: Handshake failed. - DEPROVISIONING: Resources are being deallocated for the VPN tunnel. - FAILED: Tunnel creation has failed and the tunnel is not ready to be used. - NO_INCOMING_PACKETS: No incoming packets from peer. - REJECTED: Tunnel configuration was rejected, can be result of being denied access. - ALLOCATING_RESOURCES: Cloud VPN is in the process of allocating all required resources. - STOPPED: Tunnel is stopped due to its Forwarding Rules being deleted for Classic VPN tunnels or the project is in frozen state. - PEER_IDENTITY_MISMATCH: Peer identity does not match peer IP, probably behind NAT. - TS_NARROWING_NOT_ALLOWED: Traffic selector narrowing not allowed for an HA-VPN tunnel. @@ -16709,11 +17731,11 @@ func (x VpnTunnel_Status) String() string { } func (VpnTunnel_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[278].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[296].Descriptor() } func (VpnTunnel_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[278] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[296] } func (x VpnTunnel_Status) Number() protoreflect.EnumNumber { @@ -16722,7 +17744,7 @@ func (x VpnTunnel_Status) Number() protoreflect.EnumNumber { // Deprecated: Use VpnTunnel_Status.Descriptor instead. func (VpnTunnel_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1346, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1402, 0} } // [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. @@ -16866,11 +17888,11 @@ func (x Warning_Code) String() string { } func (Warning_Code) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[279].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[297].Descriptor() } func (Warning_Code) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[279] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[297] } func (x Warning_Code) Number() protoreflect.EnumNumber { @@ -16879,7 +17901,7 @@ func (x Warning_Code) Number() protoreflect.EnumNumber { // Deprecated: Use Warning_Code.Descriptor instead. func (Warning_Code) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1355, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1411, 0} } // [Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response. @@ -17023,11 +18045,11 @@ func (x Warnings_Code) String() string { } func (Warnings_Code) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[280].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[298].Descriptor() } func (Warnings_Code) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[280] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[298] } func (x Warnings_Code) Number() protoreflect.EnumNumber { @@ -17036,7 +18058,7 @@ func (x Warnings_Code) Number() protoreflect.EnumNumber { // Deprecated: Use Warnings_Code.Descriptor instead. func (Warnings_Code) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1356, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1412, 0} } // The type of the service resource. @@ -17074,11 +18096,11 @@ func (x XpnResourceId_Type) String() string { } func (XpnResourceId_Type) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[281].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[299].Descriptor() } func (XpnResourceId_Type) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[281] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[299] } func (x XpnResourceId_Type) Number() protoreflect.EnumNumber { @@ -17087,7 +18109,7 @@ func (x XpnResourceId_Type) Number() protoreflect.EnumNumber { // Deprecated: Use XpnResourceId_Type.Descriptor instead. func (XpnResourceId_Type) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1359, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1417, 0} } // [Output Only] Status of the zone, either UP or DOWN. @@ -17125,11 +18147,11 @@ func (x Zone_Status) String() string { } func (Zone_Status) Descriptor() protoreflect.EnumDescriptor { - return file_google_cloud_compute_v1_compute_proto_enumTypes[282].Descriptor() + return file_google_cloud_compute_v1_compute_proto_enumTypes[300].Descriptor() } func (Zone_Status) Type() protoreflect.EnumType { - return &file_google_cloud_compute_v1_compute_proto_enumTypes[282] + return &file_google_cloud_compute_v1_compute_proto_enumTypes[300] } func (x Zone_Status) Number() protoreflect.EnumNumber { @@ -17138,11 +18160,87 @@ func (x Zone_Status) Number() protoreflect.EnumNumber { // Deprecated: Use Zone_Status.Descriptor instead. func (Zone_Status) EnumDescriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1360, 0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1418, 0} } // Messages // +// Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'. +type AWSV4Signature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The access key used for s3 bucket authentication. Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request. @InputOnly + AccessKey *string `protobuf:"bytes,468922628,opt,name=access_key,json=accessKey,proto3,oneof" json:"access_key,omitempty"` + // The identifier of an access key used for s3 bucket authentication. + AccessKeyId *string `protobuf:"bytes,292975158,opt,name=access_key_id,json=accessKeyId,proto3,oneof" json:"access_key_id,omitempty"` + // The optional version identifier for the access key. You can use this to keep track of different iterations of your access key. + AccessKeyVersion *string `protobuf:"bytes,80261277,opt,name=access_key_version,json=accessKeyVersion,proto3,oneof" json:"access_key_version,omitempty"` + // The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin. For example, "us-east-1" for AWS or "us-ashburn-1" for OCI. + OriginRegion *string `protobuf:"bytes,265305645,opt,name=origin_region,json=originRegion,proto3,oneof" json:"origin_region,omitempty"` +} + +func (x *AWSV4Signature) Reset() { + *x = AWSV4Signature{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AWSV4Signature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AWSV4Signature) ProtoMessage() {} + +func (x *AWSV4Signature) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_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 AWSV4Signature.ProtoReflect.Descriptor instead. +func (*AWSV4Signature) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{0} +} + +func (x *AWSV4Signature) GetAccessKey() string { + if x != nil && x.AccessKey != nil { + return *x.AccessKey + } + return "" +} + +func (x *AWSV4Signature) GetAccessKeyId() string { + if x != nil && x.AccessKeyId != nil { + return *x.AccessKeyId + } + return "" +} + +func (x *AWSV4Signature) GetAccessKeyVersion() string { + if x != nil && x.AccessKeyVersion != nil { + return *x.AccessKeyVersion + } + return "" +} + +func (x *AWSV4Signature) GetOriginRegion() string { + if x != nil && x.OriginRegion != nil { + return *x.OriginRegion + } + return "" +} + // A request message for InstanceGroupManagers.AbandonInstances. See the method description for details. type AbandonInstancesInstanceGroupManagerRequest struct { state protoimpl.MessageState @@ -17164,7 +18262,7 @@ type AbandonInstancesInstanceGroupManagerRequest struct { func (x *AbandonInstancesInstanceGroupManagerRequest) Reset() { *x = AbandonInstancesInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[0] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17177,7 +18275,7 @@ func (x *AbandonInstancesInstanceGroupManagerRequest) String() string { func (*AbandonInstancesInstanceGroupManagerRequest) ProtoMessage() {} func (x *AbandonInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[0] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17190,7 +18288,7 @@ func (x *AbandonInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflec // Deprecated: Use AbandonInstancesInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*AbandonInstancesInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{0} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1} } func (x *AbandonInstancesInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -17249,7 +18347,7 @@ type AbandonInstancesRegionInstanceGroupManagerRequest struct { func (x *AbandonInstancesRegionInstanceGroupManagerRequest) Reset() { *x = AbandonInstancesRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17262,7 +18360,7 @@ func (x *AbandonInstancesRegionInstanceGroupManagerRequest) String() string { func (*AbandonInstancesRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *AbandonInstancesRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17275,7 +18373,7 @@ func (x *AbandonInstancesRegionInstanceGroupManagerRequest) ProtoReflect() proto // Deprecated: Use AbandonInstancesRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*AbandonInstancesRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{2} } func (x *AbandonInstancesRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -17328,7 +18426,7 @@ type AcceleratorConfig struct { func (x *AcceleratorConfig) Reset() { *x = AcceleratorConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[2] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17341,7 +18439,7 @@ func (x *AcceleratorConfig) String() string { func (*AcceleratorConfig) ProtoMessage() {} func (x *AcceleratorConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[2] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17354,7 +18452,7 @@ func (x *AcceleratorConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceleratorConfig.ProtoReflect.Descriptor instead. func (*AcceleratorConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{2} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{3} } func (x *AcceleratorConfig) GetAcceleratorCount() int32 { @@ -17400,7 +18498,7 @@ type AcceleratorType struct { func (x *AcceleratorType) Reset() { *x = AcceleratorType{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[3] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17413,7 +18511,7 @@ func (x *AcceleratorType) String() string { func (*AcceleratorType) ProtoMessage() {} func (x *AcceleratorType) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[3] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17426,7 +18524,7 @@ func (x *AcceleratorType) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceleratorType.ProtoReflect.Descriptor instead. func (*AcceleratorType) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{3} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{4} } func (x *AcceleratorType) GetCreationTimestamp() string { @@ -17516,7 +18614,7 @@ type AcceleratorTypeAggregatedList struct { func (x *AcceleratorTypeAggregatedList) Reset() { *x = AcceleratorTypeAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[4] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17529,7 +18627,7 @@ func (x *AcceleratorTypeAggregatedList) String() string { func (*AcceleratorTypeAggregatedList) ProtoMessage() {} func (x *AcceleratorTypeAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[4] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17542,7 +18640,7 @@ func (x *AcceleratorTypeAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceleratorTypeAggregatedList.ProtoReflect.Descriptor instead. func (*AcceleratorTypeAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{4} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{5} } func (x *AcceleratorTypeAggregatedList) GetId() string { @@ -17617,7 +18715,7 @@ type AcceleratorTypeList struct { func (x *AcceleratorTypeList) Reset() { *x = AcceleratorTypeList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[5] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17630,7 +18728,7 @@ func (x *AcceleratorTypeList) String() string { func (*AcceleratorTypeList) ProtoMessage() {} func (x *AcceleratorTypeList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[5] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17643,7 +18741,7 @@ func (x *AcceleratorTypeList) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceleratorTypeList.ProtoReflect.Descriptor instead. func (*AcceleratorTypeList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{5} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{6} } func (x *AcceleratorTypeList) GetId() string { @@ -17702,7 +18800,7 @@ type AcceleratorTypesScopedList struct { func (x *AcceleratorTypesScopedList) Reset() { *x = AcceleratorTypesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[6] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17715,7 +18813,7 @@ func (x *AcceleratorTypesScopedList) String() string { func (*AcceleratorTypesScopedList) ProtoMessage() {} func (x *AcceleratorTypesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[6] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17728,7 +18826,7 @@ func (x *AcceleratorTypesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use AcceleratorTypesScopedList.ProtoReflect.Descriptor instead. func (*AcceleratorTypesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{6} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{7} } func (x *AcceleratorTypesScopedList) GetAcceleratorTypes() []*AcceleratorType { @@ -17759,7 +18857,7 @@ type Accelerators struct { func (x *Accelerators) Reset() { *x = Accelerators{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[7] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17772,7 +18870,7 @@ func (x *Accelerators) String() string { func (*Accelerators) ProtoMessage() {} func (x *Accelerators) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[7] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17785,7 +18883,7 @@ func (x *Accelerators) ProtoReflect() protoreflect.Message { // Deprecated: Use Accelerators.ProtoReflect.Descriptor instead. func (*Accelerators) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{7} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{8} } func (x *Accelerators) GetGuestAcceleratorCount() int32 { @@ -17823,6 +18921,8 @@ type AccessConfig struct { NetworkTier *string `protobuf:"bytes,517397843,opt,name=network_tier,json=networkTier,proto3,oneof" json:"network_tier,omitempty"` // The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be createc for first IP in associated external IPv6 range. PublicPtrDomainName *string `protobuf:"bytes,316599167,opt,name=public_ptr_domain_name,json=publicPtrDomainName,proto3,oneof" json:"public_ptr_domain_name,omitempty"` + // [Output Only] The resource URL for the security policy associated with this access config. + SecurityPolicy *string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3,oneof" json:"security_policy,omitempty"` // Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated. SetPublicPtr *bool `protobuf:"varint,523870229,opt,name=set_public_ptr,json=setPublicPtr,proto3,oneof" json:"set_public_ptr,omitempty"` // The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6. @@ -17833,7 +18933,7 @@ type AccessConfig struct { func (x *AccessConfig) Reset() { *x = AccessConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[8] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17846,7 +18946,7 @@ func (x *AccessConfig) String() string { func (*AccessConfig) ProtoMessage() {} func (x *AccessConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[8] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17859,7 +18959,7 @@ func (x *AccessConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AccessConfig.ProtoReflect.Descriptor instead. func (*AccessConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{8} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{9} } func (x *AccessConfig) GetExternalIpv6() string { @@ -17911,6 +19011,13 @@ func (x *AccessConfig) GetPublicPtrDomainName() string { return "" } +func (x *AccessConfig) GetSecurityPolicy() string { + if x != nil && x.SecurityPolicy != nil { + return *x.SecurityPolicy + } + return "" +} + func (x *AccessConfig) GetSetPublicPtr() bool { if x != nil && x.SetPublicPtr != nil { return *x.SetPublicPtr @@ -17948,7 +19055,7 @@ type AddAccessConfigInstanceRequest struct { func (x *AddAccessConfigInstanceRequest) Reset() { *x = AddAccessConfigInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[9] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17961,7 +19068,7 @@ func (x *AddAccessConfigInstanceRequest) String() string { func (*AddAccessConfigInstanceRequest) ProtoMessage() {} func (x *AddAccessConfigInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[9] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17974,7 +19081,7 @@ func (x *AddAccessConfigInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddAccessConfigInstanceRequest.ProtoReflect.Descriptor instead. func (*AddAccessConfigInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{9} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{10} } func (x *AddAccessConfigInstanceRequest) GetAccessConfigResource() *AccessConfig { @@ -18038,7 +19145,7 @@ type AddAssociationFirewallPolicyRequest struct { func (x *AddAssociationFirewallPolicyRequest) Reset() { *x = AddAssociationFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[10] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18051,7 +19158,7 @@ func (x *AddAssociationFirewallPolicyRequest) String() string { func (*AddAssociationFirewallPolicyRequest) ProtoMessage() {} func (x *AddAssociationFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[10] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18064,7 +19171,7 @@ func (x *AddAssociationFirewallPolicyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AddAssociationFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*AddAssociationFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{10} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{11} } func (x *AddAssociationFirewallPolicyRequest) GetFirewallPolicy() string { @@ -18116,7 +19223,7 @@ type AddAssociationNetworkFirewallPolicyRequest struct { func (x *AddAssociationNetworkFirewallPolicyRequest) Reset() { *x = AddAssociationNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[11] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18129,7 +19236,7 @@ func (x *AddAssociationNetworkFirewallPolicyRequest) String() string { func (*AddAssociationNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *AddAssociationNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[11] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18142,7 +19249,7 @@ func (x *AddAssociationNetworkFirewallPolicyRequest) ProtoReflect() protoreflect // Deprecated: Use AddAssociationNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*AddAssociationNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{11} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{12} } func (x *AddAssociationNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -18203,7 +19310,7 @@ type AddAssociationRegionNetworkFirewallPolicyRequest struct { func (x *AddAssociationRegionNetworkFirewallPolicyRequest) Reset() { *x = AddAssociationRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[12] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18216,7 +19323,7 @@ func (x *AddAssociationRegionNetworkFirewallPolicyRequest) String() string { func (*AddAssociationRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *AddAssociationRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[12] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18229,7 +19336,7 @@ func (x *AddAssociationRegionNetworkFirewallPolicyRequest) ProtoReflect() protor // Deprecated: Use AddAssociationRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*AddAssociationRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{12} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{13} } func (x *AddAssociationRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -18295,7 +19402,7 @@ type AddHealthCheckTargetPoolRequest struct { func (x *AddHealthCheckTargetPoolRequest) Reset() { *x = AddHealthCheckTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[13] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18308,7 +19415,7 @@ func (x *AddHealthCheckTargetPoolRequest) String() string { func (*AddHealthCheckTargetPoolRequest) ProtoMessage() {} func (x *AddHealthCheckTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[13] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18321,7 +19428,7 @@ func (x *AddHealthCheckTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddHealthCheckTargetPoolRequest.ProtoReflect.Descriptor instead. func (*AddHealthCheckTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{13} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{14} } func (x *AddHealthCheckTargetPoolRequest) GetProject() string { @@ -18380,7 +19487,7 @@ type AddInstanceTargetPoolRequest struct { func (x *AddInstanceTargetPoolRequest) Reset() { *x = AddInstanceTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[14] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18393,7 +19500,7 @@ func (x *AddInstanceTargetPoolRequest) String() string { func (*AddInstanceTargetPoolRequest) ProtoMessage() {} func (x *AddInstanceTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[14] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18406,7 +19513,7 @@ func (x *AddInstanceTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddInstanceTargetPoolRequest.ProtoReflect.Descriptor instead. func (*AddInstanceTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{14} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{15} } func (x *AddInstanceTargetPoolRequest) GetProject() string { @@ -18465,7 +19572,7 @@ type AddInstancesInstanceGroupRequest struct { func (x *AddInstancesInstanceGroupRequest) Reset() { *x = AddInstancesInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[15] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18478,7 +19585,7 @@ func (x *AddInstancesInstanceGroupRequest) String() string { func (*AddInstancesInstanceGroupRequest) ProtoMessage() {} func (x *AddInstancesInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[15] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18491,7 +19598,7 @@ func (x *AddInstancesInstanceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddInstancesInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*AddInstancesInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{15} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{16} } func (x *AddInstancesInstanceGroupRequest) GetInstanceGroup() string { @@ -18550,7 +19657,7 @@ type AddNodesNodeGroupRequest struct { func (x *AddNodesNodeGroupRequest) Reset() { *x = AddNodesNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[16] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18563,7 +19670,7 @@ func (x *AddNodesNodeGroupRequest) String() string { func (*AddNodesNodeGroupRequest) ProtoMessage() {} func (x *AddNodesNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[16] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18576,7 +19683,7 @@ func (x *AddNodesNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddNodesNodeGroupRequest.ProtoReflect.Descriptor instead. func (*AddNodesNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{16} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{17} } func (x *AddNodesNodeGroupRequest) GetNodeGroup() string { @@ -18633,7 +19740,7 @@ type AddPeeringNetworkRequest struct { func (x *AddPeeringNetworkRequest) Reset() { *x = AddPeeringNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[17] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18646,7 +19753,7 @@ func (x *AddPeeringNetworkRequest) String() string { func (*AddPeeringNetworkRequest) ProtoMessage() {} func (x *AddPeeringNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[17] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18659,7 +19766,7 @@ func (x *AddPeeringNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddPeeringNetworkRequest.ProtoReflect.Descriptor instead. func (*AddPeeringNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{17} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{18} } func (x *AddPeeringNetworkRequest) GetNetwork() string { @@ -18711,7 +19818,7 @@ type AddResourcePoliciesDiskRequest struct { func (x *AddResourcePoliciesDiskRequest) Reset() { *x = AddResourcePoliciesDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[18] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18724,7 +19831,7 @@ func (x *AddResourcePoliciesDiskRequest) String() string { func (*AddResourcePoliciesDiskRequest) ProtoMessage() {} func (x *AddResourcePoliciesDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[18] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18737,7 +19844,7 @@ func (x *AddResourcePoliciesDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddResourcePoliciesDiskRequest.ProtoReflect.Descriptor instead. func (*AddResourcePoliciesDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{18} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{19} } func (x *AddResourcePoliciesDiskRequest) GetDisk() string { @@ -18796,7 +19903,7 @@ type AddResourcePoliciesInstanceRequest struct { func (x *AddResourcePoliciesInstanceRequest) Reset() { *x = AddResourcePoliciesInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[19] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18809,7 +19916,7 @@ func (x *AddResourcePoliciesInstanceRequest) String() string { func (*AddResourcePoliciesInstanceRequest) ProtoMessage() {} func (x *AddResourcePoliciesInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[19] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18822,7 +19929,7 @@ func (x *AddResourcePoliciesInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AddResourcePoliciesInstanceRequest.ProtoReflect.Descriptor instead. func (*AddResourcePoliciesInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{19} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{20} } func (x *AddResourcePoliciesInstanceRequest) GetInstance() string { @@ -18881,7 +19988,7 @@ type AddResourcePoliciesRegionDiskRequest struct { func (x *AddResourcePoliciesRegionDiskRequest) Reset() { *x = AddResourcePoliciesRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[20] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18894,7 +20001,7 @@ func (x *AddResourcePoliciesRegionDiskRequest) String() string { func (*AddResourcePoliciesRegionDiskRequest) ProtoMessage() {} func (x *AddResourcePoliciesRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[20] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18907,7 +20014,7 @@ func (x *AddResourcePoliciesRegionDiskRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use AddResourcePoliciesRegionDiskRequest.ProtoReflect.Descriptor instead. func (*AddResourcePoliciesRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{20} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{21} } func (x *AddResourcePoliciesRegionDiskRequest) GetDisk() string { @@ -18962,7 +20069,7 @@ type AddRuleFirewallPolicyRequest struct { func (x *AddRuleFirewallPolicyRequest) Reset() { *x = AddRuleFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[21] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18975,7 +20082,7 @@ func (x *AddRuleFirewallPolicyRequest) String() string { func (*AddRuleFirewallPolicyRequest) ProtoMessage() {} func (x *AddRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[21] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18988,7 +20095,7 @@ func (x *AddRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddRuleFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*AddRuleFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{21} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{22} } func (x *AddRuleFirewallPolicyRequest) GetFirewallPolicy() string { @@ -19035,7 +20142,7 @@ type AddRuleNetworkFirewallPolicyRequest struct { func (x *AddRuleNetworkFirewallPolicyRequest) Reset() { *x = AddRuleNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[22] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19048,7 +20155,7 @@ func (x *AddRuleNetworkFirewallPolicyRequest) String() string { func (*AddRuleNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *AddRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[22] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19061,7 +20168,7 @@ func (x *AddRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AddRuleNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*AddRuleNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{22} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{23} } func (x *AddRuleNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -19131,7 +20238,7 @@ type AddRuleRegionNetworkFirewallPolicyRequest struct { func (x *AddRuleRegionNetworkFirewallPolicyRequest) Reset() { *x = AddRuleRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[23] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19144,7 +20251,7 @@ func (x *AddRuleRegionNetworkFirewallPolicyRequest) String() string { func (*AddRuleRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *AddRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[23] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19157,7 +20264,7 @@ func (x *AddRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect. // Deprecated: Use AddRuleRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*AddRuleRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{23} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{24} } func (x *AddRuleRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -19209,6 +20316,91 @@ func (x *AddRuleRegionNetworkFirewallPolicyRequest) GetRequestId() string { return "" } +// A request message for RegionSecurityPolicies.AddRule. See the method description for details. +type AddRuleRegionSecurityPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region scoping this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Name of the security policy to update. + SecurityPolicy string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3" json:"security_policy,omitempty"` + // The body resource for this request + SecurityPolicyRuleResource *SecurityPolicyRule `protobuf:"bytes,402693443,opt,name=security_policy_rule_resource,json=securityPolicyRuleResource,proto3" json:"security_policy_rule_resource,omitempty"` + // If true, the request will not be committed. + ValidateOnly *bool `protobuf:"varint,242744629,opt,name=validate_only,json=validateOnly,proto3,oneof" json:"validate_only,omitempty"` +} + +func (x *AddRuleRegionSecurityPolicyRequest) Reset() { + *x = AddRuleRegionSecurityPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddRuleRegionSecurityPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddRuleRegionSecurityPolicyRequest) ProtoMessage() {} + +func (x *AddRuleRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[25] + 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 AddRuleRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. +func (*AddRuleRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{25} +} + +func (x *AddRuleRegionSecurityPolicyRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *AddRuleRegionSecurityPolicyRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *AddRuleRegionSecurityPolicyRequest) GetSecurityPolicy() string { + if x != nil { + return x.SecurityPolicy + } + return "" +} + +func (x *AddRuleRegionSecurityPolicyRequest) GetSecurityPolicyRuleResource() *SecurityPolicyRule { + if x != nil { + return x.SecurityPolicyRuleResource + } + return nil +} + +func (x *AddRuleRegionSecurityPolicyRequest) GetValidateOnly() bool { + if x != nil && x.ValidateOnly != nil { + return *x.ValidateOnly + } + return false +} + // A request message for SecurityPolicies.AddRule. See the method description for details. type AddRuleSecurityPolicyRequest struct { state protoimpl.MessageState @@ -19228,7 +20420,7 @@ type AddRuleSecurityPolicyRequest struct { func (x *AddRuleSecurityPolicyRequest) Reset() { *x = AddRuleSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[24] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19241,7 +20433,7 @@ func (x *AddRuleSecurityPolicyRequest) String() string { func (*AddRuleSecurityPolicyRequest) ProtoMessage() {} func (x *AddRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[24] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19254,7 +20446,7 @@ func (x *AddRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AddRuleSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*AddRuleSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{24} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{26} } func (x *AddRuleSecurityPolicyRequest) GetProject() string { @@ -19304,7 +20496,7 @@ type AddSignedUrlKeyBackendBucketRequest struct { func (x *AddSignedUrlKeyBackendBucketRequest) Reset() { *x = AddSignedUrlKeyBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[25] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19317,7 +20509,7 @@ func (x *AddSignedUrlKeyBackendBucketRequest) String() string { func (*AddSignedUrlKeyBackendBucketRequest) ProtoMessage() {} func (x *AddSignedUrlKeyBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[25] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19330,7 +20522,7 @@ func (x *AddSignedUrlKeyBackendBucketRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AddSignedUrlKeyBackendBucketRequest.ProtoReflect.Descriptor instead. func (*AddSignedUrlKeyBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{25} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27} } func (x *AddSignedUrlKeyBackendBucketRequest) GetBackendBucket() string { @@ -19380,7 +20572,7 @@ type AddSignedUrlKeyBackendServiceRequest struct { func (x *AddSignedUrlKeyBackendServiceRequest) Reset() { *x = AddSignedUrlKeyBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[26] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19393,7 +20585,7 @@ func (x *AddSignedUrlKeyBackendServiceRequest) String() string { func (*AddSignedUrlKeyBackendServiceRequest) ProtoMessage() {} func (x *AddSignedUrlKeyBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[26] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19406,7 +20598,7 @@ func (x *AddSignedUrlKeyBackendServiceRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use AddSignedUrlKeyBackendServiceRequest.ProtoReflect.Descriptor instead. func (*AddSignedUrlKeyBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{26} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{28} } func (x *AddSignedUrlKeyBackendServiceRequest) GetBackendService() string { @@ -19494,7 +20686,7 @@ type Address struct { func (x *Address) Reset() { *x = Address{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[27] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19507,7 +20699,7 @@ func (x *Address) String() string { func (*Address) ProtoMessage() {} func (x *Address) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[27] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19520,7 +20712,7 @@ func (x *Address) ProtoReflect() protoreflect.Message { // Deprecated: Use Address.ProtoReflect.Descriptor instead. func (*Address) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{27} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29} } func (x *Address) GetAddress() string { @@ -19687,7 +20879,7 @@ type AddressAggregatedList struct { func (x *AddressAggregatedList) Reset() { *x = AddressAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[28] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19700,7 +20892,7 @@ func (x *AddressAggregatedList) String() string { func (*AddressAggregatedList) ProtoMessage() {} func (x *AddressAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[28] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19713,7 +20905,7 @@ func (x *AddressAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use AddressAggregatedList.ProtoReflect.Descriptor instead. func (*AddressAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{28} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{30} } func (x *AddressAggregatedList) GetId() string { @@ -19788,7 +20980,7 @@ type AddressList struct { func (x *AddressList) Reset() { *x = AddressList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[29] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19801,7 +20993,7 @@ func (x *AddressList) String() string { func (*AddressList) ProtoMessage() {} func (x *AddressList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[29] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19814,7 +21006,7 @@ func (x *AddressList) ProtoReflect() protoreflect.Message { // Deprecated: Use AddressList.ProtoReflect.Descriptor instead. func (*AddressList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{29} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{31} } func (x *AddressList) GetId() string { @@ -19873,7 +21065,7 @@ type AddressesScopedList struct { func (x *AddressesScopedList) Reset() { *x = AddressesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[30] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19886,7 +21078,7 @@ func (x *AddressesScopedList) String() string { func (*AddressesScopedList) ProtoMessage() {} func (x *AddressesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[30] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19899,7 +21091,7 @@ func (x *AddressesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use AddressesScopedList.ProtoReflect.Descriptor instead. func (*AddressesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{30} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{32} } func (x *AddressesScopedList) GetAddresses() []*Address { @@ -19935,7 +21127,7 @@ type AdvancedMachineFeatures struct { func (x *AdvancedMachineFeatures) Reset() { *x = AdvancedMachineFeatures{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[31] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19948,7 +21140,7 @@ func (x *AdvancedMachineFeatures) String() string { func (*AdvancedMachineFeatures) ProtoMessage() {} func (x *AdvancedMachineFeatures) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[31] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19961,7 +21153,7 @@ func (x *AdvancedMachineFeatures) ProtoReflect() protoreflect.Message { // Deprecated: Use AdvancedMachineFeatures.ProtoReflect.Descriptor instead. func (*AdvancedMachineFeatures) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{31} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{33} } func (x *AdvancedMachineFeatures) GetEnableNestedVirtualization() bool { @@ -19998,7 +21190,7 @@ type AggregatedListAcceleratorTypesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20011,13 +21203,14 @@ type AggregatedListAcceleratorTypesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListAcceleratorTypesRequest) Reset() { *x = AggregatedListAcceleratorTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[32] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20030,7 +21223,7 @@ func (x *AggregatedListAcceleratorTypesRequest) String() string { func (*AggregatedListAcceleratorTypesRequest) ProtoMessage() {} func (x *AggregatedListAcceleratorTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[32] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20043,7 +21236,7 @@ func (x *AggregatedListAcceleratorTypesRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use AggregatedListAcceleratorTypesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListAcceleratorTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{32} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{34} } func (x *AggregatedListAcceleratorTypesRequest) GetFilter() string { @@ -20095,13 +21288,20 @@ func (x *AggregatedListAcceleratorTypesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListAcceleratorTypesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for Addresses.AggregatedList. See the method description for details. type AggregatedListAddressesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20114,13 +21314,14 @@ type AggregatedListAddressesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListAddressesRequest) Reset() { *x = AggregatedListAddressesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[33] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20133,7 +21334,7 @@ func (x *AggregatedListAddressesRequest) String() string { func (*AggregatedListAddressesRequest) ProtoMessage() {} func (x *AggregatedListAddressesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[33] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20146,7 +21347,7 @@ func (x *AggregatedListAddressesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListAddressesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListAddressesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{33} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{35} } func (x *AggregatedListAddressesRequest) GetFilter() string { @@ -20198,13 +21399,20 @@ func (x *AggregatedListAddressesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListAddressesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for Autoscalers.AggregatedList. See the method description for details. type AggregatedListAutoscalersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20217,13 +21425,14 @@ type AggregatedListAutoscalersRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListAutoscalersRequest) Reset() { *x = AggregatedListAutoscalersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[34] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20236,7 +21445,7 @@ func (x *AggregatedListAutoscalersRequest) String() string { func (*AggregatedListAutoscalersRequest) ProtoMessage() {} func (x *AggregatedListAutoscalersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[34] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20249,7 +21458,7 @@ func (x *AggregatedListAutoscalersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListAutoscalersRequest.ProtoReflect.Descriptor instead. func (*AggregatedListAutoscalersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{34} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{36} } func (x *AggregatedListAutoscalersRequest) GetFilter() string { @@ -20301,13 +21510,20 @@ func (x *AggregatedListAutoscalersRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListAutoscalersRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for BackendServices.AggregatedList. See the method description for details. type AggregatedListBackendServicesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20320,13 +21536,14 @@ type AggregatedListBackendServicesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListBackendServicesRequest) Reset() { *x = AggregatedListBackendServicesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[35] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20339,7 +21556,7 @@ func (x *AggregatedListBackendServicesRequest) String() string { func (*AggregatedListBackendServicesRequest) ProtoMessage() {} func (x *AggregatedListBackendServicesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[35] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20352,7 +21569,7 @@ func (x *AggregatedListBackendServicesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use AggregatedListBackendServicesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListBackendServicesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{35} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{37} } func (x *AggregatedListBackendServicesRequest) GetFilter() string { @@ -20404,13 +21621,20 @@ func (x *AggregatedListBackendServicesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListBackendServicesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for DiskTypes.AggregatedList. See the method description for details. type AggregatedListDiskTypesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20423,13 +21647,14 @@ type AggregatedListDiskTypesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListDiskTypesRequest) Reset() { *x = AggregatedListDiskTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[36] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20442,7 +21667,7 @@ func (x *AggregatedListDiskTypesRequest) String() string { func (*AggregatedListDiskTypesRequest) ProtoMessage() {} func (x *AggregatedListDiskTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[36] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20455,7 +21680,7 @@ func (x *AggregatedListDiskTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListDiskTypesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListDiskTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{36} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{38} } func (x *AggregatedListDiskTypesRequest) GetFilter() string { @@ -20507,13 +21732,20 @@ func (x *AggregatedListDiskTypesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListDiskTypesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for Disks.AggregatedList. See the method description for details. type AggregatedListDisksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20526,13 +21758,14 @@ type AggregatedListDisksRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListDisksRequest) Reset() { *x = AggregatedListDisksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[37] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20545,7 +21778,7 @@ func (x *AggregatedListDisksRequest) String() string { func (*AggregatedListDisksRequest) ProtoMessage() {} func (x *AggregatedListDisksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[37] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20558,7 +21791,7 @@ func (x *AggregatedListDisksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListDisksRequest.ProtoReflect.Descriptor instead. func (*AggregatedListDisksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{37} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{39} } func (x *AggregatedListDisksRequest) GetFilter() string { @@ -20610,13 +21843,20 @@ func (x *AggregatedListDisksRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListDisksRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for ForwardingRules.AggregatedList. See the method description for details. type AggregatedListForwardingRulesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20629,13 +21869,14 @@ type AggregatedListForwardingRulesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListForwardingRulesRequest) Reset() { *x = AggregatedListForwardingRulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[38] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20648,7 +21889,7 @@ func (x *AggregatedListForwardingRulesRequest) String() string { func (*AggregatedListForwardingRulesRequest) ProtoMessage() {} func (x *AggregatedListForwardingRulesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[38] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20661,7 +21902,7 @@ func (x *AggregatedListForwardingRulesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use AggregatedListForwardingRulesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListForwardingRulesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{38} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{40} } func (x *AggregatedListForwardingRulesRequest) GetFilter() string { @@ -20713,13 +21954,20 @@ func (x *AggregatedListForwardingRulesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListForwardingRulesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for GlobalOperations.AggregatedList. See the method description for details. type AggregatedListGlobalOperationsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20732,13 +21980,14 @@ type AggregatedListGlobalOperationsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListGlobalOperationsRequest) Reset() { *x = AggregatedListGlobalOperationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[39] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20751,7 +22000,7 @@ func (x *AggregatedListGlobalOperationsRequest) String() string { func (*AggregatedListGlobalOperationsRequest) ProtoMessage() {} func (x *AggregatedListGlobalOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[39] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20764,7 +22013,7 @@ func (x *AggregatedListGlobalOperationsRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use AggregatedListGlobalOperationsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListGlobalOperationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{39} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{41} } func (x *AggregatedListGlobalOperationsRequest) GetFilter() string { @@ -20816,13 +22065,20 @@ func (x *AggregatedListGlobalOperationsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListGlobalOperationsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for HealthChecks.AggregatedList. See the method description for details. type AggregatedListHealthChecksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20835,13 +22091,14 @@ type AggregatedListHealthChecksRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListHealthChecksRequest) Reset() { *x = AggregatedListHealthChecksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[40] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20854,7 +22111,7 @@ func (x *AggregatedListHealthChecksRequest) String() string { func (*AggregatedListHealthChecksRequest) ProtoMessage() {} func (x *AggregatedListHealthChecksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[40] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20867,7 +22124,7 @@ func (x *AggregatedListHealthChecksRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AggregatedListHealthChecksRequest.ProtoReflect.Descriptor instead. func (*AggregatedListHealthChecksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{40} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{42} } func (x *AggregatedListHealthChecksRequest) GetFilter() string { @@ -20919,13 +22176,20 @@ func (x *AggregatedListHealthChecksRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListHealthChecksRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for InstanceGroupManagers.AggregatedList. See the method description for details. type AggregatedListInstanceGroupManagersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -20938,13 +22202,14 @@ type AggregatedListInstanceGroupManagersRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListInstanceGroupManagersRequest) Reset() { *x = AggregatedListInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[41] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -20957,7 +22222,7 @@ func (x *AggregatedListInstanceGroupManagersRequest) String() string { func (*AggregatedListInstanceGroupManagersRequest) ProtoMessage() {} func (x *AggregatedListInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[41] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -20970,7 +22235,7 @@ func (x *AggregatedListInstanceGroupManagersRequest) ProtoReflect() protoreflect // Deprecated: Use AggregatedListInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*AggregatedListInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{41} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{43} } func (x *AggregatedListInstanceGroupManagersRequest) GetFilter() string { @@ -21022,13 +22287,20 @@ func (x *AggregatedListInstanceGroupManagersRequest) GetReturnPartialSuccess() b return false } +func (x *AggregatedListInstanceGroupManagersRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for InstanceGroups.AggregatedList. See the method description for details. type AggregatedListInstanceGroupsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21041,13 +22313,14 @@ type AggregatedListInstanceGroupsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListInstanceGroupsRequest) Reset() { *x = AggregatedListInstanceGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[42] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21060,7 +22333,7 @@ func (x *AggregatedListInstanceGroupsRequest) String() string { func (*AggregatedListInstanceGroupsRequest) ProtoMessage() {} func (x *AggregatedListInstanceGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[42] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21073,7 +22346,7 @@ func (x *AggregatedListInstanceGroupsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use AggregatedListInstanceGroupsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListInstanceGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{42} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{44} } func (x *AggregatedListInstanceGroupsRequest) GetFilter() string { @@ -21125,13 +22398,20 @@ func (x *AggregatedListInstanceGroupsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListInstanceGroupsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for InstanceTemplates.AggregatedList. See the method description for details. type AggregatedListInstanceTemplatesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21144,13 +22424,14 @@ type AggregatedListInstanceTemplatesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListInstanceTemplatesRequest) Reset() { *x = AggregatedListInstanceTemplatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[43] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21163,7 +22444,7 @@ func (x *AggregatedListInstanceTemplatesRequest) String() string { func (*AggregatedListInstanceTemplatesRequest) ProtoMessage() {} func (x *AggregatedListInstanceTemplatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[43] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21176,7 +22457,7 @@ func (x *AggregatedListInstanceTemplatesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AggregatedListInstanceTemplatesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListInstanceTemplatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{43} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{45} } func (x *AggregatedListInstanceTemplatesRequest) GetFilter() string { @@ -21228,13 +22509,20 @@ func (x *AggregatedListInstanceTemplatesRequest) GetReturnPartialSuccess() bool return false } +func (x *AggregatedListInstanceTemplatesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for Instances.AggregatedList. See the method description for details. type AggregatedListInstancesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21247,13 +22535,14 @@ type AggregatedListInstancesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListInstancesRequest) Reset() { *x = AggregatedListInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[44] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21266,7 +22555,7 @@ func (x *AggregatedListInstancesRequest) String() string { func (*AggregatedListInstancesRequest) ProtoMessage() {} func (x *AggregatedListInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[44] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21279,7 +22568,7 @@ func (x *AggregatedListInstancesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListInstancesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{44} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{46} } func (x *AggregatedListInstancesRequest) GetFilter() string { @@ -21331,13 +22620,20 @@ func (x *AggregatedListInstancesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListInstancesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for InterconnectAttachments.AggregatedList. See the method description for details. type AggregatedListInterconnectAttachmentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21350,13 +22646,14 @@ type AggregatedListInterconnectAttachmentsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListInterconnectAttachmentsRequest) Reset() { *x = AggregatedListInterconnectAttachmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[45] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21369,7 +22666,7 @@ func (x *AggregatedListInterconnectAttachmentsRequest) String() string { func (*AggregatedListInterconnectAttachmentsRequest) ProtoMessage() {} func (x *AggregatedListInterconnectAttachmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[45] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21382,7 +22679,7 @@ func (x *AggregatedListInterconnectAttachmentsRequest) ProtoReflect() protorefle // Deprecated: Use AggregatedListInterconnectAttachmentsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListInterconnectAttachmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{45} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{47} } func (x *AggregatedListInterconnectAttachmentsRequest) GetFilter() string { @@ -21434,13 +22731,20 @@ func (x *AggregatedListInterconnectAttachmentsRequest) GetReturnPartialSuccess() return false } +func (x *AggregatedListInterconnectAttachmentsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for MachineTypes.AggregatedList. See the method description for details. type AggregatedListMachineTypesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21453,13 +22757,14 @@ type AggregatedListMachineTypesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListMachineTypesRequest) Reset() { *x = AggregatedListMachineTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[46] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21472,7 +22777,7 @@ func (x *AggregatedListMachineTypesRequest) String() string { func (*AggregatedListMachineTypesRequest) ProtoMessage() {} func (x *AggregatedListMachineTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[46] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21485,7 +22790,7 @@ func (x *AggregatedListMachineTypesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AggregatedListMachineTypesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListMachineTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{46} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{48} } func (x *AggregatedListMachineTypesRequest) GetFilter() string { @@ -21537,13 +22842,20 @@ func (x *AggregatedListMachineTypesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListMachineTypesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for NetworkAttachments.AggregatedList. See the method description for details. type AggregatedListNetworkAttachmentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21556,13 +22868,14 @@ type AggregatedListNetworkAttachmentsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListNetworkAttachmentsRequest) Reset() { *x = AggregatedListNetworkAttachmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[47] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21575,7 +22888,7 @@ func (x *AggregatedListNetworkAttachmentsRequest) String() string { func (*AggregatedListNetworkAttachmentsRequest) ProtoMessage() {} func (x *AggregatedListNetworkAttachmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[47] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21588,7 +22901,7 @@ func (x *AggregatedListNetworkAttachmentsRequest) ProtoReflect() protoreflect.Me // Deprecated: Use AggregatedListNetworkAttachmentsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListNetworkAttachmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{47} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{49} } func (x *AggregatedListNetworkAttachmentsRequest) GetFilter() string { @@ -21640,13 +22953,20 @@ func (x *AggregatedListNetworkAttachmentsRequest) GetReturnPartialSuccess() bool return false } +func (x *AggregatedListNetworkAttachmentsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for NetworkEdgeSecurityServices.AggregatedList. See the method description for details. type AggregatedListNetworkEdgeSecurityServicesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21659,13 +22979,14 @@ type AggregatedListNetworkEdgeSecurityServicesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListNetworkEdgeSecurityServicesRequest) Reset() { *x = AggregatedListNetworkEdgeSecurityServicesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[48] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21678,7 +22999,7 @@ func (x *AggregatedListNetworkEdgeSecurityServicesRequest) String() string { func (*AggregatedListNetworkEdgeSecurityServicesRequest) ProtoMessage() {} func (x *AggregatedListNetworkEdgeSecurityServicesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[48] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21691,7 +23012,7 @@ func (x *AggregatedListNetworkEdgeSecurityServicesRequest) ProtoReflect() protor // Deprecated: Use AggregatedListNetworkEdgeSecurityServicesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListNetworkEdgeSecurityServicesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{48} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{50} } func (x *AggregatedListNetworkEdgeSecurityServicesRequest) GetFilter() string { @@ -21743,13 +23064,20 @@ func (x *AggregatedListNetworkEdgeSecurityServicesRequest) GetReturnPartialSucce return false } +func (x *AggregatedListNetworkEdgeSecurityServicesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for NetworkEndpointGroups.AggregatedList. See the method description for details. type AggregatedListNetworkEndpointGroupsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21762,13 +23090,14 @@ type AggregatedListNetworkEndpointGroupsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListNetworkEndpointGroupsRequest) Reset() { *x = AggregatedListNetworkEndpointGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[49] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21781,7 +23110,7 @@ func (x *AggregatedListNetworkEndpointGroupsRequest) String() string { func (*AggregatedListNetworkEndpointGroupsRequest) ProtoMessage() {} func (x *AggregatedListNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[49] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21794,7 +23123,7 @@ func (x *AggregatedListNetworkEndpointGroupsRequest) ProtoReflect() protoreflect // Deprecated: Use AggregatedListNetworkEndpointGroupsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListNetworkEndpointGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{49} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{51} } func (x *AggregatedListNetworkEndpointGroupsRequest) GetFilter() string { @@ -21846,13 +23175,20 @@ func (x *AggregatedListNetworkEndpointGroupsRequest) GetReturnPartialSuccess() b return false } +func (x *AggregatedListNetworkEndpointGroupsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for NodeGroups.AggregatedList. See the method description for details. type AggregatedListNodeGroupsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21865,13 +23201,14 @@ type AggregatedListNodeGroupsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListNodeGroupsRequest) Reset() { *x = AggregatedListNodeGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[50] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21884,7 +23221,7 @@ func (x *AggregatedListNodeGroupsRequest) String() string { func (*AggregatedListNodeGroupsRequest) ProtoMessage() {} func (x *AggregatedListNodeGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[50] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -21897,7 +23234,7 @@ func (x *AggregatedListNodeGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListNodeGroupsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListNodeGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{50} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{52} } func (x *AggregatedListNodeGroupsRequest) GetFilter() string { @@ -21949,13 +23286,20 @@ func (x *AggregatedListNodeGroupsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListNodeGroupsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for NodeTemplates.AggregatedList. See the method description for details. type AggregatedListNodeTemplatesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -21968,13 +23312,14 @@ type AggregatedListNodeTemplatesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListNodeTemplatesRequest) Reset() { *x = AggregatedListNodeTemplatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[51] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -21987,7 +23332,7 @@ func (x *AggregatedListNodeTemplatesRequest) String() string { func (*AggregatedListNodeTemplatesRequest) ProtoMessage() {} func (x *AggregatedListNodeTemplatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[51] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22000,7 +23345,7 @@ func (x *AggregatedListNodeTemplatesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AggregatedListNodeTemplatesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListNodeTemplatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{51} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{53} } func (x *AggregatedListNodeTemplatesRequest) GetFilter() string { @@ -22052,13 +23397,20 @@ func (x *AggregatedListNodeTemplatesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListNodeTemplatesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for NodeTypes.AggregatedList. See the method description for details. type AggregatedListNodeTypesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22071,13 +23423,14 @@ type AggregatedListNodeTypesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListNodeTypesRequest) Reset() { *x = AggregatedListNodeTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[52] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22090,7 +23443,7 @@ func (x *AggregatedListNodeTypesRequest) String() string { func (*AggregatedListNodeTypesRequest) ProtoMessage() {} func (x *AggregatedListNodeTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[52] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22103,7 +23456,7 @@ func (x *AggregatedListNodeTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListNodeTypesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListNodeTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{52} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{54} } func (x *AggregatedListNodeTypesRequest) GetFilter() string { @@ -22155,13 +23508,20 @@ func (x *AggregatedListNodeTypesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListNodeTypesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for PacketMirrorings.AggregatedList. See the method description for details. type AggregatedListPacketMirroringsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22174,13 +23534,14 @@ type AggregatedListPacketMirroringsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListPacketMirroringsRequest) Reset() { *x = AggregatedListPacketMirroringsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[53] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22193,7 +23554,7 @@ func (x *AggregatedListPacketMirroringsRequest) String() string { func (*AggregatedListPacketMirroringsRequest) ProtoMessage() {} func (x *AggregatedListPacketMirroringsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[53] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22206,7 +23567,7 @@ func (x *AggregatedListPacketMirroringsRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use AggregatedListPacketMirroringsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListPacketMirroringsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{53} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{55} } func (x *AggregatedListPacketMirroringsRequest) GetFilter() string { @@ -22258,13 +23619,20 @@ func (x *AggregatedListPacketMirroringsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListPacketMirroringsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for PublicDelegatedPrefixes.AggregatedList. See the method description for details. type AggregatedListPublicDelegatedPrefixesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22277,13 +23645,14 @@ type AggregatedListPublicDelegatedPrefixesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListPublicDelegatedPrefixesRequest) Reset() { *x = AggregatedListPublicDelegatedPrefixesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[54] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22296,7 +23665,7 @@ func (x *AggregatedListPublicDelegatedPrefixesRequest) String() string { func (*AggregatedListPublicDelegatedPrefixesRequest) ProtoMessage() {} func (x *AggregatedListPublicDelegatedPrefixesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[54] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22309,7 +23678,7 @@ func (x *AggregatedListPublicDelegatedPrefixesRequest) ProtoReflect() protorefle // Deprecated: Use AggregatedListPublicDelegatedPrefixesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListPublicDelegatedPrefixesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{54} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{56} } func (x *AggregatedListPublicDelegatedPrefixesRequest) GetFilter() string { @@ -22361,13 +23730,20 @@ func (x *AggregatedListPublicDelegatedPrefixesRequest) GetReturnPartialSuccess() return false } +func (x *AggregatedListPublicDelegatedPrefixesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for RegionCommitments.AggregatedList. See the method description for details. type AggregatedListRegionCommitmentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22380,13 +23756,14 @@ type AggregatedListRegionCommitmentsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListRegionCommitmentsRequest) Reset() { *x = AggregatedListRegionCommitmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[55] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22399,7 +23776,7 @@ func (x *AggregatedListRegionCommitmentsRequest) String() string { func (*AggregatedListRegionCommitmentsRequest) ProtoMessage() {} func (x *AggregatedListRegionCommitmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[55] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22412,7 +23789,7 @@ func (x *AggregatedListRegionCommitmentsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AggregatedListRegionCommitmentsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListRegionCommitmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{55} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{57} } func (x *AggregatedListRegionCommitmentsRequest) GetFilter() string { @@ -22464,13 +23841,20 @@ func (x *AggregatedListRegionCommitmentsRequest) GetReturnPartialSuccess() bool return false } +func (x *AggregatedListRegionCommitmentsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for Reservations.AggregatedList. See the method description for details. type AggregatedListReservationsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22483,13 +23867,14 @@ type AggregatedListReservationsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListReservationsRequest) Reset() { *x = AggregatedListReservationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[56] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22502,7 +23887,7 @@ func (x *AggregatedListReservationsRequest) String() string { func (*AggregatedListReservationsRequest) ProtoMessage() {} func (x *AggregatedListReservationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[56] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22515,7 +23900,7 @@ func (x *AggregatedListReservationsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AggregatedListReservationsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListReservationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{56} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{58} } func (x *AggregatedListReservationsRequest) GetFilter() string { @@ -22567,13 +23952,20 @@ func (x *AggregatedListReservationsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListReservationsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for ResourcePolicies.AggregatedList. See the method description for details. type AggregatedListResourcePoliciesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22586,13 +23978,14 @@ type AggregatedListResourcePoliciesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListResourcePoliciesRequest) Reset() { *x = AggregatedListResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[57] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22605,7 +23998,7 @@ func (x *AggregatedListResourcePoliciesRequest) String() string { func (*AggregatedListResourcePoliciesRequest) ProtoMessage() {} func (x *AggregatedListResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[57] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22618,7 +24011,7 @@ func (x *AggregatedListResourcePoliciesRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use AggregatedListResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{57} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{59} } func (x *AggregatedListResourcePoliciesRequest) GetFilter() string { @@ -22670,13 +24063,20 @@ func (x *AggregatedListResourcePoliciesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListResourcePoliciesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for Routers.AggregatedList. See the method description for details. type AggregatedListRoutersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22689,13 +24089,14 @@ type AggregatedListRoutersRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListRoutersRequest) Reset() { *x = AggregatedListRoutersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[58] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22708,7 +24109,7 @@ func (x *AggregatedListRoutersRequest) String() string { func (*AggregatedListRoutersRequest) ProtoMessage() {} func (x *AggregatedListRoutersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[58] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22721,7 +24122,7 @@ func (x *AggregatedListRoutersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListRoutersRequest.ProtoReflect.Descriptor instead. func (*AggregatedListRoutersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{58} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{60} } func (x *AggregatedListRoutersRequest) GetFilter() string { @@ -22773,13 +24174,20 @@ func (x *AggregatedListRoutersRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListRoutersRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for SecurityPolicies.AggregatedList. See the method description for details. type AggregatedListSecurityPoliciesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22792,13 +24200,14 @@ type AggregatedListSecurityPoliciesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListSecurityPoliciesRequest) Reset() { *x = AggregatedListSecurityPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[59] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22811,7 +24220,7 @@ func (x *AggregatedListSecurityPoliciesRequest) String() string { func (*AggregatedListSecurityPoliciesRequest) ProtoMessage() {} func (x *AggregatedListSecurityPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[59] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22824,7 +24233,7 @@ func (x *AggregatedListSecurityPoliciesRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use AggregatedListSecurityPoliciesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListSecurityPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{59} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{61} } func (x *AggregatedListSecurityPoliciesRequest) GetFilter() string { @@ -22876,13 +24285,20 @@ func (x *AggregatedListSecurityPoliciesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListSecurityPoliciesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for ServiceAttachments.AggregatedList. See the method description for details. type AggregatedListServiceAttachmentsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22895,13 +24311,14 @@ type AggregatedListServiceAttachmentsRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListServiceAttachmentsRequest) Reset() { *x = AggregatedListServiceAttachmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[60] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -22914,7 +24331,7 @@ func (x *AggregatedListServiceAttachmentsRequest) String() string { func (*AggregatedListServiceAttachmentsRequest) ProtoMessage() {} func (x *AggregatedListServiceAttachmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[60] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -22927,7 +24344,7 @@ func (x *AggregatedListServiceAttachmentsRequest) ProtoReflect() protoreflect.Me // Deprecated: Use AggregatedListServiceAttachmentsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListServiceAttachmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{60} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{62} } func (x *AggregatedListServiceAttachmentsRequest) GetFilter() string { @@ -22979,13 +24396,20 @@ func (x *AggregatedListServiceAttachmentsRequest) GetReturnPartialSuccess() bool return false } +func (x *AggregatedListServiceAttachmentsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for SslCertificates.AggregatedList. See the method description for details. type AggregatedListSslCertificatesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -22998,13 +24422,14 @@ type AggregatedListSslCertificatesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListSslCertificatesRequest) Reset() { *x = AggregatedListSslCertificatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[61] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23017,7 +24442,7 @@ func (x *AggregatedListSslCertificatesRequest) String() string { func (*AggregatedListSslCertificatesRequest) ProtoMessage() {} func (x *AggregatedListSslCertificatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[61] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23030,7 +24455,7 @@ func (x *AggregatedListSslCertificatesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use AggregatedListSslCertificatesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListSslCertificatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{61} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{63} } func (x *AggregatedListSslCertificatesRequest) GetFilter() string { @@ -23082,13 +24507,20 @@ func (x *AggregatedListSslCertificatesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListSslCertificatesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for SslPolicies.AggregatedList. See the method description for details. type AggregatedListSslPoliciesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23101,13 +24533,14 @@ type AggregatedListSslPoliciesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListSslPoliciesRequest) Reset() { *x = AggregatedListSslPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[62] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23120,7 +24553,7 @@ func (x *AggregatedListSslPoliciesRequest) String() string { func (*AggregatedListSslPoliciesRequest) ProtoMessage() {} func (x *AggregatedListSslPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[62] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23133,7 +24566,7 @@ func (x *AggregatedListSslPoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListSslPoliciesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListSslPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{62} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{64} } func (x *AggregatedListSslPoliciesRequest) GetFilter() string { @@ -23185,13 +24618,20 @@ func (x *AggregatedListSslPoliciesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListSslPoliciesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for Subnetworks.AggregatedList. See the method description for details. type AggregatedListSubnetworksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23204,13 +24644,14 @@ type AggregatedListSubnetworksRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListSubnetworksRequest) Reset() { *x = AggregatedListSubnetworksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[63] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23223,7 +24664,7 @@ func (x *AggregatedListSubnetworksRequest) String() string { func (*AggregatedListSubnetworksRequest) ProtoMessage() {} func (x *AggregatedListSubnetworksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[63] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23236,7 +24677,7 @@ func (x *AggregatedListSubnetworksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListSubnetworksRequest.ProtoReflect.Descriptor instead. func (*AggregatedListSubnetworksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{63} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{65} } func (x *AggregatedListSubnetworksRequest) GetFilter() string { @@ -23288,13 +24729,20 @@ func (x *AggregatedListSubnetworksRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListSubnetworksRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for TargetHttpProxies.AggregatedList. See the method description for details. type AggregatedListTargetHttpProxiesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23307,13 +24755,14 @@ type AggregatedListTargetHttpProxiesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListTargetHttpProxiesRequest) Reset() { *x = AggregatedListTargetHttpProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[64] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23326,7 +24775,7 @@ func (x *AggregatedListTargetHttpProxiesRequest) String() string { func (*AggregatedListTargetHttpProxiesRequest) ProtoMessage() {} func (x *AggregatedListTargetHttpProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[64] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23339,7 +24788,7 @@ func (x *AggregatedListTargetHttpProxiesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AggregatedListTargetHttpProxiesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListTargetHttpProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{64} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{66} } func (x *AggregatedListTargetHttpProxiesRequest) GetFilter() string { @@ -23391,13 +24840,20 @@ func (x *AggregatedListTargetHttpProxiesRequest) GetReturnPartialSuccess() bool return false } +func (x *AggregatedListTargetHttpProxiesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for TargetHttpsProxies.AggregatedList. See the method description for details. type AggregatedListTargetHttpsProxiesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23410,13 +24866,14 @@ type AggregatedListTargetHttpsProxiesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListTargetHttpsProxiesRequest) Reset() { *x = AggregatedListTargetHttpsProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[65] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23429,7 +24886,7 @@ func (x *AggregatedListTargetHttpsProxiesRequest) String() string { func (*AggregatedListTargetHttpsProxiesRequest) ProtoMessage() {} func (x *AggregatedListTargetHttpsProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[65] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23442,7 +24899,7 @@ func (x *AggregatedListTargetHttpsProxiesRequest) ProtoReflect() protoreflect.Me // Deprecated: Use AggregatedListTargetHttpsProxiesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListTargetHttpsProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{65} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{67} } func (x *AggregatedListTargetHttpsProxiesRequest) GetFilter() string { @@ -23494,13 +24951,20 @@ func (x *AggregatedListTargetHttpsProxiesRequest) GetReturnPartialSuccess() bool return false } +func (x *AggregatedListTargetHttpsProxiesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for TargetInstances.AggregatedList. See the method description for details. type AggregatedListTargetInstancesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23513,13 +24977,14 @@ type AggregatedListTargetInstancesRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListTargetInstancesRequest) Reset() { *x = AggregatedListTargetInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[66] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23532,7 +24997,7 @@ func (x *AggregatedListTargetInstancesRequest) String() string { func (*AggregatedListTargetInstancesRequest) ProtoMessage() {} func (x *AggregatedListTargetInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[66] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23545,7 +25010,7 @@ func (x *AggregatedListTargetInstancesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use AggregatedListTargetInstancesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListTargetInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{66} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{68} } func (x *AggregatedListTargetInstancesRequest) GetFilter() string { @@ -23597,13 +25062,20 @@ func (x *AggregatedListTargetInstancesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListTargetInstancesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for TargetPools.AggregatedList. See the method description for details. type AggregatedListTargetPoolsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23616,13 +25088,14 @@ type AggregatedListTargetPoolsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListTargetPoolsRequest) Reset() { *x = AggregatedListTargetPoolsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[67] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23635,7 +25108,7 @@ func (x *AggregatedListTargetPoolsRequest) String() string { func (*AggregatedListTargetPoolsRequest) ProtoMessage() {} func (x *AggregatedListTargetPoolsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[67] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23648,7 +25121,7 @@ func (x *AggregatedListTargetPoolsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListTargetPoolsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListTargetPoolsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{67} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{69} } func (x *AggregatedListTargetPoolsRequest) GetFilter() string { @@ -23700,13 +25173,20 @@ func (x *AggregatedListTargetPoolsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListTargetPoolsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for TargetTcpProxies.AggregatedList. See the method description for details. type AggregatedListTargetTcpProxiesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23719,13 +25199,14 @@ type AggregatedListTargetTcpProxiesRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListTargetTcpProxiesRequest) Reset() { *x = AggregatedListTargetTcpProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[68] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23738,7 +25219,7 @@ func (x *AggregatedListTargetTcpProxiesRequest) String() string { func (*AggregatedListTargetTcpProxiesRequest) ProtoMessage() {} func (x *AggregatedListTargetTcpProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[68] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[70] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23751,7 +25232,7 @@ func (x *AggregatedListTargetTcpProxiesRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use AggregatedListTargetTcpProxiesRequest.ProtoReflect.Descriptor instead. func (*AggregatedListTargetTcpProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{68} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{70} } func (x *AggregatedListTargetTcpProxiesRequest) GetFilter() string { @@ -23803,13 +25284,20 @@ func (x *AggregatedListTargetTcpProxiesRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListTargetTcpProxiesRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for TargetVpnGateways.AggregatedList. See the method description for details. type AggregatedListTargetVpnGatewaysRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23822,13 +25310,14 @@ type AggregatedListTargetVpnGatewaysRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListTargetVpnGatewaysRequest) Reset() { *x = AggregatedListTargetVpnGatewaysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[69] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23841,7 +25330,7 @@ func (x *AggregatedListTargetVpnGatewaysRequest) String() string { func (*AggregatedListTargetVpnGatewaysRequest) ProtoMessage() {} func (x *AggregatedListTargetVpnGatewaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[69] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23854,7 +25343,7 @@ func (x *AggregatedListTargetVpnGatewaysRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use AggregatedListTargetVpnGatewaysRequest.ProtoReflect.Descriptor instead. func (*AggregatedListTargetVpnGatewaysRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{69} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{71} } func (x *AggregatedListTargetVpnGatewaysRequest) GetFilter() string { @@ -23906,13 +25395,20 @@ func (x *AggregatedListTargetVpnGatewaysRequest) GetReturnPartialSuccess() bool return false } +func (x *AggregatedListTargetVpnGatewaysRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for UrlMaps.AggregatedList. See the method description for details. type AggregatedListUrlMapsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -23925,13 +25421,14 @@ type AggregatedListUrlMapsRequest struct { // Name of the project scoping this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListUrlMapsRequest) Reset() { *x = AggregatedListUrlMapsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[70] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -23944,7 +25441,7 @@ func (x *AggregatedListUrlMapsRequest) String() string { func (*AggregatedListUrlMapsRequest) ProtoMessage() {} func (x *AggregatedListUrlMapsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[70] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -23957,7 +25454,7 @@ func (x *AggregatedListUrlMapsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListUrlMapsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListUrlMapsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{70} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{72} } func (x *AggregatedListUrlMapsRequest) GetFilter() string { @@ -24009,13 +25506,20 @@ func (x *AggregatedListUrlMapsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListUrlMapsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for VpnGateways.AggregatedList. See the method description for details. type AggregatedListVpnGatewaysRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -24028,13 +25532,14 @@ type AggregatedListVpnGatewaysRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListVpnGatewaysRequest) Reset() { *x = AggregatedListVpnGatewaysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[71] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24047,7 +25552,7 @@ func (x *AggregatedListVpnGatewaysRequest) String() string { func (*AggregatedListVpnGatewaysRequest) ProtoMessage() {} func (x *AggregatedListVpnGatewaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[71] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24060,7 +25565,7 @@ func (x *AggregatedListVpnGatewaysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListVpnGatewaysRequest.ProtoReflect.Descriptor instead. func (*AggregatedListVpnGatewaysRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{71} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{73} } func (x *AggregatedListVpnGatewaysRequest) GetFilter() string { @@ -24112,13 +25617,20 @@ func (x *AggregatedListVpnGatewaysRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListVpnGatewaysRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // A request message for VpnTunnels.AggregatedList. See the method description for details. type AggregatedListVpnTunnelsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. IncludeAllScopes *bool `protobuf:"varint,391327988,opt,name=include_all_scopes,json=includeAllScopes,proto3,oneof" json:"include_all_scopes,omitempty"` @@ -24131,13 +25643,14 @@ type AggregatedListVpnTunnelsRequest struct { // Project ID for this request. Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. - ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` + ServiceProjectNumber *int64 `protobuf:"varint,316757497,opt,name=service_project_number,json=serviceProjectNumber,proto3,oneof" json:"service_project_number,omitempty"` } func (x *AggregatedListVpnTunnelsRequest) Reset() { *x = AggregatedListVpnTunnelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[72] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24150,7 +25663,7 @@ func (x *AggregatedListVpnTunnelsRequest) String() string { func (*AggregatedListVpnTunnelsRequest) ProtoMessage() {} func (x *AggregatedListVpnTunnelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[72] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24163,7 +25676,7 @@ func (x *AggregatedListVpnTunnelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AggregatedListVpnTunnelsRequest.ProtoReflect.Descriptor instead. func (*AggregatedListVpnTunnelsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{72} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{74} } func (x *AggregatedListVpnTunnelsRequest) GetFilter() string { @@ -24215,6 +25728,13 @@ func (x *AggregatedListVpnTunnelsRequest) GetReturnPartialSuccess() bool { return false } +func (x *AggregatedListVpnTunnelsRequest) GetServiceProjectNumber() int64 { + if x != nil && x.ServiceProjectNumber != nil { + return *x.ServiceProjectNumber + } + return 0 +} + // An alias IP range attached to an instance's network interface. type AliasIpRange struct { state protoimpl.MessageState @@ -24230,7 +25750,7 @@ type AliasIpRange struct { func (x *AliasIpRange) Reset() { *x = AliasIpRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[73] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24243,7 +25763,7 @@ func (x *AliasIpRange) String() string { func (*AliasIpRange) ProtoMessage() {} func (x *AliasIpRange) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[73] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24256,7 +25776,7 @@ func (x *AliasIpRange) ProtoReflect() protoreflect.Message { // Deprecated: Use AliasIpRange.ProtoReflect.Descriptor instead. func (*AliasIpRange) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{73} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{75} } func (x *AliasIpRange) GetIpCidrRange() string { @@ -24286,7 +25806,7 @@ type AllocationResourceStatus struct { func (x *AllocationResourceStatus) Reset() { *x = AllocationResourceStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[74] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24299,7 +25819,7 @@ func (x *AllocationResourceStatus) String() string { func (*AllocationResourceStatus) ProtoMessage() {} func (x *AllocationResourceStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[74] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24312,7 +25832,7 @@ func (x *AllocationResourceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use AllocationResourceStatus.ProtoReflect.Descriptor instead. func (*AllocationResourceStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{74} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{76} } func (x *AllocationResourceStatus) GetSpecificSkuAllocation() *AllocationResourceStatusSpecificSKUAllocation { @@ -24335,7 +25855,7 @@ type AllocationResourceStatusSpecificSKUAllocation struct { func (x *AllocationResourceStatusSpecificSKUAllocation) Reset() { *x = AllocationResourceStatusSpecificSKUAllocation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[75] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24348,7 +25868,7 @@ func (x *AllocationResourceStatusSpecificSKUAllocation) String() string { func (*AllocationResourceStatusSpecificSKUAllocation) ProtoMessage() {} func (x *AllocationResourceStatusSpecificSKUAllocation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[75] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24361,7 +25881,7 @@ func (x *AllocationResourceStatusSpecificSKUAllocation) ProtoReflect() protorefl // Deprecated: Use AllocationResourceStatusSpecificSKUAllocation.ProtoReflect.Descriptor instead. func (*AllocationResourceStatusSpecificSKUAllocation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{75} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{77} } func (x *AllocationResourceStatusSpecificSKUAllocation) GetSourceInstanceTemplateId() string { @@ -24386,7 +25906,7 @@ type AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk stru func (x *AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) Reset() { *x = AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[76] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24399,7 +25919,7 @@ func (x *AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) func (*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) ProtoMessage() {} func (x *AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[76] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24412,7 +25932,7 @@ func (x *AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) // Deprecated: Use AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk.ProtoReflect.Descriptor instead. func (*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{76} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{78} } func (x *AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk) GetDiskSizeGb() int64 { @@ -24450,7 +25970,7 @@ type AllocationSpecificSKUAllocationReservedInstanceProperties struct { func (x *AllocationSpecificSKUAllocationReservedInstanceProperties) Reset() { *x = AllocationSpecificSKUAllocationReservedInstanceProperties{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[77] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24463,7 +25983,7 @@ func (x *AllocationSpecificSKUAllocationReservedInstanceProperties) String() str func (*AllocationSpecificSKUAllocationReservedInstanceProperties) ProtoMessage() {} func (x *AllocationSpecificSKUAllocationReservedInstanceProperties) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[77] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[79] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24476,7 +25996,7 @@ func (x *AllocationSpecificSKUAllocationReservedInstanceProperties) ProtoReflect // Deprecated: Use AllocationSpecificSKUAllocationReservedInstanceProperties.ProtoReflect.Descriptor instead. func (*AllocationSpecificSKUAllocationReservedInstanceProperties) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{77} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{79} } func (x *AllocationSpecificSKUAllocationReservedInstanceProperties) GetGuestAccelerators() []*AcceleratorConfig { @@ -24535,7 +26055,7 @@ type AllocationSpecificSKUReservation struct { func (x *AllocationSpecificSKUReservation) Reset() { *x = AllocationSpecificSKUReservation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[78] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24548,7 +26068,7 @@ func (x *AllocationSpecificSKUReservation) String() string { func (*AllocationSpecificSKUReservation) ProtoMessage() {} func (x *AllocationSpecificSKUReservation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[78] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24561,7 +26081,7 @@ func (x *AllocationSpecificSKUReservation) ProtoReflect() protoreflect.Message { // Deprecated: Use AllocationSpecificSKUReservation.ProtoReflect.Descriptor instead. func (*AllocationSpecificSKUReservation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{78} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{80} } func (x *AllocationSpecificSKUReservation) GetAssuredCount() int64 { @@ -24613,7 +26133,7 @@ type Allowed struct { func (x *Allowed) Reset() { *x = Allowed{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[79] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24626,7 +26146,7 @@ func (x *Allowed) String() string { func (*Allowed) ProtoMessage() {} func (x *Allowed) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[79] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24639,7 +26159,7 @@ func (x *Allowed) ProtoReflect() protoreflect.Message { // Deprecated: Use Allowed.ProtoReflect.Descriptor instead. func (*Allowed) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{79} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{81} } func (x *Allowed) GetIPProtocol() string { @@ -24656,6 +26176,149 @@ func (x *Allowed) GetPorts() []string { return nil } +// A request message for PublicAdvertisedPrefixes.Announce. See the method description for details. +type AnnouncePublicAdvertisedPrefixeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the public advertised prefix. It should comply with RFC1035. + PublicAdvertisedPrefix string `protobuf:"bytes,101874590,opt,name=public_advertised_prefix,json=publicAdvertisedPrefix,proto3" json:"public_advertised_prefix,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` +} + +func (x *AnnouncePublicAdvertisedPrefixeRequest) Reset() { + *x = AnnouncePublicAdvertisedPrefixeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnnouncePublicAdvertisedPrefixeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnnouncePublicAdvertisedPrefixeRequest) ProtoMessage() {} + +func (x *AnnouncePublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[82] + 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 AnnouncePublicAdvertisedPrefixeRequest.ProtoReflect.Descriptor instead. +func (*AnnouncePublicAdvertisedPrefixeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{82} +} + +func (x *AnnouncePublicAdvertisedPrefixeRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *AnnouncePublicAdvertisedPrefixeRequest) GetPublicAdvertisedPrefix() string { + if x != nil { + return x.PublicAdvertisedPrefix + } + return "" +} + +func (x *AnnouncePublicAdvertisedPrefixeRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +// A request message for PublicDelegatedPrefixes.Announce. See the method description for details. +type AnnouncePublicDelegatedPrefixeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the public delegated prefix. It should comply with RFC1035. + PublicDelegatedPrefix string `protobuf:"bytes,204238440,opt,name=public_delegated_prefix,json=publicDelegatedPrefix,proto3" json:"public_delegated_prefix,omitempty"` + // The name of the region where the public delegated prefix is located. It should comply with RFC1035. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` +} + +func (x *AnnouncePublicDelegatedPrefixeRequest) Reset() { + *x = AnnouncePublicDelegatedPrefixeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnnouncePublicDelegatedPrefixeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnnouncePublicDelegatedPrefixeRequest) ProtoMessage() {} + +func (x *AnnouncePublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[83] + 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 AnnouncePublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. +func (*AnnouncePublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{83} +} + +func (x *AnnouncePublicDelegatedPrefixeRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *AnnouncePublicDelegatedPrefixeRequest) GetPublicDelegatedPrefix() string { + if x != nil { + return x.PublicDelegatedPrefix + } + return "" +} + +func (x *AnnouncePublicDelegatedPrefixeRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *AnnouncePublicDelegatedPrefixeRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + // A request message for InstanceGroupManagers.ApplyUpdatesToInstances. See the method description for details. type ApplyUpdatesToInstancesInstanceGroupManagerRequest struct { state protoimpl.MessageState @@ -24675,7 +26338,7 @@ type ApplyUpdatesToInstancesInstanceGroupManagerRequest struct { func (x *ApplyUpdatesToInstancesInstanceGroupManagerRequest) Reset() { *x = ApplyUpdatesToInstancesInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[80] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24688,7 +26351,7 @@ func (x *ApplyUpdatesToInstancesInstanceGroupManagerRequest) String() string { func (*ApplyUpdatesToInstancesInstanceGroupManagerRequest) ProtoMessage() {} func (x *ApplyUpdatesToInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[80] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24701,7 +26364,7 @@ func (x *ApplyUpdatesToInstancesInstanceGroupManagerRequest) ProtoReflect() prot // Deprecated: Use ApplyUpdatesToInstancesInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*ApplyUpdatesToInstancesInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{80} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{84} } func (x *ApplyUpdatesToInstancesInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -24751,7 +26414,7 @@ type ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest struct { func (x *ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest) Reset() { *x = ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[81] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24764,7 +26427,7 @@ func (x *ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest) String() stri func (*ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[81] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24777,7 +26440,7 @@ func (x *ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest) ProtoReflect( // Deprecated: Use ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{81} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{85} } func (x *ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -24831,7 +26494,7 @@ type AttachDiskInstanceRequest struct { func (x *AttachDiskInstanceRequest) Reset() { *x = AttachDiskInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[82] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24844,7 +26507,7 @@ func (x *AttachDiskInstanceRequest) String() string { func (*AttachDiskInstanceRequest) ProtoMessage() {} func (x *AttachDiskInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[82] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24857,7 +26520,7 @@ func (x *AttachDiskInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AttachDiskInstanceRequest.ProtoReflect.Descriptor instead. func (*AttachDiskInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{82} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{86} } func (x *AttachDiskInstanceRequest) GetAttachedDiskResource() *AttachedDisk { @@ -24921,7 +26584,7 @@ type AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest struct { func (x *AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest) Reset() { *x = AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[83] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -24934,7 +26597,7 @@ func (x *AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest) String() strin func (*AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest) ProtoMessage() {} func (x *AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[83] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -24947,7 +26610,7 @@ func (x *AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest) ProtoReflect() // Deprecated: Use AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{83} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{87} } func (x *AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest) GetGlobalNetworkEndpointGroupsAttachEndpointsRequestResource() *GlobalNetworkEndpointGroupsAttachEndpointsRequest { @@ -24999,7 +26662,7 @@ type AttachNetworkEndpointsNetworkEndpointGroupRequest struct { func (x *AttachNetworkEndpointsNetworkEndpointGroupRequest) Reset() { *x = AttachNetworkEndpointsNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[84] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25012,7 +26675,7 @@ func (x *AttachNetworkEndpointsNetworkEndpointGroupRequest) String() string { func (*AttachNetworkEndpointsNetworkEndpointGroupRequest) ProtoMessage() {} func (x *AttachNetworkEndpointsNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[84] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[88] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25025,7 +26688,7 @@ func (x *AttachNetworkEndpointsNetworkEndpointGroupRequest) ProtoReflect() proto // Deprecated: Use AttachNetworkEndpointsNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*AttachNetworkEndpointsNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{84} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{88} } func (x *AttachNetworkEndpointsNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -25063,6 +26726,91 @@ func (x *AttachNetworkEndpointsNetworkEndpointGroupRequest) GetZone() string { return "" } +// A request message for RegionNetworkEndpointGroups.AttachNetworkEndpoints. See the method description for details. +type AttachNetworkEndpointsRegionNetworkEndpointGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035. + NetworkEndpointGroup string `protobuf:"bytes,433907078,opt,name=network_endpoint_group,json=networkEndpointGroup,proto3" json:"network_endpoint_group,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the region where you want to create the network endpoint group. It should comply with RFC1035. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // The body resource for this request + RegionNetworkEndpointGroupsAttachEndpointsRequestResource *RegionNetworkEndpointGroupsAttachEndpointsRequest `protobuf:"bytes,334986492,opt,name=region_network_endpoint_groups_attach_endpoints_request_resource,json=regionNetworkEndpointGroupsAttachEndpointsRequestResource,proto3" json:"region_network_endpoint_groups_attach_endpoints_request_resource,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` +} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) Reset() { + *x = AttachNetworkEndpointsRegionNetworkEndpointGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) ProtoMessage() {} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[89] + 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 AttachNetworkEndpointsRegionNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. +func (*AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{89} +} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { + if x != nil { + return x.NetworkEndpointGroup + } + return "" +} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetRegionNetworkEndpointGroupsAttachEndpointsRequestResource() *RegionNetworkEndpointGroupsAttachEndpointsRequest { + if x != nil { + return x.RegionNetworkEndpointGroupsAttachEndpointsRequestResource + } + return nil +} + +func (x *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + // An instance-attached disk resource. type AttachedDisk struct { state protoimpl.MessageState @@ -25115,7 +26863,7 @@ type AttachedDisk struct { func (x *AttachedDisk) Reset() { *x = AttachedDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[85] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25128,7 +26876,7 @@ func (x *AttachedDisk) String() string { func (*AttachedDisk) ProtoMessage() {} func (x *AttachedDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[85] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25141,7 +26889,7 @@ func (x *AttachedDisk) ProtoReflect() protoreflect.Message { // Deprecated: Use AttachedDisk.ProtoReflect.Descriptor instead. func (*AttachedDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{85} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90} } func (x *AttachedDisk) GetArchitecture() string { @@ -25298,7 +27046,7 @@ type AttachedDiskInitializeParams struct { ProvisionedIops *int64 `protobuf:"varint,186769108,opt,name=provisioned_iops,json=provisionedIops,proto3,oneof" json:"provisioned_iops,omitempty"` // Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be between 1 and 7,124. ProvisionedThroughput *int64 `protobuf:"varint,526524181,opt,name=provisioned_throughput,json=provisionedThroughput,proto3,oneof" json:"provisioned_throughput,omitempty"` - // Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone. You can't use this option with boot disks. + // Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone. ReplicaZones []string `protobuf:"bytes,48438272,rep,name=replica_zones,json=replicaZones,proto3" json:"replica_zones,omitempty"` // Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty. ResourceManagerTags map[string]string `protobuf:"bytes,377671164,rep,name=resource_manager_tags,json=resourceManagerTags,proto3" json:"resource_manager_tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -25317,7 +27065,7 @@ type AttachedDiskInitializeParams struct { func (x *AttachedDiskInitializeParams) Reset() { *x = AttachedDiskInitializeParams{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[86] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25330,7 +27078,7 @@ func (x *AttachedDiskInitializeParams) String() string { func (*AttachedDiskInitializeParams) ProtoMessage() {} func (x *AttachedDiskInitializeParams) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[86] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25343,7 +27091,7 @@ func (x *AttachedDiskInitializeParams) ProtoReflect() protoreflect.Message { // Deprecated: Use AttachedDiskInitializeParams.ProtoReflect.Descriptor instead. func (*AttachedDiskInitializeParams) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{86} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{91} } func (x *AttachedDiskInitializeParams) GetArchitecture() string { @@ -25482,7 +27230,7 @@ type AuditConfig struct { func (x *AuditConfig) Reset() { *x = AuditConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[87] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25495,7 +27243,7 @@ func (x *AuditConfig) String() string { func (*AuditConfig) ProtoMessage() {} func (x *AuditConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[87] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25508,7 +27256,7 @@ func (x *AuditConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AuditConfig.ProtoReflect.Descriptor instead. func (*AuditConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{87} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{92} } func (x *AuditConfig) GetAuditLogConfigs() []*AuditLogConfig { @@ -25550,7 +27298,7 @@ type AuditLogConfig struct { func (x *AuditLogConfig) Reset() { *x = AuditLogConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[88] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25563,7 +27311,7 @@ func (x *AuditLogConfig) String() string { func (*AuditLogConfig) ProtoMessage() {} func (x *AuditLogConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[88] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25576,7 +27324,7 @@ func (x *AuditLogConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use AuditLogConfig.ProtoReflect.Descriptor instead. func (*AuditLogConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{88} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{93} } func (x *AuditLogConfig) GetExemptedMembers() []string { @@ -25614,7 +27362,7 @@ type AuthorizationLoggingOptions struct { func (x *AuthorizationLoggingOptions) Reset() { *x = AuthorizationLoggingOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[89] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25627,7 +27375,7 @@ func (x *AuthorizationLoggingOptions) String() string { func (*AuthorizationLoggingOptions) ProtoMessage() {} func (x *AuthorizationLoggingOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[89] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25640,7 +27388,7 @@ func (x *AuthorizationLoggingOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use AuthorizationLoggingOptions.ProtoReflect.Descriptor instead. func (*AuthorizationLoggingOptions) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{89} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{94} } func (x *AuthorizationLoggingOptions) GetPermissionType() string { @@ -25690,7 +27438,7 @@ type Autoscaler struct { func (x *Autoscaler) Reset() { *x = Autoscaler{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[90] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25703,7 +27451,7 @@ func (x *Autoscaler) String() string { func (*Autoscaler) ProtoMessage() {} func (x *Autoscaler) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[90] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[95] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25716,7 +27464,7 @@ func (x *Autoscaler) ProtoReflect() protoreflect.Message { // Deprecated: Use Autoscaler.ProtoReflect.Descriptor instead. func (*Autoscaler) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{90} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{95} } func (x *Autoscaler) GetAutoscalingPolicy() *AutoscalingPolicy { @@ -25841,7 +27589,7 @@ type AutoscalerAggregatedList struct { func (x *AutoscalerAggregatedList) Reset() { *x = AutoscalerAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[91] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25854,7 +27602,7 @@ func (x *AutoscalerAggregatedList) String() string { func (*AutoscalerAggregatedList) ProtoMessage() {} func (x *AutoscalerAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[91] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[96] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25867,7 +27615,7 @@ func (x *AutoscalerAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalerAggregatedList.ProtoReflect.Descriptor instead. func (*AutoscalerAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{91} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{96} } func (x *AutoscalerAggregatedList) GetId() string { @@ -25942,7 +27690,7 @@ type AutoscalerList struct { func (x *AutoscalerList) Reset() { *x = AutoscalerList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[92] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -25955,7 +27703,7 @@ func (x *AutoscalerList) String() string { func (*AutoscalerList) ProtoMessage() {} func (x *AutoscalerList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[92] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -25968,7 +27716,7 @@ func (x *AutoscalerList) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalerList.ProtoReflect.Descriptor instead. func (*AutoscalerList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{92} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{97} } func (x *AutoscalerList) GetId() string { @@ -26028,7 +27776,7 @@ type AutoscalerStatusDetails struct { func (x *AutoscalerStatusDetails) Reset() { *x = AutoscalerStatusDetails{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[93] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26041,7 +27789,7 @@ func (x *AutoscalerStatusDetails) String() string { func (*AutoscalerStatusDetails) ProtoMessage() {} func (x *AutoscalerStatusDetails) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[93] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26054,7 +27802,7 @@ func (x *AutoscalerStatusDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalerStatusDetails.ProtoReflect.Descriptor instead. func (*AutoscalerStatusDetails) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{93} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{98} } func (x *AutoscalerStatusDetails) GetMessage() string { @@ -26085,7 +27833,7 @@ type AutoscalersScopedList struct { func (x *AutoscalersScopedList) Reset() { *x = AutoscalersScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[94] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26098,7 +27846,7 @@ func (x *AutoscalersScopedList) String() string { func (*AutoscalersScopedList) ProtoMessage() {} func (x *AutoscalersScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[94] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26111,7 +27859,7 @@ func (x *AutoscalersScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalersScopedList.ProtoReflect.Descriptor instead. func (*AutoscalersScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{94} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{99} } func (x *AutoscalersScopedList) GetAutoscalers() []*Autoscaler { @@ -26157,7 +27905,7 @@ type AutoscalingPolicy struct { func (x *AutoscalingPolicy) Reset() { *x = AutoscalingPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[95] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26170,7 +27918,7 @@ func (x *AutoscalingPolicy) String() string { func (*AutoscalingPolicy) ProtoMessage() {} func (x *AutoscalingPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[95] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26183,7 +27931,7 @@ func (x *AutoscalingPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalingPolicy.ProtoReflect.Descriptor instead. func (*AutoscalingPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{95} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{100} } func (x *AutoscalingPolicy) GetCoolDownPeriodSec() int32 { @@ -26265,7 +28013,7 @@ type AutoscalingPolicyCpuUtilization struct { func (x *AutoscalingPolicyCpuUtilization) Reset() { *x = AutoscalingPolicyCpuUtilization{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[96] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26278,7 +28026,7 @@ func (x *AutoscalingPolicyCpuUtilization) String() string { func (*AutoscalingPolicyCpuUtilization) ProtoMessage() {} func (x *AutoscalingPolicyCpuUtilization) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[96] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26291,7 +28039,7 @@ func (x *AutoscalingPolicyCpuUtilization) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalingPolicyCpuUtilization.ProtoReflect.Descriptor instead. func (*AutoscalingPolicyCpuUtilization) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{96} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{101} } func (x *AutoscalingPolicyCpuUtilization) GetPredictiveMethod() string { @@ -26330,7 +28078,7 @@ type AutoscalingPolicyCustomMetricUtilization struct { func (x *AutoscalingPolicyCustomMetricUtilization) Reset() { *x = AutoscalingPolicyCustomMetricUtilization{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[97] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26343,7 +28091,7 @@ func (x *AutoscalingPolicyCustomMetricUtilization) String() string { func (*AutoscalingPolicyCustomMetricUtilization) ProtoMessage() {} func (x *AutoscalingPolicyCustomMetricUtilization) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[97] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26356,7 +28104,7 @@ func (x *AutoscalingPolicyCustomMetricUtilization) ProtoReflect() protoreflect.M // Deprecated: Use AutoscalingPolicyCustomMetricUtilization.ProtoReflect.Descriptor instead. func (*AutoscalingPolicyCustomMetricUtilization) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{97} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{102} } func (x *AutoscalingPolicyCustomMetricUtilization) GetFilter() string { @@ -26407,7 +28155,7 @@ type AutoscalingPolicyLoadBalancingUtilization struct { func (x *AutoscalingPolicyLoadBalancingUtilization) Reset() { *x = AutoscalingPolicyLoadBalancingUtilization{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[98] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26420,7 +28168,7 @@ func (x *AutoscalingPolicyLoadBalancingUtilization) String() string { func (*AutoscalingPolicyLoadBalancingUtilization) ProtoMessage() {} func (x *AutoscalingPolicyLoadBalancingUtilization) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[98] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26433,7 +28181,7 @@ func (x *AutoscalingPolicyLoadBalancingUtilization) ProtoReflect() protoreflect. // Deprecated: Use AutoscalingPolicyLoadBalancingUtilization.ProtoReflect.Descriptor instead. func (*AutoscalingPolicyLoadBalancingUtilization) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{98} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{103} } func (x *AutoscalingPolicyLoadBalancingUtilization) GetUtilizationTarget() float64 { @@ -26458,7 +28206,7 @@ type AutoscalingPolicyScaleInControl struct { func (x *AutoscalingPolicyScaleInControl) Reset() { *x = AutoscalingPolicyScaleInControl{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[99] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26471,7 +28219,7 @@ func (x *AutoscalingPolicyScaleInControl) String() string { func (*AutoscalingPolicyScaleInControl) ProtoMessage() {} func (x *AutoscalingPolicyScaleInControl) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[99] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26484,7 +28232,7 @@ func (x *AutoscalingPolicyScaleInControl) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalingPolicyScaleInControl.ProtoReflect.Descriptor instead. func (*AutoscalingPolicyScaleInControl) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{99} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{104} } func (x *AutoscalingPolicyScaleInControl) GetMaxScaledInReplicas() *FixedOrPercent { @@ -26517,14 +28265,14 @@ type AutoscalingPolicyScalingSchedule struct { MinRequiredReplicas *int32 `protobuf:"varint,365514414,opt,name=min_required_replicas,json=minRequiredReplicas,proto3,oneof" json:"min_required_replicas,omitempty"` // The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving. Schedule *string `protobuf:"bytes,375820951,opt,name=schedule,proto3,oneof" json:"schedule,omitempty"` - // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: http://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of “UTC” if left empty. + // The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of "UTC" if left empty. TimeZone *string `protobuf:"bytes,36848094,opt,name=time_zone,json=timeZone,proto3,oneof" json:"time_zone,omitempty"` } func (x *AutoscalingPolicyScalingSchedule) Reset() { *x = AutoscalingPolicyScalingSchedule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[100] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26537,7 +28285,7 @@ func (x *AutoscalingPolicyScalingSchedule) String() string { func (*AutoscalingPolicyScalingSchedule) ProtoMessage() {} func (x *AutoscalingPolicyScalingSchedule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[100] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26550,7 +28298,7 @@ func (x *AutoscalingPolicyScalingSchedule) ProtoReflect() protoreflect.Message { // Deprecated: Use AutoscalingPolicyScalingSchedule.ProtoReflect.Descriptor instead. func (*AutoscalingPolicyScalingSchedule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{100} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{105} } func (x *AutoscalingPolicyScalingSchedule) GetDescription() string { @@ -26631,7 +28379,7 @@ type Backend struct { func (x *Backend) Reset() { *x = Backend{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[101] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26644,7 +28392,7 @@ func (x *Backend) String() string { func (*Backend) ProtoMessage() {} func (x *Backend) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[101] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26657,7 +28405,7 @@ func (x *Backend) ProtoReflect() protoreflect.Message { // Deprecated: Use Backend.ProtoReflect.Descriptor instead. func (*Backend) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{101} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{106} } func (x *Backend) GetBalancingMode() string { @@ -26780,7 +28528,7 @@ type BackendBucket struct { func (x *BackendBucket) Reset() { *x = BackendBucket{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[102] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26793,7 +28541,7 @@ func (x *BackendBucket) String() string { func (*BackendBucket) ProtoMessage() {} func (x *BackendBucket) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[102] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26806,7 +28554,7 @@ func (x *BackendBucket) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendBucket.ProtoReflect.Descriptor instead. func (*BackendBucket) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{102} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{107} } func (x *BackendBucket) GetBucketName() string { @@ -26929,7 +28677,7 @@ type BackendBucketCdnPolicy struct { func (x *BackendBucketCdnPolicy) Reset() { *x = BackendBucketCdnPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[103] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -26942,7 +28690,7 @@ func (x *BackendBucketCdnPolicy) String() string { func (*BackendBucketCdnPolicy) ProtoMessage() {} func (x *BackendBucketCdnPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[103] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -26955,7 +28703,7 @@ func (x *BackendBucketCdnPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendBucketCdnPolicy.ProtoReflect.Descriptor instead. func (*BackendBucketCdnPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{103} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108} } func (x *BackendBucketCdnPolicy) GetBypassCacheOnRequestHeaders() []*BackendBucketCdnPolicyBypassCacheOnRequestHeader { @@ -27055,7 +28803,7 @@ type BackendBucketCdnPolicyBypassCacheOnRequestHeader struct { func (x *BackendBucketCdnPolicyBypassCacheOnRequestHeader) Reset() { *x = BackendBucketCdnPolicyBypassCacheOnRequestHeader{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[104] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27068,7 +28816,7 @@ func (x *BackendBucketCdnPolicyBypassCacheOnRequestHeader) String() string { func (*BackendBucketCdnPolicyBypassCacheOnRequestHeader) ProtoMessage() {} func (x *BackendBucketCdnPolicyBypassCacheOnRequestHeader) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[104] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[109] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27081,7 +28829,7 @@ func (x *BackendBucketCdnPolicyBypassCacheOnRequestHeader) ProtoReflect() protor // Deprecated: Use BackendBucketCdnPolicyBypassCacheOnRequestHeader.ProtoReflect.Descriptor instead. func (*BackendBucketCdnPolicyBypassCacheOnRequestHeader) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{104} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{109} } func (x *BackendBucketCdnPolicyBypassCacheOnRequestHeader) GetHeaderName() string { @@ -27106,7 +28854,7 @@ type BackendBucketCdnPolicyCacheKeyPolicy struct { func (x *BackendBucketCdnPolicyCacheKeyPolicy) Reset() { *x = BackendBucketCdnPolicyCacheKeyPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[105] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27119,7 +28867,7 @@ func (x *BackendBucketCdnPolicyCacheKeyPolicy) String() string { func (*BackendBucketCdnPolicyCacheKeyPolicy) ProtoMessage() {} func (x *BackendBucketCdnPolicyCacheKeyPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[105] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[110] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27132,7 +28880,7 @@ func (x *BackendBucketCdnPolicyCacheKeyPolicy) ProtoReflect() protoreflect.Messa // Deprecated: Use BackendBucketCdnPolicyCacheKeyPolicy.ProtoReflect.Descriptor instead. func (*BackendBucketCdnPolicyCacheKeyPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{105} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{110} } func (x *BackendBucketCdnPolicyCacheKeyPolicy) GetIncludeHttpHeaders() []string { @@ -27164,7 +28912,7 @@ type BackendBucketCdnPolicyNegativeCachingPolicy struct { func (x *BackendBucketCdnPolicyNegativeCachingPolicy) Reset() { *x = BackendBucketCdnPolicyNegativeCachingPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[106] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27177,7 +28925,7 @@ func (x *BackendBucketCdnPolicyNegativeCachingPolicy) String() string { func (*BackendBucketCdnPolicyNegativeCachingPolicy) ProtoMessage() {} func (x *BackendBucketCdnPolicyNegativeCachingPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[106] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27190,7 +28938,7 @@ func (x *BackendBucketCdnPolicyNegativeCachingPolicy) ProtoReflect() protoreflec // Deprecated: Use BackendBucketCdnPolicyNegativeCachingPolicy.ProtoReflect.Descriptor instead. func (*BackendBucketCdnPolicyNegativeCachingPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{106} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{111} } func (x *BackendBucketCdnPolicyNegativeCachingPolicy) GetCode() int32 { @@ -27230,7 +28978,7 @@ type BackendBucketList struct { func (x *BackendBucketList) Reset() { *x = BackendBucketList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[107] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27243,7 +28991,7 @@ func (x *BackendBucketList) String() string { func (*BackendBucketList) ProtoMessage() {} func (x *BackendBucketList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[107] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27256,7 +29004,7 @@ func (x *BackendBucketList) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendBucketList.ProtoReflect.Descriptor instead. func (*BackendBucketList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{107} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{112} } func (x *BackendBucketList) GetId() string { @@ -27351,7 +29099,7 @@ type BackendService struct { LoadBalancingScheme *string `protobuf:"bytes,363890244,opt,name=load_balancing_scheme,json=loadBalancingScheme,proto3,oneof" json:"load_balancing_scheme,omitempty"` // A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration. LocalityLbPolicies []*BackendServiceLocalityLoadBalancingPolicyConfig `protobuf:"bytes,140982557,rep,name=locality_lb_policies,json=localityLbPolicies,proto3" json:"locality_lb_policies,omitempty"` - // The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. + // The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. // Check the LocalityLbPolicy enum for the list of possible values. LocalityLbPolicy *string `protobuf:"bytes,131431487,opt,name=locality_lb_policy,json=localityLbPolicy,proto3,oneof" json:"locality_lb_policy,omitempty"` // This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver. @@ -27388,13 +29136,14 @@ type BackendService struct { SessionAffinity *string `protobuf:"bytes,463888561,opt,name=session_affinity,json=sessionAffinity,proto3,oneof" json:"session_affinity,omitempty"` Subsetting *Subsetting `protobuf:"bytes,450283536,opt,name=subsetting,proto3,oneof" json:"subsetting,omitempty"` // The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. - TimeoutSec *int32 `protobuf:"varint,79994995,opt,name=timeout_sec,json=timeoutSec,proto3,oneof" json:"timeout_sec,omitempty"` + TimeoutSec *int32 `protobuf:"varint,79994995,opt,name=timeout_sec,json=timeoutSec,proto3,oneof" json:"timeout_sec,omitempty"` + UsedBy []*BackendServiceUsedBy `protobuf:"bytes,389320729,rep,name=used_by,json=usedBy,proto3" json:"used_by,omitempty"` } func (x *BackendService) Reset() { *x = BackendService{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[108] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27407,7 +29156,7 @@ func (x *BackendService) String() string { func (*BackendService) ProtoMessage() {} func (x *BackendService) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[108] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27420,7 +29169,7 @@ func (x *BackendService) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendService.ProtoReflect.Descriptor instead. func (*BackendService) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{108} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113} } func (x *BackendService) GetAffinityCookieTtlSec() int32 { @@ -27703,6 +29452,13 @@ func (x *BackendService) GetTimeoutSec() int32 { return 0 } +func (x *BackendService) GetUsedBy() []*BackendServiceUsedBy { + if x != nil { + return x.UsedBy + } + return nil +} + // Contains a list of BackendServicesScopedList. type BackendServiceAggregatedList struct { state protoimpl.MessageState @@ -27728,7 +29484,7 @@ type BackendServiceAggregatedList struct { func (x *BackendServiceAggregatedList) Reset() { *x = BackendServiceAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[109] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27741,7 +29497,7 @@ func (x *BackendServiceAggregatedList) String() string { func (*BackendServiceAggregatedList) ProtoMessage() {} func (x *BackendServiceAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[109] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27754,7 +29510,7 @@ func (x *BackendServiceAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceAggregatedList.ProtoReflect.Descriptor instead. func (*BackendServiceAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{109} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{114} } func (x *BackendServiceAggregatedList) GetId() string { @@ -27842,7 +29598,7 @@ type BackendServiceCdnPolicy struct { func (x *BackendServiceCdnPolicy) Reset() { *x = BackendServiceCdnPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[110] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27855,7 +29611,7 @@ func (x *BackendServiceCdnPolicy) String() string { func (*BackendServiceCdnPolicy) ProtoMessage() {} func (x *BackendServiceCdnPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[110] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27868,7 +29624,7 @@ func (x *BackendServiceCdnPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceCdnPolicy.ProtoReflect.Descriptor instead. func (*BackendServiceCdnPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{110} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{115} } func (x *BackendServiceCdnPolicy) GetBypassCacheOnRequestHeaders() []*BackendServiceCdnPolicyBypassCacheOnRequestHeader { @@ -27968,7 +29724,7 @@ type BackendServiceCdnPolicyBypassCacheOnRequestHeader struct { func (x *BackendServiceCdnPolicyBypassCacheOnRequestHeader) Reset() { *x = BackendServiceCdnPolicyBypassCacheOnRequestHeader{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[111] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -27981,7 +29737,7 @@ func (x *BackendServiceCdnPolicyBypassCacheOnRequestHeader) String() string { func (*BackendServiceCdnPolicyBypassCacheOnRequestHeader) ProtoMessage() {} func (x *BackendServiceCdnPolicyBypassCacheOnRequestHeader) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[111] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -27994,7 +29750,7 @@ func (x *BackendServiceCdnPolicyBypassCacheOnRequestHeader) ProtoReflect() proto // Deprecated: Use BackendServiceCdnPolicyBypassCacheOnRequestHeader.ProtoReflect.Descriptor instead. func (*BackendServiceCdnPolicyBypassCacheOnRequestHeader) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{111} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{116} } func (x *BackendServiceCdnPolicyBypassCacheOnRequestHeader) GetHeaderName() string { @@ -28019,7 +29775,7 @@ type BackendServiceCdnPolicyNegativeCachingPolicy struct { func (x *BackendServiceCdnPolicyNegativeCachingPolicy) Reset() { *x = BackendServiceCdnPolicyNegativeCachingPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[112] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28032,7 +29788,7 @@ func (x *BackendServiceCdnPolicyNegativeCachingPolicy) String() string { func (*BackendServiceCdnPolicyNegativeCachingPolicy) ProtoMessage() {} func (x *BackendServiceCdnPolicyNegativeCachingPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[112] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28045,7 +29801,7 @@ func (x *BackendServiceCdnPolicyNegativeCachingPolicy) ProtoReflect() protorefle // Deprecated: Use BackendServiceCdnPolicyNegativeCachingPolicy.ProtoReflect.Descriptor instead. func (*BackendServiceCdnPolicyNegativeCachingPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{112} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{117} } func (x *BackendServiceCdnPolicyNegativeCachingPolicy) GetCode() int32 { @@ -28083,7 +29839,7 @@ type BackendServiceConnectionTrackingPolicy struct { func (x *BackendServiceConnectionTrackingPolicy) Reset() { *x = BackendServiceConnectionTrackingPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[113] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28096,7 +29852,7 @@ func (x *BackendServiceConnectionTrackingPolicy) String() string { func (*BackendServiceConnectionTrackingPolicy) ProtoMessage() {} func (x *BackendServiceConnectionTrackingPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[113] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28109,7 +29865,7 @@ func (x *BackendServiceConnectionTrackingPolicy) ProtoReflect() protoreflect.Mes // Deprecated: Use BackendServiceConnectionTrackingPolicy.ProtoReflect.Descriptor instead. func (*BackendServiceConnectionTrackingPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{113} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{118} } func (x *BackendServiceConnectionTrackingPolicy) GetConnectionPersistenceOnUnhealthyBackends() string { @@ -28157,7 +29913,7 @@ type BackendServiceFailoverPolicy struct { func (x *BackendServiceFailoverPolicy) Reset() { *x = BackendServiceFailoverPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[114] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28170,7 +29926,7 @@ func (x *BackendServiceFailoverPolicy) String() string { func (*BackendServiceFailoverPolicy) ProtoMessage() {} func (x *BackendServiceFailoverPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[114] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28183,7 +29939,7 @@ func (x *BackendServiceFailoverPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceFailoverPolicy.ProtoReflect.Descriptor instead. func (*BackendServiceFailoverPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{114} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{119} } func (x *BackendServiceFailoverPolicy) GetDisableConnectionDrainOnFailover() bool { @@ -28223,7 +29979,7 @@ type BackendServiceGroupHealth struct { func (x *BackendServiceGroupHealth) Reset() { *x = BackendServiceGroupHealth{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[115] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28236,7 +29992,7 @@ func (x *BackendServiceGroupHealth) String() string { func (*BackendServiceGroupHealth) ProtoMessage() {} func (x *BackendServiceGroupHealth) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[115] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28249,7 +30005,7 @@ func (x *BackendServiceGroupHealth) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceGroupHealth.ProtoReflect.Descriptor instead. func (*BackendServiceGroupHealth) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{115} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{120} } func (x *BackendServiceGroupHealth) GetAnnotations() map[string]string { @@ -28279,7 +30035,7 @@ type BackendServiceIAP struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Whether the serving infrastructure will authenticate and authorize all incoming requests. If true, the oauth2ClientId and oauth2ClientSecret fields must be non-empty. + // Whether the serving infrastructure will authenticate and authorize all incoming requests. Enabled *bool `protobuf:"varint,1018689,opt,name=enabled,proto3,oneof" json:"enabled,omitempty"` // OAuth2 client ID to use for the authentication flow. Oauth2ClientId *string `protobuf:"bytes,314017611,opt,name=oauth2_client_id,json=oauth2ClientId,proto3,oneof" json:"oauth2_client_id,omitempty"` @@ -28292,7 +30048,7 @@ type BackendServiceIAP struct { func (x *BackendServiceIAP) Reset() { *x = BackendServiceIAP{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[116] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28305,7 +30061,7 @@ func (x *BackendServiceIAP) String() string { func (*BackendServiceIAP) ProtoMessage() {} func (x *BackendServiceIAP) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[116] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28318,7 +30074,7 @@ func (x *BackendServiceIAP) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceIAP.ProtoReflect.Descriptor instead. func (*BackendServiceIAP) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{116} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{121} } func (x *BackendServiceIAP) GetEnabled() bool { @@ -28372,7 +30128,7 @@ type BackendServiceList struct { func (x *BackendServiceList) Reset() { *x = BackendServiceList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[117] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28385,7 +30141,7 @@ func (x *BackendServiceList) String() string { func (*BackendServiceList) ProtoMessage() {} func (x *BackendServiceList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[117] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28398,7 +30154,7 @@ func (x *BackendServiceList) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceList.ProtoReflect.Descriptor instead. func (*BackendServiceList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{117} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{122} } func (x *BackendServiceList) GetId() string { @@ -28443,6 +30199,100 @@ func (x *BackendServiceList) GetWarning() *Warning { return nil } +// Contains a list of usable BackendService resources. +type BackendServiceListUsable struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [Output Only] Unique identifier for the resource; defined by the server. + Id *string `protobuf:"bytes,3355,opt,name=id,proto3,oneof" json:"id,omitempty"` + // A list of BackendService resources. + Items []*BackendService `protobuf:"bytes,100526016,rep,name=items,proto3" json:"items,omitempty"` + // [Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services. + Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` + // [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + NextPageToken *string `protobuf:"bytes,79797525,opt,name=next_page_token,json=nextPageToken,proto3,oneof" json:"next_page_token,omitempty"` + // [Output Only] Server-defined URL for this resource. + SelfLink *string `protobuf:"bytes,456214797,opt,name=self_link,json=selfLink,proto3,oneof" json:"self_link,omitempty"` + // [Output Only] Informational warning message. + Warning *Warning `protobuf:"bytes,50704284,opt,name=warning,proto3,oneof" json:"warning,omitempty"` +} + +func (x *BackendServiceListUsable) Reset() { + *x = BackendServiceListUsable{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackendServiceListUsable) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackendServiceListUsable) ProtoMessage() {} + +func (x *BackendServiceListUsable) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[123] + 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 BackendServiceListUsable.ProtoReflect.Descriptor instead. +func (*BackendServiceListUsable) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{123} +} + +func (x *BackendServiceListUsable) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +func (x *BackendServiceListUsable) GetItems() []*BackendService { + if x != nil { + return x.Items + } + return nil +} + +func (x *BackendServiceListUsable) GetKind() string { + if x != nil && x.Kind != nil { + return *x.Kind + } + return "" +} + +func (x *BackendServiceListUsable) GetNextPageToken() string { + if x != nil && x.NextPageToken != nil { + return *x.NextPageToken + } + return "" +} + +func (x *BackendServiceListUsable) GetSelfLink() string { + if x != nil && x.SelfLink != nil { + return *x.SelfLink + } + return "" +} + +func (x *BackendServiceListUsable) GetWarning() *Warning { + if x != nil { + return x.Warning + } + return nil +} + // Container for either a built-in LB policy supported by gRPC or Envoy or a custom one implemented by the end user. type BackendServiceLocalityLoadBalancingPolicyConfig struct { state protoimpl.MessageState @@ -28456,7 +30306,7 @@ type BackendServiceLocalityLoadBalancingPolicyConfig struct { func (x *BackendServiceLocalityLoadBalancingPolicyConfig) Reset() { *x = BackendServiceLocalityLoadBalancingPolicyConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[118] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28469,7 +30319,7 @@ func (x *BackendServiceLocalityLoadBalancingPolicyConfig) String() string { func (*BackendServiceLocalityLoadBalancingPolicyConfig) ProtoMessage() {} func (x *BackendServiceLocalityLoadBalancingPolicyConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[118] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28482,7 +30332,7 @@ func (x *BackendServiceLocalityLoadBalancingPolicyConfig) ProtoReflect() protore // Deprecated: Use BackendServiceLocalityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead. func (*BackendServiceLocalityLoadBalancingPolicyConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{118} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{124} } func (x *BackendServiceLocalityLoadBalancingPolicyConfig) GetCustomPolicy() *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy { @@ -28514,7 +30364,7 @@ type BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy struct { func (x *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) Reset() { *x = BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[119] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28527,7 +30377,7 @@ func (x *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) String() s func (*BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) ProtoMessage() {} func (x *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[119] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28540,7 +30390,7 @@ func (x *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) ProtoRefle // Deprecated: Use BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy.ProtoReflect.Descriptor instead. func (*BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{119} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{125} } func (x *BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy) GetData() string { @@ -28571,7 +30421,7 @@ type BackendServiceLocalityLoadBalancingPolicyConfigPolicy struct { func (x *BackendServiceLocalityLoadBalancingPolicyConfigPolicy) Reset() { *x = BackendServiceLocalityLoadBalancingPolicyConfigPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[120] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28584,7 +30434,7 @@ func (x *BackendServiceLocalityLoadBalancingPolicyConfigPolicy) String() string func (*BackendServiceLocalityLoadBalancingPolicyConfigPolicy) ProtoMessage() {} func (x *BackendServiceLocalityLoadBalancingPolicyConfigPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[120] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28597,7 +30447,7 @@ func (x *BackendServiceLocalityLoadBalancingPolicyConfigPolicy) ProtoReflect() p // Deprecated: Use BackendServiceLocalityLoadBalancingPolicyConfigPolicy.ProtoReflect.Descriptor instead. func (*BackendServiceLocalityLoadBalancingPolicyConfigPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{120} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{126} } func (x *BackendServiceLocalityLoadBalancingPolicyConfigPolicy) GetName() string { @@ -28627,7 +30477,7 @@ type BackendServiceLogConfig struct { func (x *BackendServiceLogConfig) Reset() { *x = BackendServiceLogConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[121] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28640,7 +30490,7 @@ func (x *BackendServiceLogConfig) String() string { func (*BackendServiceLogConfig) ProtoMessage() {} func (x *BackendServiceLogConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[121] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28653,7 +30503,7 @@ func (x *BackendServiceLogConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceLogConfig.ProtoReflect.Descriptor instead. func (*BackendServiceLogConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{121} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{127} } func (x *BackendServiceLogConfig) GetEnable() bool { @@ -28695,7 +30545,7 @@ type BackendServiceReference struct { func (x *BackendServiceReference) Reset() { *x = BackendServiceReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[122] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28708,7 +30558,7 @@ func (x *BackendServiceReference) String() string { func (*BackendServiceReference) ProtoMessage() {} func (x *BackendServiceReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[122] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28721,7 +30571,7 @@ func (x *BackendServiceReference) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServiceReference.ProtoReflect.Descriptor instead. func (*BackendServiceReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{122} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{128} } func (x *BackendServiceReference) GetBackendService() string { @@ -28731,6 +30581,53 @@ func (x *BackendServiceReference) GetBackendService() string { return "" } +type BackendServiceUsedBy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reference *string `protobuf:"bytes,148586315,opt,name=reference,proto3,oneof" json:"reference,omitempty"` +} + +func (x *BackendServiceUsedBy) Reset() { + *x = BackendServiceUsedBy{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BackendServiceUsedBy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackendServiceUsedBy) ProtoMessage() {} + +func (x *BackendServiceUsedBy) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[129] + 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 BackendServiceUsedBy.ProtoReflect.Descriptor instead. +func (*BackendServiceUsedBy) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{129} +} + +func (x *BackendServiceUsedBy) GetReference() string { + if x != nil && x.Reference != nil { + return *x.Reference + } + return "" +} + type BackendServicesScopedList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -28745,7 +30642,7 @@ type BackendServicesScopedList struct { func (x *BackendServicesScopedList) Reset() { *x = BackendServicesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[123] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28758,7 +30655,7 @@ func (x *BackendServicesScopedList) String() string { func (*BackendServicesScopedList) ProtoMessage() {} func (x *BackendServicesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[123] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28771,7 +30668,7 @@ func (x *BackendServicesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use BackendServicesScopedList.ProtoReflect.Descriptor instead. func (*BackendServicesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{123} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{130} } func (x *BackendServicesScopedList) GetBackendServices() []*BackendService { @@ -28832,7 +30729,7 @@ type BfdPacket struct { func (x *BfdPacket) Reset() { *x = BfdPacket{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[124] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -28845,7 +30742,7 @@ func (x *BfdPacket) String() string { func (*BfdPacket) ProtoMessage() {} func (x *BfdPacket) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[124] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -28858,7 +30755,7 @@ func (x *BfdPacket) ProtoReflect() protoreflect.Message { // Deprecated: Use BfdPacket.ProtoReflect.Descriptor instead. func (*BfdPacket) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{124} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{131} } func (x *BfdPacket) GetAuthenticationPresent() bool { @@ -29007,7 +30904,7 @@ type BfdStatus struct { func (x *BfdStatus) Reset() { *x = BfdStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[125] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29020,7 +30917,7 @@ func (x *BfdStatus) String() string { func (*BfdStatus) ProtoMessage() {} func (x *BfdStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[125] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29033,7 +30930,7 @@ func (x *BfdStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use BfdStatus.ProtoReflect.Descriptor instead. func (*BfdStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{125} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{132} } func (x *BfdStatus) GetBfdSessionInitializationMode() string { @@ -29124,7 +31021,7 @@ type BfdStatusPacketCounts struct { func (x *BfdStatusPacketCounts) Reset() { *x = BfdStatusPacketCounts{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[126] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29137,7 +31034,7 @@ func (x *BfdStatusPacketCounts) String() string { func (*BfdStatusPacketCounts) ProtoMessage() {} func (x *BfdStatusPacketCounts) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[126] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29150,7 +31047,7 @@ func (x *BfdStatusPacketCounts) ProtoReflect() protoreflect.Message { // Deprecated: Use BfdStatusPacketCounts.ProtoReflect.Descriptor instead. func (*BfdStatusPacketCounts) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{126} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{133} } func (x *BfdStatusPacketCounts) GetNumRx() uint32 { @@ -29200,7 +31097,7 @@ type Binding struct { func (x *Binding) Reset() { *x = Binding{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[127] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29213,7 +31110,7 @@ func (x *Binding) String() string { func (*Binding) ProtoMessage() {} func (x *Binding) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[127] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29226,7 +31123,7 @@ func (x *Binding) ProtoReflect() protoreflect.Message { // Deprecated: Use Binding.ProtoReflect.Descriptor instead. func (*Binding) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{127} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{134} } func (x *Binding) GetBindingId() string { @@ -29276,7 +31173,7 @@ type BulkInsertDiskRequest struct { func (x *BulkInsertDiskRequest) Reset() { *x = BulkInsertDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[128] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29289,7 +31186,7 @@ func (x *BulkInsertDiskRequest) String() string { func (*BulkInsertDiskRequest) ProtoMessage() {} func (x *BulkInsertDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[128] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29302,7 +31199,7 @@ func (x *BulkInsertDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkInsertDiskRequest.ProtoReflect.Descriptor instead. func (*BulkInsertDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{128} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{135} } func (x *BulkInsertDiskRequest) GetBulkInsertDiskResourceResource() *BulkInsertDiskResource { @@ -29346,7 +31243,7 @@ type BulkInsertDiskResource struct { func (x *BulkInsertDiskResource) Reset() { *x = BulkInsertDiskResource{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[129] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29359,7 +31256,7 @@ func (x *BulkInsertDiskResource) String() string { func (*BulkInsertDiskResource) ProtoMessage() {} func (x *BulkInsertDiskResource) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[129] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29372,7 +31269,7 @@ func (x *BulkInsertDiskResource) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkInsertDiskResource.ProtoReflect.Descriptor instead. func (*BulkInsertDiskResource) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{129} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{136} } func (x *BulkInsertDiskResource) GetSourceConsistencyGroupPolicy() string { @@ -29401,7 +31298,7 @@ type BulkInsertInstanceRequest struct { func (x *BulkInsertInstanceRequest) Reset() { *x = BulkInsertInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[130] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29414,7 +31311,7 @@ func (x *BulkInsertInstanceRequest) String() string { func (*BulkInsertInstanceRequest) ProtoMessage() {} func (x *BulkInsertInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[130] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29427,7 +31324,7 @@ func (x *BulkInsertInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkInsertInstanceRequest.ProtoReflect.Descriptor instead. func (*BulkInsertInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{130} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{137} } func (x *BulkInsertInstanceRequest) GetBulkInsertInstanceResourceResource() *BulkInsertInstanceResource { @@ -29483,7 +31380,7 @@ type BulkInsertInstanceResource struct { func (x *BulkInsertInstanceResource) Reset() { *x = BulkInsertInstanceResource{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[131] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29496,7 +31393,7 @@ func (x *BulkInsertInstanceResource) String() string { func (*BulkInsertInstanceResource) ProtoMessage() {} func (x *BulkInsertInstanceResource) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[131] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29509,7 +31406,7 @@ func (x *BulkInsertInstanceResource) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkInsertInstanceResource.ProtoReflect.Descriptor instead. func (*BulkInsertInstanceResource) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{131} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{138} } func (x *BulkInsertInstanceResource) GetCount() int64 { @@ -29567,6 +31464,8 @@ type BulkInsertInstanceResourcePerInstanceProperties struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention + Hostname *string `protobuf:"bytes,237067315,opt,name=hostname,proto3,oneof" json:"hostname,omitempty"` // This field is only temporary. It will be removed. Do not use it. Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` } @@ -29574,7 +31473,7 @@ type BulkInsertInstanceResourcePerInstanceProperties struct { func (x *BulkInsertInstanceResourcePerInstanceProperties) Reset() { *x = BulkInsertInstanceResourcePerInstanceProperties{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[132] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29587,7 +31486,7 @@ func (x *BulkInsertInstanceResourcePerInstanceProperties) String() string { func (*BulkInsertInstanceResourcePerInstanceProperties) ProtoMessage() {} func (x *BulkInsertInstanceResourcePerInstanceProperties) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[132] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29600,7 +31499,14 @@ func (x *BulkInsertInstanceResourcePerInstanceProperties) ProtoReflect() protore // Deprecated: Use BulkInsertInstanceResourcePerInstanceProperties.ProtoReflect.Descriptor instead. func (*BulkInsertInstanceResourcePerInstanceProperties) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{132} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{139} +} + +func (x *BulkInsertInstanceResourcePerInstanceProperties) GetHostname() string { + if x != nil && x.Hostname != nil { + return *x.Hostname + } + return "" } func (x *BulkInsertInstanceResourcePerInstanceProperties) GetName() string { @@ -29610,6 +31516,91 @@ func (x *BulkInsertInstanceResourcePerInstanceProperties) GetName() string { return "" } +type BulkInsertOperationStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [Output Only] Count of VMs successfully created so far. + CreatedVmCount *int32 `protobuf:"varint,396924158,opt,name=created_vm_count,json=createdVmCount,proto3,oneof" json:"created_vm_count,omitempty"` + // [Output Only] Count of VMs that got deleted during rollback. + DeletedVmCount *int32 `protobuf:"varint,271756013,opt,name=deleted_vm_count,json=deletedVmCount,proto3,oneof" json:"deleted_vm_count,omitempty"` + // [Output Only] Count of VMs that started creating but encountered an error. + FailedToCreateVmCount *int32 `protobuf:"varint,58384104,opt,name=failed_to_create_vm_count,json=failedToCreateVmCount,proto3,oneof" json:"failed_to_create_vm_count,omitempty"` + // [Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back. + // Check the Status enum for the list of possible values. + Status *string `protobuf:"bytes,181260274,opt,name=status,proto3,oneof" json:"status,omitempty"` + // [Output Only] Count of VMs originally planned to be created. + TargetVmCount *int32 `protobuf:"varint,532975733,opt,name=target_vm_count,json=targetVmCount,proto3,oneof" json:"target_vm_count,omitempty"` +} + +func (x *BulkInsertOperationStatus) Reset() { + *x = BulkInsertOperationStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BulkInsertOperationStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BulkInsertOperationStatus) ProtoMessage() {} + +func (x *BulkInsertOperationStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[140] + 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 BulkInsertOperationStatus.ProtoReflect.Descriptor instead. +func (*BulkInsertOperationStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{140} +} + +func (x *BulkInsertOperationStatus) GetCreatedVmCount() int32 { + if x != nil && x.CreatedVmCount != nil { + return *x.CreatedVmCount + } + return 0 +} + +func (x *BulkInsertOperationStatus) GetDeletedVmCount() int32 { + if x != nil && x.DeletedVmCount != nil { + return *x.DeletedVmCount + } + return 0 +} + +func (x *BulkInsertOperationStatus) GetFailedToCreateVmCount() int32 { + if x != nil && x.FailedToCreateVmCount != nil { + return *x.FailedToCreateVmCount + } + return 0 +} + +func (x *BulkInsertOperationStatus) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +func (x *BulkInsertOperationStatus) GetTargetVmCount() int32 { + if x != nil && x.TargetVmCount != nil { + return *x.TargetVmCount + } + return 0 +} + // A request message for RegionDisks.BulkInsert. See the method description for details. type BulkInsertRegionDiskRequest struct { state protoimpl.MessageState @@ -29629,7 +31620,7 @@ type BulkInsertRegionDiskRequest struct { func (x *BulkInsertRegionDiskRequest) Reset() { *x = BulkInsertRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[133] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29642,7 +31633,7 @@ func (x *BulkInsertRegionDiskRequest) String() string { func (*BulkInsertRegionDiskRequest) ProtoMessage() {} func (x *BulkInsertRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[133] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29655,7 +31646,7 @@ func (x *BulkInsertRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkInsertRegionDiskRequest.ProtoReflect.Descriptor instead. func (*BulkInsertRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{133} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{141} } func (x *BulkInsertRegionDiskRequest) GetBulkInsertDiskResourceResource() *BulkInsertDiskResource { @@ -29705,7 +31696,7 @@ type BulkInsertRegionInstanceRequest struct { func (x *BulkInsertRegionInstanceRequest) Reset() { *x = BulkInsertRegionInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[134] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29718,7 +31709,7 @@ func (x *BulkInsertRegionInstanceRequest) String() string { func (*BulkInsertRegionInstanceRequest) ProtoMessage() {} func (x *BulkInsertRegionInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[134] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29731,7 +31722,7 @@ func (x *BulkInsertRegionInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BulkInsertRegionInstanceRequest.ProtoReflect.Descriptor instead. func (*BulkInsertRegionInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{134} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{142} } func (x *BulkInsertRegionInstanceRequest) GetBulkInsertInstanceResourceResource() *BulkInsertInstanceResource { @@ -29775,7 +31766,7 @@ type CacheInvalidationRule struct { func (x *CacheInvalidationRule) Reset() { *x = CacheInvalidationRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[135] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29788,7 +31779,7 @@ func (x *CacheInvalidationRule) String() string { func (*CacheInvalidationRule) ProtoMessage() {} func (x *CacheInvalidationRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[135] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29801,7 +31792,7 @@ func (x *CacheInvalidationRule) ProtoReflect() protoreflect.Message { // Deprecated: Use CacheInvalidationRule.ProtoReflect.Descriptor instead. func (*CacheInvalidationRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{135} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{143} } func (x *CacheInvalidationRule) GetHost() string { @@ -29843,7 +31834,7 @@ type CacheKeyPolicy struct { func (x *CacheKeyPolicy) Reset() { *x = CacheKeyPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[136] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29856,7 +31847,7 @@ func (x *CacheKeyPolicy) String() string { func (*CacheKeyPolicy) ProtoMessage() {} func (x *CacheKeyPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[136] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29869,7 +31860,7 @@ func (x *CacheKeyPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use CacheKeyPolicy.ProtoReflect.Descriptor instead. func (*CacheKeyPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{136} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{144} } func (x *CacheKeyPolicy) GetIncludeHost() bool { @@ -29942,7 +31933,7 @@ type CircuitBreakers struct { func (x *CircuitBreakers) Reset() { *x = CircuitBreakers{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[137] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -29955,7 +31946,7 @@ func (x *CircuitBreakers) String() string { func (*CircuitBreakers) ProtoMessage() {} func (x *CircuitBreakers) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[137] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -29968,7 +31959,7 @@ func (x *CircuitBreakers) ProtoReflect() protoreflect.Message { // Deprecated: Use CircuitBreakers.ProtoReflect.Descriptor instead. func (*CircuitBreakers) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{137} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{145} } func (x *CircuitBreakers) GetMaxConnections() int32 { @@ -30023,7 +32014,7 @@ type CloneRulesFirewallPolicyRequest struct { func (x *CloneRulesFirewallPolicyRequest) Reset() { *x = CloneRulesFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[138] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30036,7 +32027,7 @@ func (x *CloneRulesFirewallPolicyRequest) String() string { func (*CloneRulesFirewallPolicyRequest) ProtoMessage() {} func (x *CloneRulesFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[138] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30049,7 +32040,7 @@ func (x *CloneRulesFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CloneRulesFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*CloneRulesFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{138} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{146} } func (x *CloneRulesFirewallPolicyRequest) GetFirewallPolicy() string { @@ -30092,7 +32083,7 @@ type CloneRulesNetworkFirewallPolicyRequest struct { func (x *CloneRulesNetworkFirewallPolicyRequest) Reset() { *x = CloneRulesNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[139] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30105,7 +32096,7 @@ func (x *CloneRulesNetworkFirewallPolicyRequest) String() string { func (*CloneRulesNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *CloneRulesNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[139] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30118,7 +32109,7 @@ func (x *CloneRulesNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use CloneRulesNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*CloneRulesNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{139} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{147} } func (x *CloneRulesNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -30170,7 +32161,7 @@ type CloneRulesRegionNetworkFirewallPolicyRequest struct { func (x *CloneRulesRegionNetworkFirewallPolicyRequest) Reset() { *x = CloneRulesRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[140] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30183,7 +32174,7 @@ func (x *CloneRulesRegionNetworkFirewallPolicyRequest) String() string { func (*CloneRulesRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *CloneRulesRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[140] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30196,7 +32187,7 @@ func (x *CloneRulesRegionNetworkFirewallPolicyRequest) ProtoReflect() protorefle // Deprecated: Use CloneRulesRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*CloneRulesRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{140} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{148} } func (x *CloneRulesRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -30266,7 +32257,7 @@ type Commitment struct { Plan *string `protobuf:"bytes,3443497,opt,name=plan,proto3,oneof" json:"plan,omitempty"` // [Output Only] URL of the region where this commitment may be used. Region *string `protobuf:"bytes,138946292,opt,name=region,proto3,oneof" json:"region,omitempty"` - // List of reservations in this commitment. + // List of create-on-create reseravtions for this commitment. Reservations []*Reservation `protobuf:"bytes,399717927,rep,name=reservations,proto3" json:"reservations,omitempty"` // A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together. Resources []*ResourceCommitment `protobuf:"bytes,164412965,rep,name=resources,proto3" json:"resources,omitempty"` @@ -30289,7 +32280,7 @@ type Commitment struct { func (x *Commitment) Reset() { *x = Commitment{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[141] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30302,7 +32293,7 @@ func (x *Commitment) String() string { func (*Commitment) ProtoMessage() {} func (x *Commitment) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[141] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30315,7 +32306,7 @@ func (x *Commitment) ProtoReflect() protoreflect.Message { // Deprecated: Use Commitment.ProtoReflect.Descriptor instead. func (*Commitment) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{141} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{149} } func (x *Commitment) GetAutoRenew() bool { @@ -30482,7 +32473,7 @@ type CommitmentAggregatedList struct { func (x *CommitmentAggregatedList) Reset() { *x = CommitmentAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[142] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30495,7 +32486,7 @@ func (x *CommitmentAggregatedList) String() string { func (*CommitmentAggregatedList) ProtoMessage() {} func (x *CommitmentAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[142] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30508,7 +32499,7 @@ func (x *CommitmentAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitmentAggregatedList.ProtoReflect.Descriptor instead. func (*CommitmentAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{142} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{150} } func (x *CommitmentAggregatedList) GetId() string { @@ -30583,7 +32574,7 @@ type CommitmentList struct { func (x *CommitmentList) Reset() { *x = CommitmentList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[143] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30596,7 +32587,7 @@ func (x *CommitmentList) String() string { func (*CommitmentList) ProtoMessage() {} func (x *CommitmentList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[143] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30609,7 +32600,7 @@ func (x *CommitmentList) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitmentList.ProtoReflect.Descriptor instead. func (*CommitmentList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{143} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{151} } func (x *CommitmentList) GetId() string { @@ -30668,7 +32659,7 @@ type CommitmentsScopedList struct { func (x *CommitmentsScopedList) Reset() { *x = CommitmentsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[144] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30681,7 +32672,7 @@ func (x *CommitmentsScopedList) String() string { func (*CommitmentsScopedList) ProtoMessage() {} func (x *CommitmentsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[144] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30694,7 +32685,7 @@ func (x *CommitmentsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use CommitmentsScopedList.ProtoReflect.Descriptor instead. func (*CommitmentsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{144} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{152} } func (x *CommitmentsScopedList) GetCommitments() []*Commitment { @@ -30735,7 +32726,7 @@ type Condition struct { func (x *Condition) Reset() { *x = Condition{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[145] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30748,7 +32739,7 @@ func (x *Condition) String() string { func (*Condition) ProtoMessage() {} func (x *Condition) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[145] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30761,7 +32752,7 @@ func (x *Condition) ProtoReflect() protoreflect.Message { // Deprecated: Use Condition.ProtoReflect.Descriptor instead. func (*Condition) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{145} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{153} } func (x *Condition) GetIam() string { @@ -30812,7 +32803,7 @@ type ConfidentialInstanceConfig struct { func (x *ConfidentialInstanceConfig) Reset() { *x = ConfidentialInstanceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[146] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30825,7 +32816,7 @@ func (x *ConfidentialInstanceConfig) String() string { func (*ConfidentialInstanceConfig) ProtoMessage() {} func (x *ConfidentialInstanceConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[146] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30838,7 +32829,7 @@ func (x *ConfidentialInstanceConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfidentialInstanceConfig.ProtoReflect.Descriptor instead. func (*ConfidentialInstanceConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{146} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{154} } func (x *ConfidentialInstanceConfig) GetEnableConfidentialCompute() bool { @@ -30861,7 +32852,7 @@ type ConnectionDraining struct { func (x *ConnectionDraining) Reset() { *x = ConnectionDraining{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[147] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30874,7 +32865,7 @@ func (x *ConnectionDraining) String() string { func (*ConnectionDraining) ProtoMessage() {} func (x *ConnectionDraining) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[147] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30887,7 +32878,7 @@ func (x *ConnectionDraining) ProtoReflect() protoreflect.Message { // Deprecated: Use ConnectionDraining.ProtoReflect.Descriptor instead. func (*ConnectionDraining) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{147} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{155} } func (x *ConnectionDraining) GetDrainingTimeoutSec() int32 { @@ -30914,7 +32905,7 @@ type ConsistentHashLoadBalancerSettings struct { func (x *ConsistentHashLoadBalancerSettings) Reset() { *x = ConsistentHashLoadBalancerSettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[148] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30927,7 +32918,7 @@ func (x *ConsistentHashLoadBalancerSettings) String() string { func (*ConsistentHashLoadBalancerSettings) ProtoMessage() {} func (x *ConsistentHashLoadBalancerSettings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[148] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -30940,7 +32931,7 @@ func (x *ConsistentHashLoadBalancerSettings) ProtoReflect() protoreflect.Message // Deprecated: Use ConsistentHashLoadBalancerSettings.ProtoReflect.Descriptor instead. func (*ConsistentHashLoadBalancerSettings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{148} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{156} } func (x *ConsistentHashLoadBalancerSettings) GetHttpCookie() *ConsistentHashLoadBalancerSettingsHttpCookie { @@ -30981,7 +32972,7 @@ type ConsistentHashLoadBalancerSettingsHttpCookie struct { func (x *ConsistentHashLoadBalancerSettingsHttpCookie) Reset() { *x = ConsistentHashLoadBalancerSettingsHttpCookie{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[149] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -30994,7 +32985,7 @@ func (x *ConsistentHashLoadBalancerSettingsHttpCookie) String() string { func (*ConsistentHashLoadBalancerSettingsHttpCookie) ProtoMessage() {} func (x *ConsistentHashLoadBalancerSettingsHttpCookie) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[149] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31007,7 +32998,7 @@ func (x *ConsistentHashLoadBalancerSettingsHttpCookie) ProtoReflect() protorefle // Deprecated: Use ConsistentHashLoadBalancerSettingsHttpCookie.ProtoReflect.Descriptor instead. func (*ConsistentHashLoadBalancerSettingsHttpCookie) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{149} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{157} } func (x *ConsistentHashLoadBalancerSettingsHttpCookie) GetName() string { @@ -31058,7 +33049,7 @@ type CorsPolicy struct { func (x *CorsPolicy) Reset() { *x = CorsPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[150] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31071,7 +33062,7 @@ func (x *CorsPolicy) String() string { func (*CorsPolicy) ProtoMessage() {} func (x *CorsPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[150] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31084,7 +33075,7 @@ func (x *CorsPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use CorsPolicy.ProtoReflect.Descriptor instead. func (*CorsPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{150} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{158} } func (x *CorsPolicy) GetAllowCredentials() bool { @@ -31164,7 +33155,7 @@ type CreateInstancesInstanceGroupManagerRequest struct { func (x *CreateInstancesInstanceGroupManagerRequest) Reset() { *x = CreateInstancesInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[151] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31177,7 +33168,7 @@ func (x *CreateInstancesInstanceGroupManagerRequest) String() string { func (*CreateInstancesInstanceGroupManagerRequest) ProtoMessage() {} func (x *CreateInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[151] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31190,7 +33181,7 @@ func (x *CreateInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflect // Deprecated: Use CreateInstancesInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*CreateInstancesInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{151} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{159} } func (x *CreateInstancesInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -31249,7 +33240,7 @@ type CreateInstancesRegionInstanceGroupManagerRequest struct { func (x *CreateInstancesRegionInstanceGroupManagerRequest) Reset() { *x = CreateInstancesRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[152] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31262,7 +33253,7 @@ func (x *CreateInstancesRegionInstanceGroupManagerRequest) String() string { func (*CreateInstancesRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *CreateInstancesRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[152] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31275,7 +33266,7 @@ func (x *CreateInstancesRegionInstanceGroupManagerRequest) ProtoReflect() protor // Deprecated: Use CreateInstancesRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*CreateInstancesRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{152} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{160} } func (x *CreateInstancesRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -31336,7 +33327,7 @@ type CreateSnapshotDiskRequest struct { func (x *CreateSnapshotDiskRequest) Reset() { *x = CreateSnapshotDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[153] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31349,7 +33340,7 @@ func (x *CreateSnapshotDiskRequest) String() string { func (*CreateSnapshotDiskRequest) ProtoMessage() {} func (x *CreateSnapshotDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[153] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31362,7 +33353,7 @@ func (x *CreateSnapshotDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSnapshotDiskRequest.ProtoReflect.Descriptor instead. func (*CreateSnapshotDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{153} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{161} } func (x *CreateSnapshotDiskRequest) GetDisk() string { @@ -31428,7 +33419,7 @@ type CreateSnapshotRegionDiskRequest struct { func (x *CreateSnapshotRegionDiskRequest) Reset() { *x = CreateSnapshotRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[154] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31441,7 +33432,7 @@ func (x *CreateSnapshotRegionDiskRequest) String() string { func (*CreateSnapshotRegionDiskRequest) ProtoMessage() {} func (x *CreateSnapshotRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[154] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31454,7 +33445,7 @@ func (x *CreateSnapshotRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateSnapshotRegionDiskRequest.ProtoReflect.Descriptor instead. func (*CreateSnapshotRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{154} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{162} } func (x *CreateSnapshotRegionDiskRequest) GetDisk() string { @@ -31512,7 +33503,7 @@ type CustomerEncryptionKey struct { func (x *CustomerEncryptionKey) Reset() { *x = CustomerEncryptionKey{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[155] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31525,7 +33516,7 @@ func (x *CustomerEncryptionKey) String() string { func (*CustomerEncryptionKey) ProtoMessage() {} func (x *CustomerEncryptionKey) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[155] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31538,7 +33529,7 @@ func (x *CustomerEncryptionKey) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomerEncryptionKey.ProtoReflect.Descriptor instead. func (*CustomerEncryptionKey) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{155} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{163} } func (x *CustomerEncryptionKey) GetKmsKeyName() string { @@ -31590,7 +33581,7 @@ type CustomerEncryptionKeyProtectedDisk struct { func (x *CustomerEncryptionKeyProtectedDisk) Reset() { *x = CustomerEncryptionKeyProtectedDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[156] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31603,7 +33594,7 @@ func (x *CustomerEncryptionKeyProtectedDisk) String() string { func (*CustomerEncryptionKeyProtectedDisk) ProtoMessage() {} func (x *CustomerEncryptionKeyProtectedDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[156] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31616,7 +33607,7 @@ func (x *CustomerEncryptionKeyProtectedDisk) ProtoReflect() protoreflect.Message // Deprecated: Use CustomerEncryptionKeyProtectedDisk.ProtoReflect.Descriptor instead. func (*CustomerEncryptionKeyProtectedDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{156} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{164} } func (x *CustomerEncryptionKeyProtectedDisk) GetDiskEncryptionKey() *CustomerEncryptionKey { @@ -31647,7 +33638,7 @@ type Data struct { func (x *Data) Reset() { *x = Data{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[157] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31660,7 +33651,7 @@ func (x *Data) String() string { func (*Data) ProtoMessage() {} func (x *Data) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[157] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31673,7 +33664,7 @@ func (x *Data) ProtoReflect() protoreflect.Message { // Deprecated: Use Data.ProtoReflect.Descriptor instead. func (*Data) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{157} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{165} } func (x *Data) GetKey() string { @@ -31713,7 +33704,7 @@ type DeleteAccessConfigInstanceRequest struct { func (x *DeleteAccessConfigInstanceRequest) Reset() { *x = DeleteAccessConfigInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[158] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31726,7 +33717,7 @@ func (x *DeleteAccessConfigInstanceRequest) String() string { func (*DeleteAccessConfigInstanceRequest) ProtoMessage() {} func (x *DeleteAccessConfigInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[158] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31739,7 +33730,7 @@ func (x *DeleteAccessConfigInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteAccessConfigInstanceRequest.ProtoReflect.Descriptor instead. func (*DeleteAccessConfigInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{158} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{166} } func (x *DeleteAccessConfigInstanceRequest) GetAccessConfig() string { @@ -31803,7 +33794,7 @@ type DeleteAddressRequest struct { func (x *DeleteAddressRequest) Reset() { *x = DeleteAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[159] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31816,7 +33807,7 @@ func (x *DeleteAddressRequest) String() string { func (*DeleteAddressRequest) ProtoMessage() {} func (x *DeleteAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[159] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31829,7 +33820,7 @@ func (x *DeleteAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAddressRequest.ProtoReflect.Descriptor instead. func (*DeleteAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{159} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{167} } func (x *DeleteAddressRequest) GetAddress() string { @@ -31879,7 +33870,7 @@ type DeleteAutoscalerRequest struct { func (x *DeleteAutoscalerRequest) Reset() { *x = DeleteAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[160] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31892,7 +33883,7 @@ func (x *DeleteAutoscalerRequest) String() string { func (*DeleteAutoscalerRequest) ProtoMessage() {} func (x *DeleteAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[160] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31905,7 +33896,7 @@ func (x *DeleteAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAutoscalerRequest.ProtoReflect.Descriptor instead. func (*DeleteAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{160} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{168} } func (x *DeleteAutoscalerRequest) GetAutoscaler() string { @@ -31953,7 +33944,7 @@ type DeleteBackendBucketRequest struct { func (x *DeleteBackendBucketRequest) Reset() { *x = DeleteBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[161] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -31966,7 +33957,7 @@ func (x *DeleteBackendBucketRequest) String() string { func (*DeleteBackendBucketRequest) ProtoMessage() {} func (x *DeleteBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[161] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -31979,7 +33970,7 @@ func (x *DeleteBackendBucketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBackendBucketRequest.ProtoReflect.Descriptor instead. func (*DeleteBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{161} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{169} } func (x *DeleteBackendBucketRequest) GetBackendBucket() string { @@ -32020,7 +34011,7 @@ type DeleteBackendServiceRequest struct { func (x *DeleteBackendServiceRequest) Reset() { *x = DeleteBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[162] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32033,7 +34024,7 @@ func (x *DeleteBackendServiceRequest) String() string { func (*DeleteBackendServiceRequest) ProtoMessage() {} func (x *DeleteBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[162] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32046,7 +34037,7 @@ func (x *DeleteBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteBackendServiceRequest.ProtoReflect.Descriptor instead. func (*DeleteBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{162} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{170} } func (x *DeleteBackendServiceRequest) GetBackendService() string { @@ -32089,7 +34080,7 @@ type DeleteDiskRequest struct { func (x *DeleteDiskRequest) Reset() { *x = DeleteDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[163] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32102,7 +34093,7 @@ func (x *DeleteDiskRequest) String() string { func (*DeleteDiskRequest) ProtoMessage() {} func (x *DeleteDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[163] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32115,7 +34106,7 @@ func (x *DeleteDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteDiskRequest.ProtoReflect.Descriptor instead. func (*DeleteDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{163} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{171} } func (x *DeleteDiskRequest) GetDisk() string { @@ -32163,7 +34154,7 @@ type DeleteExternalVpnGatewayRequest struct { func (x *DeleteExternalVpnGatewayRequest) Reset() { *x = DeleteExternalVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[164] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32176,7 +34167,7 @@ func (x *DeleteExternalVpnGatewayRequest) String() string { func (*DeleteExternalVpnGatewayRequest) ProtoMessage() {} func (x *DeleteExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[164] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32189,7 +34180,7 @@ func (x *DeleteExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteExternalVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*DeleteExternalVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{164} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{172} } func (x *DeleteExternalVpnGatewayRequest) GetExternalVpnGateway() string { @@ -32228,7 +34219,7 @@ type DeleteFirewallPolicyRequest struct { func (x *DeleteFirewallPolicyRequest) Reset() { *x = DeleteFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[165] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32241,7 +34232,7 @@ func (x *DeleteFirewallPolicyRequest) String() string { func (*DeleteFirewallPolicyRequest) ProtoMessage() {} func (x *DeleteFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[165] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32254,7 +34245,7 @@ func (x *DeleteFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{165} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{173} } func (x *DeleteFirewallPolicyRequest) GetFirewallPolicy() string { @@ -32288,7 +34279,7 @@ type DeleteFirewallRequest struct { func (x *DeleteFirewallRequest) Reset() { *x = DeleteFirewallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[166] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32301,7 +34292,7 @@ func (x *DeleteFirewallRequest) String() string { func (*DeleteFirewallRequest) ProtoMessage() {} func (x *DeleteFirewallRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[166] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32314,7 +34305,7 @@ func (x *DeleteFirewallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteFirewallRequest.ProtoReflect.Descriptor instead. func (*DeleteFirewallRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{166} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{174} } func (x *DeleteFirewallRequest) GetFirewall() string { @@ -32357,7 +34348,7 @@ type DeleteForwardingRuleRequest struct { func (x *DeleteForwardingRuleRequest) Reset() { *x = DeleteForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[167] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32370,7 +34361,7 @@ func (x *DeleteForwardingRuleRequest) String() string { func (*DeleteForwardingRuleRequest) ProtoMessage() {} func (x *DeleteForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[167] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32383,7 +34374,7 @@ func (x *DeleteForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*DeleteForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{167} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{175} } func (x *DeleteForwardingRuleRequest) GetForwardingRule() string { @@ -32431,7 +34422,7 @@ type DeleteGlobalAddressRequest struct { func (x *DeleteGlobalAddressRequest) Reset() { *x = DeleteGlobalAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[168] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32444,7 +34435,7 @@ func (x *DeleteGlobalAddressRequest) String() string { func (*DeleteGlobalAddressRequest) ProtoMessage() {} func (x *DeleteGlobalAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[168] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32457,7 +34448,7 @@ func (x *DeleteGlobalAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGlobalAddressRequest.ProtoReflect.Descriptor instead. func (*DeleteGlobalAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{168} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{176} } func (x *DeleteGlobalAddressRequest) GetAddress() string { @@ -32498,7 +34489,7 @@ type DeleteGlobalForwardingRuleRequest struct { func (x *DeleteGlobalForwardingRuleRequest) Reset() { *x = DeleteGlobalForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[169] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32511,7 +34502,7 @@ func (x *DeleteGlobalForwardingRuleRequest) String() string { func (*DeleteGlobalForwardingRuleRequest) ProtoMessage() {} func (x *DeleteGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[169] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32524,7 +34515,7 @@ func (x *DeleteGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteGlobalForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*DeleteGlobalForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{169} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{177} } func (x *DeleteGlobalForwardingRuleRequest) GetForwardingRule() string { @@ -32565,7 +34556,7 @@ type DeleteGlobalNetworkEndpointGroupRequest struct { func (x *DeleteGlobalNetworkEndpointGroupRequest) Reset() { *x = DeleteGlobalNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[170] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32578,7 +34569,7 @@ func (x *DeleteGlobalNetworkEndpointGroupRequest) String() string { func (*DeleteGlobalNetworkEndpointGroupRequest) ProtoMessage() {} func (x *DeleteGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[170] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32591,7 +34582,7 @@ func (x *DeleteGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Me // Deprecated: Use DeleteGlobalNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteGlobalNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{170} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{178} } func (x *DeleteGlobalNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -32630,7 +34621,7 @@ type DeleteGlobalOperationRequest struct { func (x *DeleteGlobalOperationRequest) Reset() { *x = DeleteGlobalOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[171] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32643,7 +34634,7 @@ func (x *DeleteGlobalOperationRequest) String() string { func (*DeleteGlobalOperationRequest) ProtoMessage() {} func (x *DeleteGlobalOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[171] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32656,7 +34647,7 @@ func (x *DeleteGlobalOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGlobalOperationRequest.ProtoReflect.Descriptor instead. func (*DeleteGlobalOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{171} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{179} } func (x *DeleteGlobalOperationRequest) GetOperation() string { @@ -32683,7 +34674,7 @@ type DeleteGlobalOperationResponse struct { func (x *DeleteGlobalOperationResponse) Reset() { *x = DeleteGlobalOperationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[172] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32696,7 +34687,7 @@ func (x *DeleteGlobalOperationResponse) String() string { func (*DeleteGlobalOperationResponse) ProtoMessage() {} func (x *DeleteGlobalOperationResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[172] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32709,7 +34700,7 @@ func (x *DeleteGlobalOperationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGlobalOperationResponse.ProtoReflect.Descriptor instead. func (*DeleteGlobalOperationResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{172} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{180} } // A request message for GlobalOrganizationOperations.Delete. See the method description for details. @@ -32727,7 +34718,7 @@ type DeleteGlobalOrganizationOperationRequest struct { func (x *DeleteGlobalOrganizationOperationRequest) Reset() { *x = DeleteGlobalOrganizationOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[173] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32740,7 +34731,7 @@ func (x *DeleteGlobalOrganizationOperationRequest) String() string { func (*DeleteGlobalOrganizationOperationRequest) ProtoMessage() {} func (x *DeleteGlobalOrganizationOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[173] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32753,7 +34744,7 @@ func (x *DeleteGlobalOrganizationOperationRequest) ProtoReflect() protoreflect.M // Deprecated: Use DeleteGlobalOrganizationOperationRequest.ProtoReflect.Descriptor instead. func (*DeleteGlobalOrganizationOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{173} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{181} } func (x *DeleteGlobalOrganizationOperationRequest) GetOperation() string { @@ -32780,7 +34771,7 @@ type DeleteGlobalOrganizationOperationResponse struct { func (x *DeleteGlobalOrganizationOperationResponse) Reset() { *x = DeleteGlobalOrganizationOperationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[174] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32793,7 +34784,7 @@ func (x *DeleteGlobalOrganizationOperationResponse) String() string { func (*DeleteGlobalOrganizationOperationResponse) ProtoMessage() {} func (x *DeleteGlobalOrganizationOperationResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[174] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32806,7 +34797,7 @@ func (x *DeleteGlobalOrganizationOperationResponse) ProtoReflect() protoreflect. // Deprecated: Use DeleteGlobalOrganizationOperationResponse.ProtoReflect.Descriptor instead. func (*DeleteGlobalOrganizationOperationResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{174} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{182} } // A request message for GlobalPublicDelegatedPrefixes.Delete. See the method description for details. @@ -32826,7 +34817,7 @@ type DeleteGlobalPublicDelegatedPrefixeRequest struct { func (x *DeleteGlobalPublicDelegatedPrefixeRequest) Reset() { *x = DeleteGlobalPublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[175] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32839,7 +34830,7 @@ func (x *DeleteGlobalPublicDelegatedPrefixeRequest) String() string { func (*DeleteGlobalPublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *DeleteGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[175] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32852,7 +34843,7 @@ func (x *DeleteGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect. // Deprecated: Use DeleteGlobalPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*DeleteGlobalPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{175} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{183} } func (x *DeleteGlobalPublicDelegatedPrefixeRequest) GetProject() string { @@ -32893,7 +34884,7 @@ type DeleteHealthCheckRequest struct { func (x *DeleteHealthCheckRequest) Reset() { *x = DeleteHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[176] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32906,7 +34897,7 @@ func (x *DeleteHealthCheckRequest) String() string { func (*DeleteHealthCheckRequest) ProtoMessage() {} func (x *DeleteHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[176] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32919,7 +34910,7 @@ func (x *DeleteHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteHealthCheckRequest.ProtoReflect.Descriptor instead. func (*DeleteHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{176} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{184} } func (x *DeleteHealthCheckRequest) GetHealthCheck() string { @@ -32960,7 +34951,7 @@ type DeleteImageRequest struct { func (x *DeleteImageRequest) Reset() { *x = DeleteImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[177] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -32973,7 +34964,7 @@ func (x *DeleteImageRequest) String() string { func (*DeleteImageRequest) ProtoMessage() {} func (x *DeleteImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[177] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -32986,7 +34977,7 @@ func (x *DeleteImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteImageRequest.ProtoReflect.Descriptor instead. func (*DeleteImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{177} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{185} } func (x *DeleteImageRequest) GetImage() string { @@ -33029,7 +35020,7 @@ type DeleteInstanceGroupManagerRequest struct { func (x *DeleteInstanceGroupManagerRequest) Reset() { *x = DeleteInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[178] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33042,7 +35033,7 @@ func (x *DeleteInstanceGroupManagerRequest) String() string { func (*DeleteInstanceGroupManagerRequest) ProtoMessage() {} func (x *DeleteInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[178] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33055,7 +35046,7 @@ func (x *DeleteInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*DeleteInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{178} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{186} } func (x *DeleteInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -33105,7 +35096,7 @@ type DeleteInstanceGroupRequest struct { func (x *DeleteInstanceGroupRequest) Reset() { *x = DeleteInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[179] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33118,7 +35109,7 @@ func (x *DeleteInstanceGroupRequest) String() string { func (*DeleteInstanceGroupRequest) ProtoMessage() {} func (x *DeleteInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[179] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33131,7 +35122,7 @@ func (x *DeleteInstanceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{179} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{187} } func (x *DeleteInstanceGroupRequest) GetInstanceGroup() string { @@ -33181,7 +35172,7 @@ type DeleteInstanceRequest struct { func (x *DeleteInstanceRequest) Reset() { *x = DeleteInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[180] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33194,7 +35185,7 @@ func (x *DeleteInstanceRequest) String() string { func (*DeleteInstanceRequest) ProtoMessage() {} func (x *DeleteInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[180] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33207,7 +35198,7 @@ func (x *DeleteInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteInstanceRequest.ProtoReflect.Descriptor instead. func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{180} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{188} } func (x *DeleteInstanceRequest) GetInstance() string { @@ -33255,7 +35246,7 @@ type DeleteInstanceTemplateRequest struct { func (x *DeleteInstanceTemplateRequest) Reset() { *x = DeleteInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[181] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33268,7 +35259,7 @@ func (x *DeleteInstanceTemplateRequest) String() string { func (*DeleteInstanceTemplateRequest) ProtoMessage() {} func (x *DeleteInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[181] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33281,7 +35272,7 @@ func (x *DeleteInstanceTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*DeleteInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{181} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{189} } func (x *DeleteInstanceTemplateRequest) GetInstanceTemplate() string { @@ -33326,7 +35317,7 @@ type DeleteInstancesInstanceGroupManagerRequest struct { func (x *DeleteInstancesInstanceGroupManagerRequest) Reset() { *x = DeleteInstancesInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[182] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33339,7 +35330,7 @@ func (x *DeleteInstancesInstanceGroupManagerRequest) String() string { func (*DeleteInstancesInstanceGroupManagerRequest) ProtoMessage() {} func (x *DeleteInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[182] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33352,7 +35343,7 @@ func (x *DeleteInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflect // Deprecated: Use DeleteInstancesInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*DeleteInstancesInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{182} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{190} } func (x *DeleteInstancesInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -33411,7 +35402,7 @@ type DeleteInstancesRegionInstanceGroupManagerRequest struct { func (x *DeleteInstancesRegionInstanceGroupManagerRequest) Reset() { *x = DeleteInstancesRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[183] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33424,7 +35415,7 @@ func (x *DeleteInstancesRegionInstanceGroupManagerRequest) String() string { func (*DeleteInstancesRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *DeleteInstancesRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[183] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33437,7 +35428,7 @@ func (x *DeleteInstancesRegionInstanceGroupManagerRequest) ProtoReflect() protor // Deprecated: Use DeleteInstancesRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*DeleteInstancesRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{183} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{191} } func (x *DeleteInstancesRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -33494,7 +35485,7 @@ type DeleteInterconnectAttachmentRequest struct { func (x *DeleteInterconnectAttachmentRequest) Reset() { *x = DeleteInterconnectAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[184] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33507,7 +35498,7 @@ func (x *DeleteInterconnectAttachmentRequest) String() string { func (*DeleteInterconnectAttachmentRequest) ProtoMessage() {} func (x *DeleteInterconnectAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[184] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33520,7 +35511,7 @@ func (x *DeleteInterconnectAttachmentRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use DeleteInterconnectAttachmentRequest.ProtoReflect.Descriptor instead. func (*DeleteInterconnectAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{184} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{192} } func (x *DeleteInterconnectAttachmentRequest) GetInterconnectAttachment() string { @@ -33568,7 +35559,7 @@ type DeleteInterconnectRequest struct { func (x *DeleteInterconnectRequest) Reset() { *x = DeleteInterconnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[185] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33581,7 +35572,7 @@ func (x *DeleteInterconnectRequest) String() string { func (*DeleteInterconnectRequest) ProtoMessage() {} func (x *DeleteInterconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[185] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33594,7 +35585,7 @@ func (x *DeleteInterconnectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteInterconnectRequest.ProtoReflect.Descriptor instead. func (*DeleteInterconnectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{185} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{193} } func (x *DeleteInterconnectRequest) GetInterconnect() string { @@ -33635,7 +35626,7 @@ type DeleteLicenseRequest struct { func (x *DeleteLicenseRequest) Reset() { *x = DeleteLicenseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[186] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33648,7 +35639,7 @@ func (x *DeleteLicenseRequest) String() string { func (*DeleteLicenseRequest) ProtoMessage() {} func (x *DeleteLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[186] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33661,7 +35652,7 @@ func (x *DeleteLicenseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteLicenseRequest.ProtoReflect.Descriptor instead. func (*DeleteLicenseRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{186} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{194} } func (x *DeleteLicenseRequest) GetLicense() string { @@ -33702,7 +35693,7 @@ type DeleteMachineImageRequest struct { func (x *DeleteMachineImageRequest) Reset() { *x = DeleteMachineImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[187] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33715,7 +35706,7 @@ func (x *DeleteMachineImageRequest) String() string { func (*DeleteMachineImageRequest) ProtoMessage() {} func (x *DeleteMachineImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[187] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33728,7 +35719,7 @@ func (x *DeleteMachineImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteMachineImageRequest.ProtoReflect.Descriptor instead. func (*DeleteMachineImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{187} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{195} } func (x *DeleteMachineImageRequest) GetMachineImage() string { @@ -33771,7 +35762,7 @@ type DeleteNetworkAttachmentRequest struct { func (x *DeleteNetworkAttachmentRequest) Reset() { *x = DeleteNetworkAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[188] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33784,7 +35775,7 @@ func (x *DeleteNetworkAttachmentRequest) String() string { func (*DeleteNetworkAttachmentRequest) ProtoMessage() {} func (x *DeleteNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[188] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33797,7 +35788,7 @@ func (x *DeleteNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNetworkAttachmentRequest.ProtoReflect.Descriptor instead. func (*DeleteNetworkAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{188} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{196} } func (x *DeleteNetworkAttachmentRequest) GetNetworkAttachment() string { @@ -33847,7 +35838,7 @@ type DeleteNetworkEdgeSecurityServiceRequest struct { func (x *DeleteNetworkEdgeSecurityServiceRequest) Reset() { *x = DeleteNetworkEdgeSecurityServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[189] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33860,7 +35851,7 @@ func (x *DeleteNetworkEdgeSecurityServiceRequest) String() string { func (*DeleteNetworkEdgeSecurityServiceRequest) ProtoMessage() {} func (x *DeleteNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[189] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[197] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33873,7 +35864,7 @@ func (x *DeleteNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Me // Deprecated: Use DeleteNetworkEdgeSecurityServiceRequest.ProtoReflect.Descriptor instead. func (*DeleteNetworkEdgeSecurityServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{189} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{197} } func (x *DeleteNetworkEdgeSecurityServiceRequest) GetNetworkEdgeSecurityService() string { @@ -33923,7 +35914,7 @@ type DeleteNetworkEndpointGroupRequest struct { func (x *DeleteNetworkEndpointGroupRequest) Reset() { *x = DeleteNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[190] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -33936,7 +35927,7 @@ func (x *DeleteNetworkEndpointGroupRequest) String() string { func (*DeleteNetworkEndpointGroupRequest) ProtoMessage() {} func (x *DeleteNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[190] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[198] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -33949,7 +35940,7 @@ func (x *DeleteNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{190} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{198} } func (x *DeleteNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -33997,7 +35988,7 @@ type DeleteNetworkFirewallPolicyRequest struct { func (x *DeleteNetworkFirewallPolicyRequest) Reset() { *x = DeleteNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[191] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34010,7 +36001,7 @@ func (x *DeleteNetworkFirewallPolicyRequest) String() string { func (*DeleteNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *DeleteNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[191] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[199] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34023,7 +36014,7 @@ func (x *DeleteNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{191} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{199} } func (x *DeleteNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -34064,7 +36055,7 @@ type DeleteNetworkRequest struct { func (x *DeleteNetworkRequest) Reset() { *x = DeleteNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[192] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34077,7 +36068,7 @@ func (x *DeleteNetworkRequest) String() string { func (*DeleteNetworkRequest) ProtoMessage() {} func (x *DeleteNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[192] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[200] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34090,7 +36081,7 @@ func (x *DeleteNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNetworkRequest.ProtoReflect.Descriptor instead. func (*DeleteNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{192} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{200} } func (x *DeleteNetworkRequest) GetNetwork() string { @@ -34133,7 +36124,7 @@ type DeleteNodeGroupRequest struct { func (x *DeleteNodeGroupRequest) Reset() { *x = DeleteNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[193] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34146,7 +36137,7 @@ func (x *DeleteNodeGroupRequest) String() string { func (*DeleteNodeGroupRequest) ProtoMessage() {} func (x *DeleteNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[193] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34159,7 +36150,7 @@ func (x *DeleteNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNodeGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{193} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{201} } func (x *DeleteNodeGroupRequest) GetNodeGroup() string { @@ -34209,7 +36200,7 @@ type DeleteNodeTemplateRequest struct { func (x *DeleteNodeTemplateRequest) Reset() { *x = DeleteNodeTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[194] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34222,7 +36213,7 @@ func (x *DeleteNodeTemplateRequest) String() string { func (*DeleteNodeTemplateRequest) ProtoMessage() {} func (x *DeleteNodeTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[194] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34235,7 +36226,7 @@ func (x *DeleteNodeTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNodeTemplateRequest.ProtoReflect.Descriptor instead. func (*DeleteNodeTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{194} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{202} } func (x *DeleteNodeTemplateRequest) GetNodeTemplate() string { @@ -34287,7 +36278,7 @@ type DeleteNodesNodeGroupRequest struct { func (x *DeleteNodesNodeGroupRequest) Reset() { *x = DeleteNodesNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[195] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34300,7 +36291,7 @@ func (x *DeleteNodesNodeGroupRequest) String() string { func (*DeleteNodesNodeGroupRequest) ProtoMessage() {} func (x *DeleteNodesNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[195] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34313,7 +36304,7 @@ func (x *DeleteNodesNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteNodesNodeGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteNodesNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{195} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{203} } func (x *DeleteNodesNodeGroupRequest) GetNodeGroup() string { @@ -34370,7 +36361,7 @@ type DeletePacketMirroringRequest struct { func (x *DeletePacketMirroringRequest) Reset() { *x = DeletePacketMirroringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[196] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34383,7 +36374,7 @@ func (x *DeletePacketMirroringRequest) String() string { func (*DeletePacketMirroringRequest) ProtoMessage() {} func (x *DeletePacketMirroringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[196] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34396,7 +36387,7 @@ func (x *DeletePacketMirroringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeletePacketMirroringRequest.ProtoReflect.Descriptor instead. func (*DeletePacketMirroringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{196} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{204} } func (x *DeletePacketMirroringRequest) GetPacketMirroring() string { @@ -34446,7 +36437,7 @@ type DeletePerInstanceConfigsInstanceGroupManagerRequest struct { func (x *DeletePerInstanceConfigsInstanceGroupManagerRequest) Reset() { *x = DeletePerInstanceConfigsInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[197] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34459,7 +36450,7 @@ func (x *DeletePerInstanceConfigsInstanceGroupManagerRequest) String() string { func (*DeletePerInstanceConfigsInstanceGroupManagerRequest) ProtoMessage() {} func (x *DeletePerInstanceConfigsInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[197] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34472,7 +36463,7 @@ func (x *DeletePerInstanceConfigsInstanceGroupManagerRequest) ProtoReflect() pro // Deprecated: Use DeletePerInstanceConfigsInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*DeletePerInstanceConfigsInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{197} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{205} } func (x *DeletePerInstanceConfigsInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -34522,7 +36513,7 @@ type DeletePerInstanceConfigsRegionInstanceGroupManagerRequest struct { func (x *DeletePerInstanceConfigsRegionInstanceGroupManagerRequest) Reset() { *x = DeletePerInstanceConfigsRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[198] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34535,7 +36526,7 @@ func (x *DeletePerInstanceConfigsRegionInstanceGroupManagerRequest) String() str func (*DeletePerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *DeletePerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[198] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34548,7 +36539,7 @@ func (x *DeletePerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoReflect // Deprecated: Use DeletePerInstanceConfigsRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*DeletePerInstanceConfigsRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{198} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{206} } func (x *DeletePerInstanceConfigsRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -34596,7 +36587,7 @@ type DeletePublicAdvertisedPrefixeRequest struct { func (x *DeletePublicAdvertisedPrefixeRequest) Reset() { *x = DeletePublicAdvertisedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[199] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34609,7 +36600,7 @@ func (x *DeletePublicAdvertisedPrefixeRequest) String() string { func (*DeletePublicAdvertisedPrefixeRequest) ProtoMessage() {} func (x *DeletePublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[199] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34622,7 +36613,7 @@ func (x *DeletePublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use DeletePublicAdvertisedPrefixeRequest.ProtoReflect.Descriptor instead. func (*DeletePublicAdvertisedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{199} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{207} } func (x *DeletePublicAdvertisedPrefixeRequest) GetProject() string { @@ -34665,7 +36656,7 @@ type DeletePublicDelegatedPrefixeRequest struct { func (x *DeletePublicDelegatedPrefixeRequest) Reset() { *x = DeletePublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[200] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34678,7 +36669,7 @@ func (x *DeletePublicDelegatedPrefixeRequest) String() string { func (*DeletePublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *DeletePublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[200] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34691,7 +36682,7 @@ func (x *DeletePublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use DeletePublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*DeletePublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{200} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{208} } func (x *DeletePublicDelegatedPrefixeRequest) GetProject() string { @@ -34741,7 +36732,7 @@ type DeleteRegionAutoscalerRequest struct { func (x *DeleteRegionAutoscalerRequest) Reset() { *x = DeleteRegionAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[201] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34754,7 +36745,7 @@ func (x *DeleteRegionAutoscalerRequest) String() string { func (*DeleteRegionAutoscalerRequest) ProtoMessage() {} func (x *DeleteRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[201] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34767,7 +36758,7 @@ func (x *DeleteRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRegionAutoscalerRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{201} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{209} } func (x *DeleteRegionAutoscalerRequest) GetAutoscaler() string { @@ -34817,7 +36808,7 @@ type DeleteRegionBackendServiceRequest struct { func (x *DeleteRegionBackendServiceRequest) Reset() { *x = DeleteRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[202] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34830,7 +36821,7 @@ func (x *DeleteRegionBackendServiceRequest) String() string { func (*DeleteRegionBackendServiceRequest) ProtoMessage() {} func (x *DeleteRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[202] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34843,7 +36834,7 @@ func (x *DeleteRegionBackendServiceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{202} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{210} } func (x *DeleteRegionBackendServiceRequest) GetBackendService() string { @@ -34893,7 +36884,7 @@ type DeleteRegionDiskRequest struct { func (x *DeleteRegionDiskRequest) Reset() { *x = DeleteRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[203] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34906,7 +36897,7 @@ func (x *DeleteRegionDiskRequest) String() string { func (*DeleteRegionDiskRequest) ProtoMessage() {} func (x *DeleteRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[203] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34919,7 +36910,7 @@ func (x *DeleteRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRegionDiskRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{203} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{211} } func (x *DeleteRegionDiskRequest) GetDisk() string { @@ -34969,7 +36960,7 @@ type DeleteRegionHealthCheckRequest struct { func (x *DeleteRegionHealthCheckRequest) Reset() { *x = DeleteRegionHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[204] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -34982,7 +36973,7 @@ func (x *DeleteRegionHealthCheckRequest) String() string { func (*DeleteRegionHealthCheckRequest) ProtoMessage() {} func (x *DeleteRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[204] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -34995,7 +36986,7 @@ func (x *DeleteRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRegionHealthCheckRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{204} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{212} } func (x *DeleteRegionHealthCheckRequest) GetHealthCheck() string { @@ -35045,7 +37036,7 @@ type DeleteRegionHealthCheckServiceRequest struct { func (x *DeleteRegionHealthCheckServiceRequest) Reset() { *x = DeleteRegionHealthCheckServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[205] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35058,7 +37049,7 @@ func (x *DeleteRegionHealthCheckServiceRequest) String() string { func (*DeleteRegionHealthCheckServiceRequest) ProtoMessage() {} func (x *DeleteRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[205] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35071,7 +37062,7 @@ func (x *DeleteRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use DeleteRegionHealthCheckServiceRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionHealthCheckServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{205} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{213} } func (x *DeleteRegionHealthCheckServiceRequest) GetHealthCheckService() string { @@ -35121,7 +37112,7 @@ type DeleteRegionInstanceGroupManagerRequest struct { func (x *DeleteRegionInstanceGroupManagerRequest) Reset() { *x = DeleteRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[206] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35134,7 +37125,7 @@ func (x *DeleteRegionInstanceGroupManagerRequest) String() string { func (*DeleteRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *DeleteRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[206] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35147,7 +37138,7 @@ func (x *DeleteRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Me // Deprecated: Use DeleteRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{206} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{214} } func (x *DeleteRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -35197,7 +37188,7 @@ type DeleteRegionInstanceTemplateRequest struct { func (x *DeleteRegionInstanceTemplateRequest) Reset() { *x = DeleteRegionInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[207] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35210,7 +37201,7 @@ func (x *DeleteRegionInstanceTemplateRequest) String() string { func (*DeleteRegionInstanceTemplateRequest) ProtoMessage() {} func (x *DeleteRegionInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[207] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35223,7 +37214,7 @@ func (x *DeleteRegionInstanceTemplateRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use DeleteRegionInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{207} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{215} } func (x *DeleteRegionInstanceTemplateRequest) GetInstanceTemplate() string { @@ -35273,7 +37264,7 @@ type DeleteRegionNetworkEndpointGroupRequest struct { func (x *DeleteRegionNetworkEndpointGroupRequest) Reset() { *x = DeleteRegionNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[208] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35286,7 +37277,7 @@ func (x *DeleteRegionNetworkEndpointGroupRequest) String() string { func (*DeleteRegionNetworkEndpointGroupRequest) ProtoMessage() {} func (x *DeleteRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[208] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35299,7 +37290,7 @@ func (x *DeleteRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Me // Deprecated: Use DeleteRegionNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{208} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{216} } func (x *DeleteRegionNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -35349,7 +37340,7 @@ type DeleteRegionNetworkFirewallPolicyRequest struct { func (x *DeleteRegionNetworkFirewallPolicyRequest) Reset() { *x = DeleteRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[209] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35362,7 +37353,7 @@ func (x *DeleteRegionNetworkFirewallPolicyRequest) String() string { func (*DeleteRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *DeleteRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[209] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35375,7 +37366,7 @@ func (x *DeleteRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.M // Deprecated: Use DeleteRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{209} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{217} } func (x *DeleteRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -35425,7 +37416,7 @@ type DeleteRegionNotificationEndpointRequest struct { func (x *DeleteRegionNotificationEndpointRequest) Reset() { *x = DeleteRegionNotificationEndpointRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[210] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35438,7 +37429,7 @@ func (x *DeleteRegionNotificationEndpointRequest) String() string { func (*DeleteRegionNotificationEndpointRequest) ProtoMessage() {} func (x *DeleteRegionNotificationEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[210] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35451,7 +37442,7 @@ func (x *DeleteRegionNotificationEndpointRequest) ProtoReflect() protoreflect.Me // Deprecated: Use DeleteRegionNotificationEndpointRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionNotificationEndpointRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{210} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{218} } func (x *DeleteRegionNotificationEndpointRequest) GetNotificationEndpoint() string { @@ -35499,7 +37490,7 @@ type DeleteRegionOperationRequest struct { func (x *DeleteRegionOperationRequest) Reset() { *x = DeleteRegionOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[211] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35512,7 +37503,7 @@ func (x *DeleteRegionOperationRequest) String() string { func (*DeleteRegionOperationRequest) ProtoMessage() {} func (x *DeleteRegionOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[211] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35525,7 +37516,7 @@ func (x *DeleteRegionOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRegionOperationRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{211} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{219} } func (x *DeleteRegionOperationRequest) GetOperation() string { @@ -35559,7 +37550,7 @@ type DeleteRegionOperationResponse struct { func (x *DeleteRegionOperationResponse) Reset() { *x = DeleteRegionOperationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[212] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35572,7 +37563,7 @@ func (x *DeleteRegionOperationResponse) String() string { func (*DeleteRegionOperationResponse) ProtoMessage() {} func (x *DeleteRegionOperationResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[212] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35585,7 +37576,7 @@ func (x *DeleteRegionOperationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRegionOperationResponse.ProtoReflect.Descriptor instead. func (*DeleteRegionOperationResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{212} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{220} } // A request message for RegionSecurityPolicies.Delete. See the method description for details. @@ -35607,7 +37598,7 @@ type DeleteRegionSecurityPolicyRequest struct { func (x *DeleteRegionSecurityPolicyRequest) Reset() { *x = DeleteRegionSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[213] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35620,7 +37611,7 @@ func (x *DeleteRegionSecurityPolicyRequest) String() string { func (*DeleteRegionSecurityPolicyRequest) ProtoMessage() {} func (x *DeleteRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[213] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35633,7 +37624,7 @@ func (x *DeleteRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{213} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{221} } func (x *DeleteRegionSecurityPolicyRequest) GetProject() string { @@ -35683,7 +37674,7 @@ type DeleteRegionSslCertificateRequest struct { func (x *DeleteRegionSslCertificateRequest) Reset() { *x = DeleteRegionSslCertificateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[214] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35696,7 +37687,7 @@ func (x *DeleteRegionSslCertificateRequest) String() string { func (*DeleteRegionSslCertificateRequest) ProtoMessage() {} func (x *DeleteRegionSslCertificateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[214] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35709,7 +37700,7 @@ func (x *DeleteRegionSslCertificateRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteRegionSslCertificateRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionSslCertificateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{214} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{222} } func (x *DeleteRegionSslCertificateRequest) GetProject() string { @@ -35759,7 +37750,7 @@ type DeleteRegionSslPolicyRequest struct { func (x *DeleteRegionSslPolicyRequest) Reset() { *x = DeleteRegionSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[215] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35772,7 +37763,7 @@ func (x *DeleteRegionSslPolicyRequest) String() string { func (*DeleteRegionSslPolicyRequest) ProtoMessage() {} func (x *DeleteRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[215] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35785,7 +37776,7 @@ func (x *DeleteRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRegionSslPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{215} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{223} } func (x *DeleteRegionSslPolicyRequest) GetProject() string { @@ -35835,7 +37826,7 @@ type DeleteRegionTargetHttpProxyRequest struct { func (x *DeleteRegionTargetHttpProxyRequest) Reset() { *x = DeleteRegionTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[216] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35848,7 +37839,7 @@ func (x *DeleteRegionTargetHttpProxyRequest) String() string { func (*DeleteRegionTargetHttpProxyRequest) ProtoMessage() {} func (x *DeleteRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[216] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35861,7 +37852,7 @@ func (x *DeleteRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteRegionTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{216} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{224} } func (x *DeleteRegionTargetHttpProxyRequest) GetProject() string { @@ -35911,7 +37902,7 @@ type DeleteRegionTargetHttpsProxyRequest struct { func (x *DeleteRegionTargetHttpsProxyRequest) Reset() { *x = DeleteRegionTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[217] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -35924,7 +37915,7 @@ func (x *DeleteRegionTargetHttpsProxyRequest) String() string { func (*DeleteRegionTargetHttpsProxyRequest) ProtoMessage() {} func (x *DeleteRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[217] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -35937,7 +37928,7 @@ func (x *DeleteRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use DeleteRegionTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{217} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{225} } func (x *DeleteRegionTargetHttpsProxyRequest) GetProject() string { @@ -35987,7 +37978,7 @@ type DeleteRegionTargetTcpProxyRequest struct { func (x *DeleteRegionTargetTcpProxyRequest) Reset() { *x = DeleteRegionTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[218] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36000,7 +37991,7 @@ func (x *DeleteRegionTargetTcpProxyRequest) String() string { func (*DeleteRegionTargetTcpProxyRequest) ProtoMessage() {} func (x *DeleteRegionTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[218] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36013,7 +38004,7 @@ func (x *DeleteRegionTargetTcpProxyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DeleteRegionTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{218} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{226} } func (x *DeleteRegionTargetTcpProxyRequest) GetProject() string { @@ -36063,7 +38054,7 @@ type DeleteRegionUrlMapRequest struct { func (x *DeleteRegionUrlMapRequest) Reset() { *x = DeleteRegionUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[219] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36076,7 +38067,7 @@ func (x *DeleteRegionUrlMapRequest) String() string { func (*DeleteRegionUrlMapRequest) ProtoMessage() {} func (x *DeleteRegionUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[219] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36089,7 +38080,7 @@ func (x *DeleteRegionUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRegionUrlMapRequest.ProtoReflect.Descriptor instead. func (*DeleteRegionUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{219} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{227} } func (x *DeleteRegionUrlMapRequest) GetProject() string { @@ -36139,7 +38130,7 @@ type DeleteReservationRequest struct { func (x *DeleteReservationRequest) Reset() { *x = DeleteReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[220] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36152,7 +38143,7 @@ func (x *DeleteReservationRequest) String() string { func (*DeleteReservationRequest) ProtoMessage() {} func (x *DeleteReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[220] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36165,7 +38156,7 @@ func (x *DeleteReservationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteReservationRequest.ProtoReflect.Descriptor instead. func (*DeleteReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{220} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{228} } func (x *DeleteReservationRequest) GetProject() string { @@ -36215,7 +38206,7 @@ type DeleteResourcePolicyRequest struct { func (x *DeleteResourcePolicyRequest) Reset() { *x = DeleteResourcePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[221] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36228,7 +38219,7 @@ func (x *DeleteResourcePolicyRequest) String() string { func (*DeleteResourcePolicyRequest) ProtoMessage() {} func (x *DeleteResourcePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[221] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[229] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36241,7 +38232,7 @@ func (x *DeleteResourcePolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteResourcePolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteResourcePolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{221} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{229} } func (x *DeleteResourcePolicyRequest) GetProject() string { @@ -36289,7 +38280,7 @@ type DeleteRouteRequest struct { func (x *DeleteRouteRequest) Reset() { *x = DeleteRouteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[222] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36302,7 +38293,7 @@ func (x *DeleteRouteRequest) String() string { func (*DeleteRouteRequest) ProtoMessage() {} func (x *DeleteRouteRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[222] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[230] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36315,7 +38306,7 @@ func (x *DeleteRouteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRouteRequest.ProtoReflect.Descriptor instead. func (*DeleteRouteRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{222} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{230} } func (x *DeleteRouteRequest) GetProject() string { @@ -36358,7 +38349,7 @@ type DeleteRouterRequest struct { func (x *DeleteRouterRequest) Reset() { *x = DeleteRouterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[223] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36371,7 +38362,7 @@ func (x *DeleteRouterRequest) String() string { func (*DeleteRouterRequest) ProtoMessage() {} func (x *DeleteRouterRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[223] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[231] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36384,7 +38375,7 @@ func (x *DeleteRouterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRouterRequest.ProtoReflect.Descriptor instead. func (*DeleteRouterRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{223} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{231} } func (x *DeleteRouterRequest) GetProject() string { @@ -36432,7 +38423,7 @@ type DeleteSecurityPolicyRequest struct { func (x *DeleteSecurityPolicyRequest) Reset() { *x = DeleteSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[224] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36445,7 +38436,7 @@ func (x *DeleteSecurityPolicyRequest) String() string { func (*DeleteSecurityPolicyRequest) ProtoMessage() {} func (x *DeleteSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[224] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36458,7 +38449,7 @@ func (x *DeleteSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{224} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{232} } func (x *DeleteSecurityPolicyRequest) GetProject() string { @@ -36501,7 +38492,7 @@ type DeleteServiceAttachmentRequest struct { func (x *DeleteServiceAttachmentRequest) Reset() { *x = DeleteServiceAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[225] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36514,7 +38505,7 @@ func (x *DeleteServiceAttachmentRequest) String() string { func (*DeleteServiceAttachmentRequest) ProtoMessage() {} func (x *DeleteServiceAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[225] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36527,7 +38518,7 @@ func (x *DeleteServiceAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteServiceAttachmentRequest.ProtoReflect.Descriptor instead. func (*DeleteServiceAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{225} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{233} } func (x *DeleteServiceAttachmentRequest) GetProject() string { @@ -36577,7 +38568,7 @@ type DeleteSignedUrlKeyBackendBucketRequest struct { func (x *DeleteSignedUrlKeyBackendBucketRequest) Reset() { *x = DeleteSignedUrlKeyBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[226] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36590,7 +38581,7 @@ func (x *DeleteSignedUrlKeyBackendBucketRequest) String() string { func (*DeleteSignedUrlKeyBackendBucketRequest) ProtoMessage() {} func (x *DeleteSignedUrlKeyBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[226] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36603,7 +38594,7 @@ func (x *DeleteSignedUrlKeyBackendBucketRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use DeleteSignedUrlKeyBackendBucketRequest.ProtoReflect.Descriptor instead. func (*DeleteSignedUrlKeyBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{226} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{234} } func (x *DeleteSignedUrlKeyBackendBucketRequest) GetBackendBucket() string { @@ -36653,7 +38644,7 @@ type DeleteSignedUrlKeyBackendServiceRequest struct { func (x *DeleteSignedUrlKeyBackendServiceRequest) Reset() { *x = DeleteSignedUrlKeyBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[227] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36666,7 +38657,7 @@ func (x *DeleteSignedUrlKeyBackendServiceRequest) String() string { func (*DeleteSignedUrlKeyBackendServiceRequest) ProtoMessage() {} func (x *DeleteSignedUrlKeyBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[227] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36679,7 +38670,7 @@ func (x *DeleteSignedUrlKeyBackendServiceRequest) ProtoReflect() protoreflect.Me // Deprecated: Use DeleteSignedUrlKeyBackendServiceRequest.ProtoReflect.Descriptor instead. func (*DeleteSignedUrlKeyBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{227} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{235} } func (x *DeleteSignedUrlKeyBackendServiceRequest) GetBackendService() string { @@ -36727,7 +38718,7 @@ type DeleteSnapshotRequest struct { func (x *DeleteSnapshotRequest) Reset() { *x = DeleteSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[228] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36740,7 +38731,7 @@ func (x *DeleteSnapshotRequest) String() string { func (*DeleteSnapshotRequest) ProtoMessage() {} func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[228] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[236] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36753,7 +38744,7 @@ func (x *DeleteSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSnapshotRequest.ProtoReflect.Descriptor instead. func (*DeleteSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{228} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{236} } func (x *DeleteSnapshotRequest) GetProject() string { @@ -36794,7 +38785,7 @@ type DeleteSslCertificateRequest struct { func (x *DeleteSslCertificateRequest) Reset() { *x = DeleteSslCertificateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[229] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36807,7 +38798,7 @@ func (x *DeleteSslCertificateRequest) String() string { func (*DeleteSslCertificateRequest) ProtoMessage() {} func (x *DeleteSslCertificateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[229] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36820,7 +38811,7 @@ func (x *DeleteSslCertificateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSslCertificateRequest.ProtoReflect.Descriptor instead. func (*DeleteSslCertificateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{229} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{237} } func (x *DeleteSslCertificateRequest) GetProject() string { @@ -36861,7 +38852,7 @@ type DeleteSslPolicyRequest struct { func (x *DeleteSslPolicyRequest) Reset() { *x = DeleteSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[230] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36874,7 +38865,7 @@ func (x *DeleteSslPolicyRequest) String() string { func (*DeleteSslPolicyRequest) ProtoMessage() {} func (x *DeleteSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[230] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36887,7 +38878,7 @@ func (x *DeleteSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSslPolicyRequest.ProtoReflect.Descriptor instead. func (*DeleteSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{230} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{238} } func (x *DeleteSslPolicyRequest) GetProject() string { @@ -36930,7 +38921,7 @@ type DeleteSubnetworkRequest struct { func (x *DeleteSubnetworkRequest) Reset() { *x = DeleteSubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[231] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -36943,7 +38934,7 @@ func (x *DeleteSubnetworkRequest) String() string { func (*DeleteSubnetworkRequest) ProtoMessage() {} func (x *DeleteSubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[231] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[239] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -36956,7 +38947,7 @@ func (x *DeleteSubnetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteSubnetworkRequest.ProtoReflect.Descriptor instead. func (*DeleteSubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{231} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{239} } func (x *DeleteSubnetworkRequest) GetProject() string { @@ -37004,7 +38995,7 @@ type DeleteTargetGrpcProxyRequest struct { func (x *DeleteTargetGrpcProxyRequest) Reset() { *x = DeleteTargetGrpcProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[232] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37017,7 +39008,7 @@ func (x *DeleteTargetGrpcProxyRequest) String() string { func (*DeleteTargetGrpcProxyRequest) ProtoMessage() {} func (x *DeleteTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[232] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[240] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37030,7 +39021,7 @@ func (x *DeleteTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetGrpcProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetGrpcProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{232} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{240} } func (x *DeleteTargetGrpcProxyRequest) GetProject() string { @@ -37071,7 +39062,7 @@ type DeleteTargetHttpProxyRequest struct { func (x *DeleteTargetHttpProxyRequest) Reset() { *x = DeleteTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[233] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37084,7 +39075,7 @@ func (x *DeleteTargetHttpProxyRequest) String() string { func (*DeleteTargetHttpProxyRequest) ProtoMessage() {} func (x *DeleteTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[233] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[241] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37097,7 +39088,7 @@ func (x *DeleteTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{233} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{241} } func (x *DeleteTargetHttpProxyRequest) GetProject() string { @@ -37138,7 +39129,7 @@ type DeleteTargetHttpsProxyRequest struct { func (x *DeleteTargetHttpsProxyRequest) Reset() { *x = DeleteTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[234] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37151,7 +39142,7 @@ func (x *DeleteTargetHttpsProxyRequest) String() string { func (*DeleteTargetHttpsProxyRequest) ProtoMessage() {} func (x *DeleteTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[234] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[242] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37164,7 +39155,7 @@ func (x *DeleteTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{234} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{242} } func (x *DeleteTargetHttpsProxyRequest) GetProject() string { @@ -37207,7 +39198,7 @@ type DeleteTargetInstanceRequest struct { func (x *DeleteTargetInstanceRequest) Reset() { *x = DeleteTargetInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[235] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37220,7 +39211,7 @@ func (x *DeleteTargetInstanceRequest) String() string { func (*DeleteTargetInstanceRequest) ProtoMessage() {} func (x *DeleteTargetInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[235] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[243] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37233,7 +39224,7 @@ func (x *DeleteTargetInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetInstanceRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{235} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{243} } func (x *DeleteTargetInstanceRequest) GetProject() string { @@ -37283,7 +39274,7 @@ type DeleteTargetPoolRequest struct { func (x *DeleteTargetPoolRequest) Reset() { *x = DeleteTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[236] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37296,7 +39287,7 @@ func (x *DeleteTargetPoolRequest) String() string { func (*DeleteTargetPoolRequest) ProtoMessage() {} func (x *DeleteTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[236] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[244] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37309,7 +39300,7 @@ func (x *DeleteTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetPoolRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{236} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{244} } func (x *DeleteTargetPoolRequest) GetProject() string { @@ -37357,7 +39348,7 @@ type DeleteTargetSslProxyRequest struct { func (x *DeleteTargetSslProxyRequest) Reset() { *x = DeleteTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[237] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37370,7 +39361,7 @@ func (x *DeleteTargetSslProxyRequest) String() string { func (*DeleteTargetSslProxyRequest) ProtoMessage() {} func (x *DeleteTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[237] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[245] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37383,7 +39374,7 @@ func (x *DeleteTargetSslProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{237} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{245} } func (x *DeleteTargetSslProxyRequest) GetProject() string { @@ -37424,7 +39415,7 @@ type DeleteTargetTcpProxyRequest struct { func (x *DeleteTargetTcpProxyRequest) Reset() { *x = DeleteTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[238] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37437,7 +39428,7 @@ func (x *DeleteTargetTcpProxyRequest) String() string { func (*DeleteTargetTcpProxyRequest) ProtoMessage() {} func (x *DeleteTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[238] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[246] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37450,7 +39441,7 @@ func (x *DeleteTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{238} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{246} } func (x *DeleteTargetTcpProxyRequest) GetProject() string { @@ -37493,7 +39484,7 @@ type DeleteTargetVpnGatewayRequest struct { func (x *DeleteTargetVpnGatewayRequest) Reset() { *x = DeleteTargetVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[239] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37506,7 +39497,7 @@ func (x *DeleteTargetVpnGatewayRequest) String() string { func (*DeleteTargetVpnGatewayRequest) ProtoMessage() {} func (x *DeleteTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[239] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37519,7 +39510,7 @@ func (x *DeleteTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteTargetVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*DeleteTargetVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{239} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{247} } func (x *DeleteTargetVpnGatewayRequest) GetProject() string { @@ -37567,7 +39558,7 @@ type DeleteUrlMapRequest struct { func (x *DeleteUrlMapRequest) Reset() { *x = DeleteUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[240] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37580,7 +39571,7 @@ func (x *DeleteUrlMapRequest) String() string { func (*DeleteUrlMapRequest) ProtoMessage() {} func (x *DeleteUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[240] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[248] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37593,7 +39584,7 @@ func (x *DeleteUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteUrlMapRequest.ProtoReflect.Descriptor instead. func (*DeleteUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{240} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{248} } func (x *DeleteUrlMapRequest) GetProject() string { @@ -37636,7 +39627,7 @@ type DeleteVpnGatewayRequest struct { func (x *DeleteVpnGatewayRequest) Reset() { *x = DeleteVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[241] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37649,7 +39640,7 @@ func (x *DeleteVpnGatewayRequest) String() string { func (*DeleteVpnGatewayRequest) ProtoMessage() {} func (x *DeleteVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[241] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[249] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37662,7 +39653,7 @@ func (x *DeleteVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*DeleteVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{241} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{249} } func (x *DeleteVpnGatewayRequest) GetProject() string { @@ -37712,7 +39703,7 @@ type DeleteVpnTunnelRequest struct { func (x *DeleteVpnTunnelRequest) Reset() { *x = DeleteVpnTunnelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[242] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37725,7 +39716,7 @@ func (x *DeleteVpnTunnelRequest) String() string { func (*DeleteVpnTunnelRequest) ProtoMessage() {} func (x *DeleteVpnTunnelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[242] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[250] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37738,7 +39729,7 @@ func (x *DeleteVpnTunnelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteVpnTunnelRequest.ProtoReflect.Descriptor instead. func (*DeleteVpnTunnelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{242} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{250} } func (x *DeleteVpnTunnelRequest) GetProject() string { @@ -37786,7 +39777,7 @@ type DeleteZoneOperationRequest struct { func (x *DeleteZoneOperationRequest) Reset() { *x = DeleteZoneOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[243] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37799,7 +39790,7 @@ func (x *DeleteZoneOperationRequest) String() string { func (*DeleteZoneOperationRequest) ProtoMessage() {} func (x *DeleteZoneOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[243] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[251] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37812,7 +39803,7 @@ func (x *DeleteZoneOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteZoneOperationRequest.ProtoReflect.Descriptor instead. func (*DeleteZoneOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{243} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{251} } func (x *DeleteZoneOperationRequest) GetOperation() string { @@ -37846,7 +39837,7 @@ type DeleteZoneOperationResponse struct { func (x *DeleteZoneOperationResponse) Reset() { *x = DeleteZoneOperationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[244] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37859,7 +39850,7 @@ func (x *DeleteZoneOperationResponse) String() string { func (*DeleteZoneOperationResponse) ProtoMessage() {} func (x *DeleteZoneOperationResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[244] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[252] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37872,7 +39863,7 @@ func (x *DeleteZoneOperationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteZoneOperationResponse.ProtoReflect.Descriptor instead. func (*DeleteZoneOperationResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{244} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{252} } type Denied struct { @@ -37889,7 +39880,7 @@ type Denied struct { func (x *Denied) Reset() { *x = Denied{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[245] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37902,7 +39893,7 @@ func (x *Denied) String() string { func (*Denied) ProtoMessage() {} func (x *Denied) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[245] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[253] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37915,7 +39906,7 @@ func (x *Denied) ProtoReflect() protoreflect.Message { // Deprecated: Use Denied.ProtoReflect.Descriptor instead. func (*Denied) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{245} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{253} } func (x *Denied) GetIPProtocol() string { @@ -37951,7 +39942,7 @@ type DeprecateImageRequest struct { func (x *DeprecateImageRequest) Reset() { *x = DeprecateImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[246] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -37964,7 +39955,7 @@ func (x *DeprecateImageRequest) String() string { func (*DeprecateImageRequest) ProtoMessage() {} func (x *DeprecateImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[246] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[254] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -37977,7 +39968,7 @@ func (x *DeprecateImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeprecateImageRequest.ProtoReflect.Descriptor instead. func (*DeprecateImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{246} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{254} } func (x *DeprecateImageRequest) GetDeprecationStatusResource() *DeprecationStatus { @@ -38030,7 +40021,7 @@ type DeprecationStatus struct { func (x *DeprecationStatus) Reset() { *x = DeprecationStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[247] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38043,7 +40034,7 @@ func (x *DeprecationStatus) String() string { func (*DeprecationStatus) ProtoMessage() {} func (x *DeprecationStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[247] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[255] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38056,7 +40047,7 @@ func (x *DeprecationStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use DeprecationStatus.ProtoReflect.Descriptor instead. func (*DeprecationStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{247} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{255} } func (x *DeprecationStatus) GetDeleted() string { @@ -38115,7 +40106,7 @@ type DetachDiskInstanceRequest struct { func (x *DetachDiskInstanceRequest) Reset() { *x = DetachDiskInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[248] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38128,7 +40119,7 @@ func (x *DetachDiskInstanceRequest) String() string { func (*DetachDiskInstanceRequest) ProtoMessage() {} func (x *DetachDiskInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[248] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[256] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38141,7 +40132,7 @@ func (x *DetachDiskInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DetachDiskInstanceRequest.ProtoReflect.Descriptor instead. func (*DetachDiskInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{248} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{256} } func (x *DetachDiskInstanceRequest) GetDeviceName() string { @@ -38198,7 +40189,7 @@ type DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest struct { func (x *DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest) Reset() { *x = DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[249] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38211,7 +40202,7 @@ func (x *DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest) String() strin func (*DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest) ProtoMessage() {} func (x *DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[249] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[257] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38224,7 +40215,7 @@ func (x *DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest) ProtoReflect() // Deprecated: Use DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{249} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{257} } func (x *DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest) GetGlobalNetworkEndpointGroupsDetachEndpointsRequestResource() *GlobalNetworkEndpointGroupsDetachEndpointsRequest { @@ -38276,7 +40267,7 @@ type DetachNetworkEndpointsNetworkEndpointGroupRequest struct { func (x *DetachNetworkEndpointsNetworkEndpointGroupRequest) Reset() { *x = DetachNetworkEndpointsNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[250] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38289,7 +40280,7 @@ func (x *DetachNetworkEndpointsNetworkEndpointGroupRequest) String() string { func (*DetachNetworkEndpointsNetworkEndpointGroupRequest) ProtoMessage() {} func (x *DetachNetworkEndpointsNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[250] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[258] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38302,7 +40293,7 @@ func (x *DetachNetworkEndpointsNetworkEndpointGroupRequest) ProtoReflect() proto // Deprecated: Use DetachNetworkEndpointsNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*DetachNetworkEndpointsNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{250} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{258} } func (x *DetachNetworkEndpointsNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -38340,6 +40331,91 @@ func (x *DetachNetworkEndpointsNetworkEndpointGroupRequest) GetZone() string { return "" } +// A request message for RegionNetworkEndpointGroups.DetachNetworkEndpoints. See the method description for details. +type DetachNetworkEndpointsRegionNetworkEndpointGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035. + NetworkEndpointGroup string `protobuf:"bytes,433907078,opt,name=network_endpoint_group,json=networkEndpointGroup,proto3" json:"network_endpoint_group,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the region where the network endpoint group is located. It should comply with RFC1035. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // The body resource for this request + RegionNetworkEndpointGroupsDetachEndpointsRequestResource *RegionNetworkEndpointGroupsDetachEndpointsRequest `protobuf:"bytes,313193198,opt,name=region_network_endpoint_groups_detach_endpoints_request_resource,json=regionNetworkEndpointGroupsDetachEndpointsRequestResource,proto3" json:"region_network_endpoint_groups_detach_endpoints_request_resource,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` +} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) Reset() { + *x = DetachNetworkEndpointsRegionNetworkEndpointGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) ProtoMessage() {} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[259] + 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 DetachNetworkEndpointsRegionNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. +func (*DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{259} +} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { + if x != nil { + return x.NetworkEndpointGroup + } + return "" +} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetRegionNetworkEndpointGroupsDetachEndpointsRequestResource() *RegionNetworkEndpointGroupsDetachEndpointsRequest { + if x != nil { + return x.RegionNetworkEndpointGroupsDetachEndpointsRequestResource + } + return nil +} + +func (x *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + // A request message for Projects.DisableXpnHost. See the method description for details. type DisableXpnHostProjectRequest struct { state protoimpl.MessageState @@ -38355,7 +40431,7 @@ type DisableXpnHostProjectRequest struct { func (x *DisableXpnHostProjectRequest) Reset() { *x = DisableXpnHostProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[251] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38368,7 +40444,7 @@ func (x *DisableXpnHostProjectRequest) String() string { func (*DisableXpnHostProjectRequest) ProtoMessage() {} func (x *DisableXpnHostProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[251] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[260] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38381,7 +40457,7 @@ func (x *DisableXpnHostProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableXpnHostProjectRequest.ProtoReflect.Descriptor instead. func (*DisableXpnHostProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{251} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{260} } func (x *DisableXpnHostProjectRequest) GetProject() string { @@ -38415,7 +40491,7 @@ type DisableXpnResourceProjectRequest struct { func (x *DisableXpnResourceProjectRequest) Reset() { *x = DisableXpnResourceProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[252] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38428,7 +40504,7 @@ func (x *DisableXpnResourceProjectRequest) String() string { func (*DisableXpnResourceProjectRequest) ProtoMessage() {} func (x *DisableXpnResourceProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[252] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[261] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38441,7 +40517,7 @@ func (x *DisableXpnResourceProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisableXpnResourceProjectRequest.ProtoReflect.Descriptor instead. func (*DisableXpnResourceProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{252} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{261} } func (x *DisableXpnResourceProjectRequest) GetProject() string { @@ -38528,7 +40604,7 @@ type Disk struct { SatisfiesPzs *bool `protobuf:"varint,480964267,opt,name=satisfies_pzs,json=satisfiesPzs,proto3,oneof" json:"satisfies_pzs,omitempty"` // [Output Only] Server-defined fully-qualified URL for this resource. SelfLink *string `protobuf:"bytes,456214797,opt,name=self_link,json=selfLink,proto3,oneof" json:"self_link,omitempty"` - // Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are 1 to 65536, inclusive. + // Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are greater than 0. SizeGb *int64 `protobuf:"varint,494929369,opt,name=size_gb,json=sizeGb,proto3,oneof" json:"size_gb,omitempty"` // [Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group. SourceConsistencyGroupPolicy *string `protobuf:"bytes,19616093,opt,name=source_consistency_group_policy,json=sourceConsistencyGroupPolicy,proto3,oneof" json:"source_consistency_group_policy,omitempty"` @@ -38566,7 +40642,7 @@ type Disk struct { func (x *Disk) Reset() { *x = Disk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[253] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38579,7 +40655,7 @@ func (x *Disk) String() string { func (*Disk) ProtoMessage() {} func (x *Disk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[253] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[262] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38592,7 +40668,7 @@ func (x *Disk) ProtoReflect() protoreflect.Message { // Deprecated: Use Disk.ProtoReflect.Descriptor instead. func (*Disk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{253} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{262} } func (x *Disk) GetArchitecture() string { @@ -38927,7 +41003,7 @@ type DiskAggregatedList struct { func (x *DiskAggregatedList) Reset() { *x = DiskAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[254] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -38940,7 +41016,7 @@ func (x *DiskAggregatedList) String() string { func (*DiskAggregatedList) ProtoMessage() {} func (x *DiskAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[254] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[263] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -38953,7 +41029,7 @@ func (x *DiskAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskAggregatedList.ProtoReflect.Descriptor instead. func (*DiskAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{254} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{263} } func (x *DiskAggregatedList) GetId() string { @@ -39023,7 +41099,7 @@ type DiskAsyncReplication struct { func (x *DiskAsyncReplication) Reset() { *x = DiskAsyncReplication{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[255] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39036,7 +41112,7 @@ func (x *DiskAsyncReplication) String() string { func (*DiskAsyncReplication) ProtoMessage() {} func (x *DiskAsyncReplication) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[255] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[264] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39049,7 +41125,7 @@ func (x *DiskAsyncReplication) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskAsyncReplication.ProtoReflect.Descriptor instead. func (*DiskAsyncReplication) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{255} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{264} } func (x *DiskAsyncReplication) GetConsistencyGroupPolicy() string { @@ -39091,7 +41167,7 @@ type DiskAsyncReplicationList struct { func (x *DiskAsyncReplicationList) Reset() { *x = DiskAsyncReplicationList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[256] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39104,7 +41180,7 @@ func (x *DiskAsyncReplicationList) String() string { func (*DiskAsyncReplicationList) ProtoMessage() {} func (x *DiskAsyncReplicationList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[256] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[265] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39117,7 +41193,7 @@ func (x *DiskAsyncReplicationList) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskAsyncReplicationList.ProtoReflect.Descriptor instead. func (*DiskAsyncReplicationList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{256} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{265} } func (x *DiskAsyncReplicationList) GetAsyncReplicationDisk() *DiskAsyncReplication { @@ -39147,7 +41223,7 @@ type DiskInstantiationConfig struct { func (x *DiskInstantiationConfig) Reset() { *x = DiskInstantiationConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[257] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39160,7 +41236,7 @@ func (x *DiskInstantiationConfig) String() string { func (*DiskInstantiationConfig) ProtoMessage() {} func (x *DiskInstantiationConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[257] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[266] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39173,7 +41249,7 @@ func (x *DiskInstantiationConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskInstantiationConfig.ProtoReflect.Descriptor instead. func (*DiskInstantiationConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{257} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{266} } func (x *DiskInstantiationConfig) GetAutoDelete() bool { @@ -39227,7 +41303,7 @@ type DiskList struct { func (x *DiskList) Reset() { *x = DiskList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[258] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39240,7 +41316,7 @@ func (x *DiskList) String() string { func (*DiskList) ProtoMessage() {} func (x *DiskList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[258] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[267] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39253,7 +41329,7 @@ func (x *DiskList) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskList.ProtoReflect.Descriptor instead. func (*DiskList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{258} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{267} } func (x *DiskList) GetId() string { @@ -39312,7 +41388,7 @@ type DiskMoveRequest struct { func (x *DiskMoveRequest) Reset() { *x = DiskMoveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[259] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39325,7 +41401,7 @@ func (x *DiskMoveRequest) String() string { func (*DiskMoveRequest) ProtoMessage() {} func (x *DiskMoveRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[259] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[268] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39338,7 +41414,7 @@ func (x *DiskMoveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskMoveRequest.ProtoReflect.Descriptor instead. func (*DiskMoveRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{259} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{268} } func (x *DiskMoveRequest) GetDestinationZone() string { @@ -39368,7 +41444,7 @@ type DiskParams struct { func (x *DiskParams) Reset() { *x = DiskParams{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[260] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39381,7 +41457,7 @@ func (x *DiskParams) String() string { func (*DiskParams) ProtoMessage() {} func (x *DiskParams) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[260] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[269] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39394,7 +41470,7 @@ func (x *DiskParams) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskParams.ProtoReflect.Descriptor instead. func (*DiskParams) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{260} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{269} } func (x *DiskParams) GetResourceManagerTags() map[string]string { @@ -39417,7 +41493,7 @@ type DiskResourceStatus struct { func (x *DiskResourceStatus) Reset() { *x = DiskResourceStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[261] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39430,7 +41506,7 @@ func (x *DiskResourceStatus) String() string { func (*DiskResourceStatus) ProtoMessage() {} func (x *DiskResourceStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[261] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[270] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39443,7 +41519,7 @@ func (x *DiskResourceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskResourceStatus.ProtoReflect.Descriptor instead. func (*DiskResourceStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{261} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{270} } func (x *DiskResourceStatus) GetAsyncPrimaryDisk() *DiskResourceStatusAsyncReplicationStatus { @@ -39465,7 +41541,6 @@ type DiskResourceStatusAsyncReplicationStatus struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the State enum for the list of possible values. State *string `protobuf:"bytes,109757585,opt,name=state,proto3,oneof" json:"state,omitempty"` } @@ -39473,7 +41548,7 @@ type DiskResourceStatusAsyncReplicationStatus struct { func (x *DiskResourceStatusAsyncReplicationStatus) Reset() { *x = DiskResourceStatusAsyncReplicationStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[262] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39486,7 +41561,7 @@ func (x *DiskResourceStatusAsyncReplicationStatus) String() string { func (*DiskResourceStatusAsyncReplicationStatus) ProtoMessage() {} func (x *DiskResourceStatusAsyncReplicationStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[262] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[271] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39499,7 +41574,7 @@ func (x *DiskResourceStatusAsyncReplicationStatus) ProtoReflect() protoreflect.M // Deprecated: Use DiskResourceStatusAsyncReplicationStatus.ProtoReflect.Descriptor instead. func (*DiskResourceStatusAsyncReplicationStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{262} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{271} } func (x *DiskResourceStatusAsyncReplicationStatus) GetState() string { @@ -39542,7 +41617,7 @@ type DiskType struct { func (x *DiskType) Reset() { *x = DiskType{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[263] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39555,7 +41630,7 @@ func (x *DiskType) String() string { func (*DiskType) ProtoMessage() {} func (x *DiskType) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[263] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[272] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39568,7 +41643,7 @@ func (x *DiskType) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskType.ProtoReflect.Descriptor instead. func (*DiskType) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{263} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{272} } func (x *DiskType) GetCreationTimestamp() string { @@ -39672,7 +41747,7 @@ type DiskTypeAggregatedList struct { func (x *DiskTypeAggregatedList) Reset() { *x = DiskTypeAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[264] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39685,7 +41760,7 @@ func (x *DiskTypeAggregatedList) String() string { func (*DiskTypeAggregatedList) ProtoMessage() {} func (x *DiskTypeAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[264] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[273] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39698,7 +41773,7 @@ func (x *DiskTypeAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskTypeAggregatedList.ProtoReflect.Descriptor instead. func (*DiskTypeAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{264} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{273} } func (x *DiskTypeAggregatedList) GetId() string { @@ -39773,7 +41848,7 @@ type DiskTypeList struct { func (x *DiskTypeList) Reset() { *x = DiskTypeList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[265] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39786,7 +41861,7 @@ func (x *DiskTypeList) String() string { func (*DiskTypeList) ProtoMessage() {} func (x *DiskTypeList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[265] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[274] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39799,7 +41874,7 @@ func (x *DiskTypeList) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskTypeList.ProtoReflect.Descriptor instead. func (*DiskTypeList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{265} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{274} } func (x *DiskTypeList) GetId() string { @@ -39858,7 +41933,7 @@ type DiskTypesScopedList struct { func (x *DiskTypesScopedList) Reset() { *x = DiskTypesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[266] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39871,7 +41946,7 @@ func (x *DiskTypesScopedList) String() string { func (*DiskTypesScopedList) ProtoMessage() {} func (x *DiskTypesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[266] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[275] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39884,7 +41959,7 @@ func (x *DiskTypesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use DiskTypesScopedList.ProtoReflect.Descriptor instead. func (*DiskTypesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{266} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{275} } func (x *DiskTypesScopedList) GetDiskTypes() []*DiskType { @@ -39913,7 +41988,7 @@ type DisksAddResourcePoliciesRequest struct { func (x *DisksAddResourcePoliciesRequest) Reset() { *x = DisksAddResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[267] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39926,7 +42001,7 @@ func (x *DisksAddResourcePoliciesRequest) String() string { func (*DisksAddResourcePoliciesRequest) ProtoMessage() {} func (x *DisksAddResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[267] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[276] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39939,7 +42014,7 @@ func (x *DisksAddResourcePoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisksAddResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*DisksAddResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{267} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{276} } func (x *DisksAddResourcePoliciesRequest) GetResourcePolicies() []string { @@ -39961,7 +42036,7 @@ type DisksRemoveResourcePoliciesRequest struct { func (x *DisksRemoveResourcePoliciesRequest) Reset() { *x = DisksRemoveResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[268] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -39974,7 +42049,7 @@ func (x *DisksRemoveResourcePoliciesRequest) String() string { func (*DisksRemoveResourcePoliciesRequest) ProtoMessage() {} func (x *DisksRemoveResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[268] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[277] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -39987,7 +42062,7 @@ func (x *DisksRemoveResourcePoliciesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DisksRemoveResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*DisksRemoveResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{268} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{277} } func (x *DisksRemoveResourcePoliciesRequest) GetResourcePolicies() []string { @@ -40009,7 +42084,7 @@ type DisksResizeRequest struct { func (x *DisksResizeRequest) Reset() { *x = DisksResizeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[269] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40022,7 +42097,7 @@ func (x *DisksResizeRequest) String() string { func (*DisksResizeRequest) ProtoMessage() {} func (x *DisksResizeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[269] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[278] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40035,7 +42110,7 @@ func (x *DisksResizeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DisksResizeRequest.ProtoReflect.Descriptor instead. func (*DisksResizeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{269} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{278} } func (x *DisksResizeRequest) GetSizeGb() int64 { @@ -40059,7 +42134,7 @@ type DisksScopedList struct { func (x *DisksScopedList) Reset() { *x = DisksScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[270] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40072,7 +42147,7 @@ func (x *DisksScopedList) String() string { func (*DisksScopedList) ProtoMessage() {} func (x *DisksScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[270] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[279] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40085,7 +42160,7 @@ func (x *DisksScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use DisksScopedList.ProtoReflect.Descriptor instead. func (*DisksScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{270} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{279} } func (x *DisksScopedList) GetDisks() []*Disk { @@ -40114,7 +42189,7 @@ type DisksStartAsyncReplicationRequest struct { func (x *DisksStartAsyncReplicationRequest) Reset() { *x = DisksStartAsyncReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[271] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40127,7 +42202,7 @@ func (x *DisksStartAsyncReplicationRequest) String() string { func (*DisksStartAsyncReplicationRequest) ProtoMessage() {} func (x *DisksStartAsyncReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[271] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[280] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40140,7 +42215,7 @@ func (x *DisksStartAsyncReplicationRequest) ProtoReflect() protoreflect.Message // Deprecated: Use DisksStartAsyncReplicationRequest.ProtoReflect.Descriptor instead. func (*DisksStartAsyncReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{271} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{280} } func (x *DisksStartAsyncReplicationRequest) GetAsyncSecondaryDisk() string { @@ -40163,7 +42238,7 @@ type DisksStopGroupAsyncReplicationResource struct { func (x *DisksStopGroupAsyncReplicationResource) Reset() { *x = DisksStopGroupAsyncReplicationResource{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[272] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40176,7 +42251,7 @@ func (x *DisksStopGroupAsyncReplicationResource) String() string { func (*DisksStopGroupAsyncReplicationResource) ProtoMessage() {} func (x *DisksStopGroupAsyncReplicationResource) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[272] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[281] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40189,7 +42264,7 @@ func (x *DisksStopGroupAsyncReplicationResource) ProtoReflect() protoreflect.Mes // Deprecated: Use DisksStopGroupAsyncReplicationResource.ProtoReflect.Descriptor instead. func (*DisksStopGroupAsyncReplicationResource) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{272} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{281} } func (x *DisksStopGroupAsyncReplicationResource) GetResourcePolicy() string { @@ -40212,7 +42287,7 @@ type DisplayDevice struct { func (x *DisplayDevice) Reset() { *x = DisplayDevice{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[273] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40225,7 +42300,7 @@ func (x *DisplayDevice) String() string { func (*DisplayDevice) ProtoMessage() {} func (x *DisplayDevice) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[273] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[282] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40238,7 +42313,7 @@ func (x *DisplayDevice) ProtoReflect() protoreflect.Message { // Deprecated: Use DisplayDevice.ProtoReflect.Descriptor instead. func (*DisplayDevice) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{273} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{282} } func (x *DisplayDevice) GetEnableDisplay() bool { @@ -40263,7 +42338,7 @@ type DistributionPolicy struct { func (x *DistributionPolicy) Reset() { *x = DistributionPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[274] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40276,7 +42351,7 @@ func (x *DistributionPolicy) String() string { func (*DistributionPolicy) ProtoMessage() {} func (x *DistributionPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[274] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[283] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40289,7 +42364,7 @@ func (x *DistributionPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use DistributionPolicy.ProtoReflect.Descriptor instead. func (*DistributionPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{274} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{283} } func (x *DistributionPolicy) GetTargetShape() string { @@ -40318,7 +42393,7 @@ type DistributionPolicyZoneConfiguration struct { func (x *DistributionPolicyZoneConfiguration) Reset() { *x = DistributionPolicyZoneConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[275] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40331,7 +42406,7 @@ func (x *DistributionPolicyZoneConfiguration) String() string { func (*DistributionPolicyZoneConfiguration) ProtoMessage() {} func (x *DistributionPolicyZoneConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[275] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[284] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40344,7 +42419,7 @@ func (x *DistributionPolicyZoneConfiguration) ProtoReflect() protoreflect.Messag // Deprecated: Use DistributionPolicyZoneConfiguration.ProtoReflect.Descriptor instead. func (*DistributionPolicyZoneConfiguration) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{275} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{284} } func (x *DistributionPolicyZoneConfiguration) GetZone() string { @@ -40369,7 +42444,7 @@ type Duration struct { func (x *Duration) Reset() { *x = Duration{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[276] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40382,7 +42457,7 @@ func (x *Duration) String() string { func (*Duration) ProtoMessage() {} func (x *Duration) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[276] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[285] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40395,7 +42470,7 @@ func (x *Duration) ProtoReflect() protoreflect.Message { // Deprecated: Use Duration.ProtoReflect.Descriptor instead. func (*Duration) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{276} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{285} } func (x *Duration) GetNanos() int32 { @@ -40427,7 +42502,7 @@ type EnableXpnHostProjectRequest struct { func (x *EnableXpnHostProjectRequest) Reset() { *x = EnableXpnHostProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[277] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40440,7 +42515,7 @@ func (x *EnableXpnHostProjectRequest) String() string { func (*EnableXpnHostProjectRequest) ProtoMessage() {} func (x *EnableXpnHostProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[277] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[286] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40453,7 +42528,7 @@ func (x *EnableXpnHostProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableXpnHostProjectRequest.ProtoReflect.Descriptor instead. func (*EnableXpnHostProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{277} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{286} } func (x *EnableXpnHostProjectRequest) GetProject() string { @@ -40487,7 +42562,7 @@ type EnableXpnResourceProjectRequest struct { func (x *EnableXpnResourceProjectRequest) Reset() { *x = EnableXpnResourceProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[278] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40500,7 +42575,7 @@ func (x *EnableXpnResourceProjectRequest) String() string { func (*EnableXpnResourceProjectRequest) ProtoMessage() {} func (x *EnableXpnResourceProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[278] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[287] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40513,7 +42588,7 @@ func (x *EnableXpnResourceProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnableXpnResourceProjectRequest.ProtoReflect.Descriptor instead. func (*EnableXpnResourceProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{278} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{287} } func (x *EnableXpnResourceProjectRequest) GetProject() string { @@ -40550,7 +42625,7 @@ type Error struct { func (x *Error) Reset() { *x = Error{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[279] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40563,7 +42638,7 @@ func (x *Error) String() string { func (*Error) ProtoMessage() {} func (x *Error) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[279] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[288] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40576,7 +42651,7 @@ func (x *Error) ProtoReflect() protoreflect.Message { // Deprecated: Use Error.ProtoReflect.Descriptor instead. func (*Error) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{279} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{288} } func (x *Error) GetErrors() []*Errors { @@ -40600,7 +42675,7 @@ type ErrorDetails struct { func (x *ErrorDetails) Reset() { *x = ErrorDetails{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[280] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40613,7 +42688,7 @@ func (x *ErrorDetails) String() string { func (*ErrorDetails) ProtoMessage() {} func (x *ErrorDetails) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[280] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[289] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40626,7 +42701,7 @@ func (x *ErrorDetails) ProtoReflect() protoreflect.Message { // Deprecated: Use ErrorDetails.ProtoReflect.Descriptor instead. func (*ErrorDetails) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{280} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{289} } func (x *ErrorDetails) GetErrorInfo() *ErrorInfo { @@ -40674,7 +42749,7 @@ type ErrorInfo struct { func (x *ErrorInfo) Reset() { *x = ErrorInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[281] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40687,7 +42762,7 @@ func (x *ErrorInfo) String() string { func (*ErrorInfo) ProtoMessage() {} func (x *ErrorInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[281] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[290] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40700,7 +42775,7 @@ func (x *ErrorInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ErrorInfo.ProtoReflect.Descriptor instead. func (*ErrorInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{281} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{290} } func (x *ErrorInfo) GetDomain() string { @@ -40742,7 +42817,7 @@ type Errors struct { func (x *Errors) Reset() { *x = Errors{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[282] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40755,7 +42830,7 @@ func (x *Errors) String() string { func (*Errors) ProtoMessage() {} func (x *Errors) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[282] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[291] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40768,7 +42843,7 @@ func (x *Errors) ProtoReflect() protoreflect.Message { // Deprecated: Use Errors.ProtoReflect.Descriptor instead. func (*Errors) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{282} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{291} } func (x *Errors) GetCode() string { @@ -40820,7 +42895,7 @@ type ExchangedPeeringRoute struct { func (x *ExchangedPeeringRoute) Reset() { *x = ExchangedPeeringRoute{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[283] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40833,7 +42908,7 @@ func (x *ExchangedPeeringRoute) String() string { func (*ExchangedPeeringRoute) ProtoMessage() {} func (x *ExchangedPeeringRoute) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[283] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[292] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40846,7 +42921,7 @@ func (x *ExchangedPeeringRoute) ProtoReflect() protoreflect.Message { // Deprecated: Use ExchangedPeeringRoute.ProtoReflect.Descriptor instead. func (*ExchangedPeeringRoute) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{283} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{292} } func (x *ExchangedPeeringRoute) GetDestRange() string { @@ -40906,7 +42981,7 @@ type ExchangedPeeringRoutesList struct { func (x *ExchangedPeeringRoutesList) Reset() { *x = ExchangedPeeringRoutesList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[284] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -40919,7 +42994,7 @@ func (x *ExchangedPeeringRoutesList) String() string { func (*ExchangedPeeringRoutesList) ProtoMessage() {} func (x *ExchangedPeeringRoutesList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[284] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[293] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -40932,7 +43007,7 @@ func (x *ExchangedPeeringRoutesList) ProtoReflect() protoreflect.Message { // Deprecated: Use ExchangedPeeringRoutesList.ProtoReflect.Descriptor instead. func (*ExchangedPeeringRoutesList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{284} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{293} } func (x *ExchangedPeeringRoutesList) GetId() string { @@ -40998,7 +43073,7 @@ type ExpandIpCidrRangeSubnetworkRequest struct { func (x *ExpandIpCidrRangeSubnetworkRequest) Reset() { *x = ExpandIpCidrRangeSubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[285] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41011,7 +43086,7 @@ func (x *ExpandIpCidrRangeSubnetworkRequest) String() string { func (*ExpandIpCidrRangeSubnetworkRequest) ProtoMessage() {} func (x *ExpandIpCidrRangeSubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[285] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[294] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41024,7 +43099,7 @@ func (x *ExpandIpCidrRangeSubnetworkRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ExpandIpCidrRangeSubnetworkRequest.ProtoReflect.Descriptor instead. func (*ExpandIpCidrRangeSubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{285} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{294} } func (x *ExpandIpCidrRangeSubnetworkRequest) GetProject() string { @@ -41081,7 +43156,7 @@ type Expr struct { func (x *Expr) Reset() { *x = Expr{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[286] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41094,7 +43169,7 @@ func (x *Expr) String() string { func (*Expr) ProtoMessage() {} func (x *Expr) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[286] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[295] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41107,7 +43182,7 @@ func (x *Expr) ProtoReflect() protoreflect.Message { // Deprecated: Use Expr.ProtoReflect.Descriptor instead. func (*Expr) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{286} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{295} } func (x *Expr) GetDescription() string { @@ -41170,7 +43245,7 @@ type ExternalVpnGateway struct { func (x *ExternalVpnGateway) Reset() { *x = ExternalVpnGateway{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[287] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41183,7 +43258,7 @@ func (x *ExternalVpnGateway) String() string { func (*ExternalVpnGateway) ProtoMessage() {} func (x *ExternalVpnGateway) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[287] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[296] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41196,7 +43271,7 @@ func (x *ExternalVpnGateway) ProtoReflect() protoreflect.Message { // Deprecated: Use ExternalVpnGateway.ProtoReflect.Descriptor instead. func (*ExternalVpnGateway) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{287} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{296} } func (x *ExternalVpnGateway) GetCreationTimestamp() string { @@ -41284,7 +43359,7 @@ type ExternalVpnGatewayInterface struct { func (x *ExternalVpnGatewayInterface) Reset() { *x = ExternalVpnGatewayInterface{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[288] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41297,7 +43372,7 @@ func (x *ExternalVpnGatewayInterface) String() string { func (*ExternalVpnGatewayInterface) ProtoMessage() {} func (x *ExternalVpnGatewayInterface) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[288] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[297] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41310,7 +43385,7 @@ func (x *ExternalVpnGatewayInterface) ProtoReflect() protoreflect.Message { // Deprecated: Use ExternalVpnGatewayInterface.ProtoReflect.Descriptor instead. func (*ExternalVpnGatewayInterface) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{288} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{297} } func (x *ExternalVpnGatewayInterface) GetId() uint32 { @@ -41351,7 +43426,7 @@ type ExternalVpnGatewayList struct { func (x *ExternalVpnGatewayList) Reset() { *x = ExternalVpnGatewayList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[289] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41364,7 +43439,7 @@ func (x *ExternalVpnGatewayList) String() string { func (*ExternalVpnGatewayList) ProtoMessage() {} func (x *ExternalVpnGatewayList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[289] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[298] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41377,7 +43452,7 @@ func (x *ExternalVpnGatewayList) ProtoReflect() protoreflect.Message { // Deprecated: Use ExternalVpnGatewayList.ProtoReflect.Descriptor instead. func (*ExternalVpnGatewayList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{289} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{298} } func (x *ExternalVpnGatewayList) GetEtag() string { @@ -41444,7 +43519,7 @@ type FileContentBuffer struct { func (x *FileContentBuffer) Reset() { *x = FileContentBuffer{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[290] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41457,7 +43532,7 @@ func (x *FileContentBuffer) String() string { func (*FileContentBuffer) ProtoMessage() {} func (x *FileContentBuffer) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[290] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[299] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41470,7 +43545,7 @@ func (x *FileContentBuffer) ProtoReflect() protoreflect.Message { // Deprecated: Use FileContentBuffer.ProtoReflect.Descriptor instead. func (*FileContentBuffer) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{290} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{299} } func (x *FileContentBuffer) GetContent() string { @@ -41537,7 +43612,7 @@ type Firewall struct { func (x *Firewall) Reset() { *x = Firewall{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[291] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41550,7 +43625,7 @@ func (x *Firewall) String() string { func (*Firewall) ProtoMessage() {} func (x *Firewall) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[291] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[300] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41563,7 +43638,7 @@ func (x *Firewall) ProtoReflect() protoreflect.Message { // Deprecated: Use Firewall.ProtoReflect.Descriptor instead. func (*Firewall) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{291} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{300} } func (x *Firewall) GetAllowed() []*Allowed { @@ -41722,7 +43797,7 @@ type FirewallList struct { func (x *FirewallList) Reset() { *x = FirewallList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[292] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41735,7 +43810,7 @@ func (x *FirewallList) String() string { func (*FirewallList) ProtoMessage() {} func (x *FirewallList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[292] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[301] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41748,7 +43823,7 @@ func (x *FirewallList) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallList.ProtoReflect.Descriptor instead. func (*FirewallList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{292} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{301} } func (x *FirewallList) GetId() string { @@ -41809,7 +43884,7 @@ type FirewallLogConfig struct { func (x *FirewallLogConfig) Reset() { *x = FirewallLogConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[293] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41822,7 +43897,7 @@ func (x *FirewallLogConfig) String() string { func (*FirewallLogConfig) ProtoMessage() {} func (x *FirewallLogConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[293] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[302] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41835,7 +43910,7 @@ func (x *FirewallLogConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallLogConfig.ProtoReflect.Descriptor instead. func (*FirewallLogConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{293} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{302} } func (x *FirewallLogConfig) GetEnable() bool { @@ -41866,7 +43941,7 @@ type FirewallPoliciesListAssociationsResponse struct { func (x *FirewallPoliciesListAssociationsResponse) Reset() { *x = FirewallPoliciesListAssociationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[294] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41879,7 +43954,7 @@ func (x *FirewallPoliciesListAssociationsResponse) String() string { func (*FirewallPoliciesListAssociationsResponse) ProtoMessage() {} func (x *FirewallPoliciesListAssociationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[294] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[303] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41892,7 +43967,7 @@ func (x *FirewallPoliciesListAssociationsResponse) ProtoReflect() protoreflect.M // Deprecated: Use FirewallPoliciesListAssociationsResponse.ProtoReflect.Descriptor instead. func (*FirewallPoliciesListAssociationsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{294} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{303} } func (x *FirewallPoliciesListAssociationsResponse) GetAssociations() []*FirewallPolicyAssociation { @@ -41950,7 +44025,7 @@ type FirewallPolicy struct { func (x *FirewallPolicy) Reset() { *x = FirewallPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[295] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -41963,7 +44038,7 @@ func (x *FirewallPolicy) String() string { func (*FirewallPolicy) ProtoMessage() {} func (x *FirewallPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[295] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[304] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -41976,7 +44051,7 @@ func (x *FirewallPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallPolicy.ProtoReflect.Descriptor instead. func (*FirewallPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{295} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{304} } func (x *FirewallPolicy) GetAssociations() []*FirewallPolicyAssociation { @@ -42104,7 +44179,7 @@ type FirewallPolicyAssociation struct { func (x *FirewallPolicyAssociation) Reset() { *x = FirewallPolicyAssociation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[296] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42117,7 +44192,7 @@ func (x *FirewallPolicyAssociation) String() string { func (*FirewallPolicyAssociation) ProtoMessage() {} func (x *FirewallPolicyAssociation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[296] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[305] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42130,7 +44205,7 @@ func (x *FirewallPolicyAssociation) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallPolicyAssociation.ProtoReflect.Descriptor instead. func (*FirewallPolicyAssociation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{296} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{305} } func (x *FirewallPolicyAssociation) GetAttachmentTarget() string { @@ -42188,7 +44263,7 @@ type FirewallPolicyList struct { func (x *FirewallPolicyList) Reset() { *x = FirewallPolicyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[297] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42201,7 +44276,7 @@ func (x *FirewallPolicyList) String() string { func (*FirewallPolicyList) ProtoMessage() {} func (x *FirewallPolicyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[297] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[306] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42214,7 +44289,7 @@ func (x *FirewallPolicyList) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallPolicyList.ProtoReflect.Descriptor instead. func (*FirewallPolicyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{297} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{306} } func (x *FirewallPolicyList) GetId() string { @@ -42290,7 +44365,7 @@ type FirewallPolicyRule struct { func (x *FirewallPolicyRule) Reset() { *x = FirewallPolicyRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[298] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42303,7 +44378,7 @@ func (x *FirewallPolicyRule) String() string { func (*FirewallPolicyRule) ProtoMessage() {} func (x *FirewallPolicyRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[298] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[307] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42316,7 +44391,7 @@ func (x *FirewallPolicyRule) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallPolicyRule.ProtoReflect.Descriptor instead. func (*FirewallPolicyRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{298} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{307} } func (x *FirewallPolicyRule) GetAction() string { @@ -42445,7 +44520,7 @@ type FirewallPolicyRuleMatcher struct { func (x *FirewallPolicyRuleMatcher) Reset() { *x = FirewallPolicyRuleMatcher{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[299] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42458,7 +44533,7 @@ func (x *FirewallPolicyRuleMatcher) String() string { func (*FirewallPolicyRuleMatcher) ProtoMessage() {} func (x *FirewallPolicyRuleMatcher) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[299] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[308] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42471,7 +44546,7 @@ func (x *FirewallPolicyRuleMatcher) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallPolicyRuleMatcher.ProtoReflect.Descriptor instead. func (*FirewallPolicyRuleMatcher) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{299} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{308} } func (x *FirewallPolicyRuleMatcher) GetDestAddressGroups() []string { @@ -42572,7 +44647,7 @@ type FirewallPolicyRuleMatcherLayer4Config struct { func (x *FirewallPolicyRuleMatcherLayer4Config) Reset() { *x = FirewallPolicyRuleMatcherLayer4Config{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[300] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42585,7 +44660,7 @@ func (x *FirewallPolicyRuleMatcherLayer4Config) String() string { func (*FirewallPolicyRuleMatcherLayer4Config) ProtoMessage() {} func (x *FirewallPolicyRuleMatcherLayer4Config) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[300] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[309] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42598,7 +44673,7 @@ func (x *FirewallPolicyRuleMatcherLayer4Config) ProtoReflect() protoreflect.Mess // Deprecated: Use FirewallPolicyRuleMatcherLayer4Config.ProtoReflect.Descriptor instead. func (*FirewallPolicyRuleMatcherLayer4Config) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{300} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{309} } func (x *FirewallPolicyRuleMatcherLayer4Config) GetIpProtocol() string { @@ -42630,7 +44705,7 @@ type FirewallPolicyRuleSecureTag struct { func (x *FirewallPolicyRuleSecureTag) Reset() { *x = FirewallPolicyRuleSecureTag{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[301] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42643,7 +44718,7 @@ func (x *FirewallPolicyRuleSecureTag) String() string { func (*FirewallPolicyRuleSecureTag) ProtoMessage() {} func (x *FirewallPolicyRuleSecureTag) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[301] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[310] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42656,7 +44731,7 @@ func (x *FirewallPolicyRuleSecureTag) ProtoReflect() protoreflect.Message { // Deprecated: Use FirewallPolicyRuleSecureTag.ProtoReflect.Descriptor instead. func (*FirewallPolicyRuleSecureTag) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{301} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{310} } func (x *FirewallPolicyRuleSecureTag) GetName() string { @@ -42690,7 +44765,7 @@ type FixedOrPercent struct { func (x *FixedOrPercent) Reset() { *x = FixedOrPercent{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[302] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42703,7 +44778,7 @@ func (x *FixedOrPercent) String() string { func (*FixedOrPercent) ProtoMessage() {} func (x *FixedOrPercent) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[302] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[311] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42716,7 +44791,7 @@ func (x *FixedOrPercent) ProtoReflect() protoreflect.Message { // Deprecated: Use FixedOrPercent.ProtoReflect.Descriptor instead. func (*FixedOrPercent) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{302} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{311} } func (x *FixedOrPercent) GetCalculated() int32 { @@ -42751,7 +44826,7 @@ type ForwardingRule struct { // The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends). // Check the IPProtocolEnum enum for the list of possible values. IPProtocol *string `protobuf:"bytes,488094525,opt,name=I_p_protocol,json=IPProtocol,proto3,oneof" json:"I_p_protocol,omitempty"` - // This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By internal TCP/UDP load balancers, backend service-based network load balancers, and internal and external protocol forwarding. Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The ports, port_range, and allPorts fields are mutually exclusive. + // The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The allPorts field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, SCTP, or L3_DEFAULT. - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal and external protocol forwarding. - Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true. AllPorts *bool `protobuf:"varint,445175796,opt,name=all_ports,json=allPorts,proto3,oneof" json:"all_ports,omitempty"` // This field is used along with the backend_service field for internal load balancing or with the target field for internal TargetInstance. If set to true, clients can access the Internal TCP/UDP Load Balancer, Internal HTTP(S) and TCP Proxy Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created. AllowGlobalAccess *bool `protobuf:"varint,499409674,opt,name=allow_global_access,json=allowGlobalAccess,proto3,oneof" json:"allow_global_access,omitempty"` @@ -42787,20 +44862,19 @@ type ForwardingRule struct { MetadataFilters []*MetadataFilter `protobuf:"bytes,464725739,rep,name=metadata_filters,json=metadataFilters,proto3" json:"metadata_filters,omitempty"` // Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter. Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` - // This field is not used for external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided. + // This field is not used for global external load balancing. For Internal TCP/UDP Load Balancing, this field identifies the network that the load balanced IP should belong to for this Forwarding Rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided. Network *string `protobuf:"bytes,232872494,opt,name=network,proto3,oneof" json:"network,omitempty"` // This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address. // Check the NetworkTier enum for the list of possible values. NetworkTier *string `protobuf:"bytes,517397843,opt,name=network_tier,json=networkTier,proto3,oneof" json:"network_tier,omitempty"` - // This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. + // This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. Once set, this field is not mutable. NoAutomateDnsZone *bool `protobuf:"varint,64546991,opt,name=no_automate_dns_zone,json=noAutomateDnsZone,proto3,oneof" json:"no_automate_dns_zone,omitempty"` - // This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By backend service-based network load balancers, target pool-based network load balancers, internal proxy load balancers, external proxy load balancers, Traffic Director, external protocol forwarding, and Classic VPN. Some products have restrictions on what ports can be used. See port specifications for details. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports, port_range, and allPorts fields are mutually exclusive. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\d+(?:-\\d+)? + // The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The portRange field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: external passthrough Network Load Balancers, internal and external proxy Network Load Balancers, internal and external Application Load Balancers, external protocol forwarding, and Classic VPN. - Some products have restrictions on what ports can be used. See port specifications for details. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\d+(?:-\\d+)? PortRange *string `protobuf:"bytes,217518079,opt,name=port_range,json=portRange,proto3,oneof" json:"port_range,omitempty"` - // This field can only be used: - If IPProtocol is one of TCP, UDP, or SCTP. - By internal TCP/UDP load balancers, backend service-based network load balancers, and internal protocol forwarding. You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. Only packets addressed to these ports will be forwarded to the backends configured with this forwarding rule. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot share any values defined in ports. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot share any values defined in ports. The ports, port_range, and allPorts fields are mutually exclusive. @pattern: \\d+(?:-\\d+)? + // The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal protocol forwarding. - You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. @pattern: \\d+(?:-\\d+)? Ports []string `protobuf:"bytes,106854418,rep,name=ports,proto3" json:"ports,omitempty"` // [Output Only] The PSC connection id of the PSC Forwarding Rule. PscConnectionId *uint64 `protobuf:"varint,292082397,opt,name=psc_connection_id,json=pscConnectionId,proto3,oneof" json:"psc_connection_id,omitempty"` - // // Check the PscConnectionStatus enum for the list of possible values. PscConnectionStatus *string `protobuf:"bytes,184149172,opt,name=psc_connection_status,json=pscConnectionStatus,proto3,oneof" json:"psc_connection_status,omitempty"` // [Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -42817,14 +44891,14 @@ type ForwardingRule struct { SourceIpRanges []string `protobuf:"bytes,111563210,rep,name=source_ip_ranges,json=sourceIpRanges,proto3" json:"source_ip_ranges,omitempty"` // This field identifies the subnetwork that the load balanced IP should belong to for this Forwarding Rule, used in internal load balancing and network load balancing with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6. Subnetwork *string `protobuf:"bytes,307827694,opt,name=subnetwork,proto3,oneof" json:"subnetwork,omitempty"` - // The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. + // The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the "Target" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. Target *string `protobuf:"bytes,192835985,opt,name=target,proto3,oneof" json:"target,omitempty"` } func (x *ForwardingRule) Reset() { *x = ForwardingRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[303] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -42837,7 +44911,7 @@ func (x *ForwardingRule) String() string { func (*ForwardingRule) ProtoMessage() {} func (x *ForwardingRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[303] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[312] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -42850,7 +44924,7 @@ func (x *ForwardingRule) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardingRule.ProtoReflect.Descriptor instead. func (*ForwardingRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{303} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{312} } func (x *ForwardingRule) GetIPAddress() string { @@ -43115,7 +45189,7 @@ type ForwardingRuleAggregatedList struct { func (x *ForwardingRuleAggregatedList) Reset() { *x = ForwardingRuleAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[304] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43128,7 +45202,7 @@ func (x *ForwardingRuleAggregatedList) String() string { func (*ForwardingRuleAggregatedList) ProtoMessage() {} func (x *ForwardingRuleAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[304] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[313] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43141,7 +45215,7 @@ func (x *ForwardingRuleAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardingRuleAggregatedList.ProtoReflect.Descriptor instead. func (*ForwardingRuleAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{304} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{313} } func (x *ForwardingRuleAggregatedList) GetId() string { @@ -43216,7 +45290,7 @@ type ForwardingRuleList struct { func (x *ForwardingRuleList) Reset() { *x = ForwardingRuleList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[305] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43229,7 +45303,7 @@ func (x *ForwardingRuleList) String() string { func (*ForwardingRuleList) ProtoMessage() {} func (x *ForwardingRuleList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[305] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[314] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43242,7 +45316,7 @@ func (x *ForwardingRuleList) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardingRuleList.ProtoReflect.Descriptor instead. func (*ForwardingRuleList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{305} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{314} } func (x *ForwardingRuleList) GetId() string { @@ -43298,7 +45372,7 @@ type ForwardingRuleReference struct { func (x *ForwardingRuleReference) Reset() { *x = ForwardingRuleReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[306] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43311,7 +45385,7 @@ func (x *ForwardingRuleReference) String() string { func (*ForwardingRuleReference) ProtoMessage() {} func (x *ForwardingRuleReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[306] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[315] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43324,7 +45398,7 @@ func (x *ForwardingRuleReference) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardingRuleReference.ProtoReflect.Descriptor instead. func (*ForwardingRuleReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{306} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{315} } func (x *ForwardingRuleReference) GetForwardingRule() string { @@ -43351,7 +45425,7 @@ type ForwardingRuleServiceDirectoryRegistration struct { func (x *ForwardingRuleServiceDirectoryRegistration) Reset() { *x = ForwardingRuleServiceDirectoryRegistration{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[307] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43364,7 +45438,7 @@ func (x *ForwardingRuleServiceDirectoryRegistration) String() string { func (*ForwardingRuleServiceDirectoryRegistration) ProtoMessage() {} func (x *ForwardingRuleServiceDirectoryRegistration) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[307] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[316] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43377,7 +45451,7 @@ func (x *ForwardingRuleServiceDirectoryRegistration) ProtoReflect() protoreflect // Deprecated: Use ForwardingRuleServiceDirectoryRegistration.ProtoReflect.Descriptor instead. func (*ForwardingRuleServiceDirectoryRegistration) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{307} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{316} } func (x *ForwardingRuleServiceDirectoryRegistration) GetNamespace() string { @@ -43415,7 +45489,7 @@ type ForwardingRulesScopedList struct { func (x *ForwardingRulesScopedList) Reset() { *x = ForwardingRulesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[308] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43428,7 +45502,7 @@ func (x *ForwardingRulesScopedList) String() string { func (*ForwardingRulesScopedList) ProtoMessage() {} func (x *ForwardingRulesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[308] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[317] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43441,7 +45515,7 @@ func (x *ForwardingRulesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ForwardingRulesScopedList.ProtoReflect.Descriptor instead. func (*ForwardingRulesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{308} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{317} } func (x *ForwardingRulesScopedList) GetForwardingRules() []*ForwardingRule { @@ -43477,7 +45551,7 @@ type GRPCHealthCheck struct { func (x *GRPCHealthCheck) Reset() { *x = GRPCHealthCheck{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[309] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[318] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43490,7 +45564,7 @@ func (x *GRPCHealthCheck) String() string { func (*GRPCHealthCheck) ProtoMessage() {} func (x *GRPCHealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[309] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[318] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43503,7 +45577,7 @@ func (x *GRPCHealthCheck) ProtoReflect() protoreflect.Message { // Deprecated: Use GRPCHealthCheck.ProtoReflect.Descriptor instead. func (*GRPCHealthCheck) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{309} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{318} } func (x *GRPCHealthCheck) GetGrpcServiceName() string { @@ -43551,7 +45625,7 @@ type GetAcceleratorTypeRequest struct { func (x *GetAcceleratorTypeRequest) Reset() { *x = GetAcceleratorTypeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[310] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43564,7 +45638,7 @@ func (x *GetAcceleratorTypeRequest) String() string { func (*GetAcceleratorTypeRequest) ProtoMessage() {} func (x *GetAcceleratorTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[310] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[319] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43577,7 +45651,7 @@ func (x *GetAcceleratorTypeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAcceleratorTypeRequest.ProtoReflect.Descriptor instead. func (*GetAcceleratorTypeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{310} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{319} } func (x *GetAcceleratorTypeRequest) GetAcceleratorType() string { @@ -43618,7 +45692,7 @@ type GetAddressRequest struct { func (x *GetAddressRequest) Reset() { *x = GetAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[311] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43631,7 +45705,7 @@ func (x *GetAddressRequest) String() string { func (*GetAddressRequest) ProtoMessage() {} func (x *GetAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[311] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[320] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43644,7 +45718,7 @@ func (x *GetAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAddressRequest.ProtoReflect.Descriptor instead. func (*GetAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{311} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{320} } func (x *GetAddressRequest) GetAddress() string { @@ -43683,7 +45757,7 @@ type GetAssociationFirewallPolicyRequest struct { func (x *GetAssociationFirewallPolicyRequest) Reset() { *x = GetAssociationFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[312] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43696,7 +45770,7 @@ func (x *GetAssociationFirewallPolicyRequest) String() string { func (*GetAssociationFirewallPolicyRequest) ProtoMessage() {} func (x *GetAssociationFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[312] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[321] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43709,7 +45783,7 @@ func (x *GetAssociationFirewallPolicyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetAssociationFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetAssociationFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{312} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{321} } func (x *GetAssociationFirewallPolicyRequest) GetFirewallPolicy() string { @@ -43743,7 +45817,7 @@ type GetAssociationNetworkFirewallPolicyRequest struct { func (x *GetAssociationNetworkFirewallPolicyRequest) Reset() { *x = GetAssociationNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[313] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43756,7 +45830,7 @@ func (x *GetAssociationNetworkFirewallPolicyRequest) String() string { func (*GetAssociationNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetAssociationNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[313] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[322] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43769,7 +45843,7 @@ func (x *GetAssociationNetworkFirewallPolicyRequest) ProtoReflect() protoreflect // Deprecated: Use GetAssociationNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetAssociationNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{313} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{322} } func (x *GetAssociationNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -43812,7 +45886,7 @@ type GetAssociationRegionNetworkFirewallPolicyRequest struct { func (x *GetAssociationRegionNetworkFirewallPolicyRequest) Reset() { *x = GetAssociationRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[314] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43825,7 +45899,7 @@ func (x *GetAssociationRegionNetworkFirewallPolicyRequest) String() string { func (*GetAssociationRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetAssociationRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[314] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[323] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43838,7 +45912,7 @@ func (x *GetAssociationRegionNetworkFirewallPolicyRequest) ProtoReflect() protor // Deprecated: Use GetAssociationRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetAssociationRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{314} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{323} } func (x *GetAssociationRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -43886,7 +45960,7 @@ type GetAutoscalerRequest struct { func (x *GetAutoscalerRequest) Reset() { *x = GetAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[315] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43899,7 +45973,7 @@ func (x *GetAutoscalerRequest) String() string { func (*GetAutoscalerRequest) ProtoMessage() {} func (x *GetAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[315] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[324] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43912,7 +45986,7 @@ func (x *GetAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAutoscalerRequest.ProtoReflect.Descriptor instead. func (*GetAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{315} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{324} } func (x *GetAutoscalerRequest) GetAutoscaler() string { @@ -43951,7 +46025,7 @@ type GetBackendBucketRequest struct { func (x *GetBackendBucketRequest) Reset() { *x = GetBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[316] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -43964,7 +46038,7 @@ func (x *GetBackendBucketRequest) String() string { func (*GetBackendBucketRequest) ProtoMessage() {} func (x *GetBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[316] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[325] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -43977,7 +46051,7 @@ func (x *GetBackendBucketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBackendBucketRequest.ProtoReflect.Descriptor instead. func (*GetBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{316} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{325} } func (x *GetBackendBucketRequest) GetBackendBucket() string { @@ -44009,7 +46083,7 @@ type GetBackendServiceRequest struct { func (x *GetBackendServiceRequest) Reset() { *x = GetBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[317] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44022,7 +46096,7 @@ func (x *GetBackendServiceRequest) String() string { func (*GetBackendServiceRequest) ProtoMessage() {} func (x *GetBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[317] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[326] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44035,7 +46109,7 @@ func (x *GetBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBackendServiceRequest.ProtoReflect.Descriptor instead. func (*GetBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{317} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{326} } func (x *GetBackendServiceRequest) GetBackendService() string { @@ -44067,7 +46141,7 @@ type GetDiagnosticsInterconnectRequest struct { func (x *GetDiagnosticsInterconnectRequest) Reset() { *x = GetDiagnosticsInterconnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[318] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44080,7 +46154,7 @@ func (x *GetDiagnosticsInterconnectRequest) String() string { func (*GetDiagnosticsInterconnectRequest) ProtoMessage() {} func (x *GetDiagnosticsInterconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[318] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[327] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44093,7 +46167,7 @@ func (x *GetDiagnosticsInterconnectRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetDiagnosticsInterconnectRequest.ProtoReflect.Descriptor instead. func (*GetDiagnosticsInterconnectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{318} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{327} } func (x *GetDiagnosticsInterconnectRequest) GetInterconnect() string { @@ -44127,7 +46201,7 @@ type GetDiskRequest struct { func (x *GetDiskRequest) Reset() { *x = GetDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[319] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44140,7 +46214,7 @@ func (x *GetDiskRequest) String() string { func (*GetDiskRequest) ProtoMessage() {} func (x *GetDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[319] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[328] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44153,7 +46227,7 @@ func (x *GetDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDiskRequest.ProtoReflect.Descriptor instead. func (*GetDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{319} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{328} } func (x *GetDiskRequest) GetDisk() string { @@ -44194,7 +46268,7 @@ type GetDiskTypeRequest struct { func (x *GetDiskTypeRequest) Reset() { *x = GetDiskTypeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[320] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44207,7 +46281,7 @@ func (x *GetDiskTypeRequest) String() string { func (*GetDiskTypeRequest) ProtoMessage() {} func (x *GetDiskTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[320] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[329] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44220,7 +46294,7 @@ func (x *GetDiskTypeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDiskTypeRequest.ProtoReflect.Descriptor instead. func (*GetDiskTypeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{320} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{329} } func (x *GetDiskTypeRequest) GetDiskType() string { @@ -44263,7 +46337,7 @@ type GetEffectiveFirewallsInstanceRequest struct { func (x *GetEffectiveFirewallsInstanceRequest) Reset() { *x = GetEffectiveFirewallsInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[321] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44276,7 +46350,7 @@ func (x *GetEffectiveFirewallsInstanceRequest) String() string { func (*GetEffectiveFirewallsInstanceRequest) ProtoMessage() {} func (x *GetEffectiveFirewallsInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[321] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[330] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44289,7 +46363,7 @@ func (x *GetEffectiveFirewallsInstanceRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetEffectiveFirewallsInstanceRequest.ProtoReflect.Descriptor instead. func (*GetEffectiveFirewallsInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{321} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{330} } func (x *GetEffectiveFirewallsInstanceRequest) GetInstance() string { @@ -44335,7 +46409,7 @@ type GetEffectiveFirewallsNetworkRequest struct { func (x *GetEffectiveFirewallsNetworkRequest) Reset() { *x = GetEffectiveFirewallsNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[322] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44348,7 +46422,7 @@ func (x *GetEffectiveFirewallsNetworkRequest) String() string { func (*GetEffectiveFirewallsNetworkRequest) ProtoMessage() {} func (x *GetEffectiveFirewallsNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[322] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[331] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44361,7 +46435,7 @@ func (x *GetEffectiveFirewallsNetworkRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetEffectiveFirewallsNetworkRequest.ProtoReflect.Descriptor instead. func (*GetEffectiveFirewallsNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{322} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{331} } func (x *GetEffectiveFirewallsNetworkRequest) GetNetwork() string { @@ -44395,7 +46469,7 @@ type GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest struct { func (x *GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest) Reset() { *x = GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[323] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[332] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44408,7 +46482,7 @@ func (x *GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest) String() strin func (*GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[323] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[332] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44421,7 +46495,7 @@ func (x *GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest) ProtoReflect() // Deprecated: Use GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{323} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{332} } func (x *GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest) GetNetwork() string { @@ -44460,7 +46534,7 @@ type GetExternalVpnGatewayRequest struct { func (x *GetExternalVpnGatewayRequest) Reset() { *x = GetExternalVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[324] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[333] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44473,7 +46547,7 @@ func (x *GetExternalVpnGatewayRequest) String() string { func (*GetExternalVpnGatewayRequest) ProtoMessage() {} func (x *GetExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[324] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[333] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44486,7 +46560,7 @@ func (x *GetExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetExternalVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*GetExternalVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{324} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{333} } func (x *GetExternalVpnGatewayRequest) GetExternalVpnGateway() string { @@ -44516,7 +46590,7 @@ type GetFirewallPolicyRequest struct { func (x *GetFirewallPolicyRequest) Reset() { *x = GetFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[325] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[334] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44529,7 +46603,7 @@ func (x *GetFirewallPolicyRequest) String() string { func (*GetFirewallPolicyRequest) ProtoMessage() {} func (x *GetFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[325] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[334] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44542,7 +46616,7 @@ func (x *GetFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{325} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{334} } func (x *GetFirewallPolicyRequest) GetFirewallPolicy() string { @@ -44567,7 +46641,7 @@ type GetFirewallRequest struct { func (x *GetFirewallRequest) Reset() { *x = GetFirewallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[326] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[335] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44580,7 +46654,7 @@ func (x *GetFirewallRequest) String() string { func (*GetFirewallRequest) ProtoMessage() {} func (x *GetFirewallRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[326] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[335] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44593,7 +46667,7 @@ func (x *GetFirewallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFirewallRequest.ProtoReflect.Descriptor instead. func (*GetFirewallRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{326} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{335} } func (x *GetFirewallRequest) GetFirewall() string { @@ -44627,7 +46701,7 @@ type GetForwardingRuleRequest struct { func (x *GetForwardingRuleRequest) Reset() { *x = GetForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[327] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[336] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44640,7 +46714,7 @@ func (x *GetForwardingRuleRequest) String() string { func (*GetForwardingRuleRequest) ProtoMessage() {} func (x *GetForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[327] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[336] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44653,7 +46727,7 @@ func (x *GetForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*GetForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{327} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{336} } func (x *GetForwardingRuleRequest) GetForwardingRule() string { @@ -44692,7 +46766,7 @@ type GetFromFamilyImageRequest struct { func (x *GetFromFamilyImageRequest) Reset() { *x = GetFromFamilyImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[328] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[337] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44705,7 +46779,7 @@ func (x *GetFromFamilyImageRequest) String() string { func (*GetFromFamilyImageRequest) ProtoMessage() {} func (x *GetFromFamilyImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[328] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[337] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44718,7 +46792,7 @@ func (x *GetFromFamilyImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFromFamilyImageRequest.ProtoReflect.Descriptor instead. func (*GetFromFamilyImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{328} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{337} } func (x *GetFromFamilyImageRequest) GetFamily() string { @@ -44750,7 +46824,7 @@ type GetGlobalAddressRequest struct { func (x *GetGlobalAddressRequest) Reset() { *x = GetGlobalAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[329] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[338] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44763,7 +46837,7 @@ func (x *GetGlobalAddressRequest) String() string { func (*GetGlobalAddressRequest) ProtoMessage() {} func (x *GetGlobalAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[329] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[338] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44776,7 +46850,7 @@ func (x *GetGlobalAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGlobalAddressRequest.ProtoReflect.Descriptor instead. func (*GetGlobalAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{329} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{338} } func (x *GetGlobalAddressRequest) GetAddress() string { @@ -44808,7 +46882,7 @@ type GetGlobalForwardingRuleRequest struct { func (x *GetGlobalForwardingRuleRequest) Reset() { *x = GetGlobalForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[330] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[339] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44821,7 +46895,7 @@ func (x *GetGlobalForwardingRuleRequest) String() string { func (*GetGlobalForwardingRuleRequest) ProtoMessage() {} func (x *GetGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[330] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[339] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44834,7 +46908,7 @@ func (x *GetGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGlobalForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*GetGlobalForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{330} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{339} } func (x *GetGlobalForwardingRuleRequest) GetForwardingRule() string { @@ -44866,7 +46940,7 @@ type GetGlobalNetworkEndpointGroupRequest struct { func (x *GetGlobalNetworkEndpointGroupRequest) Reset() { *x = GetGlobalNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[331] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[340] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44879,7 +46953,7 @@ func (x *GetGlobalNetworkEndpointGroupRequest) String() string { func (*GetGlobalNetworkEndpointGroupRequest) ProtoMessage() {} func (x *GetGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[331] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[340] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44892,7 +46966,7 @@ func (x *GetGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetGlobalNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*GetGlobalNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{331} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{340} } func (x *GetGlobalNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -44924,7 +46998,7 @@ type GetGlobalOperationRequest struct { func (x *GetGlobalOperationRequest) Reset() { *x = GetGlobalOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[332] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[341] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44937,7 +47011,7 @@ func (x *GetGlobalOperationRequest) String() string { func (*GetGlobalOperationRequest) ProtoMessage() {} func (x *GetGlobalOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[332] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[341] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -44950,7 +47024,7 @@ func (x *GetGlobalOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGlobalOperationRequest.ProtoReflect.Descriptor instead. func (*GetGlobalOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{332} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{341} } func (x *GetGlobalOperationRequest) GetOperation() string { @@ -44982,7 +47056,7 @@ type GetGlobalOrganizationOperationRequest struct { func (x *GetGlobalOrganizationOperationRequest) Reset() { *x = GetGlobalOrganizationOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[333] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[342] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44995,7 +47069,7 @@ func (x *GetGlobalOrganizationOperationRequest) String() string { func (*GetGlobalOrganizationOperationRequest) ProtoMessage() {} func (x *GetGlobalOrganizationOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[333] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[342] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45008,7 +47082,7 @@ func (x *GetGlobalOrganizationOperationRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use GetGlobalOrganizationOperationRequest.ProtoReflect.Descriptor instead. func (*GetGlobalOrganizationOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{333} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{342} } func (x *GetGlobalOrganizationOperationRequest) GetOperation() string { @@ -45040,7 +47114,7 @@ type GetGlobalPublicDelegatedPrefixeRequest struct { func (x *GetGlobalPublicDelegatedPrefixeRequest) Reset() { *x = GetGlobalPublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[334] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[343] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45053,7 +47127,7 @@ func (x *GetGlobalPublicDelegatedPrefixeRequest) String() string { func (*GetGlobalPublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *GetGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[334] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[343] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45066,7 +47140,7 @@ func (x *GetGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use GetGlobalPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*GetGlobalPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{334} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{343} } func (x *GetGlobalPublicDelegatedPrefixeRequest) GetProject() string { @@ -45104,7 +47178,7 @@ type GetGuestAttributesInstanceRequest struct { func (x *GetGuestAttributesInstanceRequest) Reset() { *x = GetGuestAttributesInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[335] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[344] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45117,7 +47191,7 @@ func (x *GetGuestAttributesInstanceRequest) String() string { func (*GetGuestAttributesInstanceRequest) ProtoMessage() {} func (x *GetGuestAttributesInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[335] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[344] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45130,7 +47204,7 @@ func (x *GetGuestAttributesInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetGuestAttributesInstanceRequest.ProtoReflect.Descriptor instead. func (*GetGuestAttributesInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{335} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{344} } func (x *GetGuestAttributesInstanceRequest) GetInstance() string { @@ -45184,7 +47258,7 @@ type GetHealthBackendServiceRequest struct { func (x *GetHealthBackendServiceRequest) Reset() { *x = GetHealthBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[336] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[345] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45197,7 +47271,7 @@ func (x *GetHealthBackendServiceRequest) String() string { func (*GetHealthBackendServiceRequest) ProtoMessage() {} func (x *GetHealthBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[336] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[345] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45210,7 +47284,7 @@ func (x *GetHealthBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHealthBackendServiceRequest.ProtoReflect.Descriptor instead. func (*GetHealthBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{336} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{345} } func (x *GetHealthBackendServiceRequest) GetBackendService() string { @@ -45249,7 +47323,7 @@ type GetHealthCheckRequest struct { func (x *GetHealthCheckRequest) Reset() { *x = GetHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[337] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[346] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45262,7 +47336,7 @@ func (x *GetHealthCheckRequest) String() string { func (*GetHealthCheckRequest) ProtoMessage() {} func (x *GetHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[337] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[346] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45275,7 +47349,7 @@ func (x *GetHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHealthCheckRequest.ProtoReflect.Descriptor instead. func (*GetHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{337} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{346} } func (x *GetHealthCheckRequest) GetHealthCheck() string { @@ -45310,7 +47384,7 @@ type GetHealthRegionBackendServiceRequest struct { func (x *GetHealthRegionBackendServiceRequest) Reset() { *x = GetHealthRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[338] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[347] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45323,7 +47397,7 @@ func (x *GetHealthRegionBackendServiceRequest) String() string { func (*GetHealthRegionBackendServiceRequest) ProtoMessage() {} func (x *GetHealthRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[338] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[347] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45336,7 +47410,7 @@ func (x *GetHealthRegionBackendServiceRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetHealthRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*GetHealthRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{338} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{347} } func (x *GetHealthRegionBackendServiceRequest) GetBackendService() string { @@ -45386,7 +47460,7 @@ type GetHealthTargetPoolRequest struct { func (x *GetHealthTargetPoolRequest) Reset() { *x = GetHealthTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[339] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[348] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45399,7 +47473,7 @@ func (x *GetHealthTargetPoolRequest) String() string { func (*GetHealthTargetPoolRequest) ProtoMessage() {} func (x *GetHealthTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[339] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[348] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45412,7 +47486,7 @@ func (x *GetHealthTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHealthTargetPoolRequest.ProtoReflect.Descriptor instead. func (*GetHealthTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{339} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{348} } func (x *GetHealthTargetPoolRequest) GetInstanceReferenceResource() *InstanceReference { @@ -45443,6 +47517,73 @@ func (x *GetHealthTargetPoolRequest) GetTargetPool() string { return "" } +// A request message for BackendBuckets.GetIamPolicy. See the method description for details. +type GetIamPolicyBackendBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Requested IAM Policy version. + OptionsRequestedPolicyVersion *int32 `protobuf:"varint,499220029,opt,name=options_requested_policy_version,json=optionsRequestedPolicyVersion,proto3,oneof" json:"options_requested_policy_version,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name or id of the resource for this request. + Resource string `protobuf:"bytes,195806222,opt,name=resource,proto3" json:"resource,omitempty"` +} + +func (x *GetIamPolicyBackendBucketRequest) Reset() { + *x = GetIamPolicyBackendBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[349] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetIamPolicyBackendBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIamPolicyBackendBucketRequest) ProtoMessage() {} + +func (x *GetIamPolicyBackendBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[349] + 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 GetIamPolicyBackendBucketRequest.ProtoReflect.Descriptor instead. +func (*GetIamPolicyBackendBucketRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{349} +} + +func (x *GetIamPolicyBackendBucketRequest) GetOptionsRequestedPolicyVersion() int32 { + if x != nil && x.OptionsRequestedPolicyVersion != nil { + return *x.OptionsRequestedPolicyVersion + } + return 0 +} + +func (x *GetIamPolicyBackendBucketRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *GetIamPolicyBackendBucketRequest) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + // A request message for BackendServices.GetIamPolicy. See the method description for details. type GetIamPolicyBackendServiceRequest struct { state protoimpl.MessageState @@ -45460,7 +47601,7 @@ type GetIamPolicyBackendServiceRequest struct { func (x *GetIamPolicyBackendServiceRequest) Reset() { *x = GetIamPolicyBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[340] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[350] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45473,7 +47614,7 @@ func (x *GetIamPolicyBackendServiceRequest) String() string { func (*GetIamPolicyBackendServiceRequest) ProtoMessage() {} func (x *GetIamPolicyBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[340] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[350] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45486,7 +47627,7 @@ func (x *GetIamPolicyBackendServiceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetIamPolicyBackendServiceRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{340} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{350} } func (x *GetIamPolicyBackendServiceRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -45529,7 +47670,7 @@ type GetIamPolicyDiskRequest struct { func (x *GetIamPolicyDiskRequest) Reset() { *x = GetIamPolicyDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[341] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[351] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45542,7 +47683,7 @@ func (x *GetIamPolicyDiskRequest) String() string { func (*GetIamPolicyDiskRequest) ProtoMessage() {} func (x *GetIamPolicyDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[341] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[351] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45555,7 +47696,7 @@ func (x *GetIamPolicyDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyDiskRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{341} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{351} } func (x *GetIamPolicyDiskRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -45601,7 +47742,7 @@ type GetIamPolicyFirewallPolicyRequest struct { func (x *GetIamPolicyFirewallPolicyRequest) Reset() { *x = GetIamPolicyFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[342] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[352] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45614,7 +47755,7 @@ func (x *GetIamPolicyFirewallPolicyRequest) String() string { func (*GetIamPolicyFirewallPolicyRequest) ProtoMessage() {} func (x *GetIamPolicyFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[342] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[352] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45627,7 +47768,7 @@ func (x *GetIamPolicyFirewallPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetIamPolicyFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{342} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{352} } func (x *GetIamPolicyFirewallPolicyRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -45661,7 +47802,7 @@ type GetIamPolicyImageRequest struct { func (x *GetIamPolicyImageRequest) Reset() { *x = GetIamPolicyImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[343] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[353] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45674,7 +47815,7 @@ func (x *GetIamPolicyImageRequest) String() string { func (*GetIamPolicyImageRequest) ProtoMessage() {} func (x *GetIamPolicyImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[343] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[353] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45687,7 +47828,7 @@ func (x *GetIamPolicyImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyImageRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{343} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{353} } func (x *GetIamPolicyImageRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -45730,7 +47871,7 @@ type GetIamPolicyInstanceRequest struct { func (x *GetIamPolicyInstanceRequest) Reset() { *x = GetIamPolicyInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[344] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[354] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45743,7 +47884,7 @@ func (x *GetIamPolicyInstanceRequest) String() string { func (*GetIamPolicyInstanceRequest) ProtoMessage() {} func (x *GetIamPolicyInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[344] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[354] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45756,7 +47897,7 @@ func (x *GetIamPolicyInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyInstanceRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{344} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{354} } func (x *GetIamPolicyInstanceRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -45804,7 +47945,7 @@ type GetIamPolicyInstanceTemplateRequest struct { func (x *GetIamPolicyInstanceTemplateRequest) Reset() { *x = GetIamPolicyInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[345] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[355] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45817,7 +47958,7 @@ func (x *GetIamPolicyInstanceTemplateRequest) String() string { func (*GetIamPolicyInstanceTemplateRequest) ProtoMessage() {} func (x *GetIamPolicyInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[345] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[355] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45830,7 +47971,7 @@ func (x *GetIamPolicyInstanceTemplateRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetIamPolicyInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{345} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{355} } func (x *GetIamPolicyInstanceTemplateRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -45871,7 +48012,7 @@ type GetIamPolicyLicenseRequest struct { func (x *GetIamPolicyLicenseRequest) Reset() { *x = GetIamPolicyLicenseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[346] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[356] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45884,7 +48025,7 @@ func (x *GetIamPolicyLicenseRequest) String() string { func (*GetIamPolicyLicenseRequest) ProtoMessage() {} func (x *GetIamPolicyLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[346] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[356] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45897,7 +48038,7 @@ func (x *GetIamPolicyLicenseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyLicenseRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyLicenseRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{346} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{356} } func (x *GetIamPolicyLicenseRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -45938,7 +48079,7 @@ type GetIamPolicyMachineImageRequest struct { func (x *GetIamPolicyMachineImageRequest) Reset() { *x = GetIamPolicyMachineImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[347] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[357] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45951,7 +48092,7 @@ func (x *GetIamPolicyMachineImageRequest) String() string { func (*GetIamPolicyMachineImageRequest) ProtoMessage() {} func (x *GetIamPolicyMachineImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[347] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[357] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -45964,7 +48105,7 @@ func (x *GetIamPolicyMachineImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyMachineImageRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyMachineImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{347} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{357} } func (x *GetIamPolicyMachineImageRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46007,7 +48148,7 @@ type GetIamPolicyNetworkAttachmentRequest struct { func (x *GetIamPolicyNetworkAttachmentRequest) Reset() { *x = GetIamPolicyNetworkAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[348] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[358] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46020,7 +48161,7 @@ func (x *GetIamPolicyNetworkAttachmentRequest) String() string { func (*GetIamPolicyNetworkAttachmentRequest) ProtoMessage() {} func (x *GetIamPolicyNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[348] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[358] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46033,7 +48174,7 @@ func (x *GetIamPolicyNetworkAttachmentRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetIamPolicyNetworkAttachmentRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyNetworkAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{348} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{358} } func (x *GetIamPolicyNetworkAttachmentRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46081,7 +48222,7 @@ type GetIamPolicyNetworkFirewallPolicyRequest struct { func (x *GetIamPolicyNetworkFirewallPolicyRequest) Reset() { *x = GetIamPolicyNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[349] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[359] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46094,7 +48235,7 @@ func (x *GetIamPolicyNetworkFirewallPolicyRequest) String() string { func (*GetIamPolicyNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetIamPolicyNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[349] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[359] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46107,7 +48248,7 @@ func (x *GetIamPolicyNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.M // Deprecated: Use GetIamPolicyNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{349} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{359} } func (x *GetIamPolicyNetworkFirewallPolicyRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46150,7 +48291,7 @@ type GetIamPolicyNodeGroupRequest struct { func (x *GetIamPolicyNodeGroupRequest) Reset() { *x = GetIamPolicyNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[350] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[360] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46163,7 +48304,7 @@ func (x *GetIamPolicyNodeGroupRequest) String() string { func (*GetIamPolicyNodeGroupRequest) ProtoMessage() {} func (x *GetIamPolicyNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[350] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[360] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46176,7 +48317,7 @@ func (x *GetIamPolicyNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyNodeGroupRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{350} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{360} } func (x *GetIamPolicyNodeGroupRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46226,7 +48367,7 @@ type GetIamPolicyNodeTemplateRequest struct { func (x *GetIamPolicyNodeTemplateRequest) Reset() { *x = GetIamPolicyNodeTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[351] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[361] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46239,7 +48380,7 @@ func (x *GetIamPolicyNodeTemplateRequest) String() string { func (*GetIamPolicyNodeTemplateRequest) ProtoMessage() {} func (x *GetIamPolicyNodeTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[351] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[361] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46252,7 +48393,7 @@ func (x *GetIamPolicyNodeTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyNodeTemplateRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyNodeTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{351} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{361} } func (x *GetIamPolicyNodeTemplateRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46302,7 +48443,7 @@ type GetIamPolicyRegionBackendServiceRequest struct { func (x *GetIamPolicyRegionBackendServiceRequest) Reset() { *x = GetIamPolicyRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[352] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[362] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46315,7 +48456,7 @@ func (x *GetIamPolicyRegionBackendServiceRequest) String() string { func (*GetIamPolicyRegionBackendServiceRequest) ProtoMessage() {} func (x *GetIamPolicyRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[352] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[362] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46328,7 +48469,7 @@ func (x *GetIamPolicyRegionBackendServiceRequest) ProtoReflect() protoreflect.Me // Deprecated: Use GetIamPolicyRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{352} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{362} } func (x *GetIamPolicyRegionBackendServiceRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46378,7 +48519,7 @@ type GetIamPolicyRegionDiskRequest struct { func (x *GetIamPolicyRegionDiskRequest) Reset() { *x = GetIamPolicyRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[353] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[363] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46391,7 +48532,7 @@ func (x *GetIamPolicyRegionDiskRequest) String() string { func (*GetIamPolicyRegionDiskRequest) ProtoMessage() {} func (x *GetIamPolicyRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[353] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[363] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46404,7 +48545,7 @@ func (x *GetIamPolicyRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyRegionDiskRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{353} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{363} } func (x *GetIamPolicyRegionDiskRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46454,7 +48595,7 @@ type GetIamPolicyRegionNetworkFirewallPolicyRequest struct { func (x *GetIamPolicyRegionNetworkFirewallPolicyRequest) Reset() { *x = GetIamPolicyRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[354] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[364] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46467,7 +48608,7 @@ func (x *GetIamPolicyRegionNetworkFirewallPolicyRequest) String() string { func (*GetIamPolicyRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetIamPolicyRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[354] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[364] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46480,7 +48621,7 @@ func (x *GetIamPolicyRegionNetworkFirewallPolicyRequest) ProtoReflect() protoref // Deprecated: Use GetIamPolicyRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{354} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{364} } func (x *GetIamPolicyRegionNetworkFirewallPolicyRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46530,7 +48671,7 @@ type GetIamPolicyReservationRequest struct { func (x *GetIamPolicyReservationRequest) Reset() { *x = GetIamPolicyReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[355] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[365] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46543,7 +48684,7 @@ func (x *GetIamPolicyReservationRequest) String() string { func (*GetIamPolicyReservationRequest) ProtoMessage() {} func (x *GetIamPolicyReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[355] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[365] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46556,7 +48697,7 @@ func (x *GetIamPolicyReservationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicyReservationRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{355} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{365} } func (x *GetIamPolicyReservationRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46606,7 +48747,7 @@ type GetIamPolicyResourcePolicyRequest struct { func (x *GetIamPolicyResourcePolicyRequest) Reset() { *x = GetIamPolicyResourcePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[356] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[366] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46619,7 +48760,7 @@ func (x *GetIamPolicyResourcePolicyRequest) String() string { func (*GetIamPolicyResourcePolicyRequest) ProtoMessage() {} func (x *GetIamPolicyResourcePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[356] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[366] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46632,7 +48773,7 @@ func (x *GetIamPolicyResourcePolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetIamPolicyResourcePolicyRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyResourcePolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{356} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{366} } func (x *GetIamPolicyResourcePolicyRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46682,7 +48823,7 @@ type GetIamPolicyServiceAttachmentRequest struct { func (x *GetIamPolicyServiceAttachmentRequest) Reset() { *x = GetIamPolicyServiceAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[357] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[367] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46695,7 +48836,7 @@ func (x *GetIamPolicyServiceAttachmentRequest) String() string { func (*GetIamPolicyServiceAttachmentRequest) ProtoMessage() {} func (x *GetIamPolicyServiceAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[357] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[367] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46708,7 +48849,7 @@ func (x *GetIamPolicyServiceAttachmentRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetIamPolicyServiceAttachmentRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicyServiceAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{357} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{367} } func (x *GetIamPolicyServiceAttachmentRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46756,7 +48897,7 @@ type GetIamPolicySnapshotRequest struct { func (x *GetIamPolicySnapshotRequest) Reset() { *x = GetIamPolicySnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[358] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[368] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46769,7 +48910,7 @@ func (x *GetIamPolicySnapshotRequest) String() string { func (*GetIamPolicySnapshotRequest) ProtoMessage() {} func (x *GetIamPolicySnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[358] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[368] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46782,7 +48923,7 @@ func (x *GetIamPolicySnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicySnapshotRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicySnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{358} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{368} } func (x *GetIamPolicySnapshotRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46825,7 +48966,7 @@ type GetIamPolicySubnetworkRequest struct { func (x *GetIamPolicySubnetworkRequest) Reset() { *x = GetIamPolicySubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[359] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[369] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46838,7 +48979,7 @@ func (x *GetIamPolicySubnetworkRequest) String() string { func (*GetIamPolicySubnetworkRequest) ProtoMessage() {} func (x *GetIamPolicySubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[359] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[369] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46851,7 +48992,7 @@ func (x *GetIamPolicySubnetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetIamPolicySubnetworkRequest.ProtoReflect.Descriptor instead. func (*GetIamPolicySubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{359} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{369} } func (x *GetIamPolicySubnetworkRequest) GetOptionsRequestedPolicyVersion() int32 { @@ -46899,7 +49040,7 @@ type GetImageFamilyViewRequest struct { func (x *GetImageFamilyViewRequest) Reset() { *x = GetImageFamilyViewRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[360] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[370] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46912,7 +49053,7 @@ func (x *GetImageFamilyViewRequest) String() string { func (*GetImageFamilyViewRequest) ProtoMessage() {} func (x *GetImageFamilyViewRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[360] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[370] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46925,7 +49066,7 @@ func (x *GetImageFamilyViewRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetImageFamilyViewRequest.ProtoReflect.Descriptor instead. func (*GetImageFamilyViewRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{360} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{370} } func (x *GetImageFamilyViewRequest) GetFamily() string { @@ -46964,7 +49105,7 @@ type GetImageRequest struct { func (x *GetImageRequest) Reset() { *x = GetImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[361] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[371] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -46977,7 +49118,7 @@ func (x *GetImageRequest) String() string { func (*GetImageRequest) ProtoMessage() {} func (x *GetImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[361] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[371] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -46990,7 +49131,7 @@ func (x *GetImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetImageRequest.ProtoReflect.Descriptor instead. func (*GetImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{361} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{371} } func (x *GetImageRequest) GetImage() string { @@ -47024,7 +49165,7 @@ type GetInstanceGroupManagerRequest struct { func (x *GetInstanceGroupManagerRequest) Reset() { *x = GetInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[362] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[372] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47037,7 +49178,7 @@ func (x *GetInstanceGroupManagerRequest) String() string { func (*GetInstanceGroupManagerRequest) ProtoMessage() {} func (x *GetInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[362] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[372] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47050,7 +49191,7 @@ func (x *GetInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*GetInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{362} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{372} } func (x *GetInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -47091,7 +49232,7 @@ type GetInstanceGroupRequest struct { func (x *GetInstanceGroupRequest) Reset() { *x = GetInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[363] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[373] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47104,7 +49245,7 @@ func (x *GetInstanceGroupRequest) String() string { func (*GetInstanceGroupRequest) ProtoMessage() {} func (x *GetInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[363] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[373] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47117,7 +49258,7 @@ func (x *GetInstanceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*GetInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{363} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{373} } func (x *GetInstanceGroupRequest) GetInstanceGroup() string { @@ -47158,7 +49299,7 @@ type GetInstanceRequest struct { func (x *GetInstanceRequest) Reset() { *x = GetInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[364] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[374] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47171,7 +49312,7 @@ func (x *GetInstanceRequest) String() string { func (*GetInstanceRequest) ProtoMessage() {} func (x *GetInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[364] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[374] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47184,7 +49325,7 @@ func (x *GetInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInstanceRequest.ProtoReflect.Descriptor instead. func (*GetInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{364} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{374} } func (x *GetInstanceRequest) GetInstance() string { @@ -47223,7 +49364,7 @@ type GetInstanceTemplateRequest struct { func (x *GetInstanceTemplateRequest) Reset() { *x = GetInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[365] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[375] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47236,7 +49377,7 @@ func (x *GetInstanceTemplateRequest) String() string { func (*GetInstanceTemplateRequest) ProtoMessage() {} func (x *GetInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[365] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[375] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47249,7 +49390,7 @@ func (x *GetInstanceTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*GetInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{365} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{375} } func (x *GetInstanceTemplateRequest) GetInstanceTemplate() string { @@ -47283,7 +49424,7 @@ type GetInterconnectAttachmentRequest struct { func (x *GetInterconnectAttachmentRequest) Reset() { *x = GetInterconnectAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[366] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[376] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47296,7 +49437,7 @@ func (x *GetInterconnectAttachmentRequest) String() string { func (*GetInterconnectAttachmentRequest) ProtoMessage() {} func (x *GetInterconnectAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[366] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[376] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47309,7 +49450,7 @@ func (x *GetInterconnectAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInterconnectAttachmentRequest.ProtoReflect.Descriptor instead. func (*GetInterconnectAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{366} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{376} } func (x *GetInterconnectAttachmentRequest) GetInterconnectAttachment() string { @@ -47348,7 +49489,7 @@ type GetInterconnectLocationRequest struct { func (x *GetInterconnectLocationRequest) Reset() { *x = GetInterconnectLocationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[367] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[377] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47361,7 +49502,7 @@ func (x *GetInterconnectLocationRequest) String() string { func (*GetInterconnectLocationRequest) ProtoMessage() {} func (x *GetInterconnectLocationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[367] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[377] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47374,7 +49515,7 @@ func (x *GetInterconnectLocationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInterconnectLocationRequest.ProtoReflect.Descriptor instead. func (*GetInterconnectLocationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{367} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{377} } func (x *GetInterconnectLocationRequest) GetInterconnectLocation() string { @@ -47406,7 +49547,7 @@ type GetInterconnectRemoteLocationRequest struct { func (x *GetInterconnectRemoteLocationRequest) Reset() { *x = GetInterconnectRemoteLocationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[368] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[378] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47419,7 +49560,7 @@ func (x *GetInterconnectRemoteLocationRequest) String() string { func (*GetInterconnectRemoteLocationRequest) ProtoMessage() {} func (x *GetInterconnectRemoteLocationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[368] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[378] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47432,7 +49573,7 @@ func (x *GetInterconnectRemoteLocationRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetInterconnectRemoteLocationRequest.ProtoReflect.Descriptor instead. func (*GetInterconnectRemoteLocationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{368} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{378} } func (x *GetInterconnectRemoteLocationRequest) GetInterconnectRemoteLocation() string { @@ -47464,7 +49605,7 @@ type GetInterconnectRequest struct { func (x *GetInterconnectRequest) Reset() { *x = GetInterconnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[369] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[379] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47477,7 +49618,7 @@ func (x *GetInterconnectRequest) String() string { func (*GetInterconnectRequest) ProtoMessage() {} func (x *GetInterconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[369] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[379] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47490,7 +49631,7 @@ func (x *GetInterconnectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInterconnectRequest.ProtoReflect.Descriptor instead. func (*GetInterconnectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{369} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{379} } func (x *GetInterconnectRequest) GetInterconnect() string { @@ -47522,7 +49663,7 @@ type GetLicenseCodeRequest struct { func (x *GetLicenseCodeRequest) Reset() { *x = GetLicenseCodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[370] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[380] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47535,7 +49676,7 @@ func (x *GetLicenseCodeRequest) String() string { func (*GetLicenseCodeRequest) ProtoMessage() {} func (x *GetLicenseCodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[370] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[380] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47548,7 +49689,7 @@ func (x *GetLicenseCodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLicenseCodeRequest.ProtoReflect.Descriptor instead. func (*GetLicenseCodeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{370} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{380} } func (x *GetLicenseCodeRequest) GetLicenseCode() string { @@ -47580,7 +49721,7 @@ type GetLicenseRequest struct { func (x *GetLicenseRequest) Reset() { *x = GetLicenseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[371] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[381] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47593,7 +49734,7 @@ func (x *GetLicenseRequest) String() string { func (*GetLicenseRequest) ProtoMessage() {} func (x *GetLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[371] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[381] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47606,7 +49747,7 @@ func (x *GetLicenseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetLicenseRequest.ProtoReflect.Descriptor instead. func (*GetLicenseRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{371} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{381} } func (x *GetLicenseRequest) GetLicense() string { @@ -47638,7 +49779,7 @@ type GetMachineImageRequest struct { func (x *GetMachineImageRequest) Reset() { *x = GetMachineImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[372] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[382] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47651,7 +49792,7 @@ func (x *GetMachineImageRequest) String() string { func (*GetMachineImageRequest) ProtoMessage() {} func (x *GetMachineImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[372] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[382] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47664,7 +49805,7 @@ func (x *GetMachineImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMachineImageRequest.ProtoReflect.Descriptor instead. func (*GetMachineImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{372} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{382} } func (x *GetMachineImageRequest) GetMachineImage() string { @@ -47698,7 +49839,7 @@ type GetMachineTypeRequest struct { func (x *GetMachineTypeRequest) Reset() { *x = GetMachineTypeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[373] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[383] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47711,7 +49852,7 @@ func (x *GetMachineTypeRequest) String() string { func (*GetMachineTypeRequest) ProtoMessage() {} func (x *GetMachineTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[373] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[383] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47724,7 +49865,7 @@ func (x *GetMachineTypeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMachineTypeRequest.ProtoReflect.Descriptor instead. func (*GetMachineTypeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{373} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{383} } func (x *GetMachineTypeRequest) GetMachineType() string { @@ -47748,13 +49889,147 @@ func (x *GetMachineTypeRequest) GetZone() string { return "" } +// A request message for Interconnects.GetMacsecConfig. See the method description for details. +type GetMacsecConfigInterconnectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the interconnect resource to query. + Interconnect string `protobuf:"bytes,224601230,opt,name=interconnect,proto3" json:"interconnect,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` +} + +func (x *GetMacsecConfigInterconnectRequest) Reset() { + *x = GetMacsecConfigInterconnectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[384] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMacsecConfigInterconnectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMacsecConfigInterconnectRequest) ProtoMessage() {} + +func (x *GetMacsecConfigInterconnectRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[384] + 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 GetMacsecConfigInterconnectRequest.ProtoReflect.Descriptor instead. +func (*GetMacsecConfigInterconnectRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{384} +} + +func (x *GetMacsecConfigInterconnectRequest) GetInterconnect() string { + if x != nil { + return x.Interconnect + } + return "" +} + +func (x *GetMacsecConfigInterconnectRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +// A request message for Routers.GetNatIpInfo. See the method description for details. +type GetNatIpInfoRouterRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035. + NatName *string `protobuf:"bytes,425596649,opt,name=nat_name,json=natName,proto3,oneof" json:"nat_name,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region for this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Name of the Router resource to query for Nat IP information. The name should conform to RFC1035. + Router string `protobuf:"bytes,148608841,opt,name=router,proto3" json:"router,omitempty"` +} + +func (x *GetNatIpInfoRouterRequest) Reset() { + *x = GetNatIpInfoRouterRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[385] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNatIpInfoRouterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNatIpInfoRouterRequest) ProtoMessage() {} + +func (x *GetNatIpInfoRouterRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[385] + 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 GetNatIpInfoRouterRequest.ProtoReflect.Descriptor instead. +func (*GetNatIpInfoRouterRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{385} +} + +func (x *GetNatIpInfoRouterRequest) GetNatName() string { + if x != nil && x.NatName != nil { + return *x.NatName + } + return "" +} + +func (x *GetNatIpInfoRouterRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *GetNatIpInfoRouterRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *GetNatIpInfoRouterRequest) GetRouter() string { + if x != nil { + return x.Router + } + return "" +} + // A request message for Routers.GetNatMappingInfo. See the method description for details. type GetNatMappingInfoRoutersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -47777,7 +50052,7 @@ type GetNatMappingInfoRoutersRequest struct { func (x *GetNatMappingInfoRoutersRequest) Reset() { *x = GetNatMappingInfoRoutersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[374] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[386] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47790,7 +50065,7 @@ func (x *GetNatMappingInfoRoutersRequest) String() string { func (*GetNatMappingInfoRoutersRequest) ProtoMessage() {} func (x *GetNatMappingInfoRoutersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[374] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[386] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47803,7 +50078,7 @@ func (x *GetNatMappingInfoRoutersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNatMappingInfoRoutersRequest.ProtoReflect.Descriptor instead. func (*GetNatMappingInfoRoutersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{374} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{386} } func (x *GetNatMappingInfoRoutersRequest) GetFilter() string { @@ -47886,7 +50161,7 @@ type GetNetworkAttachmentRequest struct { func (x *GetNetworkAttachmentRequest) Reset() { *x = GetNetworkAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[375] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[387] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47899,7 +50174,7 @@ func (x *GetNetworkAttachmentRequest) String() string { func (*GetNetworkAttachmentRequest) ProtoMessage() {} func (x *GetNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[375] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[387] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47912,7 +50187,7 @@ func (x *GetNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNetworkAttachmentRequest.ProtoReflect.Descriptor instead. func (*GetNetworkAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{375} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{387} } func (x *GetNetworkAttachmentRequest) GetNetworkAttachment() string { @@ -47953,7 +50228,7 @@ type GetNetworkEdgeSecurityServiceRequest struct { func (x *GetNetworkEdgeSecurityServiceRequest) Reset() { *x = GetNetworkEdgeSecurityServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[376] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[388] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -47966,7 +50241,7 @@ func (x *GetNetworkEdgeSecurityServiceRequest) String() string { func (*GetNetworkEdgeSecurityServiceRequest) ProtoMessage() {} func (x *GetNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[376] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[388] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -47979,7 +50254,7 @@ func (x *GetNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetNetworkEdgeSecurityServiceRequest.ProtoReflect.Descriptor instead. func (*GetNetworkEdgeSecurityServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{376} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{388} } func (x *GetNetworkEdgeSecurityServiceRequest) GetNetworkEdgeSecurityService() string { @@ -48020,7 +50295,7 @@ type GetNetworkEndpointGroupRequest struct { func (x *GetNetworkEndpointGroupRequest) Reset() { *x = GetNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[377] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[389] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48033,7 +50308,7 @@ func (x *GetNetworkEndpointGroupRequest) String() string { func (*GetNetworkEndpointGroupRequest) ProtoMessage() {} func (x *GetNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[377] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[389] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48046,7 +50321,7 @@ func (x *GetNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*GetNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{377} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{389} } func (x *GetNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -48085,7 +50360,7 @@ type GetNetworkFirewallPolicyRequest struct { func (x *GetNetworkFirewallPolicyRequest) Reset() { *x = GetNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[378] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[390] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48098,7 +50373,7 @@ func (x *GetNetworkFirewallPolicyRequest) String() string { func (*GetNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[378] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[390] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48111,7 +50386,7 @@ func (x *GetNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{378} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{390} } func (x *GetNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -48143,7 +50418,7 @@ type GetNetworkRequest struct { func (x *GetNetworkRequest) Reset() { *x = GetNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[379] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[391] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48156,7 +50431,7 @@ func (x *GetNetworkRequest) String() string { func (*GetNetworkRequest) ProtoMessage() {} func (x *GetNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[379] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[391] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48169,7 +50444,7 @@ func (x *GetNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNetworkRequest.ProtoReflect.Descriptor instead. func (*GetNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{379} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{391} } func (x *GetNetworkRequest) GetNetwork() string { @@ -48203,7 +50478,7 @@ type GetNodeGroupRequest struct { func (x *GetNodeGroupRequest) Reset() { *x = GetNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[380] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[392] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48216,7 +50491,7 @@ func (x *GetNodeGroupRequest) String() string { func (*GetNodeGroupRequest) ProtoMessage() {} func (x *GetNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[380] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[392] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48229,7 +50504,7 @@ func (x *GetNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNodeGroupRequest.ProtoReflect.Descriptor instead. func (*GetNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{380} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{392} } func (x *GetNodeGroupRequest) GetNodeGroup() string { @@ -48270,7 +50545,7 @@ type GetNodeTemplateRequest struct { func (x *GetNodeTemplateRequest) Reset() { *x = GetNodeTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[381] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[393] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48283,7 +50558,7 @@ func (x *GetNodeTemplateRequest) String() string { func (*GetNodeTemplateRequest) ProtoMessage() {} func (x *GetNodeTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[381] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[393] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48296,7 +50571,7 @@ func (x *GetNodeTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNodeTemplateRequest.ProtoReflect.Descriptor instead. func (*GetNodeTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{381} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{393} } func (x *GetNodeTemplateRequest) GetNodeTemplate() string { @@ -48337,7 +50612,7 @@ type GetNodeTypeRequest struct { func (x *GetNodeTypeRequest) Reset() { *x = GetNodeTypeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[382] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[394] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48350,7 +50625,7 @@ func (x *GetNodeTypeRequest) String() string { func (*GetNodeTypeRequest) ProtoMessage() {} func (x *GetNodeTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[382] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[394] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48363,7 +50638,7 @@ func (x *GetNodeTypeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetNodeTypeRequest.ProtoReflect.Descriptor instead. func (*GetNodeTypeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{382} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{394} } func (x *GetNodeTypeRequest) GetNodeType() string { @@ -48404,7 +50679,7 @@ type GetPacketMirroringRequest struct { func (x *GetPacketMirroringRequest) Reset() { *x = GetPacketMirroringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[383] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[395] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48417,7 +50692,7 @@ func (x *GetPacketMirroringRequest) String() string { func (*GetPacketMirroringRequest) ProtoMessage() {} func (x *GetPacketMirroringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[383] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[395] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48430,7 +50705,7 @@ func (x *GetPacketMirroringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPacketMirroringRequest.ProtoReflect.Descriptor instead. func (*GetPacketMirroringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{383} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{395} } func (x *GetPacketMirroringRequest) GetPacketMirroring() string { @@ -48467,7 +50742,7 @@ type GetProjectRequest struct { func (x *GetProjectRequest) Reset() { *x = GetProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[384] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[396] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48480,7 +50755,7 @@ func (x *GetProjectRequest) String() string { func (*GetProjectRequest) ProtoMessage() {} func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[384] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[396] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48493,7 +50768,7 @@ func (x *GetProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetProjectRequest.ProtoReflect.Descriptor instead. func (*GetProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{384} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{396} } func (x *GetProjectRequest) GetProject() string { @@ -48518,7 +50793,7 @@ type GetPublicAdvertisedPrefixeRequest struct { func (x *GetPublicAdvertisedPrefixeRequest) Reset() { *x = GetPublicAdvertisedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[385] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[397] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48531,7 +50806,7 @@ func (x *GetPublicAdvertisedPrefixeRequest) String() string { func (*GetPublicAdvertisedPrefixeRequest) ProtoMessage() {} func (x *GetPublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[385] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[397] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48544,7 +50819,7 @@ func (x *GetPublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetPublicAdvertisedPrefixeRequest.ProtoReflect.Descriptor instead. func (*GetPublicAdvertisedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{385} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{397} } func (x *GetPublicAdvertisedPrefixeRequest) GetProject() string { @@ -48578,7 +50853,7 @@ type GetPublicDelegatedPrefixeRequest struct { func (x *GetPublicDelegatedPrefixeRequest) Reset() { *x = GetPublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[386] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[398] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48591,7 +50866,7 @@ func (x *GetPublicDelegatedPrefixeRequest) String() string { func (*GetPublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *GetPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[386] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[398] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48604,7 +50879,7 @@ func (x *GetPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*GetPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{386} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{398} } func (x *GetPublicDelegatedPrefixeRequest) GetProject() string { @@ -48645,7 +50920,7 @@ type GetRegionAutoscalerRequest struct { func (x *GetRegionAutoscalerRequest) Reset() { *x = GetRegionAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[387] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[399] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48658,7 +50933,7 @@ func (x *GetRegionAutoscalerRequest) String() string { func (*GetRegionAutoscalerRequest) ProtoMessage() {} func (x *GetRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[387] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[399] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48671,7 +50946,7 @@ func (x *GetRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionAutoscalerRequest.ProtoReflect.Descriptor instead. func (*GetRegionAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{387} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{399} } func (x *GetRegionAutoscalerRequest) GetAutoscaler() string { @@ -48712,7 +50987,7 @@ type GetRegionBackendServiceRequest struct { func (x *GetRegionBackendServiceRequest) Reset() { *x = GetRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[388] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[400] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48725,7 +51000,7 @@ func (x *GetRegionBackendServiceRequest) String() string { func (*GetRegionBackendServiceRequest) ProtoMessage() {} func (x *GetRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[388] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[400] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48738,7 +51013,7 @@ func (x *GetRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*GetRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{388} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{400} } func (x *GetRegionBackendServiceRequest) GetBackendService() string { @@ -48779,7 +51054,7 @@ type GetRegionCommitmentRequest struct { func (x *GetRegionCommitmentRequest) Reset() { *x = GetRegionCommitmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[389] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[401] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48792,7 +51067,7 @@ func (x *GetRegionCommitmentRequest) String() string { func (*GetRegionCommitmentRequest) ProtoMessage() {} func (x *GetRegionCommitmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[389] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[401] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48805,7 +51080,7 @@ func (x *GetRegionCommitmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionCommitmentRequest.ProtoReflect.Descriptor instead. func (*GetRegionCommitmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{389} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{401} } func (x *GetRegionCommitmentRequest) GetCommitment() string { @@ -48846,7 +51121,7 @@ type GetRegionDiskRequest struct { func (x *GetRegionDiskRequest) Reset() { *x = GetRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[390] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[402] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48859,7 +51134,7 @@ func (x *GetRegionDiskRequest) String() string { func (*GetRegionDiskRequest) ProtoMessage() {} func (x *GetRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[390] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[402] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48872,7 +51147,7 @@ func (x *GetRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionDiskRequest.ProtoReflect.Descriptor instead. func (*GetRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{390} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{402} } func (x *GetRegionDiskRequest) GetDisk() string { @@ -48913,7 +51188,7 @@ type GetRegionDiskTypeRequest struct { func (x *GetRegionDiskTypeRequest) Reset() { *x = GetRegionDiskTypeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[391] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[403] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48926,7 +51201,7 @@ func (x *GetRegionDiskTypeRequest) String() string { func (*GetRegionDiskTypeRequest) ProtoMessage() {} func (x *GetRegionDiskTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[391] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[403] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -48939,7 +51214,7 @@ func (x *GetRegionDiskTypeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionDiskTypeRequest.ProtoReflect.Descriptor instead. func (*GetRegionDiskTypeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{391} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{403} } func (x *GetRegionDiskTypeRequest) GetDiskType() string { @@ -48980,7 +51255,7 @@ type GetRegionHealthCheckRequest struct { func (x *GetRegionHealthCheckRequest) Reset() { *x = GetRegionHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[392] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[404] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -48993,7 +51268,7 @@ func (x *GetRegionHealthCheckRequest) String() string { func (*GetRegionHealthCheckRequest) ProtoMessage() {} func (x *GetRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[392] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[404] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49006,7 +51281,7 @@ func (x *GetRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionHealthCheckRequest.ProtoReflect.Descriptor instead. func (*GetRegionHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{392} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{404} } func (x *GetRegionHealthCheckRequest) GetHealthCheck() string { @@ -49047,7 +51322,7 @@ type GetRegionHealthCheckServiceRequest struct { func (x *GetRegionHealthCheckServiceRequest) Reset() { *x = GetRegionHealthCheckServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[393] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[405] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49060,7 +51335,7 @@ func (x *GetRegionHealthCheckServiceRequest) String() string { func (*GetRegionHealthCheckServiceRequest) ProtoMessage() {} func (x *GetRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[393] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[405] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49073,7 +51348,7 @@ func (x *GetRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetRegionHealthCheckServiceRequest.ProtoReflect.Descriptor instead. func (*GetRegionHealthCheckServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{393} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{405} } func (x *GetRegionHealthCheckServiceRequest) GetHealthCheckService() string { @@ -49114,7 +51389,7 @@ type GetRegionInstanceGroupManagerRequest struct { func (x *GetRegionInstanceGroupManagerRequest) Reset() { *x = GetRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[394] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[406] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49127,7 +51402,7 @@ func (x *GetRegionInstanceGroupManagerRequest) String() string { func (*GetRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *GetRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[394] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[406] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49140,7 +51415,7 @@ func (x *GetRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*GetRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{394} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{406} } func (x *GetRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -49181,7 +51456,7 @@ type GetRegionInstanceGroupRequest struct { func (x *GetRegionInstanceGroupRequest) Reset() { *x = GetRegionInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[395] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[407] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49194,7 +51469,7 @@ func (x *GetRegionInstanceGroupRequest) String() string { func (*GetRegionInstanceGroupRequest) ProtoMessage() {} func (x *GetRegionInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[395] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[407] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49207,7 +51482,7 @@ func (x *GetRegionInstanceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*GetRegionInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{395} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{407} } func (x *GetRegionInstanceGroupRequest) GetInstanceGroup() string { @@ -49248,7 +51523,7 @@ type GetRegionInstanceTemplateRequest struct { func (x *GetRegionInstanceTemplateRequest) Reset() { *x = GetRegionInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[396] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[408] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49261,7 +51536,7 @@ func (x *GetRegionInstanceTemplateRequest) String() string { func (*GetRegionInstanceTemplateRequest) ProtoMessage() {} func (x *GetRegionInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[396] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[408] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49274,7 +51549,7 @@ func (x *GetRegionInstanceTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*GetRegionInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{396} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{408} } func (x *GetRegionInstanceTemplateRequest) GetInstanceTemplate() string { @@ -49315,7 +51590,7 @@ type GetRegionNetworkEndpointGroupRequest struct { func (x *GetRegionNetworkEndpointGroupRequest) Reset() { *x = GetRegionNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[397] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[409] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49328,7 +51603,7 @@ func (x *GetRegionNetworkEndpointGroupRequest) String() string { func (*GetRegionNetworkEndpointGroupRequest) ProtoMessage() {} func (x *GetRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[397] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[409] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49341,7 +51616,7 @@ func (x *GetRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetRegionNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*GetRegionNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{397} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{409} } func (x *GetRegionNetworkEndpointGroupRequest) GetNetworkEndpointGroup() string { @@ -49382,7 +51657,7 @@ type GetRegionNetworkFirewallPolicyRequest struct { func (x *GetRegionNetworkFirewallPolicyRequest) Reset() { *x = GetRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[398] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[410] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49395,7 +51670,7 @@ func (x *GetRegionNetworkFirewallPolicyRequest) String() string { func (*GetRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[398] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[410] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49408,7 +51683,7 @@ func (x *GetRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use GetRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{398} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{410} } func (x *GetRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -49449,7 +51724,7 @@ type GetRegionNotificationEndpointRequest struct { func (x *GetRegionNotificationEndpointRequest) Reset() { *x = GetRegionNotificationEndpointRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[399] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[411] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49462,7 +51737,7 @@ func (x *GetRegionNotificationEndpointRequest) String() string { func (*GetRegionNotificationEndpointRequest) ProtoMessage() {} func (x *GetRegionNotificationEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[399] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[411] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49475,7 +51750,7 @@ func (x *GetRegionNotificationEndpointRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use GetRegionNotificationEndpointRequest.ProtoReflect.Descriptor instead. func (*GetRegionNotificationEndpointRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{399} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{411} } func (x *GetRegionNotificationEndpointRequest) GetNotificationEndpoint() string { @@ -49516,7 +51791,7 @@ type GetRegionOperationRequest struct { func (x *GetRegionOperationRequest) Reset() { *x = GetRegionOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[400] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[412] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49529,7 +51804,7 @@ func (x *GetRegionOperationRequest) String() string { func (*GetRegionOperationRequest) ProtoMessage() {} func (x *GetRegionOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[400] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[412] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49542,7 +51817,7 @@ func (x *GetRegionOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionOperationRequest.ProtoReflect.Descriptor instead. func (*GetRegionOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{400} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{412} } func (x *GetRegionOperationRequest) GetOperation() string { @@ -49581,7 +51856,7 @@ type GetRegionRequest struct { func (x *GetRegionRequest) Reset() { *x = GetRegionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[401] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[413] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49594,7 +51869,7 @@ func (x *GetRegionRequest) String() string { func (*GetRegionRequest) ProtoMessage() {} func (x *GetRegionRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[401] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[413] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49607,7 +51882,7 @@ func (x *GetRegionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionRequest.ProtoReflect.Descriptor instead. func (*GetRegionRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{401} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{413} } func (x *GetRegionRequest) GetProject() string { @@ -49641,7 +51916,7 @@ type GetRegionSecurityPolicyRequest struct { func (x *GetRegionSecurityPolicyRequest) Reset() { *x = GetRegionSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[402] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[414] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49654,7 +51929,7 @@ func (x *GetRegionSecurityPolicyRequest) String() string { func (*GetRegionSecurityPolicyRequest) ProtoMessage() {} func (x *GetRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[402] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[414] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49667,7 +51942,7 @@ func (x *GetRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*GetRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{402} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{414} } func (x *GetRegionSecurityPolicyRequest) GetProject() string { @@ -49708,7 +51983,7 @@ type GetRegionSslCertificateRequest struct { func (x *GetRegionSslCertificateRequest) Reset() { *x = GetRegionSslCertificateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[403] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[415] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49721,7 +51996,7 @@ func (x *GetRegionSslCertificateRequest) String() string { func (*GetRegionSslCertificateRequest) ProtoMessage() {} func (x *GetRegionSslCertificateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[403] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[415] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49734,7 +52009,7 @@ func (x *GetRegionSslCertificateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionSslCertificateRequest.ProtoReflect.Descriptor instead. func (*GetRegionSslCertificateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{403} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{415} } func (x *GetRegionSslCertificateRequest) GetProject() string { @@ -49775,7 +52050,7 @@ type GetRegionSslPolicyRequest struct { func (x *GetRegionSslPolicyRequest) Reset() { *x = GetRegionSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[404] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[416] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49788,7 +52063,7 @@ func (x *GetRegionSslPolicyRequest) String() string { func (*GetRegionSslPolicyRequest) ProtoMessage() {} func (x *GetRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[404] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[416] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49801,7 +52076,7 @@ func (x *GetRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionSslPolicyRequest.ProtoReflect.Descriptor instead. func (*GetRegionSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{404} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{416} } func (x *GetRegionSslPolicyRequest) GetProject() string { @@ -49842,7 +52117,7 @@ type GetRegionTargetHttpProxyRequest struct { func (x *GetRegionTargetHttpProxyRequest) Reset() { *x = GetRegionTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[405] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[417] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49855,7 +52130,7 @@ func (x *GetRegionTargetHttpProxyRequest) String() string { func (*GetRegionTargetHttpProxyRequest) ProtoMessage() {} func (x *GetRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[405] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[417] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49868,7 +52143,7 @@ func (x *GetRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*GetRegionTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{405} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{417} } func (x *GetRegionTargetHttpProxyRequest) GetProject() string { @@ -49909,7 +52184,7 @@ type GetRegionTargetHttpsProxyRequest struct { func (x *GetRegionTargetHttpsProxyRequest) Reset() { *x = GetRegionTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[406] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[418] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49922,7 +52197,7 @@ func (x *GetRegionTargetHttpsProxyRequest) String() string { func (*GetRegionTargetHttpsProxyRequest) ProtoMessage() {} func (x *GetRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[406] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[418] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -49935,7 +52210,7 @@ func (x *GetRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*GetRegionTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{406} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{418} } func (x *GetRegionTargetHttpsProxyRequest) GetProject() string { @@ -49976,7 +52251,7 @@ type GetRegionTargetTcpProxyRequest struct { func (x *GetRegionTargetTcpProxyRequest) Reset() { *x = GetRegionTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[407] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[419] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -49989,7 +52264,7 @@ func (x *GetRegionTargetTcpProxyRequest) String() string { func (*GetRegionTargetTcpProxyRequest) ProtoMessage() {} func (x *GetRegionTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[407] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[419] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50002,7 +52277,7 @@ func (x *GetRegionTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*GetRegionTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{407} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{419} } func (x *GetRegionTargetTcpProxyRequest) GetProject() string { @@ -50043,7 +52318,7 @@ type GetRegionUrlMapRequest struct { func (x *GetRegionUrlMapRequest) Reset() { *x = GetRegionUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[408] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[420] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50056,7 +52331,7 @@ func (x *GetRegionUrlMapRequest) String() string { func (*GetRegionUrlMapRequest) ProtoMessage() {} func (x *GetRegionUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[408] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[420] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50069,7 +52344,7 @@ func (x *GetRegionUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRegionUrlMapRequest.ProtoReflect.Descriptor instead. func (*GetRegionUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{408} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{420} } func (x *GetRegionUrlMapRequest) GetProject() string { @@ -50110,7 +52385,7 @@ type GetReservationRequest struct { func (x *GetReservationRequest) Reset() { *x = GetReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[409] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[421] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50123,7 +52398,7 @@ func (x *GetReservationRequest) String() string { func (*GetReservationRequest) ProtoMessage() {} func (x *GetReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[409] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[421] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50136,7 +52411,7 @@ func (x *GetReservationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetReservationRequest.ProtoReflect.Descriptor instead. func (*GetReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{409} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{421} } func (x *GetReservationRequest) GetProject() string { @@ -50177,7 +52452,7 @@ type GetResourcePolicyRequest struct { func (x *GetResourcePolicyRequest) Reset() { *x = GetResourcePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[410] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[422] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50190,7 +52465,7 @@ func (x *GetResourcePolicyRequest) String() string { func (*GetResourcePolicyRequest) ProtoMessage() {} func (x *GetResourcePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[410] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[422] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50203,7 +52478,7 @@ func (x *GetResourcePolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResourcePolicyRequest.ProtoReflect.Descriptor instead. func (*GetResourcePolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{410} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{422} } func (x *GetResourcePolicyRequest) GetProject() string { @@ -50242,7 +52517,7 @@ type GetRouteRequest struct { func (x *GetRouteRequest) Reset() { *x = GetRouteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[411] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[423] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50255,7 +52530,7 @@ func (x *GetRouteRequest) String() string { func (*GetRouteRequest) ProtoMessage() {} func (x *GetRouteRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[411] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[423] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50268,7 +52543,7 @@ func (x *GetRouteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRouteRequest.ProtoReflect.Descriptor instead. func (*GetRouteRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{411} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{423} } func (x *GetRouteRequest) GetProject() string { @@ -50302,7 +52577,7 @@ type GetRouterRequest struct { func (x *GetRouterRequest) Reset() { *x = GetRouterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[412] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[424] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50315,7 +52590,7 @@ func (x *GetRouterRequest) String() string { func (*GetRouterRequest) ProtoMessage() {} func (x *GetRouterRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[412] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[424] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50328,7 +52603,7 @@ func (x *GetRouterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRouterRequest.ProtoReflect.Descriptor instead. func (*GetRouterRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{412} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{424} } func (x *GetRouterRequest) GetProject() string { @@ -50369,7 +52644,7 @@ type GetRouterStatusRouterRequest struct { func (x *GetRouterStatusRouterRequest) Reset() { *x = GetRouterStatusRouterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[413] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[425] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50382,7 +52657,7 @@ func (x *GetRouterStatusRouterRequest) String() string { func (*GetRouterStatusRouterRequest) ProtoMessage() {} func (x *GetRouterStatusRouterRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[413] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[425] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50395,7 +52670,7 @@ func (x *GetRouterStatusRouterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRouterStatusRouterRequest.ProtoReflect.Descriptor instead. func (*GetRouterStatusRouterRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{413} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{425} } func (x *GetRouterStatusRouterRequest) GetProject() string { @@ -50434,7 +52709,7 @@ type GetRuleFirewallPolicyRequest struct { func (x *GetRuleFirewallPolicyRequest) Reset() { *x = GetRuleFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[414] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[426] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50447,7 +52722,7 @@ func (x *GetRuleFirewallPolicyRequest) String() string { func (*GetRuleFirewallPolicyRequest) ProtoMessage() {} func (x *GetRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[414] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[426] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50460,7 +52735,7 @@ func (x *GetRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRuleFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetRuleFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{414} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{426} } func (x *GetRuleFirewallPolicyRequest) GetFirewallPolicy() string { @@ -50494,7 +52769,7 @@ type GetRuleNetworkFirewallPolicyRequest struct { func (x *GetRuleNetworkFirewallPolicyRequest) Reset() { *x = GetRuleNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[415] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[427] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50507,7 +52782,7 @@ func (x *GetRuleNetworkFirewallPolicyRequest) String() string { func (*GetRuleNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[415] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[427] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50520,7 +52795,7 @@ func (x *GetRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use GetRuleNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetRuleNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{415} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{427} } func (x *GetRuleNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -50563,7 +52838,7 @@ type GetRuleRegionNetworkFirewallPolicyRequest struct { func (x *GetRuleRegionNetworkFirewallPolicyRequest) Reset() { *x = GetRuleRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[416] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[428] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50576,7 +52851,7 @@ func (x *GetRuleRegionNetworkFirewallPolicyRequest) String() string { func (*GetRuleRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *GetRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[416] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[428] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50589,7 +52864,7 @@ func (x *GetRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect. // Deprecated: Use GetRuleRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*GetRuleRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{416} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{428} } func (x *GetRuleRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -50620,6 +52895,82 @@ func (x *GetRuleRegionNetworkFirewallPolicyRequest) GetRegion() string { return "" } +// A request message for RegionSecurityPolicies.GetRule. See the method description for details. +type GetRuleRegionSecurityPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The priority of the rule to get from the security policy. + Priority *int32 `protobuf:"varint,445151652,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region scoping this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Name of the security policy to which the queried rule belongs. + SecurityPolicy string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3" json:"security_policy,omitempty"` +} + +func (x *GetRuleRegionSecurityPolicyRequest) Reset() { + *x = GetRuleRegionSecurityPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[429] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRuleRegionSecurityPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRuleRegionSecurityPolicyRequest) ProtoMessage() {} + +func (x *GetRuleRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[429] + 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 GetRuleRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. +func (*GetRuleRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{429} +} + +func (x *GetRuleRegionSecurityPolicyRequest) GetPriority() int32 { + if x != nil && x.Priority != nil { + return *x.Priority + } + return 0 +} + +func (x *GetRuleRegionSecurityPolicyRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *GetRuleRegionSecurityPolicyRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *GetRuleRegionSecurityPolicyRequest) GetSecurityPolicy() string { + if x != nil { + return x.SecurityPolicy + } + return "" +} + // A request message for SecurityPolicies.GetRule. See the method description for details. type GetRuleSecurityPolicyRequest struct { state protoimpl.MessageState @@ -50637,7 +52988,7 @@ type GetRuleSecurityPolicyRequest struct { func (x *GetRuleSecurityPolicyRequest) Reset() { *x = GetRuleSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[417] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[430] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50650,7 +53001,7 @@ func (x *GetRuleSecurityPolicyRequest) String() string { func (*GetRuleSecurityPolicyRequest) ProtoMessage() {} func (x *GetRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[417] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[430] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50663,7 +53014,7 @@ func (x *GetRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRuleSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*GetRuleSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{417} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{430} } func (x *GetRuleSecurityPolicyRequest) GetPriority() int32 { @@ -50704,7 +53055,7 @@ type GetScreenshotInstanceRequest struct { func (x *GetScreenshotInstanceRequest) Reset() { *x = GetScreenshotInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[418] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[431] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50717,7 +53068,7 @@ func (x *GetScreenshotInstanceRequest) String() string { func (*GetScreenshotInstanceRequest) ProtoMessage() {} func (x *GetScreenshotInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[418] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[431] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50730,7 +53081,7 @@ func (x *GetScreenshotInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScreenshotInstanceRequest.ProtoReflect.Descriptor instead. func (*GetScreenshotInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{418} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{431} } func (x *GetScreenshotInstanceRequest) GetInstance() string { @@ -50769,7 +53120,7 @@ type GetSecurityPolicyRequest struct { func (x *GetSecurityPolicyRequest) Reset() { *x = GetSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[419] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[432] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50782,7 +53133,7 @@ func (x *GetSecurityPolicyRequest) String() string { func (*GetSecurityPolicyRequest) ProtoMessage() {} func (x *GetSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[419] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[432] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50795,7 +53146,7 @@ func (x *GetSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*GetSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{419} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{432} } func (x *GetSecurityPolicyRequest) GetProject() string { @@ -50833,7 +53184,7 @@ type GetSerialPortOutputInstanceRequest struct { func (x *GetSerialPortOutputInstanceRequest) Reset() { *x = GetSerialPortOutputInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[420] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[433] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50846,7 +53197,7 @@ func (x *GetSerialPortOutputInstanceRequest) String() string { func (*GetSerialPortOutputInstanceRequest) ProtoMessage() {} func (x *GetSerialPortOutputInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[420] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[433] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50859,7 +53210,7 @@ func (x *GetSerialPortOutputInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GetSerialPortOutputInstanceRequest.ProtoReflect.Descriptor instead. func (*GetSerialPortOutputInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{420} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{433} } func (x *GetSerialPortOutputInstanceRequest) GetInstance() string { @@ -50914,7 +53265,7 @@ type GetServiceAttachmentRequest struct { func (x *GetServiceAttachmentRequest) Reset() { *x = GetServiceAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[421] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[434] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50927,7 +53278,7 @@ func (x *GetServiceAttachmentRequest) String() string { func (*GetServiceAttachmentRequest) ProtoMessage() {} func (x *GetServiceAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[421] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[434] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -50940,7 +53291,7 @@ func (x *GetServiceAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetServiceAttachmentRequest.ProtoReflect.Descriptor instead. func (*GetServiceAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{421} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{434} } func (x *GetServiceAttachmentRequest) GetProject() string { @@ -50981,7 +53332,7 @@ type GetShieldedInstanceIdentityInstanceRequest struct { func (x *GetShieldedInstanceIdentityInstanceRequest) Reset() { *x = GetShieldedInstanceIdentityInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[422] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[435] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50994,7 +53345,7 @@ func (x *GetShieldedInstanceIdentityInstanceRequest) String() string { func (*GetShieldedInstanceIdentityInstanceRequest) ProtoMessage() {} func (x *GetShieldedInstanceIdentityInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[422] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[435] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51007,7 +53358,7 @@ func (x *GetShieldedInstanceIdentityInstanceRequest) ProtoReflect() protoreflect // Deprecated: Use GetShieldedInstanceIdentityInstanceRequest.ProtoReflect.Descriptor instead. func (*GetShieldedInstanceIdentityInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{422} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{435} } func (x *GetShieldedInstanceIdentityInstanceRequest) GetInstance() string { @@ -51046,7 +53397,7 @@ type GetSnapshotRequest struct { func (x *GetSnapshotRequest) Reset() { *x = GetSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[423] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[436] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51059,7 +53410,7 @@ func (x *GetSnapshotRequest) String() string { func (*GetSnapshotRequest) ProtoMessage() {} func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[423] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[436] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51072,7 +53423,7 @@ func (x *GetSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSnapshotRequest.ProtoReflect.Descriptor instead. func (*GetSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{423} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{436} } func (x *GetSnapshotRequest) GetProject() string { @@ -51089,6 +53440,55 @@ func (x *GetSnapshotRequest) GetSnapshot() string { return "" } +// A request message for SnapshotSettingsService.Get. See the method description for details. +type GetSnapshotSettingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` +} + +func (x *GetSnapshotSettingRequest) Reset() { + *x = GetSnapshotSettingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[437] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetSnapshotSettingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSnapshotSettingRequest) ProtoMessage() {} + +func (x *GetSnapshotSettingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[437] + 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 GetSnapshotSettingRequest.ProtoReflect.Descriptor instead. +func (*GetSnapshotSettingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{437} +} + +func (x *GetSnapshotSettingRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + // A request message for SslCertificates.Get. See the method description for details. type GetSslCertificateRequest struct { state protoimpl.MessageState @@ -51104,7 +53504,7 @@ type GetSslCertificateRequest struct { func (x *GetSslCertificateRequest) Reset() { *x = GetSslCertificateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[424] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[438] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51117,7 +53517,7 @@ func (x *GetSslCertificateRequest) String() string { func (*GetSslCertificateRequest) ProtoMessage() {} func (x *GetSslCertificateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[424] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[438] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51130,7 +53530,7 @@ func (x *GetSslCertificateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSslCertificateRequest.ProtoReflect.Descriptor instead. func (*GetSslCertificateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{424} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{438} } func (x *GetSslCertificateRequest) GetProject() string { @@ -51162,7 +53562,7 @@ type GetSslPolicyRequest struct { func (x *GetSslPolicyRequest) Reset() { *x = GetSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[425] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[439] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51175,7 +53575,7 @@ func (x *GetSslPolicyRequest) String() string { func (*GetSslPolicyRequest) ProtoMessage() {} func (x *GetSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[425] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[439] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51188,7 +53588,7 @@ func (x *GetSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSslPolicyRequest.ProtoReflect.Descriptor instead. func (*GetSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{425} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{439} } func (x *GetSslPolicyRequest) GetProject() string { @@ -51222,7 +53622,7 @@ type GetStatusVpnGatewayRequest struct { func (x *GetStatusVpnGatewayRequest) Reset() { *x = GetStatusVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[426] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[440] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51235,7 +53635,7 @@ func (x *GetStatusVpnGatewayRequest) String() string { func (*GetStatusVpnGatewayRequest) ProtoMessage() {} func (x *GetStatusVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[426] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[440] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51248,7 +53648,7 @@ func (x *GetStatusVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetStatusVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*GetStatusVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{426} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{440} } func (x *GetStatusVpnGatewayRequest) GetProject() string { @@ -51289,7 +53689,7 @@ type GetSubnetworkRequest struct { func (x *GetSubnetworkRequest) Reset() { *x = GetSubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[427] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[441] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51302,7 +53702,7 @@ func (x *GetSubnetworkRequest) String() string { func (*GetSubnetworkRequest) ProtoMessage() {} func (x *GetSubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[427] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[441] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51315,7 +53715,7 @@ func (x *GetSubnetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetSubnetworkRequest.ProtoReflect.Descriptor instead. func (*GetSubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{427} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{441} } func (x *GetSubnetworkRequest) GetProject() string { @@ -51354,7 +53754,7 @@ type GetTargetGrpcProxyRequest struct { func (x *GetTargetGrpcProxyRequest) Reset() { *x = GetTargetGrpcProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[428] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[442] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51367,7 +53767,7 @@ func (x *GetTargetGrpcProxyRequest) String() string { func (*GetTargetGrpcProxyRequest) ProtoMessage() {} func (x *GetTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[428] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[442] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51380,7 +53780,7 @@ func (x *GetTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetGrpcProxyRequest.ProtoReflect.Descriptor instead. func (*GetTargetGrpcProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{428} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{442} } func (x *GetTargetGrpcProxyRequest) GetProject() string { @@ -51412,7 +53812,7 @@ type GetTargetHttpProxyRequest struct { func (x *GetTargetHttpProxyRequest) Reset() { *x = GetTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[429] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[443] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51425,7 +53825,7 @@ func (x *GetTargetHttpProxyRequest) String() string { func (*GetTargetHttpProxyRequest) ProtoMessage() {} func (x *GetTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[429] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[443] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51438,7 +53838,7 @@ func (x *GetTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*GetTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{429} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{443} } func (x *GetTargetHttpProxyRequest) GetProject() string { @@ -51470,7 +53870,7 @@ type GetTargetHttpsProxyRequest struct { func (x *GetTargetHttpsProxyRequest) Reset() { *x = GetTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[430] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[444] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51483,7 +53883,7 @@ func (x *GetTargetHttpsProxyRequest) String() string { func (*GetTargetHttpsProxyRequest) ProtoMessage() {} func (x *GetTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[430] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[444] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51496,7 +53896,7 @@ func (x *GetTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*GetTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{430} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{444} } func (x *GetTargetHttpsProxyRequest) GetProject() string { @@ -51530,7 +53930,7 @@ type GetTargetInstanceRequest struct { func (x *GetTargetInstanceRequest) Reset() { *x = GetTargetInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[431] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[445] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51543,7 +53943,7 @@ func (x *GetTargetInstanceRequest) String() string { func (*GetTargetInstanceRequest) ProtoMessage() {} func (x *GetTargetInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[431] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[445] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51556,7 +53956,7 @@ func (x *GetTargetInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetInstanceRequest.ProtoReflect.Descriptor instead. func (*GetTargetInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{431} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{445} } func (x *GetTargetInstanceRequest) GetProject() string { @@ -51597,7 +53997,7 @@ type GetTargetPoolRequest struct { func (x *GetTargetPoolRequest) Reset() { *x = GetTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[432] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[446] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51610,7 +54010,7 @@ func (x *GetTargetPoolRequest) String() string { func (*GetTargetPoolRequest) ProtoMessage() {} func (x *GetTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[432] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[446] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51623,7 +54023,7 @@ func (x *GetTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetPoolRequest.ProtoReflect.Descriptor instead. func (*GetTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{432} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{446} } func (x *GetTargetPoolRequest) GetProject() string { @@ -51662,7 +54062,7 @@ type GetTargetSslProxyRequest struct { func (x *GetTargetSslProxyRequest) Reset() { *x = GetTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[433] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[447] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51675,7 +54075,7 @@ func (x *GetTargetSslProxyRequest) String() string { func (*GetTargetSslProxyRequest) ProtoMessage() {} func (x *GetTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[433] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[447] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51688,7 +54088,7 @@ func (x *GetTargetSslProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*GetTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{433} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{447} } func (x *GetTargetSslProxyRequest) GetProject() string { @@ -51720,7 +54120,7 @@ type GetTargetTcpProxyRequest struct { func (x *GetTargetTcpProxyRequest) Reset() { *x = GetTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[434] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[448] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51733,7 +54133,7 @@ func (x *GetTargetTcpProxyRequest) String() string { func (*GetTargetTcpProxyRequest) ProtoMessage() {} func (x *GetTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[434] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[448] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51746,7 +54146,7 @@ func (x *GetTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*GetTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{434} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{448} } func (x *GetTargetTcpProxyRequest) GetProject() string { @@ -51780,7 +54180,7 @@ type GetTargetVpnGatewayRequest struct { func (x *GetTargetVpnGatewayRequest) Reset() { *x = GetTargetVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[435] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[449] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51793,7 +54193,7 @@ func (x *GetTargetVpnGatewayRequest) String() string { func (*GetTargetVpnGatewayRequest) ProtoMessage() {} func (x *GetTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[435] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[449] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51806,7 +54206,7 @@ func (x *GetTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetTargetVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*GetTargetVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{435} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{449} } func (x *GetTargetVpnGatewayRequest) GetProject() string { @@ -51845,7 +54245,7 @@ type GetUrlMapRequest struct { func (x *GetUrlMapRequest) Reset() { *x = GetUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[436] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[450] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51858,7 +54258,7 @@ func (x *GetUrlMapRequest) String() string { func (*GetUrlMapRequest) ProtoMessage() {} func (x *GetUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[436] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[450] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51871,7 +54271,7 @@ func (x *GetUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUrlMapRequest.ProtoReflect.Descriptor instead. func (*GetUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{436} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{450} } func (x *GetUrlMapRequest) GetProject() string { @@ -51905,7 +54305,7 @@ type GetVpnGatewayRequest struct { func (x *GetVpnGatewayRequest) Reset() { *x = GetVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[437] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[451] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51918,7 +54318,7 @@ func (x *GetVpnGatewayRequest) String() string { func (*GetVpnGatewayRequest) ProtoMessage() {} func (x *GetVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[437] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[451] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51931,7 +54331,7 @@ func (x *GetVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*GetVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{437} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{451} } func (x *GetVpnGatewayRequest) GetProject() string { @@ -51972,7 +54372,7 @@ type GetVpnTunnelRequest struct { func (x *GetVpnTunnelRequest) Reset() { *x = GetVpnTunnelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[438] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[452] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -51985,7 +54385,7 @@ func (x *GetVpnTunnelRequest) String() string { func (*GetVpnTunnelRequest) ProtoMessage() {} func (x *GetVpnTunnelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[438] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[452] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -51998,7 +54398,7 @@ func (x *GetVpnTunnelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVpnTunnelRequest.ProtoReflect.Descriptor instead. func (*GetVpnTunnelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{438} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{452} } func (x *GetVpnTunnelRequest) GetProject() string { @@ -52035,7 +54435,7 @@ type GetXpnHostProjectRequest struct { func (x *GetXpnHostProjectRequest) Reset() { *x = GetXpnHostProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[439] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[453] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52048,7 +54448,7 @@ func (x *GetXpnHostProjectRequest) String() string { func (*GetXpnHostProjectRequest) ProtoMessage() {} func (x *GetXpnHostProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[439] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[453] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52061,7 +54461,7 @@ func (x *GetXpnHostProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetXpnHostProjectRequest.ProtoReflect.Descriptor instead. func (*GetXpnHostProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{439} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{453} } func (x *GetXpnHostProjectRequest) GetProject() string { @@ -52077,7 +54477,7 @@ type GetXpnResourcesProjectsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -52094,7 +54494,7 @@ type GetXpnResourcesProjectsRequest struct { func (x *GetXpnResourcesProjectsRequest) Reset() { *x = GetXpnResourcesProjectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[440] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[454] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52107,7 +54507,7 @@ func (x *GetXpnResourcesProjectsRequest) String() string { func (*GetXpnResourcesProjectsRequest) ProtoMessage() {} func (x *GetXpnResourcesProjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[440] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[454] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52120,7 +54520,7 @@ func (x *GetXpnResourcesProjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetXpnResourcesProjectsRequest.ProtoReflect.Descriptor instead. func (*GetXpnResourcesProjectsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{440} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{454} } func (x *GetXpnResourcesProjectsRequest) GetFilter() string { @@ -52182,7 +54582,7 @@ type GetZoneOperationRequest struct { func (x *GetZoneOperationRequest) Reset() { *x = GetZoneOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[441] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[455] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52195,7 +54595,7 @@ func (x *GetZoneOperationRequest) String() string { func (*GetZoneOperationRequest) ProtoMessage() {} func (x *GetZoneOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[441] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[455] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52208,7 +54608,7 @@ func (x *GetZoneOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetZoneOperationRequest.ProtoReflect.Descriptor instead. func (*GetZoneOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{441} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{455} } func (x *GetZoneOperationRequest) GetOperation() string { @@ -52247,7 +54647,7 @@ type GetZoneRequest struct { func (x *GetZoneRequest) Reset() { *x = GetZoneRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[442] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[456] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52260,7 +54660,7 @@ func (x *GetZoneRequest) String() string { func (*GetZoneRequest) ProtoMessage() {} func (x *GetZoneRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[442] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[456] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52273,7 +54673,7 @@ func (x *GetZoneRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetZoneRequest.ProtoReflect.Descriptor instead. func (*GetZoneRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{442} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{456} } func (x *GetZoneRequest) GetProject() string { @@ -52304,7 +54704,7 @@ type GlobalAddressesMoveRequest struct { func (x *GlobalAddressesMoveRequest) Reset() { *x = GlobalAddressesMoveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[443] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[457] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52317,7 +54717,7 @@ func (x *GlobalAddressesMoveRequest) String() string { func (*GlobalAddressesMoveRequest) ProtoMessage() {} func (x *GlobalAddressesMoveRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[443] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[457] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52330,7 +54730,7 @@ func (x *GlobalAddressesMoveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GlobalAddressesMoveRequest.ProtoReflect.Descriptor instead. func (*GlobalAddressesMoveRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{443} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{457} } func (x *GlobalAddressesMoveRequest) GetDescription() string { @@ -52359,7 +54759,7 @@ type GlobalNetworkEndpointGroupsAttachEndpointsRequest struct { func (x *GlobalNetworkEndpointGroupsAttachEndpointsRequest) Reset() { *x = GlobalNetworkEndpointGroupsAttachEndpointsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[444] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[458] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52372,7 +54772,7 @@ func (x *GlobalNetworkEndpointGroupsAttachEndpointsRequest) String() string { func (*GlobalNetworkEndpointGroupsAttachEndpointsRequest) ProtoMessage() {} func (x *GlobalNetworkEndpointGroupsAttachEndpointsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[444] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[458] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52385,7 +54785,7 @@ func (x *GlobalNetworkEndpointGroupsAttachEndpointsRequest) ProtoReflect() proto // Deprecated: Use GlobalNetworkEndpointGroupsAttachEndpointsRequest.ProtoReflect.Descriptor instead. func (*GlobalNetworkEndpointGroupsAttachEndpointsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{444} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{458} } func (x *GlobalNetworkEndpointGroupsAttachEndpointsRequest) GetNetworkEndpoints() []*NetworkEndpoint { @@ -52407,7 +54807,7 @@ type GlobalNetworkEndpointGroupsDetachEndpointsRequest struct { func (x *GlobalNetworkEndpointGroupsDetachEndpointsRequest) Reset() { *x = GlobalNetworkEndpointGroupsDetachEndpointsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[445] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[459] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52420,7 +54820,7 @@ func (x *GlobalNetworkEndpointGroupsDetachEndpointsRequest) String() string { func (*GlobalNetworkEndpointGroupsDetachEndpointsRequest) ProtoMessage() {} func (x *GlobalNetworkEndpointGroupsDetachEndpointsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[445] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[459] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52433,7 +54833,7 @@ func (x *GlobalNetworkEndpointGroupsDetachEndpointsRequest) ProtoReflect() proto // Deprecated: Use GlobalNetworkEndpointGroupsDetachEndpointsRequest.ProtoReflect.Descriptor instead. func (*GlobalNetworkEndpointGroupsDetachEndpointsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{445} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{459} } func (x *GlobalNetworkEndpointGroupsDetachEndpointsRequest) GetNetworkEndpoints() []*NetworkEndpoint { @@ -52459,7 +54859,7 @@ type GlobalOrganizationSetPolicyRequest struct { func (x *GlobalOrganizationSetPolicyRequest) Reset() { *x = GlobalOrganizationSetPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[446] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[460] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52472,7 +54872,7 @@ func (x *GlobalOrganizationSetPolicyRequest) String() string { func (*GlobalOrganizationSetPolicyRequest) ProtoMessage() {} func (x *GlobalOrganizationSetPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[446] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[460] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52485,7 +54885,7 @@ func (x *GlobalOrganizationSetPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use GlobalOrganizationSetPolicyRequest.ProtoReflect.Descriptor instead. func (*GlobalOrganizationSetPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{446} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{460} } func (x *GlobalOrganizationSetPolicyRequest) GetBindings() []*Binding { @@ -52523,7 +54923,7 @@ type GlobalSetLabelsRequest struct { func (x *GlobalSetLabelsRequest) Reset() { *x = GlobalSetLabelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[447] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[461] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52536,7 +54936,7 @@ func (x *GlobalSetLabelsRequest) String() string { func (*GlobalSetLabelsRequest) ProtoMessage() {} func (x *GlobalSetLabelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[447] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[461] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52549,7 +54949,7 @@ func (x *GlobalSetLabelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GlobalSetLabelsRequest.ProtoReflect.Descriptor instead. func (*GlobalSetLabelsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{447} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{461} } func (x *GlobalSetLabelsRequest) GetLabelFingerprint() string { @@ -52582,7 +54982,7 @@ type GlobalSetPolicyRequest struct { func (x *GlobalSetPolicyRequest) Reset() { *x = GlobalSetPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[448] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[462] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52595,7 +54995,7 @@ func (x *GlobalSetPolicyRequest) String() string { func (*GlobalSetPolicyRequest) ProtoMessage() {} func (x *GlobalSetPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[448] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[462] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52608,7 +55008,7 @@ func (x *GlobalSetPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GlobalSetPolicyRequest.ProtoReflect.Descriptor instead. func (*GlobalSetPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{448} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{462} } func (x *GlobalSetPolicyRequest) GetBindings() []*Binding { @@ -52640,7 +55040,7 @@ type GuestAttributes struct { // [Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry. Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` - // The path to be queried. This can be the default namespace ('') or a nested namespace ('\/') or a specified key ('\/\'). + // The path to be queried. This can be the default namespace (”) or a nested namespace ('\/') or a specified key ('\/\'). QueryPath *string `protobuf:"bytes,368591164,opt,name=query_path,json=queryPath,proto3,oneof" json:"query_path,omitempty"` // [Output Only] The value of the requested queried path. QueryValue *GuestAttributesValue `protobuf:"bytes,157570874,opt,name=query_value,json=queryValue,proto3,oneof" json:"query_value,omitempty"` @@ -52655,7 +55055,7 @@ type GuestAttributes struct { func (x *GuestAttributes) Reset() { *x = GuestAttributes{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[449] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[463] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52668,7 +55068,7 @@ func (x *GuestAttributes) String() string { func (*GuestAttributes) ProtoMessage() {} func (x *GuestAttributes) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[449] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[463] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52681,7 +55081,7 @@ func (x *GuestAttributes) ProtoReflect() protoreflect.Message { // Deprecated: Use GuestAttributes.ProtoReflect.Descriptor instead. func (*GuestAttributes) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{449} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{463} } func (x *GuestAttributes) GetKind() string { @@ -52743,7 +55143,7 @@ type GuestAttributesEntry struct { func (x *GuestAttributesEntry) Reset() { *x = GuestAttributesEntry{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[450] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[464] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52756,7 +55156,7 @@ func (x *GuestAttributesEntry) String() string { func (*GuestAttributesEntry) ProtoMessage() {} func (x *GuestAttributesEntry) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[450] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[464] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52769,7 +55169,7 @@ func (x *GuestAttributesEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use GuestAttributesEntry.ProtoReflect.Descriptor instead. func (*GuestAttributesEntry) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{450} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{464} } func (x *GuestAttributesEntry) GetKey() string { @@ -52805,7 +55205,7 @@ type GuestAttributesValue struct { func (x *GuestAttributesValue) Reset() { *x = GuestAttributesValue{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[451] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[465] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52818,7 +55218,7 @@ func (x *GuestAttributesValue) String() string { func (*GuestAttributesValue) ProtoMessage() {} func (x *GuestAttributesValue) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[451] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[465] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52831,7 +55231,7 @@ func (x *GuestAttributesValue) ProtoReflect() protoreflect.Message { // Deprecated: Use GuestAttributesValue.ProtoReflect.Descriptor instead. func (*GuestAttributesValue) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{451} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{465} } func (x *GuestAttributesValue) GetItems() []*GuestAttributesEntry { @@ -52855,7 +55255,7 @@ type GuestOsFeature struct { func (x *GuestOsFeature) Reset() { *x = GuestOsFeature{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[452] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[466] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52868,7 +55268,7 @@ func (x *GuestOsFeature) String() string { func (*GuestOsFeature) ProtoMessage() {} func (x *GuestOsFeature) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[452] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[466] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52881,7 +55281,7 @@ func (x *GuestOsFeature) ProtoReflect() protoreflect.Message { // Deprecated: Use GuestOsFeature.ProtoReflect.Descriptor instead. func (*GuestOsFeature) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{452} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{466} } func (x *GuestOsFeature) GetType() string { @@ -52917,7 +55317,7 @@ type HTTP2HealthCheck struct { func (x *HTTP2HealthCheck) Reset() { *x = HTTP2HealthCheck{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[453] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[467] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -52930,7 +55330,7 @@ func (x *HTTP2HealthCheck) String() string { func (*HTTP2HealthCheck) ProtoMessage() {} func (x *HTTP2HealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[453] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[467] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -52943,7 +55343,7 @@ func (x *HTTP2HealthCheck) ProtoReflect() protoreflect.Message { // Deprecated: Use HTTP2HealthCheck.ProtoReflect.Descriptor instead. func (*HTTP2HealthCheck) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{453} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{467} } func (x *HTTP2HealthCheck) GetHost() string { @@ -53021,7 +55421,7 @@ type HTTPHealthCheck struct { func (x *HTTPHealthCheck) Reset() { *x = HTTPHealthCheck{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[454] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[468] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53034,7 +55434,7 @@ func (x *HTTPHealthCheck) String() string { func (*HTTPHealthCheck) ProtoMessage() {} func (x *HTTPHealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[454] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[468] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53047,7 +55447,7 @@ func (x *HTTPHealthCheck) ProtoReflect() protoreflect.Message { // Deprecated: Use HTTPHealthCheck.ProtoReflect.Descriptor instead. func (*HTTPHealthCheck) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{454} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{468} } func (x *HTTPHealthCheck) GetHost() string { @@ -53125,7 +55525,7 @@ type HTTPSHealthCheck struct { func (x *HTTPSHealthCheck) Reset() { *x = HTTPSHealthCheck{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[455] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[469] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53138,7 +55538,7 @@ func (x *HTTPSHealthCheck) String() string { func (*HTTPSHealthCheck) ProtoMessage() {} func (x *HTTPSHealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[455] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[469] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53151,7 +55551,7 @@ func (x *HTTPSHealthCheck) ProtoReflect() protoreflect.Message { // Deprecated: Use HTTPSHealthCheck.ProtoReflect.Descriptor instead. func (*HTTPSHealthCheck) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{455} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{469} } func (x *HTTPSHealthCheck) GetHost() string { @@ -53203,7 +55603,7 @@ func (x *HTTPSHealthCheck) GetResponse() string { return "" } -// Represents a Health Check resource. Google Compute Engine has two Health Check resources: * [Global](/compute/docs/reference/rest/v1/healthChecks) * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) Internal HTTP(S) load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Traffic Director must use global health checks (`compute.v1.healthChecks`). Internal TCP/UDP load balancers can use either regional or global health checks (`compute.v1.regionHealthChecks` or `compute.v1.healthChecks`). External HTTP(S), TCP proxy, and SSL proxy load balancers as well as managed instance group auto-healing must use global health checks (`compute.v1.healthChecks`). Backend service-based network load balancers must use regional health checks (`compute.v1.regionHealthChecks`). Target pool-based network load balancers must use legacy HTTP health checks (`compute.v1.httpHealthChecks`). For more information, see Health checks overview. +// Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/v1/regionHealthChecks) * [Global](/compute/docs/reference/rest/v1/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** The following load balancer can use either regional or global health check: * Internal TCP/UDP load balancer The following load balancers require regional health check: * Internal HTTP(S) load balancer * Backend service-based network load balancer Traffic Director and the following load balancers require global health check: * External HTTP(S) load balancer * TCP proxy load balancer * SSL proxy load balancer The following load balancer require [legacy HTTP health checks](/compute/docs/reference/rest/v1/httpHealthChecks): * Target pool-based network load balancer **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview. type HealthCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -53247,7 +55647,7 @@ type HealthCheck struct { func (x *HealthCheck) Reset() { *x = HealthCheck{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[456] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[470] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53260,7 +55660,7 @@ func (x *HealthCheck) String() string { func (*HealthCheck) ProtoMessage() {} func (x *HealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[456] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[470] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53273,7 +55673,7 @@ func (x *HealthCheck) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. func (*HealthCheck) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{456} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{470} } func (x *HealthCheck) GetCheckIntervalSec() int32 { @@ -53432,7 +55832,7 @@ type HealthCheckList struct { func (x *HealthCheckList) Reset() { *x = HealthCheckList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[457] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[471] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53445,7 +55845,7 @@ func (x *HealthCheckList) String() string { func (*HealthCheckList) ProtoMessage() {} func (x *HealthCheckList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[457] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[471] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53458,7 +55858,7 @@ func (x *HealthCheckList) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheckList.ProtoReflect.Descriptor instead. func (*HealthCheckList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{457} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{471} } func (x *HealthCheckList) GetId() string { @@ -53516,7 +55916,7 @@ type HealthCheckLogConfig struct { func (x *HealthCheckLogConfig) Reset() { *x = HealthCheckLogConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[458] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[472] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53529,7 +55929,7 @@ func (x *HealthCheckLogConfig) String() string { func (*HealthCheckLogConfig) ProtoMessage() {} func (x *HealthCheckLogConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[458] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[472] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53542,7 +55942,7 @@ func (x *HealthCheckLogConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheckLogConfig.ProtoReflect.Descriptor instead. func (*HealthCheckLogConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{458} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{472} } func (x *HealthCheckLogConfig) GetEnable() bool { @@ -53564,7 +55964,7 @@ type HealthCheckReference struct { func (x *HealthCheckReference) Reset() { *x = HealthCheckReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[459] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[473] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53577,7 +55977,7 @@ func (x *HealthCheckReference) String() string { func (*HealthCheckReference) ProtoMessage() {} func (x *HealthCheckReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[459] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[473] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53590,7 +55990,7 @@ func (x *HealthCheckReference) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheckReference.ProtoReflect.Descriptor instead. func (*HealthCheckReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{459} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{473} } func (x *HealthCheckReference) GetHealthCheck() string { @@ -53636,7 +56036,7 @@ type HealthCheckService struct { func (x *HealthCheckService) Reset() { *x = HealthCheckService{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[460] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[474] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53649,7 +56049,7 @@ func (x *HealthCheckService) String() string { func (*HealthCheckService) ProtoMessage() {} func (x *HealthCheckService) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[460] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[474] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53662,7 +56062,7 @@ func (x *HealthCheckService) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheckService.ProtoReflect.Descriptor instead. func (*HealthCheckService) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{460} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{474} } func (x *HealthCheckService) GetCreationTimestamp() string { @@ -53761,7 +56161,7 @@ type HealthCheckServiceReference struct { func (x *HealthCheckServiceReference) Reset() { *x = HealthCheckServiceReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[461] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[475] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53774,7 +56174,7 @@ func (x *HealthCheckServiceReference) String() string { func (*HealthCheckServiceReference) ProtoMessage() {} func (x *HealthCheckServiceReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[461] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[475] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53787,7 +56187,7 @@ func (x *HealthCheckServiceReference) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheckServiceReference.ProtoReflect.Descriptor instead. func (*HealthCheckServiceReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{461} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{475} } func (x *HealthCheckServiceReference) GetHealthCheckService() string { @@ -53819,7 +56219,7 @@ type HealthCheckServicesList struct { func (x *HealthCheckServicesList) Reset() { *x = HealthCheckServicesList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[462] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[476] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53832,7 +56232,7 @@ func (x *HealthCheckServicesList) String() string { func (*HealthCheckServicesList) ProtoMessage() {} func (x *HealthCheckServicesList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[462] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[476] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53845,7 +56245,7 @@ func (x *HealthCheckServicesList) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthCheckServicesList.ProtoReflect.Descriptor instead. func (*HealthCheckServicesList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{462} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{476} } func (x *HealthCheckServicesList) GetId() string { @@ -53914,7 +56314,7 @@ type HealthChecksAggregatedList struct { func (x *HealthChecksAggregatedList) Reset() { *x = HealthChecksAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[463] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[477] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -53927,7 +56327,7 @@ func (x *HealthChecksAggregatedList) String() string { func (*HealthChecksAggregatedList) ProtoMessage() {} func (x *HealthChecksAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[463] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[477] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -53940,7 +56340,7 @@ func (x *HealthChecksAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthChecksAggregatedList.ProtoReflect.Descriptor instead. func (*HealthChecksAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{463} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{477} } func (x *HealthChecksAggregatedList) GetId() string { @@ -54006,7 +56406,7 @@ type HealthChecksScopedList struct { func (x *HealthChecksScopedList) Reset() { *x = HealthChecksScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[464] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[478] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54019,7 +56419,7 @@ func (x *HealthChecksScopedList) String() string { func (*HealthChecksScopedList) ProtoMessage() {} func (x *HealthChecksScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[464] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[478] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54032,7 +56432,7 @@ func (x *HealthChecksScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthChecksScopedList.ProtoReflect.Descriptor instead. func (*HealthChecksScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{464} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{478} } func (x *HealthChecksScopedList) GetHealthChecks() []*HealthCheck { @@ -54070,7 +56470,6 @@ type HealthStatus struct { // The named port of the instance group, not necessarily the port that is health-checked. Port *int32 `protobuf:"varint,3446913,opt,name=port,proto3,oneof" json:"port,omitempty"` Weight *string `protobuf:"bytes,282149496,opt,name=weight,proto3,oneof" json:"weight,omitempty"` - // // Check the WeightError enum for the list of possible values. WeightError *string `protobuf:"bytes,522501505,opt,name=weight_error,json=weightError,proto3,oneof" json:"weight_error,omitempty"` } @@ -54078,7 +56477,7 @@ type HealthStatus struct { func (x *HealthStatus) Reset() { *x = HealthStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[465] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[479] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54091,7 +56490,7 @@ func (x *HealthStatus) String() string { func (*HealthStatus) ProtoMessage() {} func (x *HealthStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[465] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[479] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54104,7 +56503,7 @@ func (x *HealthStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthStatus.ProtoReflect.Descriptor instead. func (*HealthStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{465} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{479} } func (x *HealthStatus) GetAnnotations() map[string]string { @@ -54191,7 +56590,7 @@ type HealthStatusForNetworkEndpoint struct { func (x *HealthStatusForNetworkEndpoint) Reset() { *x = HealthStatusForNetworkEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[466] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[480] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54204,7 +56603,7 @@ func (x *HealthStatusForNetworkEndpoint) String() string { func (*HealthStatusForNetworkEndpoint) ProtoMessage() {} func (x *HealthStatusForNetworkEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[466] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[480] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54217,7 +56616,7 @@ func (x *HealthStatusForNetworkEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use HealthStatusForNetworkEndpoint.ProtoReflect.Descriptor instead. func (*HealthStatusForNetworkEndpoint) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{466} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{480} } func (x *HealthStatusForNetworkEndpoint) GetBackendService() *BackendServiceReference { @@ -54268,7 +56667,7 @@ type Help struct { func (x *Help) Reset() { *x = Help{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[467] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[481] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54281,7 +56680,7 @@ func (x *Help) String() string { func (*Help) ProtoMessage() {} func (x *Help) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[467] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[481] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54294,7 +56693,7 @@ func (x *Help) ProtoReflect() protoreflect.Message { // Deprecated: Use Help.ProtoReflect.Descriptor instead. func (*Help) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{467} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{481} } func (x *Help) GetLinks() []*HelpLink { @@ -54319,7 +56718,7 @@ type HelpLink struct { func (x *HelpLink) Reset() { *x = HelpLink{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[468] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[482] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54332,7 +56731,7 @@ func (x *HelpLink) String() string { func (*HelpLink) ProtoMessage() {} func (x *HelpLink) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[468] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[482] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54345,7 +56744,7 @@ func (x *HelpLink) ProtoReflect() protoreflect.Message { // Deprecated: Use HelpLink.ProtoReflect.Descriptor instead. func (*HelpLink) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{468} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{482} } func (x *HelpLink) GetDescription() string { @@ -54379,7 +56778,7 @@ type HostRule struct { func (x *HostRule) Reset() { *x = HostRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[469] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[483] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54392,7 +56791,7 @@ func (x *HostRule) String() string { func (*HostRule) ProtoMessage() {} func (x *HostRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[469] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[483] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54405,7 +56804,7 @@ func (x *HostRule) ProtoReflect() protoreflect.Message { // Deprecated: Use HostRule.ProtoReflect.Descriptor instead. func (*HostRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{469} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{483} } func (x *HostRule) GetDescription() string { @@ -54444,7 +56843,7 @@ type HttpFaultAbort struct { func (x *HttpFaultAbort) Reset() { *x = HttpFaultAbort{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[470] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[484] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54457,7 +56856,7 @@ func (x *HttpFaultAbort) String() string { func (*HttpFaultAbort) ProtoMessage() {} func (x *HttpFaultAbort) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[470] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[484] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54470,7 +56869,7 @@ func (x *HttpFaultAbort) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpFaultAbort.ProtoReflect.Descriptor instead. func (*HttpFaultAbort) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{470} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{484} } func (x *HttpFaultAbort) GetHttpStatus() uint32 { @@ -54502,7 +56901,7 @@ type HttpFaultDelay struct { func (x *HttpFaultDelay) Reset() { *x = HttpFaultDelay{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[471] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[485] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54515,7 +56914,7 @@ func (x *HttpFaultDelay) String() string { func (*HttpFaultDelay) ProtoMessage() {} func (x *HttpFaultDelay) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[471] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[485] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54528,7 +56927,7 @@ func (x *HttpFaultDelay) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpFaultDelay.ProtoReflect.Descriptor instead. func (*HttpFaultDelay) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{471} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{485} } func (x *HttpFaultDelay) GetFixedDelay() *Duration { @@ -54560,7 +56959,7 @@ type HttpFaultInjection struct { func (x *HttpFaultInjection) Reset() { *x = HttpFaultInjection{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[472] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[486] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54573,7 +56972,7 @@ func (x *HttpFaultInjection) String() string { func (*HttpFaultInjection) ProtoMessage() {} func (x *HttpFaultInjection) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[472] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[486] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54586,7 +56985,7 @@ func (x *HttpFaultInjection) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpFaultInjection.ProtoReflect.Descriptor instead. func (*HttpFaultInjection) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{472} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{486} } func (x *HttpFaultInjection) GetAbort() *HttpFaultAbort { @@ -54622,7 +57021,7 @@ type HttpHeaderAction struct { func (x *HttpHeaderAction) Reset() { *x = HttpHeaderAction{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[473] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[487] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54635,7 +57034,7 @@ func (x *HttpHeaderAction) String() string { func (*HttpHeaderAction) ProtoMessage() {} func (x *HttpHeaderAction) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[473] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[487] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54648,7 +57047,7 @@ func (x *HttpHeaderAction) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpHeaderAction.ProtoReflect.Descriptor instead. func (*HttpHeaderAction) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{473} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{487} } func (x *HttpHeaderAction) GetRequestHeadersToAdd() []*HttpHeaderOption { @@ -54706,7 +57105,7 @@ type HttpHeaderMatch struct { func (x *HttpHeaderMatch) Reset() { *x = HttpHeaderMatch{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[474] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[488] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54719,7 +57118,7 @@ func (x *HttpHeaderMatch) String() string { func (*HttpHeaderMatch) ProtoMessage() {} func (x *HttpHeaderMatch) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[474] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[488] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54732,7 +57131,7 @@ func (x *HttpHeaderMatch) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpHeaderMatch.ProtoReflect.Descriptor instead. func (*HttpHeaderMatch) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{474} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{488} } func (x *HttpHeaderMatch) GetExactMatch() string { @@ -54808,7 +57207,7 @@ type HttpHeaderOption struct { func (x *HttpHeaderOption) Reset() { *x = HttpHeaderOption{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[475] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[489] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54821,7 +57220,7 @@ func (x *HttpHeaderOption) String() string { func (*HttpHeaderOption) ProtoMessage() {} func (x *HttpHeaderOption) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[475] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[489] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54834,7 +57233,7 @@ func (x *HttpHeaderOption) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpHeaderOption.ProtoReflect.Descriptor instead. func (*HttpHeaderOption) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{475} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{489} } func (x *HttpHeaderOption) GetHeaderName() string { @@ -54877,7 +57276,7 @@ type HttpQueryParameterMatch struct { func (x *HttpQueryParameterMatch) Reset() { *x = HttpQueryParameterMatch{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[476] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[490] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54890,7 +57289,7 @@ func (x *HttpQueryParameterMatch) String() string { func (*HttpQueryParameterMatch) ProtoMessage() {} func (x *HttpQueryParameterMatch) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[476] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[490] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54903,7 +57302,7 @@ func (x *HttpQueryParameterMatch) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpQueryParameterMatch.ProtoReflect.Descriptor instead. func (*HttpQueryParameterMatch) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{476} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{490} } func (x *HttpQueryParameterMatch) GetExactMatch() string { @@ -54958,7 +57357,7 @@ type HttpRedirectAction struct { func (x *HttpRedirectAction) Reset() { *x = HttpRedirectAction{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[477] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[491] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -54971,7 +57370,7 @@ func (x *HttpRedirectAction) String() string { func (*HttpRedirectAction) ProtoMessage() {} func (x *HttpRedirectAction) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[477] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[491] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -54984,7 +57383,7 @@ func (x *HttpRedirectAction) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpRedirectAction.ProtoReflect.Descriptor instead. func (*HttpRedirectAction) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{477} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{491} } func (x *HttpRedirectAction) GetHostRedirect() string { @@ -55046,7 +57445,7 @@ type HttpRetryPolicy struct { func (x *HttpRetryPolicy) Reset() { *x = HttpRetryPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[478] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[492] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55059,7 +57458,7 @@ func (x *HttpRetryPolicy) String() string { func (*HttpRetryPolicy) ProtoMessage() {} func (x *HttpRetryPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[478] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[492] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55072,7 +57471,7 @@ func (x *HttpRetryPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpRetryPolicy.ProtoReflect.Descriptor instead. func (*HttpRetryPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{478} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{492} } func (x *HttpRetryPolicy) GetNumRetries() uint32 { @@ -55103,7 +57502,7 @@ type HttpRouteAction struct { // The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy. CorsPolicy *CorsPolicy `protobuf:"bytes,398943748,opt,name=cors_policy,json=corsPolicy,proto3,oneof" json:"cors_policy,omitempty"` - // The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: Routing and traffic management features. + // The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features. FaultInjectionPolicy *HttpFaultInjection `protobuf:"bytes,412781079,opt,name=fault_injection_policy,json=faultInjectionPolicy,proto3,oneof" json:"fault_injection_policy,omitempty"` // Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED. MaxStreamDuration *Duration `protobuf:"bytes,61428376,opt,name=max_stream_duration,json=maxStreamDuration,proto3,oneof" json:"max_stream_duration,omitempty"` @@ -55113,7 +57512,7 @@ type HttpRouteAction struct { RetryPolicy *HttpRetryPolicy `protobuf:"bytes,56799913,opt,name=retry_policy,json=retryPolicy,proto3,oneof" json:"retry_policy,omitempty"` // Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true. Timeout *Duration `protobuf:"bytes,296701281,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` - // The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + // The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. UrlRewrite *UrlRewrite `protobuf:"bytes,273333948,opt,name=url_rewrite,json=urlRewrite,proto3,oneof" json:"url_rewrite,omitempty"` // A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction. WeightedBackendServices []*WeightedBackendService `protobuf:"bytes,337028049,rep,name=weighted_backend_services,json=weightedBackendServices,proto3" json:"weighted_backend_services,omitempty"` @@ -55122,7 +57521,7 @@ type HttpRouteAction struct { func (x *HttpRouteAction) Reset() { *x = HttpRouteAction{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[479] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[493] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55135,7 +57534,7 @@ func (x *HttpRouteAction) String() string { func (*HttpRouteAction) ProtoMessage() {} func (x *HttpRouteAction) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[479] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[493] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55148,7 +57547,7 @@ func (x *HttpRouteAction) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpRouteAction.ProtoReflect.Descriptor instead. func (*HttpRouteAction) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{479} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{493} } func (x *HttpRouteAction) GetCorsPolicy() *CorsPolicy { @@ -55221,7 +57620,7 @@ type HttpRouteRule struct { MatchRules []*HttpRouteRuleMatch `protobuf:"bytes,376200701,rep,name=match_rules,json=matchRules,proto3" json:"match_rules,omitempty"` // For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules. Priority *int32 `protobuf:"varint,445151652,opt,name=priority,proto3,oneof" json:"priority,omitempty"` - // In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a route rule's routeAction. + // In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. RouteAction *HttpRouteAction `protobuf:"bytes,424563948,opt,name=route_action,json=routeAction,proto3,oneof" json:"route_action,omitempty"` // The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. Service *string `protobuf:"bytes,373540533,opt,name=service,proto3,oneof" json:"service,omitempty"` @@ -55232,7 +57631,7 @@ type HttpRouteRule struct { func (x *HttpRouteRule) Reset() { *x = HttpRouteRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[480] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[494] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55245,7 +57644,7 @@ func (x *HttpRouteRule) String() string { func (*HttpRouteRule) ProtoMessage() {} func (x *HttpRouteRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[480] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[494] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55258,7 +57657,7 @@ func (x *HttpRouteRule) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpRouteRule.ProtoReflect.Descriptor instead. func (*HttpRouteRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{480} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{494} } func (x *HttpRouteRule) GetDescription() string { @@ -55337,7 +57736,7 @@ type HttpRouteRuleMatch struct { func (x *HttpRouteRuleMatch) Reset() { *x = HttpRouteRuleMatch{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[481] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[495] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55350,7 +57749,7 @@ func (x *HttpRouteRuleMatch) String() string { func (*HttpRouteRuleMatch) ProtoMessage() {} func (x *HttpRouteRuleMatch) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[481] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[495] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55363,7 +57762,7 @@ func (x *HttpRouteRuleMatch) ProtoReflect() protoreflect.Message { // Deprecated: Use HttpRouteRuleMatch.ProtoReflect.Descriptor instead. func (*HttpRouteRuleMatch) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{481} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{495} } func (x *HttpRouteRuleMatch) GetFullPathMatch() string { @@ -55500,7 +57899,7 @@ type Image struct { func (x *Image) Reset() { *x = Image{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[482] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[496] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55513,7 +57912,7 @@ func (x *Image) String() string { func (*Image) ProtoMessage() {} func (x *Image) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[482] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[496] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55526,7 +57925,7 @@ func (x *Image) ProtoReflect() protoreflect.Message { // Deprecated: Use Image.ProtoReflect.Descriptor instead. func (*Image) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{482} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{496} } func (x *Image) GetArchitecture() string { @@ -55765,7 +58164,7 @@ type ImageFamilyView struct { func (x *ImageFamilyView) Reset() { *x = ImageFamilyView{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[483] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[497] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55778,7 +58177,7 @@ func (x *ImageFamilyView) String() string { func (*ImageFamilyView) ProtoMessage() {} func (x *ImageFamilyView) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[483] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[497] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55791,7 +58190,7 @@ func (x *ImageFamilyView) ProtoReflect() protoreflect.Message { // Deprecated: Use ImageFamilyView.ProtoReflect.Descriptor instead. func (*ImageFamilyView) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{483} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{497} } func (x *ImageFamilyView) GetImage() *Image { @@ -55824,7 +58223,7 @@ type ImageList struct { func (x *ImageList) Reset() { *x = ImageList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[484] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[498] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55837,7 +58236,7 @@ func (x *ImageList) String() string { func (*ImageList) ProtoMessage() {} func (x *ImageList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[484] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[498] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55850,7 +58249,7 @@ func (x *ImageList) ProtoReflect() protoreflect.Message { // Deprecated: Use ImageList.ProtoReflect.Descriptor instead. func (*ImageList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{484} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{498} } func (x *ImageList) GetId() string { @@ -55914,7 +58313,7 @@ type InitialStateConfig struct { func (x *InitialStateConfig) Reset() { *x = InitialStateConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[485] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[499] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -55927,7 +58326,7 @@ func (x *InitialStateConfig) String() string { func (*InitialStateConfig) ProtoMessage() {} func (x *InitialStateConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[485] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[499] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -55940,7 +58339,7 @@ func (x *InitialStateConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use InitialStateConfig.ProtoReflect.Descriptor instead. func (*InitialStateConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{485} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{499} } func (x *InitialStateConfig) GetDbs() []*FileContentBuffer { @@ -55990,7 +58389,7 @@ type InsertAddressRequest struct { func (x *InsertAddressRequest) Reset() { *x = InsertAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[486] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[500] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56003,7 +58402,7 @@ func (x *InsertAddressRequest) String() string { func (*InsertAddressRequest) ProtoMessage() {} func (x *InsertAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[486] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[500] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56016,7 +58415,7 @@ func (x *InsertAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertAddressRequest.ProtoReflect.Descriptor instead. func (*InsertAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{486} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{500} } func (x *InsertAddressRequest) GetAddressResource() *Address { @@ -56066,7 +58465,7 @@ type InsertAutoscalerRequest struct { func (x *InsertAutoscalerRequest) Reset() { *x = InsertAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[487] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[501] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56079,7 +58478,7 @@ func (x *InsertAutoscalerRequest) String() string { func (*InsertAutoscalerRequest) ProtoMessage() {} func (x *InsertAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[487] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[501] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56092,7 +58491,7 @@ func (x *InsertAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertAutoscalerRequest.ProtoReflect.Descriptor instead. func (*InsertAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{487} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{501} } func (x *InsertAutoscalerRequest) GetAutoscalerResource() *Autoscaler { @@ -56140,7 +58539,7 @@ type InsertBackendBucketRequest struct { func (x *InsertBackendBucketRequest) Reset() { *x = InsertBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[488] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[502] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56153,7 +58552,7 @@ func (x *InsertBackendBucketRequest) String() string { func (*InsertBackendBucketRequest) ProtoMessage() {} func (x *InsertBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[488] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[502] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56166,7 +58565,7 @@ func (x *InsertBackendBucketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertBackendBucketRequest.ProtoReflect.Descriptor instead. func (*InsertBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{488} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{502} } func (x *InsertBackendBucketRequest) GetBackendBucketResource() *BackendBucket { @@ -56207,7 +58606,7 @@ type InsertBackendServiceRequest struct { func (x *InsertBackendServiceRequest) Reset() { *x = InsertBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[489] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[503] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56220,7 +58619,7 @@ func (x *InsertBackendServiceRequest) String() string { func (*InsertBackendServiceRequest) ProtoMessage() {} func (x *InsertBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[489] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[503] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56233,7 +58632,7 @@ func (x *InsertBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertBackendServiceRequest.ProtoReflect.Descriptor instead. func (*InsertBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{489} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{503} } func (x *InsertBackendServiceRequest) GetBackendServiceResource() *BackendService { @@ -56278,7 +58677,7 @@ type InsertDiskRequest struct { func (x *InsertDiskRequest) Reset() { *x = InsertDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[490] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[504] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56291,7 +58690,7 @@ func (x *InsertDiskRequest) String() string { func (*InsertDiskRequest) ProtoMessage() {} func (x *InsertDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[490] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[504] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56304,7 +58703,7 @@ func (x *InsertDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertDiskRequest.ProtoReflect.Descriptor instead. func (*InsertDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{490} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{504} } func (x *InsertDiskRequest) GetDiskResource() *Disk { @@ -56359,7 +58758,7 @@ type InsertExternalVpnGatewayRequest struct { func (x *InsertExternalVpnGatewayRequest) Reset() { *x = InsertExternalVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[491] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[505] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56372,7 +58771,7 @@ func (x *InsertExternalVpnGatewayRequest) String() string { func (*InsertExternalVpnGatewayRequest) ProtoMessage() {} func (x *InsertExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[491] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[505] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56385,7 +58784,7 @@ func (x *InsertExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertExternalVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*InsertExternalVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{491} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{505} } func (x *InsertExternalVpnGatewayRequest) GetExternalVpnGatewayResource() *ExternalVpnGateway { @@ -56426,7 +58825,7 @@ type InsertFirewallPolicyRequest struct { func (x *InsertFirewallPolicyRequest) Reset() { *x = InsertFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[492] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[506] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56439,7 +58838,7 @@ func (x *InsertFirewallPolicyRequest) String() string { func (*InsertFirewallPolicyRequest) ProtoMessage() {} func (x *InsertFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[492] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[506] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56452,7 +58851,7 @@ func (x *InsertFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*InsertFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{492} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{506} } func (x *InsertFirewallPolicyRequest) GetFirewallPolicyResource() *FirewallPolicy { @@ -56493,7 +58892,7 @@ type InsertFirewallRequest struct { func (x *InsertFirewallRequest) Reset() { *x = InsertFirewallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[493] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[507] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56506,7 +58905,7 @@ func (x *InsertFirewallRequest) String() string { func (*InsertFirewallRequest) ProtoMessage() {} func (x *InsertFirewallRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[493] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[507] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56519,7 +58918,7 @@ func (x *InsertFirewallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertFirewallRequest.ProtoReflect.Descriptor instead. func (*InsertFirewallRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{493} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{507} } func (x *InsertFirewallRequest) GetFirewallResource() *Firewall { @@ -56562,7 +58961,7 @@ type InsertForwardingRuleRequest struct { func (x *InsertForwardingRuleRequest) Reset() { *x = InsertForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[494] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[508] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56575,7 +58974,7 @@ func (x *InsertForwardingRuleRequest) String() string { func (*InsertForwardingRuleRequest) ProtoMessage() {} func (x *InsertForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[494] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[508] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56588,7 +58987,7 @@ func (x *InsertForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*InsertForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{494} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{508} } func (x *InsertForwardingRuleRequest) GetForwardingRuleResource() *ForwardingRule { @@ -56636,7 +59035,7 @@ type InsertGlobalAddressRequest struct { func (x *InsertGlobalAddressRequest) Reset() { *x = InsertGlobalAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[495] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[509] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56649,7 +59048,7 @@ func (x *InsertGlobalAddressRequest) String() string { func (*InsertGlobalAddressRequest) ProtoMessage() {} func (x *InsertGlobalAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[495] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[509] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56662,7 +59061,7 @@ func (x *InsertGlobalAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertGlobalAddressRequest.ProtoReflect.Descriptor instead. func (*InsertGlobalAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{495} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{509} } func (x *InsertGlobalAddressRequest) GetAddressResource() *Address { @@ -56703,7 +59102,7 @@ type InsertGlobalForwardingRuleRequest struct { func (x *InsertGlobalForwardingRuleRequest) Reset() { *x = InsertGlobalForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[496] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[510] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56716,7 +59115,7 @@ func (x *InsertGlobalForwardingRuleRequest) String() string { func (*InsertGlobalForwardingRuleRequest) ProtoMessage() {} func (x *InsertGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[496] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[510] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56729,7 +59128,7 @@ func (x *InsertGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertGlobalForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*InsertGlobalForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{496} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{510} } func (x *InsertGlobalForwardingRuleRequest) GetForwardingRuleResource() *ForwardingRule { @@ -56770,7 +59169,7 @@ type InsertGlobalNetworkEndpointGroupRequest struct { func (x *InsertGlobalNetworkEndpointGroupRequest) Reset() { *x = InsertGlobalNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[497] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[511] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56783,7 +59182,7 @@ func (x *InsertGlobalNetworkEndpointGroupRequest) String() string { func (*InsertGlobalNetworkEndpointGroupRequest) ProtoMessage() {} func (x *InsertGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[497] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[511] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56796,7 +59195,7 @@ func (x *InsertGlobalNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Me // Deprecated: Use InsertGlobalNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*InsertGlobalNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{497} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{511} } func (x *InsertGlobalNetworkEndpointGroupRequest) GetNetworkEndpointGroupResource() *NetworkEndpointGroup { @@ -56837,7 +59236,7 @@ type InsertGlobalPublicDelegatedPrefixeRequest struct { func (x *InsertGlobalPublicDelegatedPrefixeRequest) Reset() { *x = InsertGlobalPublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[498] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[512] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56850,7 +59249,7 @@ func (x *InsertGlobalPublicDelegatedPrefixeRequest) String() string { func (*InsertGlobalPublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *InsertGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[498] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[512] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56863,7 +59262,7 @@ func (x *InsertGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect. // Deprecated: Use InsertGlobalPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*InsertGlobalPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{498} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{512} } func (x *InsertGlobalPublicDelegatedPrefixeRequest) GetProject() string { @@ -56904,7 +59303,7 @@ type InsertHealthCheckRequest struct { func (x *InsertHealthCheckRequest) Reset() { *x = InsertHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[499] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[513] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56917,7 +59316,7 @@ func (x *InsertHealthCheckRequest) String() string { func (*InsertHealthCheckRequest) ProtoMessage() {} func (x *InsertHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[499] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[513] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56930,7 +59329,7 @@ func (x *InsertHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertHealthCheckRequest.ProtoReflect.Descriptor instead. func (*InsertHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{499} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{513} } func (x *InsertHealthCheckRequest) GetHealthCheckResource() *HealthCheck { @@ -56973,7 +59372,7 @@ type InsertImageRequest struct { func (x *InsertImageRequest) Reset() { *x = InsertImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[500] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[514] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -56986,7 +59385,7 @@ func (x *InsertImageRequest) String() string { func (*InsertImageRequest) ProtoMessage() {} func (x *InsertImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[500] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[514] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -56999,7 +59398,7 @@ func (x *InsertImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertImageRequest.ProtoReflect.Descriptor instead. func (*InsertImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{500} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{514} } func (x *InsertImageRequest) GetForceCreate() bool { @@ -57049,7 +59448,7 @@ type InsertInstanceGroupManagerRequest struct { func (x *InsertInstanceGroupManagerRequest) Reset() { *x = InsertInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[501] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[515] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57062,7 +59461,7 @@ func (x *InsertInstanceGroupManagerRequest) String() string { func (*InsertInstanceGroupManagerRequest) ProtoMessage() {} func (x *InsertInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[501] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[515] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57075,7 +59474,7 @@ func (x *InsertInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*InsertInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{501} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{515} } func (x *InsertInstanceGroupManagerRequest) GetInstanceGroupManagerResource() *InstanceGroupManager { @@ -57125,7 +59524,7 @@ type InsertInstanceGroupRequest struct { func (x *InsertInstanceGroupRequest) Reset() { *x = InsertInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[502] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[516] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57138,7 +59537,7 @@ func (x *InsertInstanceGroupRequest) String() string { func (*InsertInstanceGroupRequest) ProtoMessage() {} func (x *InsertInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[502] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[516] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57151,7 +59550,7 @@ func (x *InsertInstanceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*InsertInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{502} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{516} } func (x *InsertInstanceGroupRequest) GetInstanceGroupResource() *InstanceGroup { @@ -57205,7 +59604,7 @@ type InsertInstanceRequest struct { func (x *InsertInstanceRequest) Reset() { *x = InsertInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[503] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[517] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57218,7 +59617,7 @@ func (x *InsertInstanceRequest) String() string { func (*InsertInstanceRequest) ProtoMessage() {} func (x *InsertInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[503] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[517] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57231,7 +59630,7 @@ func (x *InsertInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertInstanceRequest.ProtoReflect.Descriptor instead. func (*InsertInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{503} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{517} } func (x *InsertInstanceRequest) GetInstanceResource() *Instance { @@ -57293,7 +59692,7 @@ type InsertInstanceTemplateRequest struct { func (x *InsertInstanceTemplateRequest) Reset() { *x = InsertInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[504] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[518] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57306,7 +59705,7 @@ func (x *InsertInstanceTemplateRequest) String() string { func (*InsertInstanceTemplateRequest) ProtoMessage() {} func (x *InsertInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[504] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[518] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57319,7 +59718,7 @@ func (x *InsertInstanceTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*InsertInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{504} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{518} } func (x *InsertInstanceTemplateRequest) GetInstanceTemplateResource() *InstanceTemplate { @@ -57364,7 +59763,7 @@ type InsertInterconnectAttachmentRequest struct { func (x *InsertInterconnectAttachmentRequest) Reset() { *x = InsertInterconnectAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[505] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[519] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57377,7 +59776,7 @@ func (x *InsertInterconnectAttachmentRequest) String() string { func (*InsertInterconnectAttachmentRequest) ProtoMessage() {} func (x *InsertInterconnectAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[505] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[519] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57390,7 +59789,7 @@ func (x *InsertInterconnectAttachmentRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use InsertInterconnectAttachmentRequest.ProtoReflect.Descriptor instead. func (*InsertInterconnectAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{505} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{519} } func (x *InsertInterconnectAttachmentRequest) GetInterconnectAttachmentResource() *InterconnectAttachment { @@ -57445,7 +59844,7 @@ type InsertInterconnectRequest struct { func (x *InsertInterconnectRequest) Reset() { *x = InsertInterconnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[506] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[520] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57458,7 +59857,7 @@ func (x *InsertInterconnectRequest) String() string { func (*InsertInterconnectRequest) ProtoMessage() {} func (x *InsertInterconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[506] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[520] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57471,7 +59870,7 @@ func (x *InsertInterconnectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertInterconnectRequest.ProtoReflect.Descriptor instead. func (*InsertInterconnectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{506} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{520} } func (x *InsertInterconnectRequest) GetInterconnectResource() *Interconnect { @@ -57512,7 +59911,7 @@ type InsertLicenseRequest struct { func (x *InsertLicenseRequest) Reset() { *x = InsertLicenseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[507] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[521] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57525,7 +59924,7 @@ func (x *InsertLicenseRequest) String() string { func (*InsertLicenseRequest) ProtoMessage() {} func (x *InsertLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[507] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[521] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57538,7 +59937,7 @@ func (x *InsertLicenseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertLicenseRequest.ProtoReflect.Descriptor instead. func (*InsertLicenseRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{507} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{521} } func (x *InsertLicenseRequest) GetLicenseResource() *License { @@ -57581,7 +59980,7 @@ type InsertMachineImageRequest struct { func (x *InsertMachineImageRequest) Reset() { *x = InsertMachineImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[508] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[522] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57594,7 +59993,7 @@ func (x *InsertMachineImageRequest) String() string { func (*InsertMachineImageRequest) ProtoMessage() {} func (x *InsertMachineImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[508] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[522] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57607,7 +60006,7 @@ func (x *InsertMachineImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertMachineImageRequest.ProtoReflect.Descriptor instead. func (*InsertMachineImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{508} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{522} } func (x *InsertMachineImageRequest) GetMachineImageResource() *MachineImage { @@ -57657,7 +60056,7 @@ type InsertNetworkAttachmentRequest struct { func (x *InsertNetworkAttachmentRequest) Reset() { *x = InsertNetworkAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[509] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[523] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57670,7 +60069,7 @@ func (x *InsertNetworkAttachmentRequest) String() string { func (*InsertNetworkAttachmentRequest) ProtoMessage() {} func (x *InsertNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[509] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[523] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57683,7 +60082,7 @@ func (x *InsertNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertNetworkAttachmentRequest.ProtoReflect.Descriptor instead. func (*InsertNetworkAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{509} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{523} } func (x *InsertNetworkAttachmentRequest) GetNetworkAttachmentResource() *NetworkAttachment { @@ -57735,7 +60134,7 @@ type InsertNetworkEdgeSecurityServiceRequest struct { func (x *InsertNetworkEdgeSecurityServiceRequest) Reset() { *x = InsertNetworkEdgeSecurityServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[510] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[524] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57748,7 +60147,7 @@ func (x *InsertNetworkEdgeSecurityServiceRequest) String() string { func (*InsertNetworkEdgeSecurityServiceRequest) ProtoMessage() {} func (x *InsertNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[510] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[524] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57761,7 +60160,7 @@ func (x *InsertNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Me // Deprecated: Use InsertNetworkEdgeSecurityServiceRequest.ProtoReflect.Descriptor instead. func (*InsertNetworkEdgeSecurityServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{510} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{524} } func (x *InsertNetworkEdgeSecurityServiceRequest) GetNetworkEdgeSecurityServiceResource() *NetworkEdgeSecurityService { @@ -57818,7 +60217,7 @@ type InsertNetworkEndpointGroupRequest struct { func (x *InsertNetworkEndpointGroupRequest) Reset() { *x = InsertNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[511] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[525] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57831,7 +60230,7 @@ func (x *InsertNetworkEndpointGroupRequest) String() string { func (*InsertNetworkEndpointGroupRequest) ProtoMessage() {} func (x *InsertNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[511] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[525] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57844,7 +60243,7 @@ func (x *InsertNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*InsertNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{511} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{525} } func (x *InsertNetworkEndpointGroupRequest) GetNetworkEndpointGroupResource() *NetworkEndpointGroup { @@ -57892,7 +60291,7 @@ type InsertNetworkFirewallPolicyRequest struct { func (x *InsertNetworkFirewallPolicyRequest) Reset() { *x = InsertNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[512] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[526] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57905,7 +60304,7 @@ func (x *InsertNetworkFirewallPolicyRequest) String() string { func (*InsertNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *InsertNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[512] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[526] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57918,7 +60317,7 @@ func (x *InsertNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*InsertNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{512} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{526} } func (x *InsertNetworkFirewallPolicyRequest) GetFirewallPolicyResource() *FirewallPolicy { @@ -57959,7 +60358,7 @@ type InsertNetworkRequest struct { func (x *InsertNetworkRequest) Reset() { *x = InsertNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[513] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[527] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -57972,7 +60371,7 @@ func (x *InsertNetworkRequest) String() string { func (*InsertNetworkRequest) ProtoMessage() {} func (x *InsertNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[513] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[527] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57985,7 +60384,7 @@ func (x *InsertNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertNetworkRequest.ProtoReflect.Descriptor instead. func (*InsertNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{513} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{527} } func (x *InsertNetworkRequest) GetNetworkResource() *Network { @@ -58030,7 +60429,7 @@ type InsertNodeGroupRequest struct { func (x *InsertNodeGroupRequest) Reset() { *x = InsertNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[514] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[528] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58043,7 +60442,7 @@ func (x *InsertNodeGroupRequest) String() string { func (*InsertNodeGroupRequest) ProtoMessage() {} func (x *InsertNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[514] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[528] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58056,7 +60455,7 @@ func (x *InsertNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertNodeGroupRequest.ProtoReflect.Descriptor instead. func (*InsertNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{514} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{528} } func (x *InsertNodeGroupRequest) GetInitialNodeCount() int32 { @@ -58113,7 +60512,7 @@ type InsertNodeTemplateRequest struct { func (x *InsertNodeTemplateRequest) Reset() { *x = InsertNodeTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[515] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[529] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58126,7 +60525,7 @@ func (x *InsertNodeTemplateRequest) String() string { func (*InsertNodeTemplateRequest) ProtoMessage() {} func (x *InsertNodeTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[515] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[529] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58139,7 +60538,7 @@ func (x *InsertNodeTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertNodeTemplateRequest.ProtoReflect.Descriptor instead. func (*InsertNodeTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{515} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{529} } func (x *InsertNodeTemplateRequest) GetNodeTemplateResource() *NodeTemplate { @@ -58189,7 +60588,7 @@ type InsertPacketMirroringRequest struct { func (x *InsertPacketMirroringRequest) Reset() { *x = InsertPacketMirroringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[516] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[530] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58202,7 +60601,7 @@ func (x *InsertPacketMirroringRequest) String() string { func (*InsertPacketMirroringRequest) ProtoMessage() {} func (x *InsertPacketMirroringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[516] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[530] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58215,7 +60614,7 @@ func (x *InsertPacketMirroringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertPacketMirroringRequest.ProtoReflect.Descriptor instead. func (*InsertPacketMirroringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{516} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{530} } func (x *InsertPacketMirroringRequest) GetPacketMirroringResource() *PacketMirroring { @@ -58263,7 +60662,7 @@ type InsertPublicAdvertisedPrefixeRequest struct { func (x *InsertPublicAdvertisedPrefixeRequest) Reset() { *x = InsertPublicAdvertisedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[517] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[531] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58276,7 +60675,7 @@ func (x *InsertPublicAdvertisedPrefixeRequest) String() string { func (*InsertPublicAdvertisedPrefixeRequest) ProtoMessage() {} func (x *InsertPublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[517] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[531] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58289,7 +60688,7 @@ func (x *InsertPublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use InsertPublicAdvertisedPrefixeRequest.ProtoReflect.Descriptor instead. func (*InsertPublicAdvertisedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{517} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{531} } func (x *InsertPublicAdvertisedPrefixeRequest) GetProject() string { @@ -58332,7 +60731,7 @@ type InsertPublicDelegatedPrefixeRequest struct { func (x *InsertPublicDelegatedPrefixeRequest) Reset() { *x = InsertPublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[518] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[532] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58345,7 +60744,7 @@ func (x *InsertPublicDelegatedPrefixeRequest) String() string { func (*InsertPublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *InsertPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[518] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[532] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58358,7 +60757,7 @@ func (x *InsertPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use InsertPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*InsertPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{518} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{532} } func (x *InsertPublicDelegatedPrefixeRequest) GetProject() string { @@ -58408,7 +60807,7 @@ type InsertRegionAutoscalerRequest struct { func (x *InsertRegionAutoscalerRequest) Reset() { *x = InsertRegionAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[519] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[533] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58421,7 +60820,7 @@ func (x *InsertRegionAutoscalerRequest) String() string { func (*InsertRegionAutoscalerRequest) ProtoMessage() {} func (x *InsertRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[519] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[533] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58434,7 +60833,7 @@ func (x *InsertRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRegionAutoscalerRequest.ProtoReflect.Descriptor instead. func (*InsertRegionAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{519} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{533} } func (x *InsertRegionAutoscalerRequest) GetAutoscalerResource() *Autoscaler { @@ -58484,7 +60883,7 @@ type InsertRegionBackendServiceRequest struct { func (x *InsertRegionBackendServiceRequest) Reset() { *x = InsertRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[520] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[534] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58497,7 +60896,7 @@ func (x *InsertRegionBackendServiceRequest) String() string { func (*InsertRegionBackendServiceRequest) ProtoMessage() {} func (x *InsertRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[520] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[534] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58510,7 +60909,7 @@ func (x *InsertRegionBackendServiceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*InsertRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{520} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{534} } func (x *InsertRegionBackendServiceRequest) GetBackendServiceResource() *BackendService { @@ -58560,7 +60959,7 @@ type InsertRegionCommitmentRequest struct { func (x *InsertRegionCommitmentRequest) Reset() { *x = InsertRegionCommitmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[521] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[535] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58573,7 +60972,7 @@ func (x *InsertRegionCommitmentRequest) String() string { func (*InsertRegionCommitmentRequest) ProtoMessage() {} func (x *InsertRegionCommitmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[521] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[535] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58586,7 +60985,7 @@ func (x *InsertRegionCommitmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRegionCommitmentRequest.ProtoReflect.Descriptor instead. func (*InsertRegionCommitmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{521} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{535} } func (x *InsertRegionCommitmentRequest) GetCommitmentResource() *Commitment { @@ -58638,7 +61037,7 @@ type InsertRegionDiskRequest struct { func (x *InsertRegionDiskRequest) Reset() { *x = InsertRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[522] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[536] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58651,7 +61050,7 @@ func (x *InsertRegionDiskRequest) String() string { func (*InsertRegionDiskRequest) ProtoMessage() {} func (x *InsertRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[522] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[536] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58664,7 +61063,7 @@ func (x *InsertRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRegionDiskRequest.ProtoReflect.Descriptor instead. func (*InsertRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{522} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{536} } func (x *InsertRegionDiskRequest) GetDiskResource() *Disk { @@ -58721,7 +61120,7 @@ type InsertRegionHealthCheckRequest struct { func (x *InsertRegionHealthCheckRequest) Reset() { *x = InsertRegionHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[523] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[537] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58734,7 +61133,7 @@ func (x *InsertRegionHealthCheckRequest) String() string { func (*InsertRegionHealthCheckRequest) ProtoMessage() {} func (x *InsertRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[523] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[537] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58747,7 +61146,7 @@ func (x *InsertRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRegionHealthCheckRequest.ProtoReflect.Descriptor instead. func (*InsertRegionHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{523} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{537} } func (x *InsertRegionHealthCheckRequest) GetHealthCheckResource() *HealthCheck { @@ -58797,7 +61196,7 @@ type InsertRegionHealthCheckServiceRequest struct { func (x *InsertRegionHealthCheckServiceRequest) Reset() { *x = InsertRegionHealthCheckServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[524] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[538] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58810,7 +61209,7 @@ func (x *InsertRegionHealthCheckServiceRequest) String() string { func (*InsertRegionHealthCheckServiceRequest) ProtoMessage() {} func (x *InsertRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[524] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[538] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58823,7 +61222,7 @@ func (x *InsertRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use InsertRegionHealthCheckServiceRequest.ProtoReflect.Descriptor instead. func (*InsertRegionHealthCheckServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{524} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{538} } func (x *InsertRegionHealthCheckServiceRequest) GetHealthCheckServiceResource() *HealthCheckService { @@ -58873,7 +61272,7 @@ type InsertRegionInstanceGroupManagerRequest struct { func (x *InsertRegionInstanceGroupManagerRequest) Reset() { *x = InsertRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[525] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[539] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58886,7 +61285,7 @@ func (x *InsertRegionInstanceGroupManagerRequest) String() string { func (*InsertRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *InsertRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[525] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[539] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58899,7 +61298,7 @@ func (x *InsertRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Me // Deprecated: Use InsertRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*InsertRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{525} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{539} } func (x *InsertRegionInstanceGroupManagerRequest) GetInstanceGroupManagerResource() *InstanceGroupManager { @@ -58949,7 +61348,7 @@ type InsertRegionInstanceTemplateRequest struct { func (x *InsertRegionInstanceTemplateRequest) Reset() { *x = InsertRegionInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[526] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[540] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -58962,7 +61361,7 @@ func (x *InsertRegionInstanceTemplateRequest) String() string { func (*InsertRegionInstanceTemplateRequest) ProtoMessage() {} func (x *InsertRegionInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[526] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[540] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58975,7 +61374,7 @@ func (x *InsertRegionInstanceTemplateRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use InsertRegionInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*InsertRegionInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{526} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{540} } func (x *InsertRegionInstanceTemplateRequest) GetInstanceTemplateResource() *InstanceTemplate { @@ -59025,7 +61424,7 @@ type InsertRegionNetworkEndpointGroupRequest struct { func (x *InsertRegionNetworkEndpointGroupRequest) Reset() { *x = InsertRegionNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[527] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[541] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59038,7 +61437,7 @@ func (x *InsertRegionNetworkEndpointGroupRequest) String() string { func (*InsertRegionNetworkEndpointGroupRequest) ProtoMessage() {} func (x *InsertRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[527] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[541] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59051,7 +61450,7 @@ func (x *InsertRegionNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Me // Deprecated: Use InsertRegionNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*InsertRegionNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{527} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{541} } func (x *InsertRegionNetworkEndpointGroupRequest) GetNetworkEndpointGroupResource() *NetworkEndpointGroup { @@ -59101,7 +61500,7 @@ type InsertRegionNetworkFirewallPolicyRequest struct { func (x *InsertRegionNetworkFirewallPolicyRequest) Reset() { *x = InsertRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[528] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[542] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59114,7 +61513,7 @@ func (x *InsertRegionNetworkFirewallPolicyRequest) String() string { func (*InsertRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *InsertRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[528] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[542] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59127,7 +61526,7 @@ func (x *InsertRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.M // Deprecated: Use InsertRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*InsertRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{528} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{542} } func (x *InsertRegionNetworkFirewallPolicyRequest) GetFirewallPolicyResource() *FirewallPolicy { @@ -59177,7 +61576,7 @@ type InsertRegionNotificationEndpointRequest struct { func (x *InsertRegionNotificationEndpointRequest) Reset() { *x = InsertRegionNotificationEndpointRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[529] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[543] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59190,7 +61589,7 @@ func (x *InsertRegionNotificationEndpointRequest) String() string { func (*InsertRegionNotificationEndpointRequest) ProtoMessage() {} func (x *InsertRegionNotificationEndpointRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[529] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[543] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59203,7 +61602,7 @@ func (x *InsertRegionNotificationEndpointRequest) ProtoReflect() protoreflect.Me // Deprecated: Use InsertRegionNotificationEndpointRequest.ProtoReflect.Descriptor instead. func (*InsertRegionNotificationEndpointRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{529} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{543} } func (x *InsertRegionNotificationEndpointRequest) GetNotificationEndpointResource() *NotificationEndpoint { @@ -59255,7 +61654,7 @@ type InsertRegionSecurityPolicyRequest struct { func (x *InsertRegionSecurityPolicyRequest) Reset() { *x = InsertRegionSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[530] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[544] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59268,7 +61667,7 @@ func (x *InsertRegionSecurityPolicyRequest) String() string { func (*InsertRegionSecurityPolicyRequest) ProtoMessage() {} func (x *InsertRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[530] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[544] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59281,7 +61680,7 @@ func (x *InsertRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*InsertRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{530} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{544} } func (x *InsertRegionSecurityPolicyRequest) GetProject() string { @@ -59338,7 +61737,7 @@ type InsertRegionSslCertificateRequest struct { func (x *InsertRegionSslCertificateRequest) Reset() { *x = InsertRegionSslCertificateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[531] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[545] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59351,7 +61750,7 @@ func (x *InsertRegionSslCertificateRequest) String() string { func (*InsertRegionSslCertificateRequest) ProtoMessage() {} func (x *InsertRegionSslCertificateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[531] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[545] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59364,7 +61763,7 @@ func (x *InsertRegionSslCertificateRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertRegionSslCertificateRequest.ProtoReflect.Descriptor instead. func (*InsertRegionSslCertificateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{531} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{545} } func (x *InsertRegionSslCertificateRequest) GetProject() string { @@ -59414,7 +61813,7 @@ type InsertRegionSslPolicyRequest struct { func (x *InsertRegionSslPolicyRequest) Reset() { *x = InsertRegionSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[532] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[546] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59427,7 +61826,7 @@ func (x *InsertRegionSslPolicyRequest) String() string { func (*InsertRegionSslPolicyRequest) ProtoMessage() {} func (x *InsertRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[532] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[546] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59440,7 +61839,7 @@ func (x *InsertRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRegionSslPolicyRequest.ProtoReflect.Descriptor instead. func (*InsertRegionSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{532} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{546} } func (x *InsertRegionSslPolicyRequest) GetProject() string { @@ -59490,7 +61889,7 @@ type InsertRegionTargetHttpProxyRequest struct { func (x *InsertRegionTargetHttpProxyRequest) Reset() { *x = InsertRegionTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[533] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[547] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59503,7 +61902,7 @@ func (x *InsertRegionTargetHttpProxyRequest) String() string { func (*InsertRegionTargetHttpProxyRequest) ProtoMessage() {} func (x *InsertRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[533] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[547] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59516,7 +61915,7 @@ func (x *InsertRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertRegionTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*InsertRegionTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{533} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{547} } func (x *InsertRegionTargetHttpProxyRequest) GetProject() string { @@ -59566,7 +61965,7 @@ type InsertRegionTargetHttpsProxyRequest struct { func (x *InsertRegionTargetHttpsProxyRequest) Reset() { *x = InsertRegionTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[534] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[548] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59579,7 +61978,7 @@ func (x *InsertRegionTargetHttpsProxyRequest) String() string { func (*InsertRegionTargetHttpsProxyRequest) ProtoMessage() {} func (x *InsertRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[534] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[548] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59592,7 +61991,7 @@ func (x *InsertRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use InsertRegionTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*InsertRegionTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{534} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{548} } func (x *InsertRegionTargetHttpsProxyRequest) GetProject() string { @@ -59642,7 +62041,7 @@ type InsertRegionTargetTcpProxyRequest struct { func (x *InsertRegionTargetTcpProxyRequest) Reset() { *x = InsertRegionTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[535] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[549] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59655,7 +62054,7 @@ func (x *InsertRegionTargetTcpProxyRequest) String() string { func (*InsertRegionTargetTcpProxyRequest) ProtoMessage() {} func (x *InsertRegionTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[535] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[549] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59668,7 +62067,7 @@ func (x *InsertRegionTargetTcpProxyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InsertRegionTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*InsertRegionTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{535} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{549} } func (x *InsertRegionTargetTcpProxyRequest) GetProject() string { @@ -59718,7 +62117,7 @@ type InsertRegionUrlMapRequest struct { func (x *InsertRegionUrlMapRequest) Reset() { *x = InsertRegionUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[536] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[550] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59731,7 +62130,7 @@ func (x *InsertRegionUrlMapRequest) String() string { func (*InsertRegionUrlMapRequest) ProtoMessage() {} func (x *InsertRegionUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[536] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[550] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59744,7 +62143,7 @@ func (x *InsertRegionUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRegionUrlMapRequest.ProtoReflect.Descriptor instead. func (*InsertRegionUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{536} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{550} } func (x *InsertRegionUrlMapRequest) GetProject() string { @@ -59794,7 +62193,7 @@ type InsertReservationRequest struct { func (x *InsertReservationRequest) Reset() { *x = InsertReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[537] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[551] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59807,7 +62206,7 @@ func (x *InsertReservationRequest) String() string { func (*InsertReservationRequest) ProtoMessage() {} func (x *InsertReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[537] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[551] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59820,7 +62219,7 @@ func (x *InsertReservationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertReservationRequest.ProtoReflect.Descriptor instead. func (*InsertReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{537} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{551} } func (x *InsertReservationRequest) GetProject() string { @@ -59870,7 +62269,7 @@ type InsertResourcePolicyRequest struct { func (x *InsertResourcePolicyRequest) Reset() { *x = InsertResourcePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[538] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[552] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59883,7 +62282,7 @@ func (x *InsertResourcePolicyRequest) String() string { func (*InsertResourcePolicyRequest) ProtoMessage() {} func (x *InsertResourcePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[538] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[552] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59896,7 +62295,7 @@ func (x *InsertResourcePolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertResourcePolicyRequest.ProtoReflect.Descriptor instead. func (*InsertResourcePolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{538} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{552} } func (x *InsertResourcePolicyRequest) GetProject() string { @@ -59944,7 +62343,7 @@ type InsertRouteRequest struct { func (x *InsertRouteRequest) Reset() { *x = InsertRouteRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[539] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[553] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -59957,7 +62356,7 @@ func (x *InsertRouteRequest) String() string { func (*InsertRouteRequest) ProtoMessage() {} func (x *InsertRouteRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[539] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[553] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -59970,7 +62369,7 @@ func (x *InsertRouteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRouteRequest.ProtoReflect.Descriptor instead. func (*InsertRouteRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{539} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{553} } func (x *InsertRouteRequest) GetProject() string { @@ -60013,7 +62412,7 @@ type InsertRouterRequest struct { func (x *InsertRouterRequest) Reset() { *x = InsertRouterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[540] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[554] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60026,7 +62425,7 @@ func (x *InsertRouterRequest) String() string { func (*InsertRouterRequest) ProtoMessage() {} func (x *InsertRouterRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[540] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[554] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60039,7 +62438,7 @@ func (x *InsertRouterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertRouterRequest.ProtoReflect.Descriptor instead. func (*InsertRouterRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{540} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{554} } func (x *InsertRouterRequest) GetProject() string { @@ -60089,7 +62488,7 @@ type InsertSecurityPolicyRequest struct { func (x *InsertSecurityPolicyRequest) Reset() { *x = InsertSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[541] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[555] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60102,7 +62501,7 @@ func (x *InsertSecurityPolicyRequest) String() string { func (*InsertSecurityPolicyRequest) ProtoMessage() {} func (x *InsertSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[541] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[555] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60115,7 +62514,7 @@ func (x *InsertSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*InsertSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{541} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{555} } func (x *InsertSecurityPolicyRequest) GetProject() string { @@ -60165,7 +62564,7 @@ type InsertServiceAttachmentRequest struct { func (x *InsertServiceAttachmentRequest) Reset() { *x = InsertServiceAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[542] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[556] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60178,7 +62577,7 @@ func (x *InsertServiceAttachmentRequest) String() string { func (*InsertServiceAttachmentRequest) ProtoMessage() {} func (x *InsertServiceAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[542] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[556] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60191,7 +62590,7 @@ func (x *InsertServiceAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertServiceAttachmentRequest.ProtoReflect.Descriptor instead. func (*InsertServiceAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{542} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{556} } func (x *InsertServiceAttachmentRequest) GetProject() string { @@ -60239,7 +62638,7 @@ type InsertSnapshotRequest struct { func (x *InsertSnapshotRequest) Reset() { *x = InsertSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[543] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[557] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60252,7 +62651,7 @@ func (x *InsertSnapshotRequest) String() string { func (*InsertSnapshotRequest) ProtoMessage() {} func (x *InsertSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[543] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[557] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60265,7 +62664,7 @@ func (x *InsertSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertSnapshotRequest.ProtoReflect.Descriptor instead. func (*InsertSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{543} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{557} } func (x *InsertSnapshotRequest) GetProject() string { @@ -60306,7 +62705,7 @@ type InsertSslCertificateRequest struct { func (x *InsertSslCertificateRequest) Reset() { *x = InsertSslCertificateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[544] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[558] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60319,7 +62718,7 @@ func (x *InsertSslCertificateRequest) String() string { func (*InsertSslCertificateRequest) ProtoMessage() {} func (x *InsertSslCertificateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[544] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[558] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60332,7 +62731,7 @@ func (x *InsertSslCertificateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertSslCertificateRequest.ProtoReflect.Descriptor instead. func (*InsertSslCertificateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{544} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{558} } func (x *InsertSslCertificateRequest) GetProject() string { @@ -60373,7 +62772,7 @@ type InsertSslPolicyRequest struct { func (x *InsertSslPolicyRequest) Reset() { *x = InsertSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[545] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[559] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60386,7 +62785,7 @@ func (x *InsertSslPolicyRequest) String() string { func (*InsertSslPolicyRequest) ProtoMessage() {} func (x *InsertSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[545] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[559] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60399,7 +62798,7 @@ func (x *InsertSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertSslPolicyRequest.ProtoReflect.Descriptor instead. func (*InsertSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{545} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{559} } func (x *InsertSslPolicyRequest) GetProject() string { @@ -60442,7 +62841,7 @@ type InsertSubnetworkRequest struct { func (x *InsertSubnetworkRequest) Reset() { *x = InsertSubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[546] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[560] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60455,7 +62854,7 @@ func (x *InsertSubnetworkRequest) String() string { func (*InsertSubnetworkRequest) ProtoMessage() {} func (x *InsertSubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[546] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[560] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60468,7 +62867,7 @@ func (x *InsertSubnetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertSubnetworkRequest.ProtoReflect.Descriptor instead. func (*InsertSubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{546} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{560} } func (x *InsertSubnetworkRequest) GetProject() string { @@ -60516,7 +62915,7 @@ type InsertTargetGrpcProxyRequest struct { func (x *InsertTargetGrpcProxyRequest) Reset() { *x = InsertTargetGrpcProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[547] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[561] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60529,7 +62928,7 @@ func (x *InsertTargetGrpcProxyRequest) String() string { func (*InsertTargetGrpcProxyRequest) ProtoMessage() {} func (x *InsertTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[547] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[561] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60542,7 +62941,7 @@ func (x *InsertTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetGrpcProxyRequest.ProtoReflect.Descriptor instead. func (*InsertTargetGrpcProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{547} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{561} } func (x *InsertTargetGrpcProxyRequest) GetProject() string { @@ -60583,7 +62982,7 @@ type InsertTargetHttpProxyRequest struct { func (x *InsertTargetHttpProxyRequest) Reset() { *x = InsertTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[548] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[562] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60596,7 +62995,7 @@ func (x *InsertTargetHttpProxyRequest) String() string { func (*InsertTargetHttpProxyRequest) ProtoMessage() {} func (x *InsertTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[548] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[562] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60609,7 +63008,7 @@ func (x *InsertTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*InsertTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{548} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{562} } func (x *InsertTargetHttpProxyRequest) GetProject() string { @@ -60650,7 +63049,7 @@ type InsertTargetHttpsProxyRequest struct { func (x *InsertTargetHttpsProxyRequest) Reset() { *x = InsertTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[549] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[563] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60663,7 +63062,7 @@ func (x *InsertTargetHttpsProxyRequest) String() string { func (*InsertTargetHttpsProxyRequest) ProtoMessage() {} func (x *InsertTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[549] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[563] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60676,7 +63075,7 @@ func (x *InsertTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*InsertTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{549} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{563} } func (x *InsertTargetHttpsProxyRequest) GetProject() string { @@ -60719,7 +63118,7 @@ type InsertTargetInstanceRequest struct { func (x *InsertTargetInstanceRequest) Reset() { *x = InsertTargetInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[550] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[564] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60732,7 +63131,7 @@ func (x *InsertTargetInstanceRequest) String() string { func (*InsertTargetInstanceRequest) ProtoMessage() {} func (x *InsertTargetInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[550] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[564] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60745,7 +63144,7 @@ func (x *InsertTargetInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetInstanceRequest.ProtoReflect.Descriptor instead. func (*InsertTargetInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{550} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{564} } func (x *InsertTargetInstanceRequest) GetProject() string { @@ -60795,7 +63194,7 @@ type InsertTargetPoolRequest struct { func (x *InsertTargetPoolRequest) Reset() { *x = InsertTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[551] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[565] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60808,7 +63207,7 @@ func (x *InsertTargetPoolRequest) String() string { func (*InsertTargetPoolRequest) ProtoMessage() {} func (x *InsertTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[551] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[565] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60821,7 +63220,7 @@ func (x *InsertTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetPoolRequest.ProtoReflect.Descriptor instead. func (*InsertTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{551} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{565} } func (x *InsertTargetPoolRequest) GetProject() string { @@ -60869,7 +63268,7 @@ type InsertTargetSslProxyRequest struct { func (x *InsertTargetSslProxyRequest) Reset() { *x = InsertTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[552] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[566] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60882,7 +63281,7 @@ func (x *InsertTargetSslProxyRequest) String() string { func (*InsertTargetSslProxyRequest) ProtoMessage() {} func (x *InsertTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[552] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[566] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60895,7 +63294,7 @@ func (x *InsertTargetSslProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*InsertTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{552} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{566} } func (x *InsertTargetSslProxyRequest) GetProject() string { @@ -60936,7 +63335,7 @@ type InsertTargetTcpProxyRequest struct { func (x *InsertTargetTcpProxyRequest) Reset() { *x = InsertTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[553] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[567] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -60949,7 +63348,7 @@ func (x *InsertTargetTcpProxyRequest) String() string { func (*InsertTargetTcpProxyRequest) ProtoMessage() {} func (x *InsertTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[553] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[567] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -60962,7 +63361,7 @@ func (x *InsertTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*InsertTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{553} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{567} } func (x *InsertTargetTcpProxyRequest) GetProject() string { @@ -61005,7 +63404,7 @@ type InsertTargetVpnGatewayRequest struct { func (x *InsertTargetVpnGatewayRequest) Reset() { *x = InsertTargetVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[554] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[568] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61018,7 +63417,7 @@ func (x *InsertTargetVpnGatewayRequest) String() string { func (*InsertTargetVpnGatewayRequest) ProtoMessage() {} func (x *InsertTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[554] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[568] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61031,7 +63430,7 @@ func (x *InsertTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertTargetVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*InsertTargetVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{554} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{568} } func (x *InsertTargetVpnGatewayRequest) GetProject() string { @@ -61079,7 +63478,7 @@ type InsertUrlMapRequest struct { func (x *InsertUrlMapRequest) Reset() { *x = InsertUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[555] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[569] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61092,7 +63491,7 @@ func (x *InsertUrlMapRequest) String() string { func (*InsertUrlMapRequest) ProtoMessage() {} func (x *InsertUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[555] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[569] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61105,7 +63504,7 @@ func (x *InsertUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertUrlMapRequest.ProtoReflect.Descriptor instead. func (*InsertUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{555} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{569} } func (x *InsertUrlMapRequest) GetProject() string { @@ -61148,7 +63547,7 @@ type InsertVpnGatewayRequest struct { func (x *InsertVpnGatewayRequest) Reset() { *x = InsertVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[556] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[570] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61161,7 +63560,7 @@ func (x *InsertVpnGatewayRequest) String() string { func (*InsertVpnGatewayRequest) ProtoMessage() {} func (x *InsertVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[556] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[570] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61174,7 +63573,7 @@ func (x *InsertVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*InsertVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{556} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{570} } func (x *InsertVpnGatewayRequest) GetProject() string { @@ -61224,7 +63623,7 @@ type InsertVpnTunnelRequest struct { func (x *InsertVpnTunnelRequest) Reset() { *x = InsertVpnTunnelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[557] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[571] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61237,7 +63636,7 @@ func (x *InsertVpnTunnelRequest) String() string { func (*InsertVpnTunnelRequest) ProtoMessage() {} func (x *InsertVpnTunnelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[557] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[571] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61250,7 +63649,7 @@ func (x *InsertVpnTunnelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InsertVpnTunnelRequest.ProtoReflect.Descriptor instead. func (*InsertVpnTunnelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{557} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{571} } func (x *InsertVpnTunnelRequest) GetProject() string { @@ -61381,7 +63780,7 @@ type Instance struct { func (x *Instance) Reset() { *x = Instance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[558] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[572] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61394,7 +63793,7 @@ func (x *Instance) String() string { func (*Instance) ProtoMessage() {} func (x *Instance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[558] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[572] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61407,7 +63806,7 @@ func (x *Instance) ProtoReflect() protoreflect.Message { // Deprecated: Use Instance.ProtoReflect.Descriptor instead. func (*Instance) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{558} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{572} } func (x *Instance) GetAdvancedMachineFeatures() *AdvancedMachineFeatures { @@ -61749,7 +64148,7 @@ type InstanceAggregatedList struct { func (x *InstanceAggregatedList) Reset() { *x = InstanceAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[559] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[573] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61762,7 +64161,7 @@ func (x *InstanceAggregatedList) String() string { func (*InstanceAggregatedList) ProtoMessage() {} func (x *InstanceAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[559] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[573] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61775,7 +64174,7 @@ func (x *InstanceAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceAggregatedList.ProtoReflect.Descriptor instead. func (*InstanceAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{559} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{573} } func (x *InstanceAggregatedList) GetId() string { @@ -61841,7 +64240,7 @@ type InstanceConsumptionData struct { func (x *InstanceConsumptionData) Reset() { *x = InstanceConsumptionData{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[560] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[574] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61854,7 +64253,7 @@ func (x *InstanceConsumptionData) String() string { func (*InstanceConsumptionData) ProtoMessage() {} func (x *InstanceConsumptionData) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[560] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[574] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61867,7 +64266,7 @@ func (x *InstanceConsumptionData) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceConsumptionData.ProtoReflect.Descriptor instead. func (*InstanceConsumptionData) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{560} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{574} } func (x *InstanceConsumptionData) GetConsumptionInfo() *InstanceConsumptionInfo { @@ -61902,7 +64301,7 @@ type InstanceConsumptionInfo struct { func (x *InstanceConsumptionInfo) Reset() { *x = InstanceConsumptionInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[561] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[575] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -61915,7 +64314,7 @@ func (x *InstanceConsumptionInfo) String() string { func (*InstanceConsumptionInfo) ProtoMessage() {} func (x *InstanceConsumptionInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[561] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[575] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -61928,7 +64327,7 @@ func (x *InstanceConsumptionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceConsumptionInfo.ProtoReflect.Descriptor instead. func (*InstanceConsumptionInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{561} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{575} } func (x *InstanceConsumptionInfo) GetGuestCpus() int32 { @@ -61977,7 +64376,7 @@ type InstanceGroup struct { Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` // The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035. Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` - // Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. + // Assigns a name to a port number. For example: {name: "http", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: "app1", port: 8080}, {name: "app1", port: 8081}, {name: "app2", port: 8082}] Named ports apply to all instances in this instance group. NamedPorts []*NamedPort `protobuf:"bytes,427598732,rep,name=named_ports,json=namedPorts,proto3" json:"named_ports,omitempty"` // [Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0). Network *string `protobuf:"bytes,232872494,opt,name=network,proto3,oneof" json:"network,omitempty"` @@ -61996,7 +64395,7 @@ type InstanceGroup struct { func (x *InstanceGroup) Reset() { *x = InstanceGroup{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[562] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[576] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62009,7 +64408,7 @@ func (x *InstanceGroup) String() string { func (*InstanceGroup) ProtoMessage() {} func (x *InstanceGroup) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[562] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[576] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62022,7 +64421,7 @@ func (x *InstanceGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroup.ProtoReflect.Descriptor instead. func (*InstanceGroup) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{562} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{576} } func (x *InstanceGroup) GetCreationTimestamp() string { @@ -62140,7 +64539,7 @@ type InstanceGroupAggregatedList struct { func (x *InstanceGroupAggregatedList) Reset() { *x = InstanceGroupAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[563] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[577] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62153,7 +64552,7 @@ func (x *InstanceGroupAggregatedList) String() string { func (*InstanceGroupAggregatedList) ProtoMessage() {} func (x *InstanceGroupAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[563] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[577] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62166,7 +64565,7 @@ func (x *InstanceGroupAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupAggregatedList.ProtoReflect.Descriptor instead. func (*InstanceGroupAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{563} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{577} } func (x *InstanceGroupAggregatedList) GetId() string { @@ -62241,7 +64640,7 @@ type InstanceGroupList struct { func (x *InstanceGroupList) Reset() { *x = InstanceGroupList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[564] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[578] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62254,7 +64653,7 @@ func (x *InstanceGroupList) String() string { func (*InstanceGroupList) ProtoMessage() {} func (x *InstanceGroupList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[564] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[578] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62267,7 +64666,7 @@ func (x *InstanceGroupList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupList.ProtoReflect.Descriptor instead. func (*InstanceGroupList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{564} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{578} } func (x *InstanceGroupList) GetId() string { @@ -62372,7 +64771,7 @@ type InstanceGroupManager struct { func (x *InstanceGroupManager) Reset() { *x = InstanceGroupManager{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[565] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[579] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62385,7 +64784,7 @@ func (x *InstanceGroupManager) String() string { func (*InstanceGroupManager) ProtoMessage() {} func (x *InstanceGroupManager) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[565] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[579] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62398,7 +64797,7 @@ func (x *InstanceGroupManager) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupManager.ProtoReflect.Descriptor instead. func (*InstanceGroupManager) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{565} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{579} } func (x *InstanceGroupManager) GetAutoHealingPolicies() []*InstanceGroupManagerAutoHealingPolicy { @@ -62605,7 +65004,7 @@ type InstanceGroupManagerActionsSummary struct { func (x *InstanceGroupManagerActionsSummary) Reset() { *x = InstanceGroupManagerActionsSummary{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[566] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[580] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62618,7 +65017,7 @@ func (x *InstanceGroupManagerActionsSummary) String() string { func (*InstanceGroupManagerActionsSummary) ProtoMessage() {} func (x *InstanceGroupManagerActionsSummary) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[566] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[580] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62631,7 +65030,7 @@ func (x *InstanceGroupManagerActionsSummary) ProtoReflect() protoreflect.Message // Deprecated: Use InstanceGroupManagerActionsSummary.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerActionsSummary) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{566} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{580} } func (x *InstanceGroupManagerActionsSummary) GetAbandoning() int32 { @@ -62749,7 +65148,7 @@ type InstanceGroupManagerAggregatedList struct { func (x *InstanceGroupManagerAggregatedList) Reset() { *x = InstanceGroupManagerAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[567] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[581] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62762,7 +65161,7 @@ func (x *InstanceGroupManagerAggregatedList) String() string { func (*InstanceGroupManagerAggregatedList) ProtoMessage() {} func (x *InstanceGroupManagerAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[567] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[581] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62775,7 +65174,7 @@ func (x *InstanceGroupManagerAggregatedList) ProtoReflect() protoreflect.Message // Deprecated: Use InstanceGroupManagerAggregatedList.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{567} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{581} } func (x *InstanceGroupManagerAggregatedList) GetId() string { @@ -62841,7 +65240,7 @@ type InstanceGroupManagerAutoHealingPolicy struct { func (x *InstanceGroupManagerAutoHealingPolicy) Reset() { *x = InstanceGroupManagerAutoHealingPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[568] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[582] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62854,7 +65253,7 @@ func (x *InstanceGroupManagerAutoHealingPolicy) String() string { func (*InstanceGroupManagerAutoHealingPolicy) ProtoMessage() {} func (x *InstanceGroupManagerAutoHealingPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[568] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[582] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62867,7 +65266,7 @@ func (x *InstanceGroupManagerAutoHealingPolicy) ProtoReflect() protoreflect.Mess // Deprecated: Use InstanceGroupManagerAutoHealingPolicy.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerAutoHealingPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{568} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{582} } func (x *InstanceGroupManagerAutoHealingPolicy) GetHealthCheck() string { @@ -62897,7 +65296,7 @@ type InstanceGroupManagerInstanceLifecyclePolicy struct { func (x *InstanceGroupManagerInstanceLifecyclePolicy) Reset() { *x = InstanceGroupManagerInstanceLifecyclePolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[569] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[583] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62910,7 +65309,7 @@ func (x *InstanceGroupManagerInstanceLifecyclePolicy) String() string { func (*InstanceGroupManagerInstanceLifecyclePolicy) ProtoMessage() {} func (x *InstanceGroupManagerInstanceLifecyclePolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[569] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[583] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62923,7 +65322,7 @@ func (x *InstanceGroupManagerInstanceLifecyclePolicy) ProtoReflect() protoreflec // Deprecated: Use InstanceGroupManagerInstanceLifecyclePolicy.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerInstanceLifecyclePolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{569} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{583} } func (x *InstanceGroupManagerInstanceLifecyclePolicy) GetForceUpdateOnRepair() string { @@ -62956,7 +65355,7 @@ type InstanceGroupManagerList struct { func (x *InstanceGroupManagerList) Reset() { *x = InstanceGroupManagerList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[570] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[584] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -62969,7 +65368,7 @@ func (x *InstanceGroupManagerList) String() string { func (*InstanceGroupManagerList) ProtoMessage() {} func (x *InstanceGroupManagerList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[570] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[584] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -62982,7 +65381,7 @@ func (x *InstanceGroupManagerList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupManagerList.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{570} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{584} } func (x *InstanceGroupManagerList) GetId() string { @@ -63045,7 +65444,7 @@ type InstanceGroupManagerStatus struct { func (x *InstanceGroupManagerStatus) Reset() { *x = InstanceGroupManagerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[571] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[585] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63058,7 +65457,7 @@ func (x *InstanceGroupManagerStatus) String() string { func (*InstanceGroupManagerStatus) ProtoMessage() {} func (x *InstanceGroupManagerStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[571] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[585] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63071,7 +65470,7 @@ func (x *InstanceGroupManagerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupManagerStatus.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{571} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{585} } func (x *InstanceGroupManagerStatus) GetAutoscaler() string { @@ -63116,7 +65515,7 @@ type InstanceGroupManagerStatusStateful struct { func (x *InstanceGroupManagerStatusStateful) Reset() { *x = InstanceGroupManagerStatusStateful{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[572] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[586] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63129,7 +65528,7 @@ func (x *InstanceGroupManagerStatusStateful) String() string { func (*InstanceGroupManagerStatusStateful) ProtoMessage() {} func (x *InstanceGroupManagerStatusStateful) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[572] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[586] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63142,7 +65541,7 @@ func (x *InstanceGroupManagerStatusStateful) ProtoReflect() protoreflect.Message // Deprecated: Use InstanceGroupManagerStatusStateful.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerStatusStateful) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{572} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{586} } func (x *InstanceGroupManagerStatusStateful) GetHasStatefulConfig() bool { @@ -63171,7 +65570,7 @@ type InstanceGroupManagerStatusStatefulPerInstanceConfigs struct { func (x *InstanceGroupManagerStatusStatefulPerInstanceConfigs) Reset() { *x = InstanceGroupManagerStatusStatefulPerInstanceConfigs{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[573] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[587] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63184,7 +65583,7 @@ func (x *InstanceGroupManagerStatusStatefulPerInstanceConfigs) String() string { func (*InstanceGroupManagerStatusStatefulPerInstanceConfigs) ProtoMessage() {} func (x *InstanceGroupManagerStatusStatefulPerInstanceConfigs) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[573] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[587] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63197,7 +65596,7 @@ func (x *InstanceGroupManagerStatusStatefulPerInstanceConfigs) ProtoReflect() pr // Deprecated: Use InstanceGroupManagerStatusStatefulPerInstanceConfigs.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerStatusStatefulPerInstanceConfigs) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{573} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{587} } func (x *InstanceGroupManagerStatusStatefulPerInstanceConfigs) GetAllEffective() bool { @@ -63219,7 +65618,7 @@ type InstanceGroupManagerStatusVersionTarget struct { func (x *InstanceGroupManagerStatusVersionTarget) Reset() { *x = InstanceGroupManagerStatusVersionTarget{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[574] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[588] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63232,7 +65631,7 @@ func (x *InstanceGroupManagerStatusVersionTarget) String() string { func (*InstanceGroupManagerStatusVersionTarget) ProtoMessage() {} func (x *InstanceGroupManagerStatusVersionTarget) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[574] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[588] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63245,7 +65644,7 @@ func (x *InstanceGroupManagerStatusVersionTarget) ProtoReflect() protoreflect.Me // Deprecated: Use InstanceGroupManagerStatusVersionTarget.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerStatusVersionTarget) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{574} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{588} } func (x *InstanceGroupManagerStatusVersionTarget) GetIsReached() bool { @@ -63284,7 +65683,7 @@ type InstanceGroupManagerUpdatePolicy struct { func (x *InstanceGroupManagerUpdatePolicy) Reset() { *x = InstanceGroupManagerUpdatePolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[575] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[589] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63297,7 +65696,7 @@ func (x *InstanceGroupManagerUpdatePolicy) String() string { func (*InstanceGroupManagerUpdatePolicy) ProtoMessage() {} func (x *InstanceGroupManagerUpdatePolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[575] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[589] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63310,7 +65709,7 @@ func (x *InstanceGroupManagerUpdatePolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupManagerUpdatePolicy.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerUpdatePolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{575} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{589} } func (x *InstanceGroupManagerUpdatePolicy) GetInstanceRedistributionType() string { @@ -63378,7 +65777,7 @@ type InstanceGroupManagerVersion struct { func (x *InstanceGroupManagerVersion) Reset() { *x = InstanceGroupManagerVersion{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[576] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[590] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63391,7 +65790,7 @@ func (x *InstanceGroupManagerVersion) String() string { func (*InstanceGroupManagerVersion) ProtoMessage() {} func (x *InstanceGroupManagerVersion) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[576] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[590] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63404,7 +65803,7 @@ func (x *InstanceGroupManagerVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupManagerVersion.ProtoReflect.Descriptor instead. func (*InstanceGroupManagerVersion) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{576} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{590} } func (x *InstanceGroupManagerVersion) GetInstanceTemplate() string { @@ -63440,7 +65839,7 @@ type InstanceGroupManagersAbandonInstancesRequest struct { func (x *InstanceGroupManagersAbandonInstancesRequest) Reset() { *x = InstanceGroupManagersAbandonInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[577] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[591] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63453,7 +65852,7 @@ func (x *InstanceGroupManagersAbandonInstancesRequest) String() string { func (*InstanceGroupManagersAbandonInstancesRequest) ProtoMessage() {} func (x *InstanceGroupManagersAbandonInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[577] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[591] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63466,7 +65865,7 @@ func (x *InstanceGroupManagersAbandonInstancesRequest) ProtoReflect() protorefle // Deprecated: Use InstanceGroupManagersAbandonInstancesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersAbandonInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{577} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{591} } func (x *InstanceGroupManagersAbandonInstancesRequest) GetInstances() []string { @@ -63497,7 +65896,7 @@ type InstanceGroupManagersApplyUpdatesRequest struct { func (x *InstanceGroupManagersApplyUpdatesRequest) Reset() { *x = InstanceGroupManagersApplyUpdatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[578] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[592] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63510,7 +65909,7 @@ func (x *InstanceGroupManagersApplyUpdatesRequest) String() string { func (*InstanceGroupManagersApplyUpdatesRequest) ProtoMessage() {} func (x *InstanceGroupManagersApplyUpdatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[578] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[592] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63523,7 +65922,7 @@ func (x *InstanceGroupManagersApplyUpdatesRequest) ProtoReflect() protoreflect.M // Deprecated: Use InstanceGroupManagersApplyUpdatesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersApplyUpdatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{578} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{592} } func (x *InstanceGroupManagersApplyUpdatesRequest) GetAllInstances() bool { @@ -63567,7 +65966,7 @@ type InstanceGroupManagersCreateInstancesRequest struct { func (x *InstanceGroupManagersCreateInstancesRequest) Reset() { *x = InstanceGroupManagersCreateInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[579] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[593] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63580,7 +65979,7 @@ func (x *InstanceGroupManagersCreateInstancesRequest) String() string { func (*InstanceGroupManagersCreateInstancesRequest) ProtoMessage() {} func (x *InstanceGroupManagersCreateInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[579] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[593] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63593,7 +65992,7 @@ func (x *InstanceGroupManagersCreateInstancesRequest) ProtoReflect() protoreflec // Deprecated: Use InstanceGroupManagersCreateInstancesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersCreateInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{579} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{593} } func (x *InstanceGroupManagersCreateInstancesRequest) GetInstances() []*PerInstanceConfig { @@ -63617,7 +66016,7 @@ type InstanceGroupManagersDeleteInstancesRequest struct { func (x *InstanceGroupManagersDeleteInstancesRequest) Reset() { *x = InstanceGroupManagersDeleteInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[580] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[594] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63630,7 +66029,7 @@ func (x *InstanceGroupManagersDeleteInstancesRequest) String() string { func (*InstanceGroupManagersDeleteInstancesRequest) ProtoMessage() {} func (x *InstanceGroupManagersDeleteInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[580] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[594] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63643,7 +66042,7 @@ func (x *InstanceGroupManagersDeleteInstancesRequest) ProtoReflect() protoreflec // Deprecated: Use InstanceGroupManagersDeleteInstancesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersDeleteInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{580} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{594} } func (x *InstanceGroupManagersDeleteInstancesRequest) GetInstances() []string { @@ -63673,7 +66072,7 @@ type InstanceGroupManagersDeletePerInstanceConfigsReq struct { func (x *InstanceGroupManagersDeletePerInstanceConfigsReq) Reset() { *x = InstanceGroupManagersDeletePerInstanceConfigsReq{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[581] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[595] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63686,7 +66085,7 @@ func (x *InstanceGroupManagersDeletePerInstanceConfigsReq) String() string { func (*InstanceGroupManagersDeletePerInstanceConfigsReq) ProtoMessage() {} func (x *InstanceGroupManagersDeletePerInstanceConfigsReq) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[581] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[595] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63699,7 +66098,7 @@ func (x *InstanceGroupManagersDeletePerInstanceConfigsReq) ProtoReflect() protor // Deprecated: Use InstanceGroupManagersDeletePerInstanceConfigsReq.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersDeletePerInstanceConfigsReq) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{581} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{595} } func (x *InstanceGroupManagersDeletePerInstanceConfigsReq) GetNames() []string { @@ -63723,7 +66122,7 @@ type InstanceGroupManagersListErrorsResponse struct { func (x *InstanceGroupManagersListErrorsResponse) Reset() { *x = InstanceGroupManagersListErrorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[582] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[596] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63736,7 +66135,7 @@ func (x *InstanceGroupManagersListErrorsResponse) String() string { func (*InstanceGroupManagersListErrorsResponse) ProtoMessage() {} func (x *InstanceGroupManagersListErrorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[582] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[596] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63749,7 +66148,7 @@ func (x *InstanceGroupManagersListErrorsResponse) ProtoReflect() protoreflect.Me // Deprecated: Use InstanceGroupManagersListErrorsResponse.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersListErrorsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{582} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{596} } func (x *InstanceGroupManagersListErrorsResponse) GetItems() []*InstanceManagedByIgmError { @@ -63780,7 +66179,7 @@ type InstanceGroupManagersListManagedInstancesResponse struct { func (x *InstanceGroupManagersListManagedInstancesResponse) Reset() { *x = InstanceGroupManagersListManagedInstancesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[583] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[597] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63793,7 +66192,7 @@ func (x *InstanceGroupManagersListManagedInstancesResponse) String() string { func (*InstanceGroupManagersListManagedInstancesResponse) ProtoMessage() {} func (x *InstanceGroupManagersListManagedInstancesResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[583] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[597] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63806,7 +66205,7 @@ func (x *InstanceGroupManagersListManagedInstancesResponse) ProtoReflect() proto // Deprecated: Use InstanceGroupManagersListManagedInstancesResponse.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersListManagedInstancesResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{583} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{597} } func (x *InstanceGroupManagersListManagedInstancesResponse) GetManagedInstances() []*ManagedInstance { @@ -63839,7 +66238,7 @@ type InstanceGroupManagersListPerInstanceConfigsResp struct { func (x *InstanceGroupManagersListPerInstanceConfigsResp) Reset() { *x = InstanceGroupManagersListPerInstanceConfigsResp{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[584] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[598] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63852,7 +66251,7 @@ func (x *InstanceGroupManagersListPerInstanceConfigsResp) String() string { func (*InstanceGroupManagersListPerInstanceConfigsResp) ProtoMessage() {} func (x *InstanceGroupManagersListPerInstanceConfigsResp) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[584] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[598] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63865,7 +66264,7 @@ func (x *InstanceGroupManagersListPerInstanceConfigsResp) ProtoReflect() protore // Deprecated: Use InstanceGroupManagersListPerInstanceConfigsResp.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersListPerInstanceConfigsResp) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{584} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{598} } func (x *InstanceGroupManagersListPerInstanceConfigsResp) GetItems() []*PerInstanceConfig { @@ -63902,7 +66301,7 @@ type InstanceGroupManagersPatchPerInstanceConfigsReq struct { func (x *InstanceGroupManagersPatchPerInstanceConfigsReq) Reset() { *x = InstanceGroupManagersPatchPerInstanceConfigsReq{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[585] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[599] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63915,7 +66314,7 @@ func (x *InstanceGroupManagersPatchPerInstanceConfigsReq) String() string { func (*InstanceGroupManagersPatchPerInstanceConfigsReq) ProtoMessage() {} func (x *InstanceGroupManagersPatchPerInstanceConfigsReq) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[585] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[599] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63928,7 +66327,7 @@ func (x *InstanceGroupManagersPatchPerInstanceConfigsReq) ProtoReflect() protore // Deprecated: Use InstanceGroupManagersPatchPerInstanceConfigsReq.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersPatchPerInstanceConfigsReq) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{585} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{599} } func (x *InstanceGroupManagersPatchPerInstanceConfigsReq) GetPerInstanceConfigs() []*PerInstanceConfig { @@ -63950,7 +66349,7 @@ type InstanceGroupManagersRecreateInstancesRequest struct { func (x *InstanceGroupManagersRecreateInstancesRequest) Reset() { *x = InstanceGroupManagersRecreateInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[586] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[600] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -63963,7 +66362,7 @@ func (x *InstanceGroupManagersRecreateInstancesRequest) String() string { func (*InstanceGroupManagersRecreateInstancesRequest) ProtoMessage() {} func (x *InstanceGroupManagersRecreateInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[586] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[600] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63976,7 +66375,7 @@ func (x *InstanceGroupManagersRecreateInstancesRequest) ProtoReflect() protorefl // Deprecated: Use InstanceGroupManagersRecreateInstancesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersRecreateInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{586} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{600} } func (x *InstanceGroupManagersRecreateInstancesRequest) GetInstances() []string { @@ -64000,7 +66399,7 @@ type InstanceGroupManagersScopedList struct { func (x *InstanceGroupManagersScopedList) Reset() { *x = InstanceGroupManagersScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[587] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[601] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64013,7 +66412,7 @@ func (x *InstanceGroupManagersScopedList) String() string { func (*InstanceGroupManagersScopedList) ProtoMessage() {} func (x *InstanceGroupManagersScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[587] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[601] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64026,7 +66425,7 @@ func (x *InstanceGroupManagersScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupManagersScopedList.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{587} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{601} } func (x *InstanceGroupManagersScopedList) GetInstanceGroupManagers() []*InstanceGroupManager { @@ -64055,7 +66454,7 @@ type InstanceGroupManagersSetInstanceTemplateRequest struct { func (x *InstanceGroupManagersSetInstanceTemplateRequest) Reset() { *x = InstanceGroupManagersSetInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[588] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[602] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64068,7 +66467,7 @@ func (x *InstanceGroupManagersSetInstanceTemplateRequest) String() string { func (*InstanceGroupManagersSetInstanceTemplateRequest) ProtoMessage() {} func (x *InstanceGroupManagersSetInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[588] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[602] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64081,7 +66480,7 @@ func (x *InstanceGroupManagersSetInstanceTemplateRequest) ProtoReflect() protore // Deprecated: Use InstanceGroupManagersSetInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersSetInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{588} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{602} } func (x *InstanceGroupManagersSetInstanceTemplateRequest) GetInstanceTemplate() string { @@ -64105,7 +66504,7 @@ type InstanceGroupManagersSetTargetPoolsRequest struct { func (x *InstanceGroupManagersSetTargetPoolsRequest) Reset() { *x = InstanceGroupManagersSetTargetPoolsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[589] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[603] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64118,7 +66517,7 @@ func (x *InstanceGroupManagersSetTargetPoolsRequest) String() string { func (*InstanceGroupManagersSetTargetPoolsRequest) ProtoMessage() {} func (x *InstanceGroupManagersSetTargetPoolsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[589] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[603] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64131,7 +66530,7 @@ func (x *InstanceGroupManagersSetTargetPoolsRequest) ProtoReflect() protoreflect // Deprecated: Use InstanceGroupManagersSetTargetPoolsRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersSetTargetPoolsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{589} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{603} } func (x *InstanceGroupManagersSetTargetPoolsRequest) GetFingerprint() string { @@ -64161,7 +66560,7 @@ type InstanceGroupManagersUpdatePerInstanceConfigsReq struct { func (x *InstanceGroupManagersUpdatePerInstanceConfigsReq) Reset() { *x = InstanceGroupManagersUpdatePerInstanceConfigsReq{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[590] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[604] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64174,7 +66573,7 @@ func (x *InstanceGroupManagersUpdatePerInstanceConfigsReq) String() string { func (*InstanceGroupManagersUpdatePerInstanceConfigsReq) ProtoMessage() {} func (x *InstanceGroupManagersUpdatePerInstanceConfigsReq) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[590] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[604] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64187,7 +66586,7 @@ func (x *InstanceGroupManagersUpdatePerInstanceConfigsReq) ProtoReflect() protor // Deprecated: Use InstanceGroupManagersUpdatePerInstanceConfigsReq.ProtoReflect.Descriptor instead. func (*InstanceGroupManagersUpdatePerInstanceConfigsReq) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{590} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{604} } func (x *InstanceGroupManagersUpdatePerInstanceConfigsReq) GetPerInstanceConfigs() []*PerInstanceConfig { @@ -64209,7 +66608,7 @@ type InstanceGroupsAddInstancesRequest struct { func (x *InstanceGroupsAddInstancesRequest) Reset() { *x = InstanceGroupsAddInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[591] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[605] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64222,7 +66621,7 @@ func (x *InstanceGroupsAddInstancesRequest) String() string { func (*InstanceGroupsAddInstancesRequest) ProtoMessage() {} func (x *InstanceGroupsAddInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[591] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[605] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64235,7 +66634,7 @@ func (x *InstanceGroupsAddInstancesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InstanceGroupsAddInstancesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupsAddInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{591} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{605} } func (x *InstanceGroupsAddInstancesRequest) GetInstances() []*InstanceReference { @@ -64267,7 +66666,7 @@ type InstanceGroupsListInstances struct { func (x *InstanceGroupsListInstances) Reset() { *x = InstanceGroupsListInstances{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[592] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[606] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64280,7 +66679,7 @@ func (x *InstanceGroupsListInstances) String() string { func (*InstanceGroupsListInstances) ProtoMessage() {} func (x *InstanceGroupsListInstances) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[592] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[606] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64293,7 +66692,7 @@ func (x *InstanceGroupsListInstances) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupsListInstances.ProtoReflect.Descriptor instead. func (*InstanceGroupsListInstances) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{592} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{606} } func (x *InstanceGroupsListInstances) GetId() string { @@ -64351,7 +66750,7 @@ type InstanceGroupsListInstancesRequest struct { func (x *InstanceGroupsListInstancesRequest) Reset() { *x = InstanceGroupsListInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[593] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[607] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64364,7 +66763,7 @@ func (x *InstanceGroupsListInstancesRequest) String() string { func (*InstanceGroupsListInstancesRequest) ProtoMessage() {} func (x *InstanceGroupsListInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[593] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[607] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64377,7 +66776,7 @@ func (x *InstanceGroupsListInstancesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InstanceGroupsListInstancesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupsListInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{593} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{607} } func (x *InstanceGroupsListInstancesRequest) GetInstanceState() string { @@ -64399,7 +66798,7 @@ type InstanceGroupsRemoveInstancesRequest struct { func (x *InstanceGroupsRemoveInstancesRequest) Reset() { *x = InstanceGroupsRemoveInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[594] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[608] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64412,7 +66811,7 @@ func (x *InstanceGroupsRemoveInstancesRequest) String() string { func (*InstanceGroupsRemoveInstancesRequest) ProtoMessage() {} func (x *InstanceGroupsRemoveInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[594] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[608] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64425,7 +66824,7 @@ func (x *InstanceGroupsRemoveInstancesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use InstanceGroupsRemoveInstancesRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupsRemoveInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{594} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{608} } func (x *InstanceGroupsRemoveInstancesRequest) GetInstances() []*InstanceReference { @@ -64449,7 +66848,7 @@ type InstanceGroupsScopedList struct { func (x *InstanceGroupsScopedList) Reset() { *x = InstanceGroupsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[595] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[609] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64462,7 +66861,7 @@ func (x *InstanceGroupsScopedList) String() string { func (*InstanceGroupsScopedList) ProtoMessage() {} func (x *InstanceGroupsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[595] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[609] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64475,7 +66874,7 @@ func (x *InstanceGroupsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceGroupsScopedList.ProtoReflect.Descriptor instead. func (*InstanceGroupsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{595} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{609} } func (x *InstanceGroupsScopedList) GetInstanceGroups() []*InstanceGroup { @@ -64506,7 +66905,7 @@ type InstanceGroupsSetNamedPortsRequest struct { func (x *InstanceGroupsSetNamedPortsRequest) Reset() { *x = InstanceGroupsSetNamedPortsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[596] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[610] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64519,7 +66918,7 @@ func (x *InstanceGroupsSetNamedPortsRequest) String() string { func (*InstanceGroupsSetNamedPortsRequest) ProtoMessage() {} func (x *InstanceGroupsSetNamedPortsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[596] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[610] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64532,7 +66931,7 @@ func (x *InstanceGroupsSetNamedPortsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InstanceGroupsSetNamedPortsRequest.ProtoReflect.Descriptor instead. func (*InstanceGroupsSetNamedPortsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{596} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{610} } func (x *InstanceGroupsSetNamedPortsRequest) GetFingerprint() string { @@ -64572,7 +66971,7 @@ type InstanceList struct { func (x *InstanceList) Reset() { *x = InstanceList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[597] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[611] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64585,7 +66984,7 @@ func (x *InstanceList) String() string { func (*InstanceList) ProtoMessage() {} func (x *InstanceList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[597] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[611] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64598,7 +66997,7 @@ func (x *InstanceList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceList.ProtoReflect.Descriptor instead. func (*InstanceList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{597} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{611} } func (x *InstanceList) GetId() string { @@ -64666,7 +67065,7 @@ type InstanceListReferrers struct { func (x *InstanceListReferrers) Reset() { *x = InstanceListReferrers{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[598] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[612] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64679,7 +67078,7 @@ func (x *InstanceListReferrers) String() string { func (*InstanceListReferrers) ProtoMessage() {} func (x *InstanceListReferrers) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[598] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[612] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64692,7 +67091,7 @@ func (x *InstanceListReferrers) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceListReferrers.ProtoReflect.Descriptor instead. func (*InstanceListReferrers) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{598} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{612} } func (x *InstanceListReferrers) GetId() string { @@ -64753,7 +67152,7 @@ type InstanceManagedByIgmError struct { func (x *InstanceManagedByIgmError) Reset() { *x = InstanceManagedByIgmError{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[599] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[613] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64766,7 +67165,7 @@ func (x *InstanceManagedByIgmError) String() string { func (*InstanceManagedByIgmError) ProtoMessage() {} func (x *InstanceManagedByIgmError) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[599] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[613] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64779,7 +67178,7 @@ func (x *InstanceManagedByIgmError) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceManagedByIgmError.ProtoReflect.Descriptor instead. func (*InstanceManagedByIgmError) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{599} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{613} } func (x *InstanceManagedByIgmError) GetError() *InstanceManagedByIgmErrorManagedInstanceError { @@ -64820,7 +67219,7 @@ type InstanceManagedByIgmErrorInstanceActionDetails struct { func (x *InstanceManagedByIgmErrorInstanceActionDetails) Reset() { *x = InstanceManagedByIgmErrorInstanceActionDetails{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[600] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[614] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64833,7 +67232,7 @@ func (x *InstanceManagedByIgmErrorInstanceActionDetails) String() string { func (*InstanceManagedByIgmErrorInstanceActionDetails) ProtoMessage() {} func (x *InstanceManagedByIgmErrorInstanceActionDetails) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[600] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[614] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64846,7 +67245,7 @@ func (x *InstanceManagedByIgmErrorInstanceActionDetails) ProtoReflect() protoref // Deprecated: Use InstanceManagedByIgmErrorInstanceActionDetails.ProtoReflect.Descriptor instead. func (*InstanceManagedByIgmErrorInstanceActionDetails) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{600} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{614} } func (x *InstanceManagedByIgmErrorInstanceActionDetails) GetAction() string { @@ -64884,7 +67283,7 @@ type InstanceManagedByIgmErrorManagedInstanceError struct { func (x *InstanceManagedByIgmErrorManagedInstanceError) Reset() { *x = InstanceManagedByIgmErrorManagedInstanceError{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[601] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[615] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64897,7 +67296,7 @@ func (x *InstanceManagedByIgmErrorManagedInstanceError) String() string { func (*InstanceManagedByIgmErrorManagedInstanceError) ProtoMessage() {} func (x *InstanceManagedByIgmErrorManagedInstanceError) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[601] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[615] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64910,7 +67309,7 @@ func (x *InstanceManagedByIgmErrorManagedInstanceError) ProtoReflect() protorefl // Deprecated: Use InstanceManagedByIgmErrorManagedInstanceError.ProtoReflect.Descriptor instead. func (*InstanceManagedByIgmErrorManagedInstanceError) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{601} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{615} } func (x *InstanceManagedByIgmErrorManagedInstanceError) GetCode() string { @@ -64941,7 +67340,7 @@ type InstanceMoveRequest struct { func (x *InstanceMoveRequest) Reset() { *x = InstanceMoveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[602] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[616] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -64954,7 +67353,7 @@ func (x *InstanceMoveRequest) String() string { func (*InstanceMoveRequest) ProtoMessage() {} func (x *InstanceMoveRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[602] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[616] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -64967,7 +67366,7 @@ func (x *InstanceMoveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceMoveRequest.ProtoReflect.Descriptor instead. func (*InstanceMoveRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{602} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{616} } func (x *InstanceMoveRequest) GetDestinationZone() string { @@ -64997,7 +67396,7 @@ type InstanceParams struct { func (x *InstanceParams) Reset() { *x = InstanceParams{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[603] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[617] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65010,7 +67409,7 @@ func (x *InstanceParams) String() string { func (*InstanceParams) ProtoMessage() {} func (x *InstanceParams) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[603] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[617] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65023,7 +67422,7 @@ func (x *InstanceParams) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceParams.ProtoReflect.Descriptor instead. func (*InstanceParams) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{603} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{617} } func (x *InstanceParams) GetResourceManagerTags() map[string]string { @@ -65087,7 +67486,7 @@ type InstanceProperties struct { func (x *InstanceProperties) Reset() { *x = InstanceProperties{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[604] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[618] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65100,7 +67499,7 @@ func (x *InstanceProperties) String() string { func (*InstanceProperties) ProtoMessage() {} func (x *InstanceProperties) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[604] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[618] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65113,7 +67512,7 @@ func (x *InstanceProperties) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceProperties.ProtoReflect.Descriptor instead. func (*InstanceProperties) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{604} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{618} } func (x *InstanceProperties) GetAdvancedMachineFeatures() *AdvancedMachineFeatures { @@ -65275,7 +67674,7 @@ type InstanceReference struct { func (x *InstanceReference) Reset() { *x = InstanceReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[605] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[619] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65288,7 +67687,7 @@ func (x *InstanceReference) String() string { func (*InstanceReference) ProtoMessage() {} func (x *InstanceReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[605] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[619] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65301,7 +67700,7 @@ func (x *InstanceReference) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceReference.ProtoReflect.Descriptor instead. func (*InstanceReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{605} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{619} } func (x *InstanceReference) GetInstance() string { @@ -65311,7 +67710,7 @@ func (x *InstanceReference) GetInstance() string { return "" } -// Represents an Instance Template resource. You can use instance templates to create VM instances and managed instance groups. For more information, read Instance Templates. +// Represents an Instance Template resource. Google Compute Engine has two Instance Template resources: * [Global](/compute/docs/reference/rest/v1/instanceTemplates) * [Regional](/compute/docs/reference/rest/v1/regionInstanceTemplates) You can reuse a global instance template in different regions whereas you can use a regional instance template in a specified region only. If you want to reduce cross-region dependency or achieve data residency, use a regional instance template. To create VMs, managed instance groups, and reservations, you can use either global or regional instance templates. For more information, read Instance Templates. type InstanceTemplate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -65342,7 +67741,7 @@ type InstanceTemplate struct { func (x *InstanceTemplate) Reset() { *x = InstanceTemplate{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[606] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[620] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65355,7 +67754,7 @@ func (x *InstanceTemplate) String() string { func (*InstanceTemplate) ProtoMessage() {} func (x *InstanceTemplate) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[606] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[620] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65368,7 +67767,7 @@ func (x *InstanceTemplate) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceTemplate.ProtoReflect.Descriptor instead. func (*InstanceTemplate) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{606} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{620} } func (x *InstanceTemplate) GetCreationTimestamp() string { @@ -65464,7 +67863,7 @@ type InstanceTemplateAggregatedList struct { func (x *InstanceTemplateAggregatedList) Reset() { *x = InstanceTemplateAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[607] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[621] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65477,7 +67876,7 @@ func (x *InstanceTemplateAggregatedList) String() string { func (*InstanceTemplateAggregatedList) ProtoMessage() {} func (x *InstanceTemplateAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[607] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[621] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65490,7 +67889,7 @@ func (x *InstanceTemplateAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceTemplateAggregatedList.ProtoReflect.Descriptor instead. func (*InstanceTemplateAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{607} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{621} } func (x *InstanceTemplateAggregatedList) GetId() string { @@ -65558,7 +67957,7 @@ type InstanceTemplateList struct { func (x *InstanceTemplateList) Reset() { *x = InstanceTemplateList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[608] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[622] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65571,7 +67970,7 @@ func (x *InstanceTemplateList) String() string { func (*InstanceTemplateList) ProtoMessage() {} func (x *InstanceTemplateList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[608] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[622] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65584,7 +67983,7 @@ func (x *InstanceTemplateList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceTemplateList.ProtoReflect.Descriptor instead. func (*InstanceTemplateList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{608} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{622} } func (x *InstanceTemplateList) GetId() string { @@ -65643,7 +68042,7 @@ type InstanceTemplatesScopedList struct { func (x *InstanceTemplatesScopedList) Reset() { *x = InstanceTemplatesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[609] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[623] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65656,7 +68055,7 @@ func (x *InstanceTemplatesScopedList) String() string { func (*InstanceTemplatesScopedList) ProtoMessage() {} func (x *InstanceTemplatesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[609] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[623] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65669,7 +68068,7 @@ func (x *InstanceTemplatesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceTemplatesScopedList.ProtoReflect.Descriptor instead. func (*InstanceTemplatesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{609} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{623} } func (x *InstanceTemplatesScopedList) GetInstanceTemplates() []*InstanceTemplate { @@ -65703,7 +68102,7 @@ type InstanceWithNamedPorts struct { func (x *InstanceWithNamedPorts) Reset() { *x = InstanceWithNamedPorts{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[610] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[624] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65716,7 +68115,7 @@ func (x *InstanceWithNamedPorts) String() string { func (*InstanceWithNamedPorts) ProtoMessage() {} func (x *InstanceWithNamedPorts) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[610] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[624] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65729,7 +68128,7 @@ func (x *InstanceWithNamedPorts) ProtoReflect() protoreflect.Message { // Deprecated: Use InstanceWithNamedPorts.ProtoReflect.Descriptor instead. func (*InstanceWithNamedPorts) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{610} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{624} } func (x *InstanceWithNamedPorts) GetInstance() string { @@ -65765,7 +68164,7 @@ type InstancesAddResourcePoliciesRequest struct { func (x *InstancesAddResourcePoliciesRequest) Reset() { *x = InstancesAddResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[611] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[625] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65778,7 +68177,7 @@ func (x *InstancesAddResourcePoliciesRequest) String() string { func (*InstancesAddResourcePoliciesRequest) ProtoMessage() {} func (x *InstancesAddResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[611] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[625] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65791,7 +68190,7 @@ func (x *InstancesAddResourcePoliciesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use InstancesAddResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*InstancesAddResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{611} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625} } func (x *InstancesAddResourcePoliciesRequest) GetResourcePolicies() []string { @@ -65801,6 +68200,54 @@ func (x *InstancesAddResourcePoliciesRequest) GetResourcePolicies() []string { return nil } +type InstancesBulkInsertOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Status information per location (location name is key). Example key: zones/us-central1-a + PerLocationStatus map[string]*BulkInsertOperationStatus `protobuf:"bytes,167851162,rep,name=per_location_status,json=perLocationStatus,proto3" json:"per_location_status,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *InstancesBulkInsertOperationMetadata) Reset() { + *x = InstancesBulkInsertOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[626] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstancesBulkInsertOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstancesBulkInsertOperationMetadata) ProtoMessage() {} + +func (x *InstancesBulkInsertOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[626] + 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 InstancesBulkInsertOperationMetadata.ProtoReflect.Descriptor instead. +func (*InstancesBulkInsertOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{626} +} + +func (x *InstancesBulkInsertOperationMetadata) GetPerLocationStatus() map[string]*BulkInsertOperationStatus { + if x != nil { + return x.PerLocationStatus + } + return nil +} + type InstancesGetEffectiveFirewallsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -65815,7 +68262,7 @@ type InstancesGetEffectiveFirewallsResponse struct { func (x *InstancesGetEffectiveFirewallsResponse) Reset() { *x = InstancesGetEffectiveFirewallsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[612] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[627] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65828,7 +68275,7 @@ func (x *InstancesGetEffectiveFirewallsResponse) String() string { func (*InstancesGetEffectiveFirewallsResponse) ProtoMessage() {} func (x *InstancesGetEffectiveFirewallsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[612] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[627] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65841,7 +68288,7 @@ func (x *InstancesGetEffectiveFirewallsResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use InstancesGetEffectiveFirewallsResponse.ProtoReflect.Descriptor instead. func (*InstancesGetEffectiveFirewallsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{612} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{627} } func (x *InstancesGetEffectiveFirewallsResponse) GetFirewallPolicys() []*InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy { @@ -65879,7 +68326,7 @@ type InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { func (x *InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) Reset() { *x = InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[613] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[628] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65892,7 +68339,7 @@ func (x *InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) String() func (*InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) ProtoMessage() {} func (x *InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[613] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[628] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65905,7 +68352,7 @@ func (x *InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) ProtoRef // Deprecated: Use InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.ProtoReflect.Descriptor instead. func (*InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{613} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{628} } func (x *InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) GetDisplayName() string { @@ -65955,7 +68402,7 @@ type InstancesRemoveResourcePoliciesRequest struct { func (x *InstancesRemoveResourcePoliciesRequest) Reset() { *x = InstancesRemoveResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[614] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[629] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -65968,7 +68415,7 @@ func (x *InstancesRemoveResourcePoliciesRequest) String() string { func (*InstancesRemoveResourcePoliciesRequest) ProtoMessage() {} func (x *InstancesRemoveResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[614] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[629] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -65981,7 +68428,7 @@ func (x *InstancesRemoveResourcePoliciesRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use InstancesRemoveResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*InstancesRemoveResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{614} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{629} } func (x *InstancesRemoveResourcePoliciesRequest) GetResourcePolicies() []string { @@ -66005,7 +68452,7 @@ type InstancesScopedList struct { func (x *InstancesScopedList) Reset() { *x = InstancesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[615] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[630] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66018,7 +68465,7 @@ func (x *InstancesScopedList) String() string { func (*InstancesScopedList) ProtoMessage() {} func (x *InstancesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[615] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[630] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66031,7 +68478,7 @@ func (x *InstancesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use InstancesScopedList.ProtoReflect.Descriptor instead. func (*InstancesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{615} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{630} } func (x *InstancesScopedList) GetInstances() []*Instance { @@ -66061,7 +68508,7 @@ type InstancesSetLabelsRequest struct { func (x *InstancesSetLabelsRequest) Reset() { *x = InstancesSetLabelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[616] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[631] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66074,7 +68521,7 @@ func (x *InstancesSetLabelsRequest) String() string { func (*InstancesSetLabelsRequest) ProtoMessage() {} func (x *InstancesSetLabelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[616] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[631] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66087,7 +68534,7 @@ func (x *InstancesSetLabelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InstancesSetLabelsRequest.ProtoReflect.Descriptor instead. func (*InstancesSetLabelsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{616} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{631} } func (x *InstancesSetLabelsRequest) GetLabelFingerprint() string { @@ -66116,7 +68563,7 @@ type InstancesSetMachineResourcesRequest struct { func (x *InstancesSetMachineResourcesRequest) Reset() { *x = InstancesSetMachineResourcesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[617] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[632] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66129,7 +68576,7 @@ func (x *InstancesSetMachineResourcesRequest) String() string { func (*InstancesSetMachineResourcesRequest) ProtoMessage() {} func (x *InstancesSetMachineResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[617] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[632] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66142,7 +68589,7 @@ func (x *InstancesSetMachineResourcesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use InstancesSetMachineResourcesRequest.ProtoReflect.Descriptor instead. func (*InstancesSetMachineResourcesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{617} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{632} } func (x *InstancesSetMachineResourcesRequest) GetGuestAccelerators() []*AcceleratorConfig { @@ -66164,7 +68611,7 @@ type InstancesSetMachineTypeRequest struct { func (x *InstancesSetMachineTypeRequest) Reset() { *x = InstancesSetMachineTypeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[618] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[633] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66177,7 +68624,7 @@ func (x *InstancesSetMachineTypeRequest) String() string { func (*InstancesSetMachineTypeRequest) ProtoMessage() {} func (x *InstancesSetMachineTypeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[618] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[633] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66190,7 +68637,7 @@ func (x *InstancesSetMachineTypeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InstancesSetMachineTypeRequest.ProtoReflect.Descriptor instead. func (*InstancesSetMachineTypeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{618} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{633} } func (x *InstancesSetMachineTypeRequest) GetMachineType() string { @@ -66212,7 +68659,7 @@ type InstancesSetMinCpuPlatformRequest struct { func (x *InstancesSetMinCpuPlatformRequest) Reset() { *x = InstancesSetMinCpuPlatformRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[619] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[634] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66225,7 +68672,7 @@ func (x *InstancesSetMinCpuPlatformRequest) String() string { func (*InstancesSetMinCpuPlatformRequest) ProtoMessage() {} func (x *InstancesSetMinCpuPlatformRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[619] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[634] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66238,7 +68685,7 @@ func (x *InstancesSetMinCpuPlatformRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InstancesSetMinCpuPlatformRequest.ProtoReflect.Descriptor instead. func (*InstancesSetMinCpuPlatformRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{619} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{634} } func (x *InstancesSetMinCpuPlatformRequest) GetMinCpuPlatform() string { @@ -66262,7 +68709,7 @@ type InstancesSetNameRequest struct { func (x *InstancesSetNameRequest) Reset() { *x = InstancesSetNameRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[620] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[635] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66275,7 +68722,7 @@ func (x *InstancesSetNameRequest) String() string { func (*InstancesSetNameRequest) ProtoMessage() {} func (x *InstancesSetNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[620] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[635] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66288,7 +68735,7 @@ func (x *InstancesSetNameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InstancesSetNameRequest.ProtoReflect.Descriptor instead. func (*InstancesSetNameRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{620} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{635} } func (x *InstancesSetNameRequest) GetCurrentName() string { @@ -66305,6 +68752,63 @@ func (x *InstancesSetNameRequest) GetName() string { return "" } +type InstancesSetSecurityPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The network interfaces that the security policy will be applied to. Network interfaces use the nicN naming format. You can only set a security policy for network interfaces with an access config. + NetworkInterfaces []string `protobuf:"bytes,52735243,rep,name=network_interfaces,json=networkInterfaces,proto3" json:"network_interfaces,omitempty"` + // A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy. + SecurityPolicy *string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3,oneof" json:"security_policy,omitempty"` +} + +func (x *InstancesSetSecurityPolicyRequest) Reset() { + *x = InstancesSetSecurityPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[636] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstancesSetSecurityPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstancesSetSecurityPolicyRequest) ProtoMessage() {} + +func (x *InstancesSetSecurityPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[636] + 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 InstancesSetSecurityPolicyRequest.ProtoReflect.Descriptor instead. +func (*InstancesSetSecurityPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{636} +} + +func (x *InstancesSetSecurityPolicyRequest) GetNetworkInterfaces() []string { + if x != nil { + return x.NetworkInterfaces + } + return nil +} + +func (x *InstancesSetSecurityPolicyRequest) GetSecurityPolicy() string { + if x != nil && x.SecurityPolicy != nil { + return *x.SecurityPolicy + } + return "" +} + type InstancesSetServiceAccountRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -66319,7 +68823,7 @@ type InstancesSetServiceAccountRequest struct { func (x *InstancesSetServiceAccountRequest) Reset() { *x = InstancesSetServiceAccountRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[621] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[637] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66332,7 +68836,7 @@ func (x *InstancesSetServiceAccountRequest) String() string { func (*InstancesSetServiceAccountRequest) ProtoMessage() {} func (x *InstancesSetServiceAccountRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[621] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[637] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66345,7 +68849,7 @@ func (x *InstancesSetServiceAccountRequest) ProtoReflect() protoreflect.Message // Deprecated: Use InstancesSetServiceAccountRequest.ProtoReflect.Descriptor instead. func (*InstancesSetServiceAccountRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{621} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{637} } func (x *InstancesSetServiceAccountRequest) GetEmail() string { @@ -66374,7 +68878,7 @@ type InstancesStartWithEncryptionKeyRequest struct { func (x *InstancesStartWithEncryptionKeyRequest) Reset() { *x = InstancesStartWithEncryptionKeyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[622] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[638] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66387,7 +68891,7 @@ func (x *InstancesStartWithEncryptionKeyRequest) String() string { func (*InstancesStartWithEncryptionKeyRequest) ProtoMessage() {} func (x *InstancesStartWithEncryptionKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[622] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[638] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66400,7 +68904,7 @@ func (x *InstancesStartWithEncryptionKeyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use InstancesStartWithEncryptionKeyRequest.ProtoReflect.Descriptor instead. func (*InstancesStartWithEncryptionKeyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{622} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{638} } func (x *InstancesStartWithEncryptionKeyRequest) GetDisks() []*CustomerEncryptionKeyProtectedDisk { @@ -66425,7 +68929,7 @@ type Int64RangeMatch struct { func (x *Int64RangeMatch) Reset() { *x = Int64RangeMatch{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[623] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[639] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66438,7 +68942,7 @@ func (x *Int64RangeMatch) String() string { func (*Int64RangeMatch) ProtoMessage() {} func (x *Int64RangeMatch) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[623] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[639] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66451,7 +68955,7 @@ func (x *Int64RangeMatch) ProtoReflect() protoreflect.Message { // Deprecated: Use Int64RangeMatch.ProtoReflect.Descriptor instead. func (*Int64RangeMatch) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{623} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{639} } func (x *Int64RangeMatch) GetRangeEnd() int64 { @@ -66476,6 +68980,9 @@ type Interconnect struct { // Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true. AdminEnabled *bool `protobuf:"varint,445675089,opt,name=admin_enabled,json=adminEnabled,proto3,oneof" json:"admin_enabled,omitempty"` + // [Output only] List of features available for this Interconnect connection, which can take one of the following values: - MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails. + // Check the AvailableFeatures enum for the list of possible values. + AvailableFeatures []string `protobuf:"bytes,496344307,rep,name=available_features,json=availableFeatures,proto3" json:"available_features,omitempty"` // [Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG. CircuitInfos []*InterconnectCircuitInfo `protobuf:"bytes,164839855,rep,name=circuit_infos,json=circuitInfos,proto3" json:"circuit_infos,omitempty"` // [Output Only] Creation timestamp in RFC3339 text format. @@ -66508,6 +69015,10 @@ type Interconnect struct { LinkType *string `protobuf:"bytes,523207775,opt,name=link_type,json=linkType,proto3,oneof" json:"link_type,omitempty"` // URL of the InterconnectLocation object that represents where this connection is to be provisioned. Location *string `protobuf:"bytes,290430901,opt,name=location,proto3,oneof" json:"location,omitempty"` + // Configuration that enables Media Access Control security (MACsec) on the Cloud Interconnect connection between Google and your on-premises router. + Macsec *InterconnectMacsec `protobuf:"bytes,528867490,opt,name=macsec,proto3,oneof" json:"macsec,omitempty"` + // Enable or disable MACsec on this Interconnect connection. MACsec enablement fails if the MACsec object is not specified. + MacsecEnabled *bool `protobuf:"varint,194203812,opt,name=macsec_enabled,json=macsecEnabled,proto3,oneof" json:"macsec_enabled,omitempty"` // Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` // Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation. @@ -66521,6 +69032,9 @@ type Interconnect struct { ProvisionedLinkCount *int32 `protobuf:"varint,410888565,opt,name=provisioned_link_count,json=provisionedLinkCount,proto3,oneof" json:"provisioned_link_count,omitempty"` // Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to. RemoteLocation *string `protobuf:"bytes,324388750,opt,name=remote_location,json=remoteLocation,proto3,oneof" json:"remote_location,omitempty"` + // Optional. List of features requested for this Interconnect connection, which can take one of the following values: - MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH. + // Check the RequestedFeatures enum for the list of possible values. + RequestedFeatures []string `protobuf:"bytes,461240814,rep,name=requested_features,json=requestedFeatures,proto3" json:"requested_features,omitempty"` // Target number of physical links in the link bundle, as requested by the customer. RequestedLinkCount *int32 `protobuf:"varint,45051387,opt,name=requested_link_count,json=requestedLinkCount,proto3,oneof" json:"requested_link_count,omitempty"` // [Output Only] Reserved for future use. @@ -66535,7 +69049,7 @@ type Interconnect struct { func (x *Interconnect) Reset() { *x = Interconnect{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[624] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[640] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66548,7 +69062,7 @@ func (x *Interconnect) String() string { func (*Interconnect) ProtoMessage() {} func (x *Interconnect) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[624] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[640] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66561,7 +69075,7 @@ func (x *Interconnect) ProtoReflect() protoreflect.Message { // Deprecated: Use Interconnect.ProtoReflect.Descriptor instead. func (*Interconnect) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{624} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640} } func (x *Interconnect) GetAdminEnabled() bool { @@ -66571,6 +69085,13 @@ func (x *Interconnect) GetAdminEnabled() bool { return false } +func (x *Interconnect) GetAvailableFeatures() []string { + if x != nil { + return x.AvailableFeatures + } + return nil +} + func (x *Interconnect) GetCircuitInfos() []*InterconnectCircuitInfo { if x != nil { return x.CircuitInfos @@ -66676,6 +69197,20 @@ func (x *Interconnect) GetLocation() string { return "" } +func (x *Interconnect) GetMacsec() *InterconnectMacsec { + if x != nil { + return x.Macsec + } + return nil +} + +func (x *Interconnect) GetMacsecEnabled() bool { + if x != nil && x.MacsecEnabled != nil { + return *x.MacsecEnabled + } + return false +} + func (x *Interconnect) GetName() string { if x != nil && x.Name != nil { return *x.Name @@ -66718,6 +69253,13 @@ func (x *Interconnect) GetRemoteLocation() string { return "" } +func (x *Interconnect) GetRequestedFeatures() []string { + if x != nil { + return x.RequestedFeatures + } + return nil +} + func (x *Interconnect) GetRequestedLinkCount() int32 { if x != nil && x.RequestedLinkCount != nil { return *x.RequestedLinkCount @@ -66808,11 +69350,11 @@ type InterconnectAttachment struct { // [Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. // Check the OperationalStatus enum for the list of possible values. OperationalStatus *string `protobuf:"bytes,201070847,opt,name=operational_status,json=operationalStatus,proto3,oneof" json:"operational_status,omitempty"` - // [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of an PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain" + // [Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate provisioning with a selected partner. Of the form "XXXXX/region/domain" PairingKey *string `protobuf:"bytes,439695464,opt,name=pairing_key,json=pairingKey,proto3,oneof" json:"pairing_key,omitempty"` // Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED. PartnerAsn *int64 `protobuf:"varint,438166149,opt,name=partner_asn,json=partnerAsn,proto3,oneof" json:"partner_asn,omitempty"` - // Informational metadata about Partner attachments from Partners to display to customers. Output only for for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED. + // Informational metadata about Partner attachments from Partners to display to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED. PartnerMetadata *InterconnectAttachmentPartnerMetadata `protobuf:"bytes,65908934,opt,name=partner_metadata,json=partnerMetadata,proto3,oneof" json:"partner_metadata,omitempty"` // [Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED. PrivateInterconnectInfo *InterconnectAttachmentPrivateInfo `protobuf:"bytes,237270531,opt,name=private_interconnect_info,json=privateInterconnectInfo,proto3,oneof" json:"private_interconnect_info,omitempty"` @@ -66844,7 +69386,7 @@ type InterconnectAttachment struct { func (x *InterconnectAttachment) Reset() { *x = InterconnectAttachment{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[625] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[641] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -66857,7 +69399,7 @@ func (x *InterconnectAttachment) String() string { func (*InterconnectAttachment) ProtoMessage() {} func (x *InterconnectAttachment) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[625] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[641] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -66870,7 +69412,7 @@ func (x *InterconnectAttachment) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectAttachment.ProtoReflect.Descriptor instead. func (*InterconnectAttachment) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{625} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641} } func (x *InterconnectAttachment) GetAdminEnabled() bool { @@ -67177,7 +69719,7 @@ type InterconnectAttachmentAggregatedList struct { func (x *InterconnectAttachmentAggregatedList) Reset() { *x = InterconnectAttachmentAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[626] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[642] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67190,7 +69732,7 @@ func (x *InterconnectAttachmentAggregatedList) String() string { func (*InterconnectAttachmentAggregatedList) ProtoMessage() {} func (x *InterconnectAttachmentAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[626] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[642] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67203,7 +69745,7 @@ func (x *InterconnectAttachmentAggregatedList) ProtoReflect() protoreflect.Messa // Deprecated: Use InterconnectAttachmentAggregatedList.ProtoReflect.Descriptor instead. func (*InterconnectAttachmentAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{626} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{642} } func (x *InterconnectAttachmentAggregatedList) GetId() string { @@ -67270,7 +69812,7 @@ type InterconnectAttachmentConfigurationConstraints struct { func (x *InterconnectAttachmentConfigurationConstraints) Reset() { *x = InterconnectAttachmentConfigurationConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[627] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[643] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67283,7 +69825,7 @@ func (x *InterconnectAttachmentConfigurationConstraints) String() string { func (*InterconnectAttachmentConfigurationConstraints) ProtoMessage() {} func (x *InterconnectAttachmentConfigurationConstraints) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[627] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[643] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67296,7 +69838,7 @@ func (x *InterconnectAttachmentConfigurationConstraints) ProtoReflect() protoref // Deprecated: Use InterconnectAttachmentConfigurationConstraints.ProtoReflect.Descriptor instead. func (*InterconnectAttachmentConfigurationConstraints) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{627} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{643} } func (x *InterconnectAttachmentConfigurationConstraints) GetBgpMd5() string { @@ -67325,7 +69867,7 @@ type InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange struct { func (x *InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange) Reset() { *x = InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[628] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[644] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67338,7 +69880,7 @@ func (x *InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange) String() func (*InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange) ProtoMessage() {} func (x *InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[628] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[644] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67351,7 +69893,7 @@ func (x *InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange) ProtoRef // Deprecated: Use InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange.ProtoReflect.Descriptor instead. func (*InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{628} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{644} } func (x *InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange) GetMax() uint32 { @@ -67391,7 +69933,7 @@ type InterconnectAttachmentList struct { func (x *InterconnectAttachmentList) Reset() { *x = InterconnectAttachmentList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[629] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[645] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67404,7 +69946,7 @@ func (x *InterconnectAttachmentList) String() string { func (*InterconnectAttachmentList) ProtoMessage() {} func (x *InterconnectAttachmentList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[629] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[645] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67417,7 +69959,7 @@ func (x *InterconnectAttachmentList) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectAttachmentList.ProtoReflect.Descriptor instead. func (*InterconnectAttachmentList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{629} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{645} } func (x *InterconnectAttachmentList) GetId() string { @@ -67479,7 +70021,7 @@ type InterconnectAttachmentPartnerMetadata struct { func (x *InterconnectAttachmentPartnerMetadata) Reset() { *x = InterconnectAttachmentPartnerMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[630] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[646] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67492,7 +70034,7 @@ func (x *InterconnectAttachmentPartnerMetadata) String() string { func (*InterconnectAttachmentPartnerMetadata) ProtoMessage() {} func (x *InterconnectAttachmentPartnerMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[630] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[646] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67505,7 +70047,7 @@ func (x *InterconnectAttachmentPartnerMetadata) ProtoReflect() protoreflect.Mess // Deprecated: Use InterconnectAttachmentPartnerMetadata.ProtoReflect.Descriptor instead. func (*InterconnectAttachmentPartnerMetadata) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{630} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{646} } func (x *InterconnectAttachmentPartnerMetadata) GetInterconnectName() string { @@ -67542,7 +70084,7 @@ type InterconnectAttachmentPrivateInfo struct { func (x *InterconnectAttachmentPrivateInfo) Reset() { *x = InterconnectAttachmentPrivateInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[631] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[647] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67555,7 +70097,7 @@ func (x *InterconnectAttachmentPrivateInfo) String() string { func (*InterconnectAttachmentPrivateInfo) ProtoMessage() {} func (x *InterconnectAttachmentPrivateInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[631] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[647] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67568,7 +70110,7 @@ func (x *InterconnectAttachmentPrivateInfo) ProtoReflect() protoreflect.Message // Deprecated: Use InterconnectAttachmentPrivateInfo.ProtoReflect.Descriptor instead. func (*InterconnectAttachmentPrivateInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{631} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{647} } func (x *InterconnectAttachmentPrivateInfo) GetTag8021Q() uint32 { @@ -67592,7 +70134,7 @@ type InterconnectAttachmentsScopedList struct { func (x *InterconnectAttachmentsScopedList) Reset() { *x = InterconnectAttachmentsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[632] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[648] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67605,7 +70147,7 @@ func (x *InterconnectAttachmentsScopedList) String() string { func (*InterconnectAttachmentsScopedList) ProtoMessage() {} func (x *InterconnectAttachmentsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[632] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[648] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67618,7 +70160,7 @@ func (x *InterconnectAttachmentsScopedList) ProtoReflect() protoreflect.Message // Deprecated: Use InterconnectAttachmentsScopedList.ProtoReflect.Descriptor instead. func (*InterconnectAttachmentsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{632} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{648} } func (x *InterconnectAttachmentsScopedList) GetInterconnectAttachments() []*InterconnectAttachment { @@ -67652,7 +70194,7 @@ type InterconnectCircuitInfo struct { func (x *InterconnectCircuitInfo) Reset() { *x = InterconnectCircuitInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[633] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[649] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67665,7 +70207,7 @@ func (x *InterconnectCircuitInfo) String() string { func (*InterconnectCircuitInfo) ProtoMessage() {} func (x *InterconnectCircuitInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[633] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[649] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67678,7 +70220,7 @@ func (x *InterconnectCircuitInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectCircuitInfo.ProtoReflect.Descriptor instead. func (*InterconnectCircuitInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{633} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{649} } func (x *InterconnectCircuitInfo) GetCustomerDemarcId() string { @@ -67725,7 +70267,7 @@ type InterconnectDiagnostics struct { func (x *InterconnectDiagnostics) Reset() { *x = InterconnectDiagnostics{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[634] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[650] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67738,7 +70280,7 @@ func (x *InterconnectDiagnostics) String() string { func (*InterconnectDiagnostics) ProtoMessage() {} func (x *InterconnectDiagnostics) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[634] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[650] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67751,7 +70293,7 @@ func (x *InterconnectDiagnostics) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectDiagnostics.ProtoReflect.Descriptor instead. func (*InterconnectDiagnostics) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{634} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{650} } func (x *InterconnectDiagnostics) GetArpCaches() []*InterconnectDiagnosticsARPEntry { @@ -67804,7 +70346,7 @@ type InterconnectDiagnosticsARPEntry struct { func (x *InterconnectDiagnosticsARPEntry) Reset() { *x = InterconnectDiagnosticsARPEntry{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[635] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[651] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67817,7 +70359,7 @@ func (x *InterconnectDiagnosticsARPEntry) String() string { func (*InterconnectDiagnosticsARPEntry) ProtoMessage() {} func (x *InterconnectDiagnosticsARPEntry) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[635] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[651] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67830,7 +70372,7 @@ func (x *InterconnectDiagnosticsARPEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectDiagnosticsARPEntry.ProtoReflect.Descriptor instead. func (*InterconnectDiagnosticsARPEntry) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{635} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{651} } func (x *InterconnectDiagnosticsARPEntry) GetIpAddress() string { @@ -67864,7 +70406,7 @@ type InterconnectDiagnosticsLinkLACPStatus struct { func (x *InterconnectDiagnosticsLinkLACPStatus) Reset() { *x = InterconnectDiagnosticsLinkLACPStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[636] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[652] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67877,7 +70419,7 @@ func (x *InterconnectDiagnosticsLinkLACPStatus) String() string { func (*InterconnectDiagnosticsLinkLACPStatus) ProtoMessage() {} func (x *InterconnectDiagnosticsLinkLACPStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[636] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[652] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67890,7 +70432,7 @@ func (x *InterconnectDiagnosticsLinkLACPStatus) ProtoReflect() protoreflect.Mess // Deprecated: Use InterconnectDiagnosticsLinkLACPStatus.ProtoReflect.Descriptor instead. func (*InterconnectDiagnosticsLinkLACPStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{636} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{652} } func (x *InterconnectDiagnosticsLinkLACPStatus) GetGoogleSystemId() string { @@ -67929,7 +70471,7 @@ type InterconnectDiagnosticsLinkOpticalPower struct { func (x *InterconnectDiagnosticsLinkOpticalPower) Reset() { *x = InterconnectDiagnosticsLinkOpticalPower{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[637] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[653] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -67942,7 +70484,7 @@ func (x *InterconnectDiagnosticsLinkOpticalPower) String() string { func (*InterconnectDiagnosticsLinkOpticalPower) ProtoMessage() {} func (x *InterconnectDiagnosticsLinkOpticalPower) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[637] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[653] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -67955,7 +70497,7 @@ func (x *InterconnectDiagnosticsLinkOpticalPower) ProtoReflect() protoreflect.Me // Deprecated: Use InterconnectDiagnosticsLinkOpticalPower.ProtoReflect.Descriptor instead. func (*InterconnectDiagnosticsLinkOpticalPower) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{637} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{653} } func (x *InterconnectDiagnosticsLinkOpticalPower) GetState() string { @@ -67984,6 +70526,8 @@ type InterconnectDiagnosticsLinkStatus struct { // The Demarc address assigned by Google and provided in the LoA. GoogleDemarc *string `protobuf:"bytes,51084,opt,name=google_demarc,json=googleDemarc,proto3,oneof" json:"google_demarc,omitempty"` LacpStatus *InterconnectDiagnosticsLinkLACPStatus `protobuf:"bytes,361210415,opt,name=lacp_status,json=lacpStatus,proto3,oneof" json:"lacp_status,omitempty"` + // Describes the status of MACsec encryption on this link. + Macsec *InterconnectDiagnosticsMacsecStatus `protobuf:"bytes,528867490,opt,name=macsec,proto3,oneof" json:"macsec,omitempty"` // The operational status of the link. // Check the OperationalStatus enum for the list of possible values. OperationalStatus *string `protobuf:"bytes,201070847,opt,name=operational_status,json=operationalStatus,proto3,oneof" json:"operational_status,omitempty"` @@ -67996,7 +70540,7 @@ type InterconnectDiagnosticsLinkStatus struct { func (x *InterconnectDiagnosticsLinkStatus) Reset() { *x = InterconnectDiagnosticsLinkStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[638] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[654] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68009,7 +70553,7 @@ func (x *InterconnectDiagnosticsLinkStatus) String() string { func (*InterconnectDiagnosticsLinkStatus) ProtoMessage() {} func (x *InterconnectDiagnosticsLinkStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[638] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[654] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68022,7 +70566,7 @@ func (x *InterconnectDiagnosticsLinkStatus) ProtoReflect() protoreflect.Message // Deprecated: Use InterconnectDiagnosticsLinkStatus.ProtoReflect.Descriptor instead. func (*InterconnectDiagnosticsLinkStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{638} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{654} } func (x *InterconnectDiagnosticsLinkStatus) GetArpCaches() []*InterconnectDiagnosticsARPEntry { @@ -68053,6 +70597,13 @@ func (x *InterconnectDiagnosticsLinkStatus) GetLacpStatus() *InterconnectDiagnos return nil } +func (x *InterconnectDiagnosticsLinkStatus) GetMacsec() *InterconnectDiagnosticsMacsecStatus { + if x != nil { + return x.Macsec + } + return nil +} + func (x *InterconnectDiagnosticsLinkStatus) GetOperationalStatus() string { if x != nil && x.OperationalStatus != nil { return *x.OperationalStatus @@ -68074,6 +70625,64 @@ func (x *InterconnectDiagnosticsLinkStatus) GetTransmittingOpticalPower() *Inter return nil } +// Describes the status of MACsec encryption on the link. +type InterconnectDiagnosticsMacsecStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational. + Ckn *string `protobuf:"bytes,98566,opt,name=ckn,proto3,oneof" json:"ckn,omitempty"` + // Indicates whether or not MACsec is operational on this link. + Operational *bool `protobuf:"varint,129704914,opt,name=operational,proto3,oneof" json:"operational,omitempty"` +} + +func (x *InterconnectDiagnosticsMacsecStatus) Reset() { + *x = InterconnectDiagnosticsMacsecStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[655] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterconnectDiagnosticsMacsecStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterconnectDiagnosticsMacsecStatus) ProtoMessage() {} + +func (x *InterconnectDiagnosticsMacsecStatus) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[655] + 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 InterconnectDiagnosticsMacsecStatus.ProtoReflect.Descriptor instead. +func (*InterconnectDiagnosticsMacsecStatus) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{655} +} + +func (x *InterconnectDiagnosticsMacsecStatus) GetCkn() string { + if x != nil && x.Ckn != nil { + return *x.Ckn + } + return "" +} + +func (x *InterconnectDiagnosticsMacsecStatus) GetOperational() bool { + if x != nil && x.Operational != nil { + return *x.Operational + } + return false +} + // Response to the list request, and contains a list of interconnects. type InterconnectList struct { state protoimpl.MessageState @@ -68097,7 +70706,7 @@ type InterconnectList struct { func (x *InterconnectList) Reset() { *x = InterconnectList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[639] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[656] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68110,7 +70719,7 @@ func (x *InterconnectList) String() string { func (*InterconnectList) ProtoMessage() {} func (x *InterconnectList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[639] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[656] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68123,7 +70732,7 @@ func (x *InterconnectList) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectList.ProtoReflect.Descriptor instead. func (*InterconnectList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{639} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{656} } func (x *InterconnectList) GetId() string { @@ -68178,6 +70787,12 @@ type InterconnectLocation struct { Address *string `protobuf:"bytes,462920692,opt,name=address,proto3,oneof" json:"address,omitempty"` // [Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: "zone1" or "zone2". AvailabilityZone *string `protobuf:"bytes,158459920,opt,name=availability_zone,json=availabilityZone,proto3,oneof" json:"availability_zone,omitempty"` + // [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC + // Check the AvailableFeatures enum for the list of possible values. + AvailableFeatures []string `protobuf:"bytes,496344307,rep,name=available_features,json=availableFeatures,proto3" json:"available_features,omitempty"` + // [Output only] List of link types available at this InterconnectLocation, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR - LINK_TYPE_ETHERNET_100G_LR + // Check the AvailableLinkTypes enum for the list of possible values. + AvailableLinkTypes []string `protobuf:"bytes,509504298,rep,name=available_link_types,json=availableLinkTypes,proto3" json:"available_link_types,omitempty"` // [Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: "Chicago, IL", "Amsterdam, Netherlands". City *string `protobuf:"bytes,3053931,opt,name=city,proto3,oneof" json:"city,omitempty"` // [Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA @@ -68213,7 +70828,7 @@ type InterconnectLocation struct { func (x *InterconnectLocation) Reset() { *x = InterconnectLocation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[640] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[657] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68226,7 +70841,7 @@ func (x *InterconnectLocation) String() string { func (*InterconnectLocation) ProtoMessage() {} func (x *InterconnectLocation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[640] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[657] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68239,7 +70854,7 @@ func (x *InterconnectLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectLocation.ProtoReflect.Descriptor instead. func (*InterconnectLocation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{640} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{657} } func (x *InterconnectLocation) GetAddress() string { @@ -68256,6 +70871,20 @@ func (x *InterconnectLocation) GetAvailabilityZone() string { return "" } +func (x *InterconnectLocation) GetAvailableFeatures() []string { + if x != nil { + return x.AvailableFeatures + } + return nil +} + +func (x *InterconnectLocation) GetAvailableLinkTypes() []string { + if x != nil { + return x.AvailableLinkTypes + } + return nil +} + func (x *InterconnectLocation) GetCity() string { if x != nil && x.City != nil { return *x.City @@ -68377,7 +71006,7 @@ type InterconnectLocationList struct { func (x *InterconnectLocationList) Reset() { *x = InterconnectLocationList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[641] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[658] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68390,7 +71019,7 @@ func (x *InterconnectLocationList) String() string { func (*InterconnectLocationList) ProtoMessage() {} func (x *InterconnectLocationList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[641] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[658] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68403,7 +71032,7 @@ func (x *InterconnectLocationList) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectLocationList.ProtoReflect.Descriptor instead. func (*InterconnectLocationList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{641} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{658} } func (x *InterconnectLocationList) GetId() string { @@ -68466,7 +71095,7 @@ type InterconnectLocationRegionInfo struct { func (x *InterconnectLocationRegionInfo) Reset() { *x = InterconnectLocationRegionInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[642] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[659] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68479,7 +71108,7 @@ func (x *InterconnectLocationRegionInfo) String() string { func (*InterconnectLocationRegionInfo) ProtoMessage() {} func (x *InterconnectLocationRegionInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[642] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[659] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68492,7 +71121,7 @@ func (x *InterconnectLocationRegionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectLocationRegionInfo.ProtoReflect.Descriptor instead. func (*InterconnectLocationRegionInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{642} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{659} } func (x *InterconnectLocationRegionInfo) GetExpectedRttMs() int64 { @@ -68516,6 +71145,247 @@ func (x *InterconnectLocationRegionInfo) GetRegion() string { return "" } +// Configuration information for enabling Media Access Control security (MACsec) on this Cloud Interconnect connection between Google and your on-premises router. +type InterconnectMacsec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If set to true, the Interconnect connection is configured with a should-secure MACsec security policy, that allows the Google router to fallback to cleartext traffic if the MKA session cannot be established. By default, the Interconnect connection is configured with a must-secure security policy that drops all traffic if the MKA session cannot be established with your router. + FailOpen *bool `protobuf:"varint,532597451,opt,name=fail_open,json=failOpen,proto3,oneof" json:"fail_open,omitempty"` + // Required. A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link. + PreSharedKeys []*InterconnectMacsecPreSharedKey `protobuf:"bytes,420308466,rep,name=pre_shared_keys,json=preSharedKeys,proto3" json:"pre_shared_keys,omitempty"` +} + +func (x *InterconnectMacsec) Reset() { + *x = InterconnectMacsec{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[660] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterconnectMacsec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterconnectMacsec) ProtoMessage() {} + +func (x *InterconnectMacsec) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[660] + 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 InterconnectMacsec.ProtoReflect.Descriptor instead. +func (*InterconnectMacsec) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{660} +} + +func (x *InterconnectMacsec) GetFailOpen() bool { + if x != nil && x.FailOpen != nil { + return *x.FailOpen + } + return false +} + +func (x *InterconnectMacsec) GetPreSharedKeys() []*InterconnectMacsecPreSharedKey { + if x != nil { + return x.PreSharedKeys + } + return nil +} + +// MACsec configuration information for the Interconnect connection. Contains the generated Connectivity Association Key Name (CKN) and the key (CAK) for this Interconnect connection. +type InterconnectMacsecConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A keychain placeholder describing a set of named key objects along with their start times. A MACsec CKN/CAK is generated for each key in the key chain. Google router automatically picks the key with the most recent startTime when establishing or re-establishing a MACsec secure link. + PreSharedKeys []*InterconnectMacsecConfigPreSharedKey `protobuf:"bytes,420308466,rep,name=pre_shared_keys,json=preSharedKeys,proto3" json:"pre_shared_keys,omitempty"` +} + +func (x *InterconnectMacsecConfig) Reset() { + *x = InterconnectMacsecConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[661] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterconnectMacsecConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterconnectMacsecConfig) ProtoMessage() {} + +func (x *InterconnectMacsecConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[661] + 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 InterconnectMacsecConfig.ProtoReflect.Descriptor instead. +func (*InterconnectMacsecConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{661} +} + +func (x *InterconnectMacsecConfig) GetPreSharedKeys() []*InterconnectMacsecConfigPreSharedKey { + if x != nil { + return x.PreSharedKeys + } + return nil +} + +// Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode. +type InterconnectMacsecConfigPreSharedKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // An auto-generated Connectivity Association Key (CAK) for this key. + Cak *string `protobuf:"bytes,98253,opt,name=cak,proto3,oneof" json:"cak,omitempty"` + // An auto-generated Connectivity Association Key Name (CKN) for this key. + Ckn *string `protobuf:"bytes,98566,opt,name=ckn,proto3,oneof" json:"ckn,omitempty"` + // User provided name for this pre-shared key. + Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` + // User provided timestamp on or after which this key is valid. + StartTime *string `protobuf:"bytes,37467274,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` +} + +func (x *InterconnectMacsecConfigPreSharedKey) Reset() { + *x = InterconnectMacsecConfigPreSharedKey{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[662] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterconnectMacsecConfigPreSharedKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterconnectMacsecConfigPreSharedKey) ProtoMessage() {} + +func (x *InterconnectMacsecConfigPreSharedKey) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[662] + 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 InterconnectMacsecConfigPreSharedKey.ProtoReflect.Descriptor instead. +func (*InterconnectMacsecConfigPreSharedKey) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{662} +} + +func (x *InterconnectMacsecConfigPreSharedKey) GetCak() string { + if x != nil && x.Cak != nil { + return *x.Cak + } + return "" +} + +func (x *InterconnectMacsecConfigPreSharedKey) GetCkn() string { + if x != nil && x.Ckn != nil { + return *x.Ckn + } + return "" +} + +func (x *InterconnectMacsecConfigPreSharedKey) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *InterconnectMacsecConfigPreSharedKey) GetStartTime() string { + if x != nil && x.StartTime != nil { + return *x.StartTime + } + return "" +} + +// Describes a pre-shared key used to setup MACsec in static connectivity association key (CAK) mode. +type InterconnectMacsecPreSharedKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. A name for this pre-shared key. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` + // A RFC3339 timestamp on or after which the key is valid. startTime can be in the future. If the keychain has a single key, startTime can be omitted. If the keychain has multiple keys, startTime is mandatory for each key. The start times of keys must be in increasing order. The start times of two consecutive keys must be at least 6 hours apart. + StartTime *string `protobuf:"bytes,37467274,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` +} + +func (x *InterconnectMacsecPreSharedKey) Reset() { + *x = InterconnectMacsecPreSharedKey{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[663] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterconnectMacsecPreSharedKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterconnectMacsecPreSharedKey) ProtoMessage() {} + +func (x *InterconnectMacsecPreSharedKey) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[663] + 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 InterconnectMacsecPreSharedKey.ProtoReflect.Descriptor instead. +func (*InterconnectMacsecPreSharedKey) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{663} +} + +func (x *InterconnectMacsecPreSharedKey) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *InterconnectMacsecPreSharedKey) GetStartTime() string { + if x != nil && x.StartTime != nil { + return *x.StartTime + } + return "" +} + // Description of a planned outage on this Interconnect. type InterconnectOutageNotification struct { state protoimpl.MessageState @@ -68546,7 +71416,7 @@ type InterconnectOutageNotification struct { func (x *InterconnectOutageNotification) Reset() { *x = InterconnectOutageNotification{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[643] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[664] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68559,7 +71429,7 @@ func (x *InterconnectOutageNotification) String() string { func (*InterconnectOutageNotification) ProtoMessage() {} func (x *InterconnectOutageNotification) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[643] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[664] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68572,7 +71442,7 @@ func (x *InterconnectOutageNotification) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectOutageNotification.ProtoReflect.Descriptor instead. func (*InterconnectOutageNotification) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{643} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{664} } func (x *InterconnectOutageNotification) GetAffectedCircuits() []string { @@ -68685,7 +71555,7 @@ type InterconnectRemoteLocation struct { func (x *InterconnectRemoteLocation) Reset() { *x = InterconnectRemoteLocation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[644] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[665] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68698,7 +71568,7 @@ func (x *InterconnectRemoteLocation) String() string { func (*InterconnectRemoteLocation) ProtoMessage() {} func (x *InterconnectRemoteLocation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[644] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[665] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68711,7 +71581,7 @@ func (x *InterconnectRemoteLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectRemoteLocation.ProtoReflect.Descriptor instead. func (*InterconnectRemoteLocation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{644} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{665} } func (x *InterconnectRemoteLocation) GetAddress() string { @@ -68872,7 +71742,7 @@ type InterconnectRemoteLocationConstraints struct { func (x *InterconnectRemoteLocationConstraints) Reset() { *x = InterconnectRemoteLocationConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[645] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[666] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68885,7 +71755,7 @@ func (x *InterconnectRemoteLocationConstraints) String() string { func (*InterconnectRemoteLocationConstraints) ProtoMessage() {} func (x *InterconnectRemoteLocationConstraints) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[645] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[666] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68898,7 +71768,7 @@ func (x *InterconnectRemoteLocationConstraints) ProtoReflect() protoreflect.Mess // Deprecated: Use InterconnectRemoteLocationConstraints.ProtoReflect.Descriptor instead. func (*InterconnectRemoteLocationConstraints) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{645} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{666} } func (x *InterconnectRemoteLocationConstraints) GetPortPairRemoteLocation() string { @@ -68934,7 +71804,7 @@ type InterconnectRemoteLocationConstraintsSubnetLengthRange struct { func (x *InterconnectRemoteLocationConstraintsSubnetLengthRange) Reset() { *x = InterconnectRemoteLocationConstraintsSubnetLengthRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[646] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[667] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -68947,7 +71817,7 @@ func (x *InterconnectRemoteLocationConstraintsSubnetLengthRange) String() string func (*InterconnectRemoteLocationConstraintsSubnetLengthRange) ProtoMessage() {} func (x *InterconnectRemoteLocationConstraintsSubnetLengthRange) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[646] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[667] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -68960,7 +71830,7 @@ func (x *InterconnectRemoteLocationConstraintsSubnetLengthRange) ProtoReflect() // Deprecated: Use InterconnectRemoteLocationConstraintsSubnetLengthRange.ProtoReflect.Descriptor instead. func (*InterconnectRemoteLocationConstraintsSubnetLengthRange) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{646} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{667} } func (x *InterconnectRemoteLocationConstraintsSubnetLengthRange) GetMax() int32 { @@ -69000,7 +71870,7 @@ type InterconnectRemoteLocationList struct { func (x *InterconnectRemoteLocationList) Reset() { *x = InterconnectRemoteLocationList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[647] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[668] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69013,7 +71883,7 @@ func (x *InterconnectRemoteLocationList) String() string { func (*InterconnectRemoteLocationList) ProtoMessage() {} func (x *InterconnectRemoteLocationList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[647] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[668] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69026,7 +71896,7 @@ func (x *InterconnectRemoteLocationList) ProtoReflect() protoreflect.Message { // Deprecated: Use InterconnectRemoteLocationList.ProtoReflect.Descriptor instead. func (*InterconnectRemoteLocationList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{647} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{668} } func (x *InterconnectRemoteLocationList) GetId() string { @@ -69083,7 +71953,7 @@ type InterconnectRemoteLocationPermittedConnections struct { func (x *InterconnectRemoteLocationPermittedConnections) Reset() { *x = InterconnectRemoteLocationPermittedConnections{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[648] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[669] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69096,7 +71966,7 @@ func (x *InterconnectRemoteLocationPermittedConnections) String() string { func (*InterconnectRemoteLocationPermittedConnections) ProtoMessage() {} func (x *InterconnectRemoteLocationPermittedConnections) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[648] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[669] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69109,7 +71979,7 @@ func (x *InterconnectRemoteLocationPermittedConnections) ProtoReflect() protoref // Deprecated: Use InterconnectRemoteLocationPermittedConnections.ProtoReflect.Descriptor instead. func (*InterconnectRemoteLocationPermittedConnections) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{648} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{669} } func (x *InterconnectRemoteLocationPermittedConnections) GetInterconnectLocation() string { @@ -69131,7 +72001,7 @@ type InterconnectsGetDiagnosticsResponse struct { func (x *InterconnectsGetDiagnosticsResponse) Reset() { *x = InterconnectsGetDiagnosticsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[649] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[670] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69144,7 +72014,7 @@ func (x *InterconnectsGetDiagnosticsResponse) String() string { func (*InterconnectsGetDiagnosticsResponse) ProtoMessage() {} func (x *InterconnectsGetDiagnosticsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[649] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[670] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69157,7 +72027,7 @@ func (x *InterconnectsGetDiagnosticsResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use InterconnectsGetDiagnosticsResponse.ProtoReflect.Descriptor instead. func (*InterconnectsGetDiagnosticsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{649} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{670} } func (x *InterconnectsGetDiagnosticsResponse) GetResult() *InterconnectDiagnostics { @@ -69167,6 +72037,63 @@ func (x *InterconnectsGetDiagnosticsResponse) GetResult() *InterconnectDiagnosti return nil } +// Response for the InterconnectsGetMacsecConfigRequest. +type InterconnectsGetMacsecConfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // end_interface: MixerGetResponseWithEtagBuilder + Etag *string `protobuf:"bytes,3123477,opt,name=etag,proto3,oneof" json:"etag,omitempty"` + Result *InterconnectMacsecConfig `protobuf:"bytes,139315229,opt,name=result,proto3,oneof" json:"result,omitempty"` +} + +func (x *InterconnectsGetMacsecConfigResponse) Reset() { + *x = InterconnectsGetMacsecConfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[671] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InterconnectsGetMacsecConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InterconnectsGetMacsecConfigResponse) ProtoMessage() {} + +func (x *InterconnectsGetMacsecConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[671] + 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 InterconnectsGetMacsecConfigResponse.ProtoReflect.Descriptor instead. +func (*InterconnectsGetMacsecConfigResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{671} +} + +func (x *InterconnectsGetMacsecConfigResponse) GetEtag() string { + if x != nil && x.Etag != nil { + return *x.Etag + } + return "" +} + +func (x *InterconnectsGetMacsecConfigResponse) GetResult() *InterconnectMacsecConfig { + if x != nil { + return x.Result + } + return nil +} + // A request message for UrlMaps.InvalidateCache. See the method description for details. type InvalidateCacheUrlMapRequest struct { state protoimpl.MessageState @@ -69186,7 +72113,7 @@ type InvalidateCacheUrlMapRequest struct { func (x *InvalidateCacheUrlMapRequest) Reset() { *x = InvalidateCacheUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[650] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[672] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69199,7 +72126,7 @@ func (x *InvalidateCacheUrlMapRequest) String() string { func (*InvalidateCacheUrlMapRequest) ProtoMessage() {} func (x *InvalidateCacheUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[650] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[672] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69212,7 +72139,7 @@ func (x *InvalidateCacheUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvalidateCacheUrlMapRequest.ProtoReflect.Descriptor instead. func (*InvalidateCacheUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{650} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{672} } func (x *InvalidateCacheUrlMapRequest) GetCacheInvalidationRuleResource() *CacheInvalidationRule { @@ -69258,7 +72185,7 @@ type Items struct { func (x *Items) Reset() { *x = Items{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[651] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[673] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69271,7 +72198,7 @@ func (x *Items) String() string { func (*Items) ProtoMessage() {} func (x *Items) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[651] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[673] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69284,7 +72211,7 @@ func (x *Items) ProtoReflect() protoreflect.Message { // Deprecated: Use Items.ProtoReflect.Descriptor instead. func (*Items) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{651} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{673} } func (x *Items) GetKey() string { @@ -69331,7 +72258,7 @@ type License struct { func (x *License) Reset() { *x = License{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[652] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[674] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69344,7 +72271,7 @@ func (x *License) String() string { func (*License) ProtoMessage() {} func (x *License) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[652] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[674] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69357,7 +72284,7 @@ func (x *License) ProtoReflect() protoreflect.Message { // Deprecated: Use License.ProtoReflect.Descriptor instead. func (*License) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{652} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{674} } func (x *License) GetChargesUseFee() bool { @@ -69460,7 +72387,7 @@ type LicenseCode struct { func (x *LicenseCode) Reset() { *x = LicenseCode{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[653] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[675] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69473,7 +72400,7 @@ func (x *LicenseCode) String() string { func (*LicenseCode) ProtoMessage() {} func (x *LicenseCode) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[653] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[675] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69486,7 +72413,7 @@ func (x *LicenseCode) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseCode.ProtoReflect.Descriptor instead. func (*LicenseCode) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{653} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{675} } func (x *LicenseCode) GetCreationTimestamp() string { @@ -69566,7 +72493,7 @@ type LicenseCodeLicenseAlias struct { func (x *LicenseCodeLicenseAlias) Reset() { *x = LicenseCodeLicenseAlias{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[654] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[676] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69579,7 +72506,7 @@ func (x *LicenseCodeLicenseAlias) String() string { func (*LicenseCodeLicenseAlias) ProtoMessage() {} func (x *LicenseCodeLicenseAlias) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[654] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[676] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69592,7 +72519,7 @@ func (x *LicenseCodeLicenseAlias) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseCodeLicenseAlias.ProtoReflect.Descriptor instead. func (*LicenseCodeLicenseAlias) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{654} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{676} } func (x *LicenseCodeLicenseAlias) GetDescription() string { @@ -69626,7 +72553,7 @@ type LicenseResourceCommitment struct { func (x *LicenseResourceCommitment) Reset() { *x = LicenseResourceCommitment{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[655] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[677] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69639,7 +72566,7 @@ func (x *LicenseResourceCommitment) String() string { func (*LicenseResourceCommitment) ProtoMessage() {} func (x *LicenseResourceCommitment) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[655] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[677] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69652,7 +72579,7 @@ func (x *LicenseResourceCommitment) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseResourceCommitment.ProtoReflect.Descriptor instead. func (*LicenseResourceCommitment) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{655} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{677} } func (x *LicenseResourceCommitment) GetAmount() int64 { @@ -69690,7 +72617,7 @@ type LicenseResourceRequirements struct { func (x *LicenseResourceRequirements) Reset() { *x = LicenseResourceRequirements{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[656] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[678] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69703,7 +72630,7 @@ func (x *LicenseResourceRequirements) String() string { func (*LicenseResourceRequirements) ProtoMessage() {} func (x *LicenseResourceRequirements) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[656] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[678] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69716,7 +72643,7 @@ func (x *LicenseResourceRequirements) ProtoReflect() protoreflect.Message { // Deprecated: Use LicenseResourceRequirements.ProtoReflect.Descriptor instead. func (*LicenseResourceRequirements) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{656} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{678} } func (x *LicenseResourceRequirements) GetMinGuestCpuCount() int32 { @@ -69753,7 +72680,7 @@ type LicensesListResponse struct { func (x *LicensesListResponse) Reset() { *x = LicensesListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[657] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[679] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69766,7 +72693,7 @@ func (x *LicensesListResponse) String() string { func (*LicensesListResponse) ProtoMessage() {} func (x *LicensesListResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[657] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[679] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69779,7 +72706,7 @@ func (x *LicensesListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LicensesListResponse.ProtoReflect.Descriptor instead. func (*LicensesListResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{657} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{679} } func (x *LicensesListResponse) GetId() string { @@ -69823,7 +72750,7 @@ type ListAcceleratorTypesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -69842,7 +72769,7 @@ type ListAcceleratorTypesRequest struct { func (x *ListAcceleratorTypesRequest) Reset() { *x = ListAcceleratorTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[658] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[680] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69855,7 +72782,7 @@ func (x *ListAcceleratorTypesRequest) String() string { func (*ListAcceleratorTypesRequest) ProtoMessage() {} func (x *ListAcceleratorTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[658] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[680] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69868,7 +72795,7 @@ func (x *ListAcceleratorTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAcceleratorTypesRequest.ProtoReflect.Descriptor instead. func (*ListAcceleratorTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{658} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{680} } func (x *ListAcceleratorTypesRequest) GetFilter() string { @@ -69926,7 +72853,7 @@ type ListAddressesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -69945,7 +72872,7 @@ type ListAddressesRequest struct { func (x *ListAddressesRequest) Reset() { *x = ListAddressesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[659] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[681] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -69958,7 +72885,7 @@ func (x *ListAddressesRequest) String() string { func (*ListAddressesRequest) ProtoMessage() {} func (x *ListAddressesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[659] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[681] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -69971,7 +72898,7 @@ func (x *ListAddressesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAddressesRequest.ProtoReflect.Descriptor instead. func (*ListAddressesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{659} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{681} } func (x *ListAddressesRequest) GetFilter() string { @@ -70036,7 +72963,7 @@ type ListAssociationsFirewallPolicyRequest struct { func (x *ListAssociationsFirewallPolicyRequest) Reset() { *x = ListAssociationsFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[660] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[682] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70049,7 +72976,7 @@ func (x *ListAssociationsFirewallPolicyRequest) String() string { func (*ListAssociationsFirewallPolicyRequest) ProtoMessage() {} func (x *ListAssociationsFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[660] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[682] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70062,7 +72989,7 @@ func (x *ListAssociationsFirewallPolicyRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use ListAssociationsFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*ListAssociationsFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{660} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{682} } func (x *ListAssociationsFirewallPolicyRequest) GetTargetResource() string { @@ -70078,7 +73005,7 @@ type ListAutoscalersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -70097,7 +73024,7 @@ type ListAutoscalersRequest struct { func (x *ListAutoscalersRequest) Reset() { *x = ListAutoscalersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[661] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[683] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70110,7 +73037,7 @@ func (x *ListAutoscalersRequest) String() string { func (*ListAutoscalersRequest) ProtoMessage() {} func (x *ListAutoscalersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[661] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[683] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70123,7 +73050,7 @@ func (x *ListAutoscalersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAutoscalersRequest.ProtoReflect.Descriptor instead. func (*ListAutoscalersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{661} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{683} } func (x *ListAutoscalersRequest) GetFilter() string { @@ -70181,7 +73108,7 @@ type ListAvailableFeaturesRegionSslPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -70200,7 +73127,7 @@ type ListAvailableFeaturesRegionSslPoliciesRequest struct { func (x *ListAvailableFeaturesRegionSslPoliciesRequest) Reset() { *x = ListAvailableFeaturesRegionSslPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[662] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[684] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70213,7 +73140,7 @@ func (x *ListAvailableFeaturesRegionSslPoliciesRequest) String() string { func (*ListAvailableFeaturesRegionSslPoliciesRequest) ProtoMessage() {} func (x *ListAvailableFeaturesRegionSslPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[662] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[684] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70226,7 +73153,7 @@ func (x *ListAvailableFeaturesRegionSslPoliciesRequest) ProtoReflect() protorefl // Deprecated: Use ListAvailableFeaturesRegionSslPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListAvailableFeaturesRegionSslPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{662} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{684} } func (x *ListAvailableFeaturesRegionSslPoliciesRequest) GetFilter() string { @@ -70284,7 +73211,7 @@ type ListAvailableFeaturesSslPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -70301,7 +73228,7 @@ type ListAvailableFeaturesSslPoliciesRequest struct { func (x *ListAvailableFeaturesSslPoliciesRequest) Reset() { *x = ListAvailableFeaturesSslPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[663] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[685] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70314,7 +73241,7 @@ func (x *ListAvailableFeaturesSslPoliciesRequest) String() string { func (*ListAvailableFeaturesSslPoliciesRequest) ProtoMessage() {} func (x *ListAvailableFeaturesSslPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[663] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[685] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70327,7 +73254,7 @@ func (x *ListAvailableFeaturesSslPoliciesRequest) ProtoReflect() protoreflect.Me // Deprecated: Use ListAvailableFeaturesSslPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListAvailableFeaturesSslPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{663} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{685} } func (x *ListAvailableFeaturesSslPoliciesRequest) GetFilter() string { @@ -70378,7 +73305,7 @@ type ListBackendBucketsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -70395,7 +73322,7 @@ type ListBackendBucketsRequest struct { func (x *ListBackendBucketsRequest) Reset() { *x = ListBackendBucketsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[664] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[686] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70408,7 +73335,7 @@ func (x *ListBackendBucketsRequest) String() string { func (*ListBackendBucketsRequest) ProtoMessage() {} func (x *ListBackendBucketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[664] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[686] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70421,7 +73348,7 @@ func (x *ListBackendBucketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBackendBucketsRequest.ProtoReflect.Descriptor instead. func (*ListBackendBucketsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{664} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{686} } func (x *ListBackendBucketsRequest) GetFilter() string { @@ -70472,7 +73399,7 @@ type ListBackendServicesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -70489,7 +73416,7 @@ type ListBackendServicesRequest struct { func (x *ListBackendServicesRequest) Reset() { *x = ListBackendServicesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[665] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[687] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70502,7 +73429,7 @@ func (x *ListBackendServicesRequest) String() string { func (*ListBackendServicesRequest) ProtoMessage() {} func (x *ListBackendServicesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[665] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[687] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70515,7 +73442,7 @@ func (x *ListBackendServicesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListBackendServicesRequest.ProtoReflect.Descriptor instead. func (*ListBackendServicesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{665} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{687} } func (x *ListBackendServicesRequest) GetFilter() string { @@ -70566,7 +73493,7 @@ type ListDiskTypesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -70585,7 +73512,7 @@ type ListDiskTypesRequest struct { func (x *ListDiskTypesRequest) Reset() { *x = ListDiskTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[666] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[688] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70598,7 +73525,7 @@ func (x *ListDiskTypesRequest) String() string { func (*ListDiskTypesRequest) ProtoMessage() {} func (x *ListDiskTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[666] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[688] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70611,7 +73538,7 @@ func (x *ListDiskTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDiskTypesRequest.ProtoReflect.Descriptor instead. func (*ListDiskTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{666} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{688} } func (x *ListDiskTypesRequest) GetFilter() string { @@ -70669,7 +73596,7 @@ type ListDisksRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -70688,7 +73615,7 @@ type ListDisksRequest struct { func (x *ListDisksRequest) Reset() { *x = ListDisksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[667] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[689] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70701,7 +73628,7 @@ func (x *ListDisksRequest) String() string { func (*ListDisksRequest) ProtoMessage() {} func (x *ListDisksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[667] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[689] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70714,7 +73641,7 @@ func (x *ListDisksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDisksRequest.ProtoReflect.Descriptor instead. func (*ListDisksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{667} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{689} } func (x *ListDisksRequest) GetFilter() string { @@ -70772,7 +73699,7 @@ type ListErrorsInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}. InstanceGroupManager string `protobuf:"bytes,249363395,opt,name=instance_group_manager,json=instanceGroupManager,proto3" json:"instance_group_manager,omitempty"` @@ -70793,7 +73720,7 @@ type ListErrorsInstanceGroupManagersRequest struct { func (x *ListErrorsInstanceGroupManagersRequest) Reset() { *x = ListErrorsInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[668] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[690] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70806,7 +73733,7 @@ func (x *ListErrorsInstanceGroupManagersRequest) String() string { func (*ListErrorsInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListErrorsInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[668] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[690] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70819,7 +73746,7 @@ func (x *ListErrorsInstanceGroupManagersRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListErrorsInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListErrorsInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{668} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{690} } func (x *ListErrorsInstanceGroupManagersRequest) GetFilter() string { @@ -70884,7 +73811,7 @@ type ListErrorsRegionInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}. InstanceGroupManager string `protobuf:"bytes,249363395,opt,name=instance_group_manager,json=instanceGroupManager,proto3" json:"instance_group_manager,omitempty"` @@ -70905,7 +73832,7 @@ type ListErrorsRegionInstanceGroupManagersRequest struct { func (x *ListErrorsRegionInstanceGroupManagersRequest) Reset() { *x = ListErrorsRegionInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[669] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[691] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -70918,7 +73845,7 @@ func (x *ListErrorsRegionInstanceGroupManagersRequest) String() string { func (*ListErrorsRegionInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListErrorsRegionInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[669] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[691] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -70931,7 +73858,7 @@ func (x *ListErrorsRegionInstanceGroupManagersRequest) ProtoReflect() protorefle // Deprecated: Use ListErrorsRegionInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListErrorsRegionInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{669} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{691} } func (x *ListErrorsRegionInstanceGroupManagersRequest) GetFilter() string { @@ -70996,7 +73923,7 @@ type ListExternalVpnGatewaysRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71013,7 +73940,7 @@ type ListExternalVpnGatewaysRequest struct { func (x *ListExternalVpnGatewaysRequest) Reset() { *x = ListExternalVpnGatewaysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[670] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[692] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71026,7 +73953,7 @@ func (x *ListExternalVpnGatewaysRequest) String() string { func (*ListExternalVpnGatewaysRequest) ProtoMessage() {} func (x *ListExternalVpnGatewaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[670] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[692] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71039,7 +73966,7 @@ func (x *ListExternalVpnGatewaysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListExternalVpnGatewaysRequest.ProtoReflect.Descriptor instead. func (*ListExternalVpnGatewaysRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{670} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{692} } func (x *ListExternalVpnGatewaysRequest) GetFilter() string { @@ -71090,7 +74017,7 @@ type ListFirewallPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71107,7 +74034,7 @@ type ListFirewallPoliciesRequest struct { func (x *ListFirewallPoliciesRequest) Reset() { *x = ListFirewallPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[671] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[693] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71120,7 +74047,7 @@ func (x *ListFirewallPoliciesRequest) String() string { func (*ListFirewallPoliciesRequest) ProtoMessage() {} func (x *ListFirewallPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[671] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[693] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71133,7 +74060,7 @@ func (x *ListFirewallPoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFirewallPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListFirewallPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{671} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{693} } func (x *ListFirewallPoliciesRequest) GetFilter() string { @@ -71184,7 +74111,7 @@ type ListFirewallsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71201,7 +74128,7 @@ type ListFirewallsRequest struct { func (x *ListFirewallsRequest) Reset() { *x = ListFirewallsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[672] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[694] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71214,7 +74141,7 @@ func (x *ListFirewallsRequest) String() string { func (*ListFirewallsRequest) ProtoMessage() {} func (x *ListFirewallsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[672] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[694] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71227,7 +74154,7 @@ func (x *ListFirewallsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListFirewallsRequest.ProtoReflect.Descriptor instead. func (*ListFirewallsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{672} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{694} } func (x *ListFirewallsRequest) GetFilter() string { @@ -71278,7 +74205,7 @@ type ListForwardingRulesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71297,7 +74224,7 @@ type ListForwardingRulesRequest struct { func (x *ListForwardingRulesRequest) Reset() { *x = ListForwardingRulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[673] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[695] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71310,7 +74237,7 @@ func (x *ListForwardingRulesRequest) String() string { func (*ListForwardingRulesRequest) ProtoMessage() {} func (x *ListForwardingRulesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[673] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[695] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71323,7 +74250,7 @@ func (x *ListForwardingRulesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListForwardingRulesRequest.ProtoReflect.Descriptor instead. func (*ListForwardingRulesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{673} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{695} } func (x *ListForwardingRulesRequest) GetFilter() string { @@ -71381,7 +74308,7 @@ type ListGlobalAddressesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71398,7 +74325,7 @@ type ListGlobalAddressesRequest struct { func (x *ListGlobalAddressesRequest) Reset() { *x = ListGlobalAddressesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[674] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[696] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71411,7 +74338,7 @@ func (x *ListGlobalAddressesRequest) String() string { func (*ListGlobalAddressesRequest) ProtoMessage() {} func (x *ListGlobalAddressesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[674] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[696] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71424,7 +74351,7 @@ func (x *ListGlobalAddressesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGlobalAddressesRequest.ProtoReflect.Descriptor instead. func (*ListGlobalAddressesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{674} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{696} } func (x *ListGlobalAddressesRequest) GetFilter() string { @@ -71475,7 +74402,7 @@ type ListGlobalForwardingRulesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71492,7 +74419,7 @@ type ListGlobalForwardingRulesRequest struct { func (x *ListGlobalForwardingRulesRequest) Reset() { *x = ListGlobalForwardingRulesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[675] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[697] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71505,7 +74432,7 @@ func (x *ListGlobalForwardingRulesRequest) String() string { func (*ListGlobalForwardingRulesRequest) ProtoMessage() {} func (x *ListGlobalForwardingRulesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[675] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[697] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71518,7 +74445,7 @@ func (x *ListGlobalForwardingRulesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGlobalForwardingRulesRequest.ProtoReflect.Descriptor instead. func (*ListGlobalForwardingRulesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{675} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{697} } func (x *ListGlobalForwardingRulesRequest) GetFilter() string { @@ -71569,7 +74496,7 @@ type ListGlobalNetworkEndpointGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71586,7 +74513,7 @@ type ListGlobalNetworkEndpointGroupsRequest struct { func (x *ListGlobalNetworkEndpointGroupsRequest) Reset() { *x = ListGlobalNetworkEndpointGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[676] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[698] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71599,7 +74526,7 @@ func (x *ListGlobalNetworkEndpointGroupsRequest) String() string { func (*ListGlobalNetworkEndpointGroupsRequest) ProtoMessage() {} func (x *ListGlobalNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[676] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[698] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71612,7 +74539,7 @@ func (x *ListGlobalNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListGlobalNetworkEndpointGroupsRequest.ProtoReflect.Descriptor instead. func (*ListGlobalNetworkEndpointGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{676} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{698} } func (x *ListGlobalNetworkEndpointGroupsRequest) GetFilter() string { @@ -71663,7 +74590,7 @@ type ListGlobalOperationsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71680,7 +74607,7 @@ type ListGlobalOperationsRequest struct { func (x *ListGlobalOperationsRequest) Reset() { *x = ListGlobalOperationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[677] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[699] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71693,7 +74620,7 @@ func (x *ListGlobalOperationsRequest) String() string { func (*ListGlobalOperationsRequest) ProtoMessage() {} func (x *ListGlobalOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[677] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[699] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71706,7 +74633,7 @@ func (x *ListGlobalOperationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGlobalOperationsRequest.ProtoReflect.Descriptor instead. func (*ListGlobalOperationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{677} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{699} } func (x *ListGlobalOperationsRequest) GetFilter() string { @@ -71757,7 +74684,7 @@ type ListGlobalOrganizationOperationsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71774,7 +74701,7 @@ type ListGlobalOrganizationOperationsRequest struct { func (x *ListGlobalOrganizationOperationsRequest) Reset() { *x = ListGlobalOrganizationOperationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[678] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[700] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71787,7 +74714,7 @@ func (x *ListGlobalOrganizationOperationsRequest) String() string { func (*ListGlobalOrganizationOperationsRequest) ProtoMessage() {} func (x *ListGlobalOrganizationOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[678] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[700] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71800,7 +74727,7 @@ func (x *ListGlobalOrganizationOperationsRequest) ProtoReflect() protoreflect.Me // Deprecated: Use ListGlobalOrganizationOperationsRequest.ProtoReflect.Descriptor instead. func (*ListGlobalOrganizationOperationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{678} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{700} } func (x *ListGlobalOrganizationOperationsRequest) GetFilter() string { @@ -71851,7 +74778,7 @@ type ListGlobalPublicDelegatedPrefixesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71868,7 +74795,7 @@ type ListGlobalPublicDelegatedPrefixesRequest struct { func (x *ListGlobalPublicDelegatedPrefixesRequest) Reset() { *x = ListGlobalPublicDelegatedPrefixesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[679] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[701] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71881,7 +74808,7 @@ func (x *ListGlobalPublicDelegatedPrefixesRequest) String() string { func (*ListGlobalPublicDelegatedPrefixesRequest) ProtoMessage() {} func (x *ListGlobalPublicDelegatedPrefixesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[679] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[701] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71894,7 +74821,7 @@ func (x *ListGlobalPublicDelegatedPrefixesRequest) ProtoReflect() protoreflect.M // Deprecated: Use ListGlobalPublicDelegatedPrefixesRequest.ProtoReflect.Descriptor instead. func (*ListGlobalPublicDelegatedPrefixesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{679} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{701} } func (x *ListGlobalPublicDelegatedPrefixesRequest) GetFilter() string { @@ -71945,7 +74872,7 @@ type ListHealthChecksRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -71962,7 +74889,7 @@ type ListHealthChecksRequest struct { func (x *ListHealthChecksRequest) Reset() { *x = ListHealthChecksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[680] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[702] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -71975,7 +74902,7 @@ func (x *ListHealthChecksRequest) String() string { func (*ListHealthChecksRequest) ProtoMessage() {} func (x *ListHealthChecksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[680] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[702] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -71988,7 +74915,7 @@ func (x *ListHealthChecksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListHealthChecksRequest.ProtoReflect.Descriptor instead. func (*ListHealthChecksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{680} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{702} } func (x *ListHealthChecksRequest) GetFilter() string { @@ -72039,7 +74966,7 @@ type ListImagesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72056,7 +74983,7 @@ type ListImagesRequest struct { func (x *ListImagesRequest) Reset() { *x = ListImagesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[681] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[703] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72069,7 +74996,7 @@ func (x *ListImagesRequest) String() string { func (*ListImagesRequest) ProtoMessage() {} func (x *ListImagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[681] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[703] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72082,7 +75009,7 @@ func (x *ListImagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListImagesRequest.ProtoReflect.Descriptor instead. func (*ListImagesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{681} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{703} } func (x *ListImagesRequest) GetFilter() string { @@ -72133,7 +75060,7 @@ type ListInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72152,7 +75079,7 @@ type ListInstanceGroupManagersRequest struct { func (x *ListInstanceGroupManagersRequest) Reset() { *x = ListInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[682] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[704] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72165,7 +75092,7 @@ func (x *ListInstanceGroupManagersRequest) String() string { func (*ListInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[682] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[704] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72178,7 +75105,7 @@ func (x *ListInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{682} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{704} } func (x *ListInstanceGroupManagersRequest) GetFilter() string { @@ -72236,7 +75163,7 @@ type ListInstanceGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72255,7 +75182,7 @@ type ListInstanceGroupsRequest struct { func (x *ListInstanceGroupsRequest) Reset() { *x = ListInstanceGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[683] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[705] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72268,7 +75195,7 @@ func (x *ListInstanceGroupsRequest) String() string { func (*ListInstanceGroupsRequest) ProtoMessage() {} func (x *ListInstanceGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[683] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[705] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72281,7 +75208,7 @@ func (x *ListInstanceGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInstanceGroupsRequest.ProtoReflect.Descriptor instead. func (*ListInstanceGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{683} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{705} } func (x *ListInstanceGroupsRequest) GetFilter() string { @@ -72339,7 +75266,7 @@ type ListInstanceTemplatesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72356,7 +75283,7 @@ type ListInstanceTemplatesRequest struct { func (x *ListInstanceTemplatesRequest) Reset() { *x = ListInstanceTemplatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[684] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[706] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72369,7 +75296,7 @@ func (x *ListInstanceTemplatesRequest) String() string { func (*ListInstanceTemplatesRequest) ProtoMessage() {} func (x *ListInstanceTemplatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[684] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[706] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72382,7 +75309,7 @@ func (x *ListInstanceTemplatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInstanceTemplatesRequest.ProtoReflect.Descriptor instead. func (*ListInstanceTemplatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{684} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{706} } func (x *ListInstanceTemplatesRequest) GetFilter() string { @@ -72433,7 +75360,7 @@ type ListInstancesInstanceGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The name of the instance group from which you want to generate a list of included instances. InstanceGroup string `protobuf:"bytes,81095253,opt,name=instance_group,json=instanceGroup,proto3" json:"instance_group,omitempty"` @@ -72456,7 +75383,7 @@ type ListInstancesInstanceGroupsRequest struct { func (x *ListInstancesInstanceGroupsRequest) Reset() { *x = ListInstancesInstanceGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[685] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[707] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72469,7 +75396,7 @@ func (x *ListInstancesInstanceGroupsRequest) String() string { func (*ListInstancesInstanceGroupsRequest) ProtoMessage() {} func (x *ListInstancesInstanceGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[685] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[707] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72482,7 +75409,7 @@ func (x *ListInstancesInstanceGroupsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListInstancesInstanceGroupsRequest.ProtoReflect.Descriptor instead. func (*ListInstancesInstanceGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{685} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{707} } func (x *ListInstancesInstanceGroupsRequest) GetFilter() string { @@ -72554,7 +75481,7 @@ type ListInstancesRegionInstanceGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Name of the regional instance group for which we want to list the instances. InstanceGroup string `protobuf:"bytes,81095253,opt,name=instance_group,json=instanceGroup,proto3" json:"instance_group,omitempty"` @@ -72577,7 +75504,7 @@ type ListInstancesRegionInstanceGroupsRequest struct { func (x *ListInstancesRegionInstanceGroupsRequest) Reset() { *x = ListInstancesRegionInstanceGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[686] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[708] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72590,7 +75517,7 @@ func (x *ListInstancesRegionInstanceGroupsRequest) String() string { func (*ListInstancesRegionInstanceGroupsRequest) ProtoMessage() {} func (x *ListInstancesRegionInstanceGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[686] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[708] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72603,7 +75530,7 @@ func (x *ListInstancesRegionInstanceGroupsRequest) ProtoReflect() protoreflect.M // Deprecated: Use ListInstancesRegionInstanceGroupsRequest.ProtoReflect.Descriptor instead. func (*ListInstancesRegionInstanceGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{686} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{708} } func (x *ListInstancesRegionInstanceGroupsRequest) GetFilter() string { @@ -72675,7 +75602,7 @@ type ListInstancesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72694,7 +75621,7 @@ type ListInstancesRequest struct { func (x *ListInstancesRequest) Reset() { *x = ListInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[687] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[709] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72707,7 +75634,7 @@ func (x *ListInstancesRequest) String() string { func (*ListInstancesRequest) ProtoMessage() {} func (x *ListInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[687] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[709] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72720,7 +75647,7 @@ func (x *ListInstancesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInstancesRequest.ProtoReflect.Descriptor instead. func (*ListInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{687} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{709} } func (x *ListInstancesRequest) GetFilter() string { @@ -72778,7 +75705,7 @@ type ListInterconnectAttachmentsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72797,7 +75724,7 @@ type ListInterconnectAttachmentsRequest struct { func (x *ListInterconnectAttachmentsRequest) Reset() { *x = ListInterconnectAttachmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[688] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[710] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72810,7 +75737,7 @@ func (x *ListInterconnectAttachmentsRequest) String() string { func (*ListInterconnectAttachmentsRequest) ProtoMessage() {} func (x *ListInterconnectAttachmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[688] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[710] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72823,7 +75750,7 @@ func (x *ListInterconnectAttachmentsRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListInterconnectAttachmentsRequest.ProtoReflect.Descriptor instead. func (*ListInterconnectAttachmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{688} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{710} } func (x *ListInterconnectAttachmentsRequest) GetFilter() string { @@ -72881,7 +75808,7 @@ type ListInterconnectLocationsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72898,7 +75825,7 @@ type ListInterconnectLocationsRequest struct { func (x *ListInterconnectLocationsRequest) Reset() { *x = ListInterconnectLocationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[689] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[711] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -72911,7 +75838,7 @@ func (x *ListInterconnectLocationsRequest) String() string { func (*ListInterconnectLocationsRequest) ProtoMessage() {} func (x *ListInterconnectLocationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[689] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[711] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -72924,7 +75851,7 @@ func (x *ListInterconnectLocationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInterconnectLocationsRequest.ProtoReflect.Descriptor instead. func (*ListInterconnectLocationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{689} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{711} } func (x *ListInterconnectLocationsRequest) GetFilter() string { @@ -72975,7 +75902,7 @@ type ListInterconnectRemoteLocationsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -72992,7 +75919,7 @@ type ListInterconnectRemoteLocationsRequest struct { func (x *ListInterconnectRemoteLocationsRequest) Reset() { *x = ListInterconnectRemoteLocationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[690] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[712] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73005,7 +75932,7 @@ func (x *ListInterconnectRemoteLocationsRequest) String() string { func (*ListInterconnectRemoteLocationsRequest) ProtoMessage() {} func (x *ListInterconnectRemoteLocationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[690] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[712] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73018,7 +75945,7 @@ func (x *ListInterconnectRemoteLocationsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListInterconnectRemoteLocationsRequest.ProtoReflect.Descriptor instead. func (*ListInterconnectRemoteLocationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{690} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{712} } func (x *ListInterconnectRemoteLocationsRequest) GetFilter() string { @@ -73069,7 +75996,7 @@ type ListInterconnectsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -73086,7 +76013,7 @@ type ListInterconnectsRequest struct { func (x *ListInterconnectsRequest) Reset() { *x = ListInterconnectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[691] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[713] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73099,7 +76026,7 @@ func (x *ListInterconnectsRequest) String() string { func (*ListInterconnectsRequest) ProtoMessage() {} func (x *ListInterconnectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[691] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[713] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73112,7 +76039,7 @@ func (x *ListInterconnectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListInterconnectsRequest.ProtoReflect.Descriptor instead. func (*ListInterconnectsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{691} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{713} } func (x *ListInterconnectsRequest) GetFilter() string { @@ -73163,7 +76090,7 @@ type ListLicensesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -73180,7 +76107,7 @@ type ListLicensesRequest struct { func (x *ListLicensesRequest) Reset() { *x = ListLicensesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[692] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[714] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73193,7 +76120,7 @@ func (x *ListLicensesRequest) String() string { func (*ListLicensesRequest) ProtoMessage() {} func (x *ListLicensesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[692] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[714] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73206,7 +76133,7 @@ func (x *ListLicensesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListLicensesRequest.ProtoReflect.Descriptor instead. func (*ListLicensesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{692} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{714} } func (x *ListLicensesRequest) GetFilter() string { @@ -73257,7 +76184,7 @@ type ListMachineImagesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -73274,7 +76201,7 @@ type ListMachineImagesRequest struct { func (x *ListMachineImagesRequest) Reset() { *x = ListMachineImagesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[693] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[715] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73287,7 +76214,7 @@ func (x *ListMachineImagesRequest) String() string { func (*ListMachineImagesRequest) ProtoMessage() {} func (x *ListMachineImagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[693] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[715] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73300,7 +76227,7 @@ func (x *ListMachineImagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMachineImagesRequest.ProtoReflect.Descriptor instead. func (*ListMachineImagesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{693} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{715} } func (x *ListMachineImagesRequest) GetFilter() string { @@ -73351,7 +76278,7 @@ type ListMachineTypesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -73370,7 +76297,7 @@ type ListMachineTypesRequest struct { func (x *ListMachineTypesRequest) Reset() { *x = ListMachineTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[694] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[716] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73383,7 +76310,7 @@ func (x *ListMachineTypesRequest) String() string { func (*ListMachineTypesRequest) ProtoMessage() {} func (x *ListMachineTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[694] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[716] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73396,7 +76323,7 @@ func (x *ListMachineTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMachineTypesRequest.ProtoReflect.Descriptor instead. func (*ListMachineTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{694} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{716} } func (x *ListMachineTypesRequest) GetFilter() string { @@ -73454,7 +76381,7 @@ type ListManagedInstancesInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The name of the managed instance group. InstanceGroupManager string `protobuf:"bytes,249363395,opt,name=instance_group_manager,json=instanceGroupManager,proto3" json:"instance_group_manager,omitempty"` @@ -73475,7 +76402,7 @@ type ListManagedInstancesInstanceGroupManagersRequest struct { func (x *ListManagedInstancesInstanceGroupManagersRequest) Reset() { *x = ListManagedInstancesInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[695] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[717] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73488,7 +76415,7 @@ func (x *ListManagedInstancesInstanceGroupManagersRequest) String() string { func (*ListManagedInstancesInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListManagedInstancesInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[695] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[717] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73501,7 +76428,7 @@ func (x *ListManagedInstancesInstanceGroupManagersRequest) ProtoReflect() protor // Deprecated: Use ListManagedInstancesInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListManagedInstancesInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{695} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{717} } func (x *ListManagedInstancesInstanceGroupManagersRequest) GetFilter() string { @@ -73566,7 +76493,7 @@ type ListManagedInstancesRegionInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The name of the managed instance group. InstanceGroupManager string `protobuf:"bytes,249363395,opt,name=instance_group_manager,json=instanceGroupManager,proto3" json:"instance_group_manager,omitempty"` @@ -73587,7 +76514,7 @@ type ListManagedInstancesRegionInstanceGroupManagersRequest struct { func (x *ListManagedInstancesRegionInstanceGroupManagersRequest) Reset() { *x = ListManagedInstancesRegionInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[696] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[718] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73600,7 +76527,7 @@ func (x *ListManagedInstancesRegionInstanceGroupManagersRequest) String() string func (*ListManagedInstancesRegionInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListManagedInstancesRegionInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[696] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[718] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73613,7 +76540,7 @@ func (x *ListManagedInstancesRegionInstanceGroupManagersRequest) ProtoReflect() // Deprecated: Use ListManagedInstancesRegionInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListManagedInstancesRegionInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{696} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{718} } func (x *ListManagedInstancesRegionInstanceGroupManagersRequest) GetFilter() string { @@ -73678,7 +76605,7 @@ type ListNetworkAttachmentsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -73697,7 +76624,7 @@ type ListNetworkAttachmentsRequest struct { func (x *ListNetworkAttachmentsRequest) Reset() { *x = ListNetworkAttachmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[697] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[719] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73710,7 +76637,7 @@ func (x *ListNetworkAttachmentsRequest) String() string { func (*ListNetworkAttachmentsRequest) ProtoMessage() {} func (x *ListNetworkAttachmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[697] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[719] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73723,7 +76650,7 @@ func (x *ListNetworkAttachmentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNetworkAttachmentsRequest.ProtoReflect.Descriptor instead. func (*ListNetworkAttachmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{697} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{719} } func (x *ListNetworkAttachmentsRequest) GetFilter() string { @@ -73781,7 +76708,7 @@ type ListNetworkEndpointGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -73800,7 +76727,7 @@ type ListNetworkEndpointGroupsRequest struct { func (x *ListNetworkEndpointGroupsRequest) Reset() { *x = ListNetworkEndpointGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[698] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[720] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73813,7 +76740,7 @@ func (x *ListNetworkEndpointGroupsRequest) String() string { func (*ListNetworkEndpointGroupsRequest) ProtoMessage() {} func (x *ListNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[698] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[720] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73826,7 +76753,7 @@ func (x *ListNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNetworkEndpointGroupsRequest.ProtoReflect.Descriptor instead. func (*ListNetworkEndpointGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{698} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{720} } func (x *ListNetworkEndpointGroupsRequest) GetFilter() string { @@ -73884,7 +76811,7 @@ type ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -73903,7 +76830,7 @@ type ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest struct { func (x *ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest) Reset() { *x = ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[699] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[721] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -73916,7 +76843,7 @@ func (x *ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest) String() string func (*ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest) ProtoMessage() {} func (x *ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[699] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[721] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -73929,7 +76856,7 @@ func (x *ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest) ProtoReflect() // Deprecated: Use ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest.ProtoReflect.Descriptor instead. func (*ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{699} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{721} } func (x *ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest) GetFilter() string { @@ -73987,7 +76914,7 @@ type ListNetworkEndpointsNetworkEndpointGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74010,7 +76937,7 @@ type ListNetworkEndpointsNetworkEndpointGroupsRequest struct { func (x *ListNetworkEndpointsNetworkEndpointGroupsRequest) Reset() { *x = ListNetworkEndpointsNetworkEndpointGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[700] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[722] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74023,7 +76950,7 @@ func (x *ListNetworkEndpointsNetworkEndpointGroupsRequest) String() string { func (*ListNetworkEndpointsNetworkEndpointGroupsRequest) ProtoMessage() {} func (x *ListNetworkEndpointsNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[700] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[722] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74036,7 +76963,7 @@ func (x *ListNetworkEndpointsNetworkEndpointGroupsRequest) ProtoReflect() protor // Deprecated: Use ListNetworkEndpointsNetworkEndpointGroupsRequest.ProtoReflect.Descriptor instead. func (*ListNetworkEndpointsNetworkEndpointGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{700} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{722} } func (x *ListNetworkEndpointsNetworkEndpointGroupsRequest) GetFilter() string { @@ -74102,13 +77029,125 @@ func (x *ListNetworkEndpointsNetworkEndpointGroupsRequest) GetZone() string { return "" } +// A request message for RegionNetworkEndpointGroups.ListNetworkEndpoints. See the method description for details. +type ListNetworkEndpointsRegionNetworkEndpointGroupsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` + // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` + // The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035. + NetworkEndpointGroup string `protobuf:"bytes,433907078,opt,name=network_endpoint_group,json=networkEndpointGroup,proto3" json:"network_endpoint_group,omitempty"` + // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + OrderBy *string `protobuf:"bytes,160562920,opt,name=order_by,json=orderBy,proto3,oneof" json:"order_by,omitempty"` + // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + PageToken *string `protobuf:"bytes,19994697,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the region where the network endpoint group is located. It should comply with RFC1035. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) Reset() { + *x = ListNetworkEndpointsRegionNetworkEndpointGroupsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[723] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) ProtoMessage() {} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[723] + 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 ListNetworkEndpointsRegionNetworkEndpointGroupsRequest.ProtoReflect.Descriptor instead. +func (*ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{723} +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetFilter() string { + if x != nil && x.Filter != nil { + return *x.Filter + } + return "" +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetMaxResults() uint32 { + if x != nil && x.MaxResults != nil { + return *x.MaxResults + } + return 0 +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetNetworkEndpointGroup() string { + if x != nil { + return x.NetworkEndpointGroup + } + return "" +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetOrderBy() string { + if x != nil && x.OrderBy != nil { + return *x.OrderBy + } + return "" +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetPageToken() string { + if x != nil && x.PageToken != nil { + return *x.PageToken + } + return "" +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) GetReturnPartialSuccess() bool { + if x != nil && x.ReturnPartialSuccess != nil { + return *x.ReturnPartialSuccess + } + return false +} + // A request message for NetworkFirewallPolicies.List. See the method description for details. type ListNetworkFirewallPoliciesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74125,7 +77164,7 @@ type ListNetworkFirewallPoliciesRequest struct { func (x *ListNetworkFirewallPoliciesRequest) Reset() { *x = ListNetworkFirewallPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[701] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[724] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74138,7 +77177,7 @@ func (x *ListNetworkFirewallPoliciesRequest) String() string { func (*ListNetworkFirewallPoliciesRequest) ProtoMessage() {} func (x *ListNetworkFirewallPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[701] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[724] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74151,7 +77190,7 @@ func (x *ListNetworkFirewallPoliciesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListNetworkFirewallPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListNetworkFirewallPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{701} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{724} } func (x *ListNetworkFirewallPoliciesRequest) GetFilter() string { @@ -74202,7 +77241,7 @@ type ListNetworksRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74219,7 +77258,7 @@ type ListNetworksRequest struct { func (x *ListNetworksRequest) Reset() { *x = ListNetworksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[702] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[725] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74232,7 +77271,7 @@ func (x *ListNetworksRequest) String() string { func (*ListNetworksRequest) ProtoMessage() {} func (x *ListNetworksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[702] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[725] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74245,7 +77284,7 @@ func (x *ListNetworksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNetworksRequest.ProtoReflect.Descriptor instead. func (*ListNetworksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{702} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{725} } func (x *ListNetworksRequest) GetFilter() string { @@ -74296,7 +77335,7 @@ type ListNodeGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74315,7 +77354,7 @@ type ListNodeGroupsRequest struct { func (x *ListNodeGroupsRequest) Reset() { *x = ListNodeGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[703] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[726] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74328,7 +77367,7 @@ func (x *ListNodeGroupsRequest) String() string { func (*ListNodeGroupsRequest) ProtoMessage() {} func (x *ListNodeGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[703] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[726] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74341,7 +77380,7 @@ func (x *ListNodeGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodeGroupsRequest.ProtoReflect.Descriptor instead. func (*ListNodeGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{703} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{726} } func (x *ListNodeGroupsRequest) GetFilter() string { @@ -74399,7 +77438,7 @@ type ListNodeTemplatesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74418,7 +77457,7 @@ type ListNodeTemplatesRequest struct { func (x *ListNodeTemplatesRequest) Reset() { *x = ListNodeTemplatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[704] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[727] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74431,7 +77470,7 @@ func (x *ListNodeTemplatesRequest) String() string { func (*ListNodeTemplatesRequest) ProtoMessage() {} func (x *ListNodeTemplatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[704] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[727] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74444,7 +77483,7 @@ func (x *ListNodeTemplatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodeTemplatesRequest.ProtoReflect.Descriptor instead. func (*ListNodeTemplatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{704} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{727} } func (x *ListNodeTemplatesRequest) GetFilter() string { @@ -74502,7 +77541,7 @@ type ListNodeTypesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74521,7 +77560,7 @@ type ListNodeTypesRequest struct { func (x *ListNodeTypesRequest) Reset() { *x = ListNodeTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[705] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[728] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74534,7 +77573,7 @@ func (x *ListNodeTypesRequest) String() string { func (*ListNodeTypesRequest) ProtoMessage() {} func (x *ListNodeTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[705] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[728] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74547,7 +77586,7 @@ func (x *ListNodeTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodeTypesRequest.ProtoReflect.Descriptor instead. func (*ListNodeTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{705} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{728} } func (x *ListNodeTypesRequest) GetFilter() string { @@ -74605,7 +77644,7 @@ type ListNodesNodeGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74626,7 +77665,7 @@ type ListNodesNodeGroupsRequest struct { func (x *ListNodesNodeGroupsRequest) Reset() { *x = ListNodesNodeGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[706] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[729] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74639,7 +77678,7 @@ func (x *ListNodesNodeGroupsRequest) String() string { func (*ListNodesNodeGroupsRequest) ProtoMessage() {} func (x *ListNodesNodeGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[706] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[729] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74652,7 +77691,7 @@ func (x *ListNodesNodeGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListNodesNodeGroupsRequest.ProtoReflect.Descriptor instead. func (*ListNodesNodeGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{706} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{729} } func (x *ListNodesNodeGroupsRequest) GetFilter() string { @@ -74717,7 +77756,7 @@ type ListPacketMirroringsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74736,7 +77775,7 @@ type ListPacketMirroringsRequest struct { func (x *ListPacketMirroringsRequest) Reset() { *x = ListPacketMirroringsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[707] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[730] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74749,7 +77788,7 @@ func (x *ListPacketMirroringsRequest) String() string { func (*ListPacketMirroringsRequest) ProtoMessage() {} func (x *ListPacketMirroringsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[707] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[730] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74762,7 +77801,7 @@ func (x *ListPacketMirroringsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPacketMirroringsRequest.ProtoReflect.Descriptor instead. func (*ListPacketMirroringsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{707} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{730} } func (x *ListPacketMirroringsRequest) GetFilter() string { @@ -74823,7 +77862,7 @@ type ListPeeringRoutesNetworksRequest struct { // The direction of the exchanged routes. // Check the Direction enum for the list of possible values. Direction *string `protobuf:"bytes,111150975,opt,name=direction,proto3,oneof" json:"direction,omitempty"` - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -74846,7 +77885,7 @@ type ListPeeringRoutesNetworksRequest struct { func (x *ListPeeringRoutesNetworksRequest) Reset() { *x = ListPeeringRoutesNetworksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[708] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[731] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74859,7 +77898,7 @@ func (x *ListPeeringRoutesNetworksRequest) String() string { func (*ListPeeringRoutesNetworksRequest) ProtoMessage() {} func (x *ListPeeringRoutesNetworksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[708] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[731] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74872,7 +77911,7 @@ func (x *ListPeeringRoutesNetworksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPeeringRoutesNetworksRequest.ProtoReflect.Descriptor instead. func (*ListPeeringRoutesNetworksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{708} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{731} } func (x *ListPeeringRoutesNetworksRequest) GetDirection() string { @@ -74951,7 +77990,7 @@ type ListPerInstanceConfigsInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The name of the managed instance group. It should conform to RFC1035. InstanceGroupManager string `protobuf:"bytes,249363395,opt,name=instance_group_manager,json=instanceGroupManager,proto3" json:"instance_group_manager,omitempty"` @@ -74972,7 +78011,7 @@ type ListPerInstanceConfigsInstanceGroupManagersRequest struct { func (x *ListPerInstanceConfigsInstanceGroupManagersRequest) Reset() { *x = ListPerInstanceConfigsInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[709] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[732] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -74985,7 +78024,7 @@ func (x *ListPerInstanceConfigsInstanceGroupManagersRequest) String() string { func (*ListPerInstanceConfigsInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListPerInstanceConfigsInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[709] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[732] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -74998,7 +78037,7 @@ func (x *ListPerInstanceConfigsInstanceGroupManagersRequest) ProtoReflect() prot // Deprecated: Use ListPerInstanceConfigsInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListPerInstanceConfigsInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{709} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{732} } func (x *ListPerInstanceConfigsInstanceGroupManagersRequest) GetFilter() string { @@ -75063,7 +78102,7 @@ type ListPerInstanceConfigsRegionInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The name of the managed instance group. It should conform to RFC1035. InstanceGroupManager string `protobuf:"bytes,249363395,opt,name=instance_group_manager,json=instanceGroupManager,proto3" json:"instance_group_manager,omitempty"` @@ -75084,7 +78123,7 @@ type ListPerInstanceConfigsRegionInstanceGroupManagersRequest struct { func (x *ListPerInstanceConfigsRegionInstanceGroupManagersRequest) Reset() { *x = ListPerInstanceConfigsRegionInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[710] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[733] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75097,7 +78136,7 @@ func (x *ListPerInstanceConfigsRegionInstanceGroupManagersRequest) String() stri func (*ListPerInstanceConfigsRegionInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListPerInstanceConfigsRegionInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[710] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[733] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75110,7 +78149,7 @@ func (x *ListPerInstanceConfigsRegionInstanceGroupManagersRequest) ProtoReflect( // Deprecated: Use ListPerInstanceConfigsRegionInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListPerInstanceConfigsRegionInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{710} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{733} } func (x *ListPerInstanceConfigsRegionInstanceGroupManagersRequest) GetFilter() string { @@ -75175,7 +78214,7 @@ type ListPreconfiguredExpressionSetsSecurityPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -75192,7 +78231,7 @@ type ListPreconfiguredExpressionSetsSecurityPoliciesRequest struct { func (x *ListPreconfiguredExpressionSetsSecurityPoliciesRequest) Reset() { *x = ListPreconfiguredExpressionSetsSecurityPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[711] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[734] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75205,7 +78244,7 @@ func (x *ListPreconfiguredExpressionSetsSecurityPoliciesRequest) String() string func (*ListPreconfiguredExpressionSetsSecurityPoliciesRequest) ProtoMessage() {} func (x *ListPreconfiguredExpressionSetsSecurityPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[711] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[734] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75218,7 +78257,7 @@ func (x *ListPreconfiguredExpressionSetsSecurityPoliciesRequest) ProtoReflect() // Deprecated: Use ListPreconfiguredExpressionSetsSecurityPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListPreconfiguredExpressionSetsSecurityPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{711} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{734} } func (x *ListPreconfiguredExpressionSetsSecurityPoliciesRequest) GetFilter() string { @@ -75269,7 +78308,7 @@ type ListPublicAdvertisedPrefixesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -75286,7 +78325,7 @@ type ListPublicAdvertisedPrefixesRequest struct { func (x *ListPublicAdvertisedPrefixesRequest) Reset() { *x = ListPublicAdvertisedPrefixesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[712] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[735] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75299,7 +78338,7 @@ func (x *ListPublicAdvertisedPrefixesRequest) String() string { func (*ListPublicAdvertisedPrefixesRequest) ProtoMessage() {} func (x *ListPublicAdvertisedPrefixesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[712] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[735] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75312,7 +78351,7 @@ func (x *ListPublicAdvertisedPrefixesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ListPublicAdvertisedPrefixesRequest.ProtoReflect.Descriptor instead. func (*ListPublicAdvertisedPrefixesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{712} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{735} } func (x *ListPublicAdvertisedPrefixesRequest) GetFilter() string { @@ -75363,7 +78402,7 @@ type ListPublicDelegatedPrefixesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -75382,7 +78421,7 @@ type ListPublicDelegatedPrefixesRequest struct { func (x *ListPublicDelegatedPrefixesRequest) Reset() { *x = ListPublicDelegatedPrefixesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[713] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[736] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75395,7 +78434,7 @@ func (x *ListPublicDelegatedPrefixesRequest) String() string { func (*ListPublicDelegatedPrefixesRequest) ProtoMessage() {} func (x *ListPublicDelegatedPrefixesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[713] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[736] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75408,7 +78447,7 @@ func (x *ListPublicDelegatedPrefixesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListPublicDelegatedPrefixesRequest.ProtoReflect.Descriptor instead. func (*ListPublicDelegatedPrefixesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{713} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{736} } func (x *ListPublicDelegatedPrefixesRequest) GetFilter() string { @@ -75466,7 +78505,7 @@ type ListReferrersInstancesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // Name of the target instance scoping this request, or '-' if the request should span over all instances in the container. Instance string `protobuf:"bytes,18257045,opt,name=instance,proto3" json:"instance,omitempty"` @@ -75487,7 +78526,7 @@ type ListReferrersInstancesRequest struct { func (x *ListReferrersInstancesRequest) Reset() { *x = ListReferrersInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[714] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[737] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75500,7 +78539,7 @@ func (x *ListReferrersInstancesRequest) String() string { func (*ListReferrersInstancesRequest) ProtoMessage() {} func (x *ListReferrersInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[714] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[737] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75513,7 +78552,7 @@ func (x *ListReferrersInstancesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReferrersInstancesRequest.ProtoReflect.Descriptor instead. func (*ListReferrersInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{714} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{737} } func (x *ListReferrersInstancesRequest) GetFilter() string { @@ -75578,7 +78617,7 @@ type ListRegionAutoscalersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -75597,7 +78636,7 @@ type ListRegionAutoscalersRequest struct { func (x *ListRegionAutoscalersRequest) Reset() { *x = ListRegionAutoscalersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[715] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[738] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75610,7 +78649,7 @@ func (x *ListRegionAutoscalersRequest) String() string { func (*ListRegionAutoscalersRequest) ProtoMessage() {} func (x *ListRegionAutoscalersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[715] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[738] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75623,7 +78662,7 @@ func (x *ListRegionAutoscalersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionAutoscalersRequest.ProtoReflect.Descriptor instead. func (*ListRegionAutoscalersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{715} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{738} } func (x *ListRegionAutoscalersRequest) GetFilter() string { @@ -75681,7 +78720,7 @@ type ListRegionBackendServicesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -75700,7 +78739,7 @@ type ListRegionBackendServicesRequest struct { func (x *ListRegionBackendServicesRequest) Reset() { *x = ListRegionBackendServicesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[716] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[739] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75713,7 +78752,7 @@ func (x *ListRegionBackendServicesRequest) String() string { func (*ListRegionBackendServicesRequest) ProtoMessage() {} func (x *ListRegionBackendServicesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[716] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[739] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75726,7 +78765,7 @@ func (x *ListRegionBackendServicesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionBackendServicesRequest.ProtoReflect.Descriptor instead. func (*ListRegionBackendServicesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{716} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{739} } func (x *ListRegionBackendServicesRequest) GetFilter() string { @@ -75784,7 +78823,7 @@ type ListRegionCommitmentsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -75803,7 +78842,7 @@ type ListRegionCommitmentsRequest struct { func (x *ListRegionCommitmentsRequest) Reset() { *x = ListRegionCommitmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[717] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[740] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75816,7 +78855,7 @@ func (x *ListRegionCommitmentsRequest) String() string { func (*ListRegionCommitmentsRequest) ProtoMessage() {} func (x *ListRegionCommitmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[717] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[740] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75829,7 +78868,7 @@ func (x *ListRegionCommitmentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionCommitmentsRequest.ProtoReflect.Descriptor instead. func (*ListRegionCommitmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{717} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{740} } func (x *ListRegionCommitmentsRequest) GetFilter() string { @@ -75887,7 +78926,7 @@ type ListRegionDiskTypesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -75906,7 +78945,7 @@ type ListRegionDiskTypesRequest struct { func (x *ListRegionDiskTypesRequest) Reset() { *x = ListRegionDiskTypesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[718] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[741] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -75919,7 +78958,7 @@ func (x *ListRegionDiskTypesRequest) String() string { func (*ListRegionDiskTypesRequest) ProtoMessage() {} func (x *ListRegionDiskTypesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[718] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[741] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -75932,7 +78971,7 @@ func (x *ListRegionDiskTypesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionDiskTypesRequest.ProtoReflect.Descriptor instead. func (*ListRegionDiskTypesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{718} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{741} } func (x *ListRegionDiskTypesRequest) GetFilter() string { @@ -75990,7 +79029,7 @@ type ListRegionDisksRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76009,7 +79048,7 @@ type ListRegionDisksRequest struct { func (x *ListRegionDisksRequest) Reset() { *x = ListRegionDisksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[719] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[742] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76022,7 +79061,7 @@ func (x *ListRegionDisksRequest) String() string { func (*ListRegionDisksRequest) ProtoMessage() {} func (x *ListRegionDisksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[719] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[742] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76035,7 +79074,7 @@ func (x *ListRegionDisksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionDisksRequest.ProtoReflect.Descriptor instead. func (*ListRegionDisksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{719} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{742} } func (x *ListRegionDisksRequest) GetFilter() string { @@ -76093,7 +79132,7 @@ type ListRegionHealthCheckServicesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76112,7 +79151,7 @@ type ListRegionHealthCheckServicesRequest struct { func (x *ListRegionHealthCheckServicesRequest) Reset() { *x = ListRegionHealthCheckServicesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[720] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[743] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76125,7 +79164,7 @@ func (x *ListRegionHealthCheckServicesRequest) String() string { func (*ListRegionHealthCheckServicesRequest) ProtoMessage() {} func (x *ListRegionHealthCheckServicesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[720] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[743] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76138,7 +79177,7 @@ func (x *ListRegionHealthCheckServicesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ListRegionHealthCheckServicesRequest.ProtoReflect.Descriptor instead. func (*ListRegionHealthCheckServicesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{720} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{743} } func (x *ListRegionHealthCheckServicesRequest) GetFilter() string { @@ -76196,7 +79235,7 @@ type ListRegionHealthChecksRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76215,7 +79254,7 @@ type ListRegionHealthChecksRequest struct { func (x *ListRegionHealthChecksRequest) Reset() { *x = ListRegionHealthChecksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[721] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[744] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76228,7 +79267,7 @@ func (x *ListRegionHealthChecksRequest) String() string { func (*ListRegionHealthChecksRequest) ProtoMessage() {} func (x *ListRegionHealthChecksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[721] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[744] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76241,7 +79280,7 @@ func (x *ListRegionHealthChecksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionHealthChecksRequest.ProtoReflect.Descriptor instead. func (*ListRegionHealthChecksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{721} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{744} } func (x *ListRegionHealthChecksRequest) GetFilter() string { @@ -76299,7 +79338,7 @@ type ListRegionInstanceGroupManagersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76318,7 +79357,7 @@ type ListRegionInstanceGroupManagersRequest struct { func (x *ListRegionInstanceGroupManagersRequest) Reset() { *x = ListRegionInstanceGroupManagersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[722] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[745] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76331,7 +79370,7 @@ func (x *ListRegionInstanceGroupManagersRequest) String() string { func (*ListRegionInstanceGroupManagersRequest) ProtoMessage() {} func (x *ListRegionInstanceGroupManagersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[722] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[745] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76344,7 +79383,7 @@ func (x *ListRegionInstanceGroupManagersRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListRegionInstanceGroupManagersRequest.ProtoReflect.Descriptor instead. func (*ListRegionInstanceGroupManagersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{722} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{745} } func (x *ListRegionInstanceGroupManagersRequest) GetFilter() string { @@ -76402,7 +79441,7 @@ type ListRegionInstanceGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76421,7 +79460,7 @@ type ListRegionInstanceGroupsRequest struct { func (x *ListRegionInstanceGroupsRequest) Reset() { *x = ListRegionInstanceGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[723] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[746] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76434,7 +79473,7 @@ func (x *ListRegionInstanceGroupsRequest) String() string { func (*ListRegionInstanceGroupsRequest) ProtoMessage() {} func (x *ListRegionInstanceGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[723] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[746] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76447,7 +79486,7 @@ func (x *ListRegionInstanceGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionInstanceGroupsRequest.ProtoReflect.Descriptor instead. func (*ListRegionInstanceGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{723} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{746} } func (x *ListRegionInstanceGroupsRequest) GetFilter() string { @@ -76505,7 +79544,7 @@ type ListRegionInstanceTemplatesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76524,7 +79563,7 @@ type ListRegionInstanceTemplatesRequest struct { func (x *ListRegionInstanceTemplatesRequest) Reset() { *x = ListRegionInstanceTemplatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[724] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[747] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76537,7 +79576,7 @@ func (x *ListRegionInstanceTemplatesRequest) String() string { func (*ListRegionInstanceTemplatesRequest) ProtoMessage() {} func (x *ListRegionInstanceTemplatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[724] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[747] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76550,7 +79589,7 @@ func (x *ListRegionInstanceTemplatesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListRegionInstanceTemplatesRequest.ProtoReflect.Descriptor instead. func (*ListRegionInstanceTemplatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{724} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{747} } func (x *ListRegionInstanceTemplatesRequest) GetFilter() string { @@ -76608,7 +79647,7 @@ type ListRegionNetworkEndpointGroupsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76627,7 +79666,7 @@ type ListRegionNetworkEndpointGroupsRequest struct { func (x *ListRegionNetworkEndpointGroupsRequest) Reset() { *x = ListRegionNetworkEndpointGroupsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[725] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[748] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76640,7 +79679,7 @@ func (x *ListRegionNetworkEndpointGroupsRequest) String() string { func (*ListRegionNetworkEndpointGroupsRequest) ProtoMessage() {} func (x *ListRegionNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[725] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[748] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76653,7 +79692,7 @@ func (x *ListRegionNetworkEndpointGroupsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListRegionNetworkEndpointGroupsRequest.ProtoReflect.Descriptor instead. func (*ListRegionNetworkEndpointGroupsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{725} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{748} } func (x *ListRegionNetworkEndpointGroupsRequest) GetFilter() string { @@ -76711,7 +79750,7 @@ type ListRegionNetworkFirewallPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76730,7 +79769,7 @@ type ListRegionNetworkFirewallPoliciesRequest struct { func (x *ListRegionNetworkFirewallPoliciesRequest) Reset() { *x = ListRegionNetworkFirewallPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[726] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[749] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76743,7 +79782,7 @@ func (x *ListRegionNetworkFirewallPoliciesRequest) String() string { func (*ListRegionNetworkFirewallPoliciesRequest) ProtoMessage() {} func (x *ListRegionNetworkFirewallPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[726] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[749] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76756,7 +79795,7 @@ func (x *ListRegionNetworkFirewallPoliciesRequest) ProtoReflect() protoreflect.M // Deprecated: Use ListRegionNetworkFirewallPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListRegionNetworkFirewallPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{726} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{749} } func (x *ListRegionNetworkFirewallPoliciesRequest) GetFilter() string { @@ -76814,7 +79853,7 @@ type ListRegionNotificationEndpointsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76833,7 +79872,7 @@ type ListRegionNotificationEndpointsRequest struct { func (x *ListRegionNotificationEndpointsRequest) Reset() { *x = ListRegionNotificationEndpointsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[727] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[750] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76846,7 +79885,7 @@ func (x *ListRegionNotificationEndpointsRequest) String() string { func (*ListRegionNotificationEndpointsRequest) ProtoMessage() {} func (x *ListRegionNotificationEndpointsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[727] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[750] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76859,7 +79898,7 @@ func (x *ListRegionNotificationEndpointsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use ListRegionNotificationEndpointsRequest.ProtoReflect.Descriptor instead. func (*ListRegionNotificationEndpointsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{727} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{750} } func (x *ListRegionNotificationEndpointsRequest) GetFilter() string { @@ -76917,7 +79956,7 @@ type ListRegionOperationsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -76936,7 +79975,7 @@ type ListRegionOperationsRequest struct { func (x *ListRegionOperationsRequest) Reset() { *x = ListRegionOperationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[728] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[751] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -76949,7 +79988,7 @@ func (x *ListRegionOperationsRequest) String() string { func (*ListRegionOperationsRequest) ProtoMessage() {} func (x *ListRegionOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[728] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[751] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -76962,7 +80001,7 @@ func (x *ListRegionOperationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionOperationsRequest.ProtoReflect.Descriptor instead. func (*ListRegionOperationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{728} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{751} } func (x *ListRegionOperationsRequest) GetFilter() string { @@ -77020,7 +80059,7 @@ type ListRegionSecurityPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77039,7 +80078,7 @@ type ListRegionSecurityPoliciesRequest struct { func (x *ListRegionSecurityPoliciesRequest) Reset() { *x = ListRegionSecurityPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[729] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[752] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77052,7 +80091,7 @@ func (x *ListRegionSecurityPoliciesRequest) String() string { func (*ListRegionSecurityPoliciesRequest) ProtoMessage() {} func (x *ListRegionSecurityPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[729] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[752] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77065,7 +80104,7 @@ func (x *ListRegionSecurityPoliciesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListRegionSecurityPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListRegionSecurityPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{729} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{752} } func (x *ListRegionSecurityPoliciesRequest) GetFilter() string { @@ -77123,7 +80162,7 @@ type ListRegionSslCertificatesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77142,7 +80181,7 @@ type ListRegionSslCertificatesRequest struct { func (x *ListRegionSslCertificatesRequest) Reset() { *x = ListRegionSslCertificatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[730] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[753] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77155,7 +80194,7 @@ func (x *ListRegionSslCertificatesRequest) String() string { func (*ListRegionSslCertificatesRequest) ProtoMessage() {} func (x *ListRegionSslCertificatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[730] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[753] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77168,7 +80207,7 @@ func (x *ListRegionSslCertificatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionSslCertificatesRequest.ProtoReflect.Descriptor instead. func (*ListRegionSslCertificatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{730} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{753} } func (x *ListRegionSslCertificatesRequest) GetFilter() string { @@ -77226,7 +80265,7 @@ type ListRegionSslPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77245,7 +80284,7 @@ type ListRegionSslPoliciesRequest struct { func (x *ListRegionSslPoliciesRequest) Reset() { *x = ListRegionSslPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[731] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[754] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77258,7 +80297,7 @@ func (x *ListRegionSslPoliciesRequest) String() string { func (*ListRegionSslPoliciesRequest) ProtoMessage() {} func (x *ListRegionSslPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[731] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[754] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77271,7 +80310,7 @@ func (x *ListRegionSslPoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionSslPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListRegionSslPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{731} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{754} } func (x *ListRegionSslPoliciesRequest) GetFilter() string { @@ -77329,7 +80368,7 @@ type ListRegionTargetHttpProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77348,7 +80387,7 @@ type ListRegionTargetHttpProxiesRequest struct { func (x *ListRegionTargetHttpProxiesRequest) Reset() { *x = ListRegionTargetHttpProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[732] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[755] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77361,7 +80400,7 @@ func (x *ListRegionTargetHttpProxiesRequest) String() string { func (*ListRegionTargetHttpProxiesRequest) ProtoMessage() {} func (x *ListRegionTargetHttpProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[732] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[755] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77374,7 +80413,7 @@ func (x *ListRegionTargetHttpProxiesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListRegionTargetHttpProxiesRequest.ProtoReflect.Descriptor instead. func (*ListRegionTargetHttpProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{732} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{755} } func (x *ListRegionTargetHttpProxiesRequest) GetFilter() string { @@ -77432,7 +80471,7 @@ type ListRegionTargetHttpsProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77451,7 +80490,7 @@ type ListRegionTargetHttpsProxiesRequest struct { func (x *ListRegionTargetHttpsProxiesRequest) Reset() { *x = ListRegionTargetHttpsProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[733] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[756] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77464,7 +80503,7 @@ func (x *ListRegionTargetHttpsProxiesRequest) String() string { func (*ListRegionTargetHttpsProxiesRequest) ProtoMessage() {} func (x *ListRegionTargetHttpsProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[733] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[756] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77477,7 +80516,7 @@ func (x *ListRegionTargetHttpsProxiesRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use ListRegionTargetHttpsProxiesRequest.ProtoReflect.Descriptor instead. func (*ListRegionTargetHttpsProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{733} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{756} } func (x *ListRegionTargetHttpsProxiesRequest) GetFilter() string { @@ -77535,7 +80574,7 @@ type ListRegionTargetTcpProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77554,7 +80593,7 @@ type ListRegionTargetTcpProxiesRequest struct { func (x *ListRegionTargetTcpProxiesRequest) Reset() { *x = ListRegionTargetTcpProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[734] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[757] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77567,7 +80606,7 @@ func (x *ListRegionTargetTcpProxiesRequest) String() string { func (*ListRegionTargetTcpProxiesRequest) ProtoMessage() {} func (x *ListRegionTargetTcpProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[734] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[757] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77580,7 +80619,7 @@ func (x *ListRegionTargetTcpProxiesRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ListRegionTargetTcpProxiesRequest.ProtoReflect.Descriptor instead. func (*ListRegionTargetTcpProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{734} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{757} } func (x *ListRegionTargetTcpProxiesRequest) GetFilter() string { @@ -77638,7 +80677,7 @@ type ListRegionUrlMapsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77657,7 +80696,7 @@ type ListRegionUrlMapsRequest struct { func (x *ListRegionUrlMapsRequest) Reset() { *x = ListRegionUrlMapsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[735] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[758] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77670,7 +80709,7 @@ func (x *ListRegionUrlMapsRequest) String() string { func (*ListRegionUrlMapsRequest) ProtoMessage() {} func (x *ListRegionUrlMapsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[735] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[758] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77683,7 +80722,7 @@ func (x *ListRegionUrlMapsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionUrlMapsRequest.ProtoReflect.Descriptor instead. func (*ListRegionUrlMapsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{735} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{758} } func (x *ListRegionUrlMapsRequest) GetFilter() string { @@ -77741,7 +80780,7 @@ type ListRegionsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77758,7 +80797,7 @@ type ListRegionsRequest struct { func (x *ListRegionsRequest) Reset() { *x = ListRegionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[736] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[759] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77771,7 +80810,7 @@ func (x *ListRegionsRequest) String() string { func (*ListRegionsRequest) ProtoMessage() {} func (x *ListRegionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[736] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[759] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77784,7 +80823,7 @@ func (x *ListRegionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRegionsRequest.ProtoReflect.Descriptor instead. func (*ListRegionsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{736} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{759} } func (x *ListRegionsRequest) GetFilter() string { @@ -77835,7 +80874,7 @@ type ListReservationsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77854,7 +80893,7 @@ type ListReservationsRequest struct { func (x *ListReservationsRequest) Reset() { *x = ListReservationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[737] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[760] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77867,7 +80906,7 @@ func (x *ListReservationsRequest) String() string { func (*ListReservationsRequest) ProtoMessage() {} func (x *ListReservationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[737] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[760] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77880,7 +80919,7 @@ func (x *ListReservationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListReservationsRequest.ProtoReflect.Descriptor instead. func (*ListReservationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{737} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{760} } func (x *ListReservationsRequest) GetFilter() string { @@ -77938,7 +80977,7 @@ type ListResourcePoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -77957,7 +80996,7 @@ type ListResourcePoliciesRequest struct { func (x *ListResourcePoliciesRequest) Reset() { *x = ListResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[738] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[761] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -77970,7 +81009,7 @@ func (x *ListResourcePoliciesRequest) String() string { func (*ListResourcePoliciesRequest) ProtoMessage() {} func (x *ListResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[738] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[761] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -77983,7 +81022,7 @@ func (x *ListResourcePoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*ListResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{738} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{761} } func (x *ListResourcePoliciesRequest) GetFilter() string { @@ -78041,7 +81080,7 @@ type ListRoutersRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78060,7 +81099,7 @@ type ListRoutersRequest struct { func (x *ListRoutersRequest) Reset() { *x = ListRoutersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[739] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[762] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78073,7 +81112,7 @@ func (x *ListRoutersRequest) String() string { func (*ListRoutersRequest) ProtoMessage() {} func (x *ListRoutersRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[739] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[762] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78086,7 +81125,7 @@ func (x *ListRoutersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoutersRequest.ProtoReflect.Descriptor instead. func (*ListRoutersRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{739} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{762} } func (x *ListRoutersRequest) GetFilter() string { @@ -78144,7 +81183,7 @@ type ListRoutesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78161,7 +81200,7 @@ type ListRoutesRequest struct { func (x *ListRoutesRequest) Reset() { *x = ListRoutesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[740] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[763] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78174,7 +81213,7 @@ func (x *ListRoutesRequest) String() string { func (*ListRoutesRequest) ProtoMessage() {} func (x *ListRoutesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[740] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[763] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78187,7 +81226,7 @@ func (x *ListRoutesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoutesRequest.ProtoReflect.Descriptor instead. func (*ListRoutesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{740} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{763} } func (x *ListRoutesRequest) GetFilter() string { @@ -78238,7 +81277,7 @@ type ListSecurityPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78255,7 +81294,7 @@ type ListSecurityPoliciesRequest struct { func (x *ListSecurityPoliciesRequest) Reset() { *x = ListSecurityPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[741] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[764] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78268,7 +81307,7 @@ func (x *ListSecurityPoliciesRequest) String() string { func (*ListSecurityPoliciesRequest) ProtoMessage() {} func (x *ListSecurityPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[741] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[764] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78281,7 +81320,7 @@ func (x *ListSecurityPoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSecurityPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListSecurityPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{741} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{764} } func (x *ListSecurityPoliciesRequest) GetFilter() string { @@ -78332,7 +81371,7 @@ type ListServiceAttachmentsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78351,7 +81390,7 @@ type ListServiceAttachmentsRequest struct { func (x *ListServiceAttachmentsRequest) Reset() { *x = ListServiceAttachmentsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[742] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[765] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78364,7 +81403,7 @@ func (x *ListServiceAttachmentsRequest) String() string { func (*ListServiceAttachmentsRequest) ProtoMessage() {} func (x *ListServiceAttachmentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[742] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[765] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78377,7 +81416,7 @@ func (x *ListServiceAttachmentsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListServiceAttachmentsRequest.ProtoReflect.Descriptor instead. func (*ListServiceAttachmentsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{742} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{765} } func (x *ListServiceAttachmentsRequest) GetFilter() string { @@ -78435,7 +81474,7 @@ type ListSnapshotsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78452,7 +81491,7 @@ type ListSnapshotsRequest struct { func (x *ListSnapshotsRequest) Reset() { *x = ListSnapshotsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[743] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[766] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78465,7 +81504,7 @@ func (x *ListSnapshotsRequest) String() string { func (*ListSnapshotsRequest) ProtoMessage() {} func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[743] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[766] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78478,7 +81517,7 @@ func (x *ListSnapshotsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSnapshotsRequest.ProtoReflect.Descriptor instead. func (*ListSnapshotsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{743} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{766} } func (x *ListSnapshotsRequest) GetFilter() string { @@ -78529,7 +81568,7 @@ type ListSslCertificatesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78546,7 +81585,7 @@ type ListSslCertificatesRequest struct { func (x *ListSslCertificatesRequest) Reset() { *x = ListSslCertificatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[744] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[767] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78559,7 +81598,7 @@ func (x *ListSslCertificatesRequest) String() string { func (*ListSslCertificatesRequest) ProtoMessage() {} func (x *ListSslCertificatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[744] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[767] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78572,7 +81611,7 @@ func (x *ListSslCertificatesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSslCertificatesRequest.ProtoReflect.Descriptor instead. func (*ListSslCertificatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{744} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{767} } func (x *ListSslCertificatesRequest) GetFilter() string { @@ -78623,7 +81662,7 @@ type ListSslPoliciesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78640,7 +81679,7 @@ type ListSslPoliciesRequest struct { func (x *ListSslPoliciesRequest) Reset() { *x = ListSslPoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[745] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[768] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78653,7 +81692,7 @@ func (x *ListSslPoliciesRequest) String() string { func (*ListSslPoliciesRequest) ProtoMessage() {} func (x *ListSslPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[745] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[768] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78666,7 +81705,7 @@ func (x *ListSslPoliciesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSslPoliciesRequest.ProtoReflect.Descriptor instead. func (*ListSslPoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{745} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{768} } func (x *ListSslPoliciesRequest) GetFilter() string { @@ -78717,7 +81756,7 @@ type ListSubnetworksRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78736,7 +81775,7 @@ type ListSubnetworksRequest struct { func (x *ListSubnetworksRequest) Reset() { *x = ListSubnetworksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[746] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[769] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78749,7 +81788,7 @@ func (x *ListSubnetworksRequest) String() string { func (*ListSubnetworksRequest) ProtoMessage() {} func (x *ListSubnetworksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[746] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[769] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78762,7 +81801,7 @@ func (x *ListSubnetworksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListSubnetworksRequest.ProtoReflect.Descriptor instead. func (*ListSubnetworksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{746} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{769} } func (x *ListSubnetworksRequest) GetFilter() string { @@ -78820,7 +81859,7 @@ type ListTargetGrpcProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78837,7 +81876,7 @@ type ListTargetGrpcProxiesRequest struct { func (x *ListTargetGrpcProxiesRequest) Reset() { *x = ListTargetGrpcProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[747] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[770] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78850,7 +81889,7 @@ func (x *ListTargetGrpcProxiesRequest) String() string { func (*ListTargetGrpcProxiesRequest) ProtoMessage() {} func (x *ListTargetGrpcProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[747] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[770] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78863,7 +81902,7 @@ func (x *ListTargetGrpcProxiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetGrpcProxiesRequest.ProtoReflect.Descriptor instead. func (*ListTargetGrpcProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{747} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{770} } func (x *ListTargetGrpcProxiesRequest) GetFilter() string { @@ -78914,7 +81953,7 @@ type ListTargetHttpProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -78931,7 +81970,7 @@ type ListTargetHttpProxiesRequest struct { func (x *ListTargetHttpProxiesRequest) Reset() { *x = ListTargetHttpProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[748] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[771] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -78944,7 +81983,7 @@ func (x *ListTargetHttpProxiesRequest) String() string { func (*ListTargetHttpProxiesRequest) ProtoMessage() {} func (x *ListTargetHttpProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[748] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[771] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -78957,7 +81996,7 @@ func (x *ListTargetHttpProxiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetHttpProxiesRequest.ProtoReflect.Descriptor instead. func (*ListTargetHttpProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{748} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{771} } func (x *ListTargetHttpProxiesRequest) GetFilter() string { @@ -79008,7 +82047,7 @@ type ListTargetHttpsProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79025,7 +82064,7 @@ type ListTargetHttpsProxiesRequest struct { func (x *ListTargetHttpsProxiesRequest) Reset() { *x = ListTargetHttpsProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[749] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[772] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79038,7 +82077,7 @@ func (x *ListTargetHttpsProxiesRequest) String() string { func (*ListTargetHttpsProxiesRequest) ProtoMessage() {} func (x *ListTargetHttpsProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[749] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[772] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79051,7 +82090,7 @@ func (x *ListTargetHttpsProxiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetHttpsProxiesRequest.ProtoReflect.Descriptor instead. func (*ListTargetHttpsProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{749} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{772} } func (x *ListTargetHttpsProxiesRequest) GetFilter() string { @@ -79102,7 +82141,7 @@ type ListTargetInstancesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79121,7 +82160,7 @@ type ListTargetInstancesRequest struct { func (x *ListTargetInstancesRequest) Reset() { *x = ListTargetInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[750] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[773] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79134,7 +82173,7 @@ func (x *ListTargetInstancesRequest) String() string { func (*ListTargetInstancesRequest) ProtoMessage() {} func (x *ListTargetInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[750] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[773] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79147,7 +82186,7 @@ func (x *ListTargetInstancesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetInstancesRequest.ProtoReflect.Descriptor instead. func (*ListTargetInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{750} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{773} } func (x *ListTargetInstancesRequest) GetFilter() string { @@ -79205,7 +82244,7 @@ type ListTargetPoolsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79224,7 +82263,7 @@ type ListTargetPoolsRequest struct { func (x *ListTargetPoolsRequest) Reset() { *x = ListTargetPoolsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[751] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[774] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79237,7 +82276,7 @@ func (x *ListTargetPoolsRequest) String() string { func (*ListTargetPoolsRequest) ProtoMessage() {} func (x *ListTargetPoolsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[751] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[774] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79250,7 +82289,7 @@ func (x *ListTargetPoolsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetPoolsRequest.ProtoReflect.Descriptor instead. func (*ListTargetPoolsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{751} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{774} } func (x *ListTargetPoolsRequest) GetFilter() string { @@ -79308,7 +82347,7 @@ type ListTargetSslProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79325,7 +82364,7 @@ type ListTargetSslProxiesRequest struct { func (x *ListTargetSslProxiesRequest) Reset() { *x = ListTargetSslProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[752] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[775] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79338,7 +82377,7 @@ func (x *ListTargetSslProxiesRequest) String() string { func (*ListTargetSslProxiesRequest) ProtoMessage() {} func (x *ListTargetSslProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[752] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[775] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79351,7 +82390,7 @@ func (x *ListTargetSslProxiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetSslProxiesRequest.ProtoReflect.Descriptor instead. func (*ListTargetSslProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{752} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{775} } func (x *ListTargetSslProxiesRequest) GetFilter() string { @@ -79402,7 +82441,7 @@ type ListTargetTcpProxiesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79419,7 +82458,7 @@ type ListTargetTcpProxiesRequest struct { func (x *ListTargetTcpProxiesRequest) Reset() { *x = ListTargetTcpProxiesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[753] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[776] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79432,7 +82471,7 @@ func (x *ListTargetTcpProxiesRequest) String() string { func (*ListTargetTcpProxiesRequest) ProtoMessage() {} func (x *ListTargetTcpProxiesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[753] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[776] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79445,7 +82484,7 @@ func (x *ListTargetTcpProxiesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetTcpProxiesRequest.ProtoReflect.Descriptor instead. func (*ListTargetTcpProxiesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{753} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{776} } func (x *ListTargetTcpProxiesRequest) GetFilter() string { @@ -79496,7 +82535,7 @@ type ListTargetVpnGatewaysRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79515,7 +82554,7 @@ type ListTargetVpnGatewaysRequest struct { func (x *ListTargetVpnGatewaysRequest) Reset() { *x = ListTargetVpnGatewaysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[754] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[777] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79528,7 +82567,7 @@ func (x *ListTargetVpnGatewaysRequest) String() string { func (*ListTargetVpnGatewaysRequest) ProtoMessage() {} func (x *ListTargetVpnGatewaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[754] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[777] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79541,7 +82580,7 @@ func (x *ListTargetVpnGatewaysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListTargetVpnGatewaysRequest.ProtoReflect.Descriptor instead. func (*ListTargetVpnGatewaysRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{754} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{777} } func (x *ListTargetVpnGatewaysRequest) GetFilter() string { @@ -79599,7 +82638,7 @@ type ListUrlMapsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79616,7 +82655,7 @@ type ListUrlMapsRequest struct { func (x *ListUrlMapsRequest) Reset() { *x = ListUrlMapsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[755] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[778] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79629,7 +82668,7 @@ func (x *ListUrlMapsRequest) String() string { func (*ListUrlMapsRequest) ProtoMessage() {} func (x *ListUrlMapsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[755] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[778] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79642,7 +82681,7 @@ func (x *ListUrlMapsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUrlMapsRequest.ProtoReflect.Descriptor instead. func (*ListUrlMapsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{755} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{778} } func (x *ListUrlMapsRequest) GetFilter() string { @@ -79687,13 +82726,210 @@ func (x *ListUrlMapsRequest) GetReturnPartialSuccess() bool { return false } +// A request message for BackendServices.ListUsable. See the method description for details. +type ListUsableBackendServicesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` + // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` + // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + OrderBy *string `protobuf:"bytes,160562920,opt,name=order_by,json=orderBy,proto3,oneof" json:"order_by,omitempty"` + // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + PageToken *string `protobuf:"bytes,19994697,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` +} + +func (x *ListUsableBackendServicesRequest) Reset() { + *x = ListUsableBackendServicesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[779] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUsableBackendServicesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUsableBackendServicesRequest) ProtoMessage() {} + +func (x *ListUsableBackendServicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[779] + 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 ListUsableBackendServicesRequest.ProtoReflect.Descriptor instead. +func (*ListUsableBackendServicesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{779} +} + +func (x *ListUsableBackendServicesRequest) GetFilter() string { + if x != nil && x.Filter != nil { + return *x.Filter + } + return "" +} + +func (x *ListUsableBackendServicesRequest) GetMaxResults() uint32 { + if x != nil && x.MaxResults != nil { + return *x.MaxResults + } + return 0 +} + +func (x *ListUsableBackendServicesRequest) GetOrderBy() string { + if x != nil && x.OrderBy != nil { + return *x.OrderBy + } + return "" +} + +func (x *ListUsableBackendServicesRequest) GetPageToken() string { + if x != nil && x.PageToken != nil { + return *x.PageToken + } + return "" +} + +func (x *ListUsableBackendServicesRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ListUsableBackendServicesRequest) GetReturnPartialSuccess() bool { + if x != nil && x.ReturnPartialSuccess != nil { + return *x.ReturnPartialSuccess + } + return false +} + +// A request message for RegionBackendServices.ListUsable. See the method description for details. +type ListUsableRegionBackendServicesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` + // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` + // Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + OrderBy *string `protobuf:"bytes,160562920,opt,name=order_by,json=orderBy,proto3,oneof" json:"order_by,omitempty"` + // Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + PageToken *string `protobuf:"bytes,19994697,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region scoping this request. It must be a string that meets the requirements in RFC1035. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. + ReturnPartialSuccess *bool `protobuf:"varint,517198390,opt,name=return_partial_success,json=returnPartialSuccess,proto3,oneof" json:"return_partial_success,omitempty"` +} + +func (x *ListUsableRegionBackendServicesRequest) Reset() { + *x = ListUsableRegionBackendServicesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[780] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListUsableRegionBackendServicesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListUsableRegionBackendServicesRequest) ProtoMessage() {} + +func (x *ListUsableRegionBackendServicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[780] + 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 ListUsableRegionBackendServicesRequest.ProtoReflect.Descriptor instead. +func (*ListUsableRegionBackendServicesRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{780} +} + +func (x *ListUsableRegionBackendServicesRequest) GetFilter() string { + if x != nil && x.Filter != nil { + return *x.Filter + } + return "" +} + +func (x *ListUsableRegionBackendServicesRequest) GetMaxResults() uint32 { + if x != nil && x.MaxResults != nil { + return *x.MaxResults + } + return 0 +} + +func (x *ListUsableRegionBackendServicesRequest) GetOrderBy() string { + if x != nil && x.OrderBy != nil { + return *x.OrderBy + } + return "" +} + +func (x *ListUsableRegionBackendServicesRequest) GetPageToken() string { + if x != nil && x.PageToken != nil { + return *x.PageToken + } + return "" +} + +func (x *ListUsableRegionBackendServicesRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *ListUsableRegionBackendServicesRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *ListUsableRegionBackendServicesRequest) GetReturnPartialSuccess() bool { + if x != nil && x.ReturnPartialSuccess != nil { + return *x.ReturnPartialSuccess + } + return false +} + // A request message for Subnetworks.ListUsable. See the method description for details. type ListUsableSubnetworksRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79710,7 +82946,7 @@ type ListUsableSubnetworksRequest struct { func (x *ListUsableSubnetworksRequest) Reset() { *x = ListUsableSubnetworksRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[756] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[781] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79723,7 +82959,7 @@ func (x *ListUsableSubnetworksRequest) String() string { func (*ListUsableSubnetworksRequest) ProtoMessage() {} func (x *ListUsableSubnetworksRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[756] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[781] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79736,7 +82972,7 @@ func (x *ListUsableSubnetworksRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUsableSubnetworksRequest.ProtoReflect.Descriptor instead. func (*ListUsableSubnetworksRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{756} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{781} } func (x *ListUsableSubnetworksRequest) GetFilter() string { @@ -79787,7 +83023,7 @@ type ListVpnGatewaysRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79806,7 +83042,7 @@ type ListVpnGatewaysRequest struct { func (x *ListVpnGatewaysRequest) Reset() { *x = ListVpnGatewaysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[757] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[782] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79819,7 +83055,7 @@ func (x *ListVpnGatewaysRequest) String() string { func (*ListVpnGatewaysRequest) ProtoMessage() {} func (x *ListVpnGatewaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[757] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[782] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79832,7 +83068,7 @@ func (x *ListVpnGatewaysRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVpnGatewaysRequest.ProtoReflect.Descriptor instead. func (*ListVpnGatewaysRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{757} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{782} } func (x *ListVpnGatewaysRequest) GetFilter() string { @@ -79890,7 +83126,7 @@ type ListVpnTunnelsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -79909,7 +83145,7 @@ type ListVpnTunnelsRequest struct { func (x *ListVpnTunnelsRequest) Reset() { *x = ListVpnTunnelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[758] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[783] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -79922,7 +83158,7 @@ func (x *ListVpnTunnelsRequest) String() string { func (*ListVpnTunnelsRequest) ProtoMessage() {} func (x *ListVpnTunnelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[758] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[783] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -79935,7 +83171,7 @@ func (x *ListVpnTunnelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVpnTunnelsRequest.ProtoReflect.Descriptor instead. func (*ListVpnTunnelsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{758} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{783} } func (x *ListVpnTunnelsRequest) GetFilter() string { @@ -79993,7 +83229,7 @@ type ListXpnHostsProjectsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -80012,7 +83248,7 @@ type ListXpnHostsProjectsRequest struct { func (x *ListXpnHostsProjectsRequest) Reset() { *x = ListXpnHostsProjectsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[759] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[784] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80025,7 +83261,7 @@ func (x *ListXpnHostsProjectsRequest) String() string { func (*ListXpnHostsProjectsRequest) ProtoMessage() {} func (x *ListXpnHostsProjectsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[759] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[784] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80038,7 +83274,7 @@ func (x *ListXpnHostsProjectsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListXpnHostsProjectsRequest.ProtoReflect.Descriptor instead. func (*ListXpnHostsProjectsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{759} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{784} } func (x *ListXpnHostsProjectsRequest) GetFilter() string { @@ -80096,7 +83332,7 @@ type ListZoneOperationsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -80115,7 +83351,7 @@ type ListZoneOperationsRequest struct { func (x *ListZoneOperationsRequest) Reset() { *x = ListZoneOperationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[760] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[785] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80128,7 +83364,7 @@ func (x *ListZoneOperationsRequest) String() string { func (*ListZoneOperationsRequest) ProtoMessage() {} func (x *ListZoneOperationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[760] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[785] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80141,7 +83377,7 @@ func (x *ListZoneOperationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListZoneOperationsRequest.ProtoReflect.Descriptor instead. func (*ListZoneOperationsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{760} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{785} } func (x *ListZoneOperationsRequest) GetFilter() string { @@ -80199,7 +83435,7 @@ type ListZonesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. + // A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. Filter *string `protobuf:"bytes,336120696,opt,name=filter,proto3,oneof" json:"filter,omitempty"` // The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) MaxResults *uint32 `protobuf:"varint,54715419,opt,name=max_results,json=maxResults,proto3,oneof" json:"max_results,omitempty"` @@ -80216,7 +83452,7 @@ type ListZonesRequest struct { func (x *ListZonesRequest) Reset() { *x = ListZonesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[761] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[786] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80229,7 +83465,7 @@ func (x *ListZonesRequest) String() string { func (*ListZonesRequest) ProtoMessage() {} func (x *ListZonesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[761] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[786] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80242,7 +83478,7 @@ func (x *ListZonesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListZonesRequest.ProtoReflect.Descriptor instead. func (*ListZonesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{761} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{786} } func (x *ListZonesRequest) GetFilter() string { @@ -80303,7 +83539,7 @@ type LocalDisk struct { func (x *LocalDisk) Reset() { *x = LocalDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[762] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[787] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80316,7 +83552,7 @@ func (x *LocalDisk) String() string { func (*LocalDisk) ProtoMessage() {} func (x *LocalDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[762] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[787] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80329,7 +83565,7 @@ func (x *LocalDisk) ProtoReflect() protoreflect.Message { // Deprecated: Use LocalDisk.ProtoReflect.Descriptor instead. func (*LocalDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{762} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{787} } func (x *LocalDisk) GetDiskCount() int32 { @@ -80368,7 +83604,7 @@ type LocalizedMessage struct { func (x *LocalizedMessage) Reset() { *x = LocalizedMessage{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[763] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[788] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80381,7 +83617,7 @@ func (x *LocalizedMessage) String() string { func (*LocalizedMessage) ProtoMessage() {} func (x *LocalizedMessage) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[763] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[788] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80394,7 +83630,7 @@ func (x *LocalizedMessage) ProtoReflect() protoreflect.Message { // Deprecated: Use LocalizedMessage.ProtoReflect.Descriptor instead. func (*LocalizedMessage) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{763} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{788} } func (x *LocalizedMessage) GetLocale() string { @@ -80427,7 +83663,7 @@ type LocationPolicy struct { func (x *LocationPolicy) Reset() { *x = LocationPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[764] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[789] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80440,7 +83676,7 @@ func (x *LocationPolicy) String() string { func (*LocationPolicy) ProtoMessage() {} func (x *LocationPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[764] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[789] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80453,7 +83689,7 @@ func (x *LocationPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use LocationPolicy.ProtoReflect.Descriptor instead. func (*LocationPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{764} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{789} } func (x *LocationPolicy) GetLocations() map[string]*LocationPolicyLocation { @@ -80485,7 +83721,7 @@ type LocationPolicyLocation struct { func (x *LocationPolicyLocation) Reset() { *x = LocationPolicyLocation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[765] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[790] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80498,7 +83734,7 @@ func (x *LocationPolicyLocation) String() string { func (*LocationPolicyLocation) ProtoMessage() {} func (x *LocationPolicyLocation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[765] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[790] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80511,7 +83747,7 @@ func (x *LocationPolicyLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use LocationPolicyLocation.ProtoReflect.Descriptor instead. func (*LocationPolicyLocation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{765} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{790} } func (x *LocationPolicyLocation) GetConstraints() *LocationPolicyLocationConstraints { @@ -80541,7 +83777,7 @@ type LocationPolicyLocationConstraints struct { func (x *LocationPolicyLocationConstraints) Reset() { *x = LocationPolicyLocationConstraints{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[766] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[791] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80554,7 +83790,7 @@ func (x *LocationPolicyLocationConstraints) String() string { func (*LocationPolicyLocationConstraints) ProtoMessage() {} func (x *LocationPolicyLocationConstraints) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[766] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[791] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80567,7 +83803,7 @@ func (x *LocationPolicyLocationConstraints) ProtoReflect() protoreflect.Message // Deprecated: Use LocationPolicyLocationConstraints.ProtoReflect.Descriptor instead. func (*LocationPolicyLocationConstraints) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{766} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{791} } func (x *LocationPolicyLocationConstraints) GetMaxCount() int32 { @@ -80594,7 +83830,7 @@ type LogConfig struct { func (x *LogConfig) Reset() { *x = LogConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[767] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[792] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80607,7 +83843,7 @@ func (x *LogConfig) String() string { func (*LogConfig) ProtoMessage() {} func (x *LogConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[767] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[792] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80620,7 +83856,7 @@ func (x *LogConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use LogConfig.ProtoReflect.Descriptor instead. func (*LogConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{767} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{792} } func (x *LogConfig) GetCloudAudit() *LogConfigCloudAuditOptions { @@ -80660,7 +83896,7 @@ type LogConfigCloudAuditOptions struct { func (x *LogConfigCloudAuditOptions) Reset() { *x = LogConfigCloudAuditOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[768] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[793] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80673,7 +83909,7 @@ func (x *LogConfigCloudAuditOptions) String() string { func (*LogConfigCloudAuditOptions) ProtoMessage() {} func (x *LogConfigCloudAuditOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[768] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[793] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80686,7 +83922,7 @@ func (x *LogConfigCloudAuditOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use LogConfigCloudAuditOptions.ProtoReflect.Descriptor instead. func (*LogConfigCloudAuditOptions) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{768} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{793} } func (x *LogConfigCloudAuditOptions) GetAuthorizationLoggingOptions() *AuthorizationLoggingOptions { @@ -80720,7 +83956,7 @@ type LogConfigCounterOptions struct { func (x *LogConfigCounterOptions) Reset() { *x = LogConfigCounterOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[769] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[794] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80733,7 +83969,7 @@ func (x *LogConfigCounterOptions) String() string { func (*LogConfigCounterOptions) ProtoMessage() {} func (x *LogConfigCounterOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[769] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[794] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80746,7 +83982,7 @@ func (x *LogConfigCounterOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use LogConfigCounterOptions.ProtoReflect.Descriptor instead. func (*LogConfigCounterOptions) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{769} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{794} } func (x *LogConfigCounterOptions) GetCustomFields() []*LogConfigCounterOptionsCustomField { @@ -80785,7 +84021,7 @@ type LogConfigCounterOptionsCustomField struct { func (x *LogConfigCounterOptionsCustomField) Reset() { *x = LogConfigCounterOptionsCustomField{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[770] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[795] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80798,7 +84034,7 @@ func (x *LogConfigCounterOptionsCustomField) String() string { func (*LogConfigCounterOptionsCustomField) ProtoMessage() {} func (x *LogConfigCounterOptionsCustomField) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[770] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[795] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80811,7 +84047,7 @@ func (x *LogConfigCounterOptionsCustomField) ProtoReflect() protoreflect.Message // Deprecated: Use LogConfigCounterOptionsCustomField.ProtoReflect.Descriptor instead. func (*LogConfigCounterOptionsCustomField) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{770} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{795} } func (x *LogConfigCounterOptionsCustomField) GetName() string { @@ -80842,7 +84078,7 @@ type LogConfigDataAccessOptions struct { func (x *LogConfigDataAccessOptions) Reset() { *x = LogConfigDataAccessOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[771] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[796] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80855,7 +84091,7 @@ func (x *LogConfigDataAccessOptions) String() string { func (*LogConfigDataAccessOptions) ProtoMessage() {} func (x *LogConfigDataAccessOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[771] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[796] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80868,7 +84104,7 @@ func (x *LogConfigDataAccessOptions) ProtoReflect() protoreflect.Message { // Deprecated: Use LogConfigDataAccessOptions.ProtoReflect.Descriptor instead. func (*LogConfigDataAccessOptions) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{771} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{796} } func (x *LogConfigDataAccessOptions) GetLogMode() string { @@ -80924,7 +84160,7 @@ type MachineImage struct { func (x *MachineImage) Reset() { *x = MachineImage{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[772] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[797] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -80937,7 +84173,7 @@ func (x *MachineImage) String() string { func (*MachineImage) ProtoMessage() {} func (x *MachineImage) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[772] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[797] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -80950,7 +84186,7 @@ func (x *MachineImage) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineImage.ProtoReflect.Descriptor instead. func (*MachineImage) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{772} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{797} } func (x *MachineImage) GetCreationTimestamp() string { @@ -81095,7 +84331,7 @@ type MachineImageList struct { func (x *MachineImageList) Reset() { *x = MachineImageList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[773] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[798] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81108,7 +84344,7 @@ func (x *MachineImageList) String() string { func (*MachineImageList) ProtoMessage() {} func (x *MachineImageList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[773] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[798] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81121,7 +84357,7 @@ func (x *MachineImageList) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineImageList.ProtoReflect.Descriptor instead. func (*MachineImageList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{773} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{798} } func (x *MachineImageList) GetId() string { @@ -81209,7 +84445,7 @@ type MachineType struct { func (x *MachineType) Reset() { *x = MachineType{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[774] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[799] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81222,7 +84458,7 @@ func (x *MachineType) String() string { func (*MachineType) ProtoMessage() {} func (x *MachineType) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[774] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[799] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81235,7 +84471,7 @@ func (x *MachineType) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineType.ProtoReflect.Descriptor instead. func (*MachineType) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{774} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{799} } func (x *MachineType) GetAccelerators() []*Accelerators { @@ -81374,7 +84610,7 @@ type MachineTypeAggregatedList struct { func (x *MachineTypeAggregatedList) Reset() { *x = MachineTypeAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[775] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[800] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81387,7 +84623,7 @@ func (x *MachineTypeAggregatedList) String() string { func (*MachineTypeAggregatedList) ProtoMessage() {} func (x *MachineTypeAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[775] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[800] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81400,7 +84636,7 @@ func (x *MachineTypeAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineTypeAggregatedList.ProtoReflect.Descriptor instead. func (*MachineTypeAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{775} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{800} } func (x *MachineTypeAggregatedList) GetId() string { @@ -81475,7 +84711,7 @@ type MachineTypeList struct { func (x *MachineTypeList) Reset() { *x = MachineTypeList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[776] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[801] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81488,7 +84724,7 @@ func (x *MachineTypeList) String() string { func (*MachineTypeList) ProtoMessage() {} func (x *MachineTypeList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[776] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[801] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81501,7 +84737,7 @@ func (x *MachineTypeList) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineTypeList.ProtoReflect.Descriptor instead. func (*MachineTypeList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{776} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{801} } func (x *MachineTypeList) GetId() string { @@ -81560,7 +84796,7 @@ type MachineTypesScopedList struct { func (x *MachineTypesScopedList) Reset() { *x = MachineTypesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[777] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[802] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81573,7 +84809,7 @@ func (x *MachineTypesScopedList) String() string { func (*MachineTypesScopedList) ProtoMessage() {} func (x *MachineTypesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[777] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[802] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81586,7 +84822,7 @@ func (x *MachineTypesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineTypesScopedList.ProtoReflect.Descriptor instead. func (*MachineTypesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{777} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{802} } func (x *MachineTypesScopedList) GetMachineTypes() []*MachineType { @@ -81623,6 +84859,8 @@ type ManagedInstance struct { InstanceStatus *string `protobuf:"bytes,174577372,opt,name=instance_status,json=instanceStatus,proto3,oneof" json:"instance_status,omitempty"` // [Output Only] Information about the last attempt to create or delete the instance. LastAttempt *ManagedInstanceLastAttempt `protobuf:"bytes,434771492,opt,name=last_attempt,json=lastAttempt,proto3,oneof" json:"last_attempt,omitempty"` + // [Output Only] The name of the instance. The name always exists even if the instance has not yet been created. + Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` // [Output Only] Preserved state applied from per-instance config for this instance. PreservedStateFromConfig *PreservedState `protobuf:"bytes,98661858,opt,name=preserved_state_from_config,json=preservedStateFromConfig,proto3,oneof" json:"preserved_state_from_config,omitempty"` // [Output Only] Preserved state generated based on stateful policy for this instance. @@ -81634,7 +84872,7 @@ type ManagedInstance struct { func (x *ManagedInstance) Reset() { *x = ManagedInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[778] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[803] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81647,7 +84885,7 @@ func (x *ManagedInstance) String() string { func (*ManagedInstance) ProtoMessage() {} func (x *ManagedInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[778] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[803] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81660,7 +84898,7 @@ func (x *ManagedInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use ManagedInstance.ProtoReflect.Descriptor instead. func (*ManagedInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{778} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{803} } func (x *ManagedInstance) GetCurrentAction() string { @@ -81705,6 +84943,13 @@ func (x *ManagedInstance) GetLastAttempt() *ManagedInstanceLastAttempt { return nil } +func (x *ManagedInstance) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + func (x *ManagedInstance) GetPreservedStateFromConfig() *PreservedState { if x != nil { return x.PreservedStateFromConfig @@ -81741,7 +84986,7 @@ type ManagedInstanceInstanceHealth struct { func (x *ManagedInstanceInstanceHealth) Reset() { *x = ManagedInstanceInstanceHealth{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[779] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[804] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81754,7 +84999,7 @@ func (x *ManagedInstanceInstanceHealth) String() string { func (*ManagedInstanceInstanceHealth) ProtoMessage() {} func (x *ManagedInstanceInstanceHealth) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[779] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[804] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81767,7 +85012,7 @@ func (x *ManagedInstanceInstanceHealth) ProtoReflect() protoreflect.Message { // Deprecated: Use ManagedInstanceInstanceHealth.ProtoReflect.Descriptor instead. func (*ManagedInstanceInstanceHealth) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{779} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{804} } func (x *ManagedInstanceInstanceHealth) GetDetailedHealthState() string { @@ -81796,7 +85041,7 @@ type ManagedInstanceLastAttempt struct { func (x *ManagedInstanceLastAttempt) Reset() { *x = ManagedInstanceLastAttempt{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[780] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[805] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81809,7 +85054,7 @@ func (x *ManagedInstanceLastAttempt) String() string { func (*ManagedInstanceLastAttempt) ProtoMessage() {} func (x *ManagedInstanceLastAttempt) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[780] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[805] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81822,7 +85067,7 @@ func (x *ManagedInstanceLastAttempt) ProtoReflect() protoreflect.Message { // Deprecated: Use ManagedInstanceLastAttempt.ProtoReflect.Descriptor instead. func (*ManagedInstanceLastAttempt) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{780} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{805} } func (x *ManagedInstanceLastAttempt) GetErrors() *Errors { @@ -81846,7 +85091,7 @@ type ManagedInstanceVersion struct { func (x *ManagedInstanceVersion) Reset() { *x = ManagedInstanceVersion{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[781] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[806] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81859,7 +85104,7 @@ func (x *ManagedInstanceVersion) String() string { func (*ManagedInstanceVersion) ProtoMessage() {} func (x *ManagedInstanceVersion) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[781] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[806] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81872,7 +85117,7 @@ func (x *ManagedInstanceVersion) ProtoReflect() protoreflect.Message { // Deprecated: Use ManagedInstanceVersion.ProtoReflect.Descriptor instead. func (*ManagedInstanceVersion) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{781} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{806} } func (x *ManagedInstanceVersion) GetInstanceTemplate() string { @@ -81906,7 +85151,7 @@ type Metadata struct { func (x *Metadata) Reset() { *x = Metadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[782] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[807] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81919,7 +85164,7 @@ func (x *Metadata) String() string { func (*Metadata) ProtoMessage() {} func (x *Metadata) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[782] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[807] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81932,7 +85177,7 @@ func (x *Metadata) ProtoReflect() protoreflect.Message { // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. func (*Metadata) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{782} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{807} } func (x *Metadata) GetFingerprint() string { @@ -81972,7 +85217,7 @@ type MetadataFilter struct { func (x *MetadataFilter) Reset() { *x = MetadataFilter{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[783] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[808] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -81985,7 +85230,7 @@ func (x *MetadataFilter) String() string { func (*MetadataFilter) ProtoMessage() {} func (x *MetadataFilter) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[783] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[808] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -81998,7 +85243,7 @@ func (x *MetadataFilter) ProtoReflect() protoreflect.Message { // Deprecated: Use MetadataFilter.ProtoReflect.Descriptor instead. func (*MetadataFilter) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{783} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{808} } func (x *MetadataFilter) GetFilterLabels() []*MetadataFilterLabelMatch { @@ -82030,7 +85275,7 @@ type MetadataFilterLabelMatch struct { func (x *MetadataFilterLabelMatch) Reset() { *x = MetadataFilterLabelMatch{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[784] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[809] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82043,7 +85288,7 @@ func (x *MetadataFilterLabelMatch) String() string { func (*MetadataFilterLabelMatch) ProtoMessage() {} func (x *MetadataFilterLabelMatch) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[784] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[809] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82056,7 +85301,7 @@ func (x *MetadataFilterLabelMatch) ProtoReflect() protoreflect.Message { // Deprecated: Use MetadataFilterLabelMatch.ProtoReflect.Descriptor instead. func (*MetadataFilterLabelMatch) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{784} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{809} } func (x *MetadataFilterLabelMatch) GetName() string { @@ -82094,7 +85339,7 @@ type MoveAddressRequest struct { func (x *MoveAddressRequest) Reset() { *x = MoveAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[785] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[810] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82107,7 +85352,7 @@ func (x *MoveAddressRequest) String() string { func (*MoveAddressRequest) ProtoMessage() {} func (x *MoveAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[785] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[810] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82120,7 +85365,7 @@ func (x *MoveAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveAddressRequest.ProtoReflect.Descriptor instead. func (*MoveAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{785} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{810} } func (x *MoveAddressRequest) GetAddress() string { @@ -82175,7 +85420,7 @@ type MoveDiskProjectRequest struct { func (x *MoveDiskProjectRequest) Reset() { *x = MoveDiskProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[786] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[811] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82188,7 +85433,7 @@ func (x *MoveDiskProjectRequest) String() string { func (*MoveDiskProjectRequest) ProtoMessage() {} func (x *MoveDiskProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[786] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[811] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82201,7 +85446,7 @@ func (x *MoveDiskProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveDiskProjectRequest.ProtoReflect.Descriptor instead. func (*MoveDiskProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{786} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{811} } func (x *MoveDiskProjectRequest) GetDiskMoveRequestResource() *DiskMoveRequest { @@ -82242,7 +85487,7 @@ type MoveFirewallPolicyRequest struct { func (x *MoveFirewallPolicyRequest) Reset() { *x = MoveFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[787] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[812] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82255,7 +85500,7 @@ func (x *MoveFirewallPolicyRequest) String() string { func (*MoveFirewallPolicyRequest) ProtoMessage() {} func (x *MoveFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[787] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[812] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82268,7 +85513,7 @@ func (x *MoveFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*MoveFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{787} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{812} } func (x *MoveFirewallPolicyRequest) GetFirewallPolicy() string { @@ -82311,7 +85556,7 @@ type MoveGlobalAddressRequest struct { func (x *MoveGlobalAddressRequest) Reset() { *x = MoveGlobalAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[788] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[813] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82324,7 +85569,7 @@ func (x *MoveGlobalAddressRequest) String() string { func (*MoveGlobalAddressRequest) ProtoMessage() {} func (x *MoveGlobalAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[788] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[813] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82337,7 +85582,7 @@ func (x *MoveGlobalAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveGlobalAddressRequest.ProtoReflect.Descriptor instead. func (*MoveGlobalAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{788} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{813} } func (x *MoveGlobalAddressRequest) GetAddress() string { @@ -82385,7 +85630,7 @@ type MoveInstanceProjectRequest struct { func (x *MoveInstanceProjectRequest) Reset() { *x = MoveInstanceProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[789] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[814] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82398,7 +85643,7 @@ func (x *MoveInstanceProjectRequest) String() string { func (*MoveInstanceProjectRequest) ProtoMessage() {} func (x *MoveInstanceProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[789] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[814] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82411,7 +85656,7 @@ func (x *MoveInstanceProjectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MoveInstanceProjectRequest.ProtoReflect.Descriptor instead. func (*MoveInstanceProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{789} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{814} } func (x *MoveInstanceProjectRequest) GetInstanceMoveRequestResource() *InstanceMoveRequest { @@ -82450,7 +85695,7 @@ type NamedPort struct { func (x *NamedPort) Reset() { *x = NamedPort{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[790] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[815] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82463,7 +85708,7 @@ func (x *NamedPort) String() string { func (*NamedPort) ProtoMessage() {} func (x *NamedPort) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[790] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[815] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82476,7 +85721,7 @@ func (x *NamedPort) ProtoReflect() protoreflect.Message { // Deprecated: Use NamedPort.ProtoReflect.Descriptor instead. func (*NamedPort) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{790} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{815} } func (x *NamedPort) GetName() string { @@ -82493,6 +85738,181 @@ func (x *NamedPort) GetPort() int32 { return 0 } +// Contains NAT IP information of a NAT config (i.e. usage status, mode). +type NatIpInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A list of all NAT IPs assigned to this NAT config. + NatIpInfoMappings []*NatIpInfoNatIpInfoMapping `protobuf:"bytes,241401884,rep,name=nat_ip_info_mappings,json=natIpInfoMappings,proto3" json:"nat_ip_info_mappings,omitempty"` + // Name of the NAT config which the NAT IP belongs to. + NatName *string `protobuf:"bytes,425596649,opt,name=nat_name,json=natName,proto3,oneof" json:"nat_name,omitempty"` +} + +func (x *NatIpInfo) Reset() { + *x = NatIpInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[816] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NatIpInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NatIpInfo) ProtoMessage() {} + +func (x *NatIpInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[816] + 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 NatIpInfo.ProtoReflect.Descriptor instead. +func (*NatIpInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{816} +} + +func (x *NatIpInfo) GetNatIpInfoMappings() []*NatIpInfoNatIpInfoMapping { + if x != nil { + return x.NatIpInfoMappings + } + return nil +} + +func (x *NatIpInfo) GetNatName() string { + if x != nil && x.NatName != nil { + return *x.NatName + } + return "" +} + +// Contains information of a NAT IP. +type NatIpInfoNatIpInfoMapping struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specifies whether NAT IP is auto or manual. + // Check the Mode enum for the list of possible values. + Mode *string `protobuf:"bytes,3357091,opt,name=mode,proto3,oneof" json:"mode,omitempty"` + // NAT IP address. For example: 203.0.113.11. + NatIp *string `protobuf:"bytes,21113093,opt,name=nat_ip,json=natIp,proto3,oneof" json:"nat_ip,omitempty"` + // Specifies whether NAT IP is currently serving at least one endpoint or not. + // Check the Usage enum for the list of possible values. + Usage *string `protobuf:"bytes,111574433,opt,name=usage,proto3,oneof" json:"usage,omitempty"` +} + +func (x *NatIpInfoNatIpInfoMapping) Reset() { + *x = NatIpInfoNatIpInfoMapping{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[817] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NatIpInfoNatIpInfoMapping) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NatIpInfoNatIpInfoMapping) ProtoMessage() {} + +func (x *NatIpInfoNatIpInfoMapping) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[817] + 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 NatIpInfoNatIpInfoMapping.ProtoReflect.Descriptor instead. +func (*NatIpInfoNatIpInfoMapping) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{817} +} + +func (x *NatIpInfoNatIpInfoMapping) GetMode() string { + if x != nil && x.Mode != nil { + return *x.Mode + } + return "" +} + +func (x *NatIpInfoNatIpInfoMapping) GetNatIp() string { + if x != nil && x.NatIp != nil { + return *x.NatIp + } + return "" +} + +func (x *NatIpInfoNatIpInfoMapping) GetUsage() string { + if x != nil && x.Usage != nil { + return *x.Usage + } + return "" +} + +type NatIpInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [Output Only] A list of NAT IP information. + Result []*NatIpInfo `protobuf:"bytes,139315229,rep,name=result,proto3" json:"result,omitempty"` +} + +func (x *NatIpInfoResponse) Reset() { + *x = NatIpInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[818] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NatIpInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NatIpInfoResponse) ProtoMessage() {} + +func (x *NatIpInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[818] + 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 NatIpInfoResponse.ProtoReflect.Descriptor instead. +func (*NatIpInfoResponse) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{818} +} + +func (x *NatIpInfoResponse) GetResult() []*NatIpInfo { + if x != nil { + return x.Result + } + return nil +} + // Represents a VPC Network resource. Networks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network. type Network struct { state protoimpl.MessageState @@ -82541,7 +85961,7 @@ type Network struct { func (x *Network) Reset() { *x = Network{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[791] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[819] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82554,7 +85974,7 @@ func (x *Network) String() string { func (*Network) ProtoMessage() {} func (x *Network) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[791] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[819] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82567,7 +85987,7 @@ func (x *Network) ProtoReflect() protoreflect.Message { // Deprecated: Use Network.ProtoReflect.Descriptor instead. func (*Network) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{791} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{819} } func (x *Network) GetIPv4Range() string { @@ -82704,7 +86124,6 @@ type NetworkAttachment struct { // [Output Only] An array of connections for all the producers connected to this network attachment. ConnectionEndpoints []*NetworkAttachmentConnectedEndpoint `protobuf:"bytes,326078813,rep,name=connection_endpoints,json=connectionEndpoints,proto3" json:"connection_endpoints,omitempty"` - // // Check the ConnectionPreference enum for the list of possible values. ConnectionPreference *string `protobuf:"bytes,285818076,opt,name=connection_preference,json=connectionPreference,proto3,oneof" json:"connection_preference,omitempty"` // [Output Only] Creation timestamp in RFC3339 text format. @@ -82738,7 +86157,7 @@ type NetworkAttachment struct { func (x *NetworkAttachment) Reset() { *x = NetworkAttachment{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[792] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[820] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82751,7 +86170,7 @@ func (x *NetworkAttachment) String() string { func (*NetworkAttachment) ProtoMessage() {} func (x *NetworkAttachment) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[792] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[820] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82764,7 +86183,7 @@ func (x *NetworkAttachment) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkAttachment.ProtoReflect.Descriptor instead. func (*NetworkAttachment) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{792} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{820} } func (x *NetworkAttachment) GetConnectionEndpoints() []*NetworkAttachmentConnectedEndpoint { @@ -82894,7 +86313,7 @@ type NetworkAttachmentAggregatedList struct { func (x *NetworkAttachmentAggregatedList) Reset() { *x = NetworkAttachmentAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[793] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[821] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -82907,7 +86326,7 @@ func (x *NetworkAttachmentAggregatedList) String() string { func (*NetworkAttachmentAggregatedList) ProtoMessage() {} func (x *NetworkAttachmentAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[793] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[821] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -82920,7 +86339,7 @@ func (x *NetworkAttachmentAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkAttachmentAggregatedList.ProtoReflect.Descriptor instead. func (*NetworkAttachmentAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{793} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{821} } func (x *NetworkAttachmentAggregatedList) GetId() string { @@ -82973,6 +86392,8 @@ type NetworkAttachmentConnectedEndpoint struct { // The IPv4 address assigned to the producer instance network interface. This value will be a range in case of Serverless. IpAddress *string `protobuf:"bytes,406272220,opt,name=ip_address,json=ipAddress,proto3,oneof" json:"ip_address,omitempty"` + // The IPv6 address assigned to the producer instance network interface. This is only assigned when the stack types of both the instance network interface and the consumer subnet are IPv4_IPv6. + Ipv6Address *string `protobuf:"bytes,341563804,opt,name=ipv6_address,json=ipv6Address,proto3,oneof" json:"ipv6_address,omitempty"` // The project id or number of the interface to which the IP was assigned. ProjectIdOrNum *string `protobuf:"bytes,349783336,opt,name=project_id_or_num,json=projectIdOrNum,proto3,oneof" json:"project_id_or_num,omitempty"` // Alias IP ranges from the same subnetwork. @@ -82982,12 +86403,14 @@ type NetworkAttachmentConnectedEndpoint struct { Status *string `protobuf:"bytes,181260274,opt,name=status,proto3,oneof" json:"status,omitempty"` // The subnetwork used to assign the IP to the producer instance network interface. Subnetwork *string `protobuf:"bytes,307827694,opt,name=subnetwork,proto3,oneof" json:"subnetwork,omitempty"` + // [Output Only] The CIDR range of the subnet from which the IPv4 internal IP was allocated from. + SubnetworkCidrRange *string `protobuf:"bytes,383249827,opt,name=subnetwork_cidr_range,json=subnetworkCidrRange,proto3,oneof" json:"subnetwork_cidr_range,omitempty"` } func (x *NetworkAttachmentConnectedEndpoint) Reset() { *x = NetworkAttachmentConnectedEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[794] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[822] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83000,7 +86423,7 @@ func (x *NetworkAttachmentConnectedEndpoint) String() string { func (*NetworkAttachmentConnectedEndpoint) ProtoMessage() {} func (x *NetworkAttachmentConnectedEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[794] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[822] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83013,7 +86436,7 @@ func (x *NetworkAttachmentConnectedEndpoint) ProtoReflect() protoreflect.Message // Deprecated: Use NetworkAttachmentConnectedEndpoint.ProtoReflect.Descriptor instead. func (*NetworkAttachmentConnectedEndpoint) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{794} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{822} } func (x *NetworkAttachmentConnectedEndpoint) GetIpAddress() string { @@ -83023,6 +86446,13 @@ func (x *NetworkAttachmentConnectedEndpoint) GetIpAddress() string { return "" } +func (x *NetworkAttachmentConnectedEndpoint) GetIpv6Address() string { + if x != nil && x.Ipv6Address != nil { + return *x.Ipv6Address + } + return "" +} + func (x *NetworkAttachmentConnectedEndpoint) GetProjectIdOrNum() string { if x != nil && x.ProjectIdOrNum != nil { return *x.ProjectIdOrNum @@ -83051,6 +86481,13 @@ func (x *NetworkAttachmentConnectedEndpoint) GetSubnetwork() string { return "" } +func (x *NetworkAttachmentConnectedEndpoint) GetSubnetworkCidrRange() string { + if x != nil && x.SubnetworkCidrRange != nil { + return *x.SubnetworkCidrRange + } + return "" +} + type NetworkAttachmentList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -83072,7 +86509,7 @@ type NetworkAttachmentList struct { func (x *NetworkAttachmentList) Reset() { *x = NetworkAttachmentList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[795] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[823] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83085,7 +86522,7 @@ func (x *NetworkAttachmentList) String() string { func (*NetworkAttachmentList) ProtoMessage() {} func (x *NetworkAttachmentList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[795] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[823] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83098,7 +86535,7 @@ func (x *NetworkAttachmentList) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkAttachmentList.ProtoReflect.Descriptor instead. func (*NetworkAttachmentList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{795} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{823} } func (x *NetworkAttachmentList) GetId() string { @@ -83157,7 +86594,7 @@ type NetworkAttachmentsScopedList struct { func (x *NetworkAttachmentsScopedList) Reset() { *x = NetworkAttachmentsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[796] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[824] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83170,7 +86607,7 @@ func (x *NetworkAttachmentsScopedList) String() string { func (*NetworkAttachmentsScopedList) ProtoMessage() {} func (x *NetworkAttachmentsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[796] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[824] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83183,7 +86620,7 @@ func (x *NetworkAttachmentsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkAttachmentsScopedList.ProtoReflect.Descriptor instead. func (*NetworkAttachmentsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{796} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{824} } func (x *NetworkAttachmentsScopedList) GetNetworkAttachments() []*NetworkAttachment { @@ -83231,7 +86668,7 @@ type NetworkEdgeSecurityService struct { func (x *NetworkEdgeSecurityService) Reset() { *x = NetworkEdgeSecurityService{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[797] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[825] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83244,7 +86681,7 @@ func (x *NetworkEdgeSecurityService) String() string { func (*NetworkEdgeSecurityService) ProtoMessage() {} func (x *NetworkEdgeSecurityService) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[797] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[825] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83257,7 +86694,7 @@ func (x *NetworkEdgeSecurityService) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEdgeSecurityService.ProtoReflect.Descriptor instead. func (*NetworkEdgeSecurityService) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{797} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{825} } func (x *NetworkEdgeSecurityService) GetCreationTimestamp() string { @@ -83355,7 +86792,7 @@ type NetworkEdgeSecurityServiceAggregatedList struct { func (x *NetworkEdgeSecurityServiceAggregatedList) Reset() { *x = NetworkEdgeSecurityServiceAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[798] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[826] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83368,7 +86805,7 @@ func (x *NetworkEdgeSecurityServiceAggregatedList) String() string { func (*NetworkEdgeSecurityServiceAggregatedList) ProtoMessage() {} func (x *NetworkEdgeSecurityServiceAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[798] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[826] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83381,7 +86818,7 @@ func (x *NetworkEdgeSecurityServiceAggregatedList) ProtoReflect() protoreflect.M // Deprecated: Use NetworkEdgeSecurityServiceAggregatedList.ProtoReflect.Descriptor instead. func (*NetworkEdgeSecurityServiceAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{798} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{826} } func (x *NetworkEdgeSecurityServiceAggregatedList) GetEtag() string { @@ -83454,7 +86891,7 @@ type NetworkEdgeSecurityServicesScopedList struct { func (x *NetworkEdgeSecurityServicesScopedList) Reset() { *x = NetworkEdgeSecurityServicesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[799] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[827] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83467,7 +86904,7 @@ func (x *NetworkEdgeSecurityServicesScopedList) String() string { func (*NetworkEdgeSecurityServicesScopedList) ProtoMessage() {} func (x *NetworkEdgeSecurityServicesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[799] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[827] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83480,7 +86917,7 @@ func (x *NetworkEdgeSecurityServicesScopedList) ProtoReflect() protoreflect.Mess // Deprecated: Use NetworkEdgeSecurityServicesScopedList.ProtoReflect.Descriptor instead. func (*NetworkEdgeSecurityServicesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{799} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{827} } func (x *NetworkEdgeSecurityServicesScopedList) GetNetworkEdgeSecurityServices() []*NetworkEdgeSecurityService { @@ -83518,7 +86955,7 @@ type NetworkEndpoint struct { func (x *NetworkEndpoint) Reset() { *x = NetworkEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[800] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[828] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83531,7 +86968,7 @@ func (x *NetworkEndpoint) String() string { func (*NetworkEndpoint) ProtoMessage() {} func (x *NetworkEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[800] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[828] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83544,7 +86981,7 @@ func (x *NetworkEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpoint.ProtoReflect.Descriptor instead. func (*NetworkEndpoint) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{800} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{828} } func (x *NetworkEndpoint) GetAnnotations() map[string]string { @@ -83582,7 +87019,7 @@ func (x *NetworkEndpoint) GetPort() int32 { return 0 } -// Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs, see Setting up external HTTP(S) Load Balancing with internet NEGs, Setting up zonal NEGs, or Setting up external HTTP(S) Load Balancing with serverless NEGs. +// Represents a collection of network endpoints. A network endpoint group (NEG) defines how a set of endpoints should be reached, whether they are reachable, and where they are located. For more information about using NEGs for different use cases, see Network endpoint groups overview. type NetworkEndpointGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -83631,7 +87068,7 @@ type NetworkEndpointGroup struct { func (x *NetworkEndpointGroup) Reset() { *x = NetworkEndpointGroup{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[801] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[829] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83644,7 +87081,7 @@ func (x *NetworkEndpointGroup) String() string { func (*NetworkEndpointGroup) ProtoMessage() {} func (x *NetworkEndpointGroup) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[801] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[829] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83657,7 +87094,7 @@ func (x *NetworkEndpointGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpointGroup.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroup) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{801} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{829} } func (x *NetworkEndpointGroup) GetAnnotations() map[string]string { @@ -83817,7 +87254,7 @@ type NetworkEndpointGroupAggregatedList struct { func (x *NetworkEndpointGroupAggregatedList) Reset() { *x = NetworkEndpointGroupAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[802] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[830] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83830,7 +87267,7 @@ func (x *NetworkEndpointGroupAggregatedList) String() string { func (*NetworkEndpointGroupAggregatedList) ProtoMessage() {} func (x *NetworkEndpointGroupAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[802] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[830] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83843,7 +87280,7 @@ func (x *NetworkEndpointGroupAggregatedList) ProtoReflect() protoreflect.Message // Deprecated: Use NetworkEndpointGroupAggregatedList.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{802} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{830} } func (x *NetworkEndpointGroupAggregatedList) GetId() string { @@ -83912,7 +87349,7 @@ type NetworkEndpointGroupAppEngine struct { func (x *NetworkEndpointGroupAppEngine) Reset() { *x = NetworkEndpointGroupAppEngine{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[803] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[831] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83925,7 +87362,7 @@ func (x *NetworkEndpointGroupAppEngine) String() string { func (*NetworkEndpointGroupAppEngine) ProtoMessage() {} func (x *NetworkEndpointGroupAppEngine) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[803] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[831] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -83938,7 +87375,7 @@ func (x *NetworkEndpointGroupAppEngine) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpointGroupAppEngine.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupAppEngine) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{803} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{831} } func (x *NetworkEndpointGroupAppEngine) GetService() string { @@ -83977,7 +87414,7 @@ type NetworkEndpointGroupCloudFunction struct { func (x *NetworkEndpointGroupCloudFunction) Reset() { *x = NetworkEndpointGroupCloudFunction{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[804] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[832] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -83990,7 +87427,7 @@ func (x *NetworkEndpointGroupCloudFunction) String() string { func (*NetworkEndpointGroupCloudFunction) ProtoMessage() {} func (x *NetworkEndpointGroupCloudFunction) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[804] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[832] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84003,7 +87440,7 @@ func (x *NetworkEndpointGroupCloudFunction) ProtoReflect() protoreflect.Message // Deprecated: Use NetworkEndpointGroupCloudFunction.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupCloudFunction) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{804} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{832} } func (x *NetworkEndpointGroupCloudFunction) GetFunction() string { @@ -84037,7 +87474,7 @@ type NetworkEndpointGroupCloudRun struct { func (x *NetworkEndpointGroupCloudRun) Reset() { *x = NetworkEndpointGroupCloudRun{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[805] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[833] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84050,7 +87487,7 @@ func (x *NetworkEndpointGroupCloudRun) String() string { func (*NetworkEndpointGroupCloudRun) ProtoMessage() {} func (x *NetworkEndpointGroupCloudRun) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[805] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[833] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84063,7 +87500,7 @@ func (x *NetworkEndpointGroupCloudRun) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpointGroupCloudRun.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupCloudRun) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{805} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{833} } func (x *NetworkEndpointGroupCloudRun) GetService() string { @@ -84109,7 +87546,7 @@ type NetworkEndpointGroupList struct { func (x *NetworkEndpointGroupList) Reset() { *x = NetworkEndpointGroupList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[806] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[834] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84122,7 +87559,7 @@ func (x *NetworkEndpointGroupList) String() string { func (*NetworkEndpointGroupList) ProtoMessage() {} func (x *NetworkEndpointGroupList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[806] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[834] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84135,7 +87572,7 @@ func (x *NetworkEndpointGroupList) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpointGroupList.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{806} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{834} } func (x *NetworkEndpointGroupList) GetId() string { @@ -84198,7 +87635,7 @@ type NetworkEndpointGroupPscData struct { func (x *NetworkEndpointGroupPscData) Reset() { *x = NetworkEndpointGroupPscData{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[807] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[835] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84211,7 +87648,7 @@ func (x *NetworkEndpointGroupPscData) String() string { func (*NetworkEndpointGroupPscData) ProtoMessage() {} func (x *NetworkEndpointGroupPscData) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[807] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[835] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84224,7 +87661,7 @@ func (x *NetworkEndpointGroupPscData) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpointGroupPscData.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupPscData) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{807} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{835} } func (x *NetworkEndpointGroupPscData) GetConsumerPscAddress() string { @@ -84260,7 +87697,7 @@ type NetworkEndpointGroupsAttachEndpointsRequest struct { func (x *NetworkEndpointGroupsAttachEndpointsRequest) Reset() { *x = NetworkEndpointGroupsAttachEndpointsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[808] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[836] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84273,7 +87710,7 @@ func (x *NetworkEndpointGroupsAttachEndpointsRequest) String() string { func (*NetworkEndpointGroupsAttachEndpointsRequest) ProtoMessage() {} func (x *NetworkEndpointGroupsAttachEndpointsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[808] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[836] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84286,7 +87723,7 @@ func (x *NetworkEndpointGroupsAttachEndpointsRequest) ProtoReflect() protoreflec // Deprecated: Use NetworkEndpointGroupsAttachEndpointsRequest.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupsAttachEndpointsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{808} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{836} } func (x *NetworkEndpointGroupsAttachEndpointsRequest) GetNetworkEndpoints() []*NetworkEndpoint { @@ -84308,7 +87745,7 @@ type NetworkEndpointGroupsDetachEndpointsRequest struct { func (x *NetworkEndpointGroupsDetachEndpointsRequest) Reset() { *x = NetworkEndpointGroupsDetachEndpointsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[809] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[837] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84321,7 +87758,7 @@ func (x *NetworkEndpointGroupsDetachEndpointsRequest) String() string { func (*NetworkEndpointGroupsDetachEndpointsRequest) ProtoMessage() {} func (x *NetworkEndpointGroupsDetachEndpointsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[809] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[837] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84334,7 +87771,7 @@ func (x *NetworkEndpointGroupsDetachEndpointsRequest) ProtoReflect() protoreflec // Deprecated: Use NetworkEndpointGroupsDetachEndpointsRequest.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupsDetachEndpointsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{809} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{837} } func (x *NetworkEndpointGroupsDetachEndpointsRequest) GetNetworkEndpoints() []*NetworkEndpoint { @@ -84357,7 +87794,7 @@ type NetworkEndpointGroupsListEndpointsRequest struct { func (x *NetworkEndpointGroupsListEndpointsRequest) Reset() { *x = NetworkEndpointGroupsListEndpointsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[810] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[838] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84370,7 +87807,7 @@ func (x *NetworkEndpointGroupsListEndpointsRequest) String() string { func (*NetworkEndpointGroupsListEndpointsRequest) ProtoMessage() {} func (x *NetworkEndpointGroupsListEndpointsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[810] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[838] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84383,7 +87820,7 @@ func (x *NetworkEndpointGroupsListEndpointsRequest) ProtoReflect() protoreflect. // Deprecated: Use NetworkEndpointGroupsListEndpointsRequest.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupsListEndpointsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{810} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{838} } func (x *NetworkEndpointGroupsListEndpointsRequest) GetHealthStatus() string { @@ -84413,7 +87850,7 @@ type NetworkEndpointGroupsListNetworkEndpoints struct { func (x *NetworkEndpointGroupsListNetworkEndpoints) Reset() { *x = NetworkEndpointGroupsListNetworkEndpoints{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[811] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[839] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84426,7 +87863,7 @@ func (x *NetworkEndpointGroupsListNetworkEndpoints) String() string { func (*NetworkEndpointGroupsListNetworkEndpoints) ProtoMessage() {} func (x *NetworkEndpointGroupsListNetworkEndpoints) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[811] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[839] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84439,7 +87876,7 @@ func (x *NetworkEndpointGroupsListNetworkEndpoints) ProtoReflect() protoreflect. // Deprecated: Use NetworkEndpointGroupsListNetworkEndpoints.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupsListNetworkEndpoints) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{811} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{839} } func (x *NetworkEndpointGroupsListNetworkEndpoints) GetId() string { @@ -84491,7 +87928,7 @@ type NetworkEndpointGroupsScopedList struct { func (x *NetworkEndpointGroupsScopedList) Reset() { *x = NetworkEndpointGroupsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[812] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[840] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84504,7 +87941,7 @@ func (x *NetworkEndpointGroupsScopedList) String() string { func (*NetworkEndpointGroupsScopedList) ProtoMessage() {} func (x *NetworkEndpointGroupsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[812] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[840] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84517,7 +87954,7 @@ func (x *NetworkEndpointGroupsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpointGroupsScopedList.ProtoReflect.Descriptor instead. func (*NetworkEndpointGroupsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{812} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{840} } func (x *NetworkEndpointGroupsScopedList) GetNetworkEndpointGroups() []*NetworkEndpointGroup { @@ -84548,7 +87985,7 @@ type NetworkEndpointWithHealthStatus struct { func (x *NetworkEndpointWithHealthStatus) Reset() { *x = NetworkEndpointWithHealthStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[813] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[841] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84561,7 +87998,7 @@ func (x *NetworkEndpointWithHealthStatus) String() string { func (*NetworkEndpointWithHealthStatus) ProtoMessage() {} func (x *NetworkEndpointWithHealthStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[813] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[841] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84574,7 +88011,7 @@ func (x *NetworkEndpointWithHealthStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkEndpointWithHealthStatus.ProtoReflect.Descriptor instead. func (*NetworkEndpointWithHealthStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{813} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{841} } func (x *NetworkEndpointWithHealthStatus) GetHealths() []*HealthStatusForNetworkEndpoint { @@ -84637,7 +88074,7 @@ type NetworkInterface struct { func (x *NetworkInterface) Reset() { *x = NetworkInterface{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[814] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[842] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84650,7 +88087,7 @@ func (x *NetworkInterface) String() string { func (*NetworkInterface) ProtoMessage() {} func (x *NetworkInterface) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[814] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[842] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84663,7 +88100,7 @@ func (x *NetworkInterface) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkInterface.ProtoReflect.Descriptor instead. func (*NetworkInterface) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{814} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{842} } func (x *NetworkInterface) GetAccessConfigs() []*AccessConfig { @@ -84801,7 +88238,7 @@ type NetworkList struct { func (x *NetworkList) Reset() { *x = NetworkList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[815] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[843] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84814,7 +88251,7 @@ func (x *NetworkList) String() string { func (*NetworkList) ProtoMessage() {} func (x *NetworkList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[815] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[843] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84827,7 +88264,7 @@ func (x *NetworkList) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkList.ProtoReflect.Descriptor instead. func (*NetworkList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{815} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{843} } func (x *NetworkList) GetId() string { @@ -84909,7 +88346,7 @@ type NetworkPeering struct { func (x *NetworkPeering) Reset() { *x = NetworkPeering{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[816] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[844] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -84922,7 +88359,7 @@ func (x *NetworkPeering) String() string { func (*NetworkPeering) ProtoMessage() {} func (x *NetworkPeering) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[816] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[844] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -84935,7 +88372,7 @@ func (x *NetworkPeering) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkPeering.ProtoReflect.Descriptor instead. func (*NetworkPeering) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{816} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{844} } func (x *NetworkPeering) GetAutoCreateRoutes() bool { @@ -85027,7 +88464,6 @@ type NetworkPerformanceConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the TotalEgressBandwidthTier enum for the list of possible values. TotalEgressBandwidthTier *string `protobuf:"bytes,130109439,opt,name=total_egress_bandwidth_tier,json=totalEgressBandwidthTier,proto3,oneof" json:"total_egress_bandwidth_tier,omitempty"` } @@ -85035,7 +88471,7 @@ type NetworkPerformanceConfig struct { func (x *NetworkPerformanceConfig) Reset() { *x = NetworkPerformanceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[817] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[845] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85048,7 +88484,7 @@ func (x *NetworkPerformanceConfig) String() string { func (*NetworkPerformanceConfig) ProtoMessage() {} func (x *NetworkPerformanceConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[817] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[845] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85061,7 +88497,7 @@ func (x *NetworkPerformanceConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkPerformanceConfig.ProtoReflect.Descriptor instead. func (*NetworkPerformanceConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{817} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{845} } func (x *NetworkPerformanceConfig) GetTotalEgressBandwidthTier() string { @@ -85085,7 +88521,7 @@ type NetworkRoutingConfig struct { func (x *NetworkRoutingConfig) Reset() { *x = NetworkRoutingConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[818] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[846] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85098,7 +88534,7 @@ func (x *NetworkRoutingConfig) String() string { func (*NetworkRoutingConfig) ProtoMessage() {} func (x *NetworkRoutingConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[818] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[846] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85111,7 +88547,7 @@ func (x *NetworkRoutingConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkRoutingConfig.ProtoReflect.Descriptor instead. func (*NetworkRoutingConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{818} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{846} } func (x *NetworkRoutingConfig) GetRoutingMode() string { @@ -85139,7 +88575,7 @@ type NetworksAddPeeringRequest struct { func (x *NetworksAddPeeringRequest) Reset() { *x = NetworksAddPeeringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[819] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[847] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85152,7 +88588,7 @@ func (x *NetworksAddPeeringRequest) String() string { func (*NetworksAddPeeringRequest) ProtoMessage() {} func (x *NetworksAddPeeringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[819] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[847] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85165,7 +88601,7 @@ func (x *NetworksAddPeeringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworksAddPeeringRequest.ProtoReflect.Descriptor instead. func (*NetworksAddPeeringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{819} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{847} } func (x *NetworksAddPeeringRequest) GetAutoCreateRoutes() bool { @@ -85210,7 +88646,7 @@ type NetworksGetEffectiveFirewallsResponse struct { func (x *NetworksGetEffectiveFirewallsResponse) Reset() { *x = NetworksGetEffectiveFirewallsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[820] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[848] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85223,7 +88659,7 @@ func (x *NetworksGetEffectiveFirewallsResponse) String() string { func (*NetworksGetEffectiveFirewallsResponse) ProtoMessage() {} func (x *NetworksGetEffectiveFirewallsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[820] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[848] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85236,7 +88672,7 @@ func (x *NetworksGetEffectiveFirewallsResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use NetworksGetEffectiveFirewallsResponse.ProtoReflect.Descriptor instead. func (*NetworksGetEffectiveFirewallsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{820} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{848} } func (x *NetworksGetEffectiveFirewallsResponse) GetFirewallPolicys() []*NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy { @@ -85274,7 +88710,7 @@ type NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy struct { func (x *NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy) Reset() { *x = NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[821] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[849] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85287,7 +88723,7 @@ func (x *NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy) String() func (*NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy) ProtoMessage() {} func (x *NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[821] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[849] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85300,7 +88736,7 @@ func (x *NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy) ProtoRefl // Deprecated: Use NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy.ProtoReflect.Descriptor instead. func (*NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{821} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{849} } func (x *NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy) GetDisplayName() string { @@ -85350,7 +88786,7 @@ type NetworksRemovePeeringRequest struct { func (x *NetworksRemovePeeringRequest) Reset() { *x = NetworksRemovePeeringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[822] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[850] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85363,7 +88799,7 @@ func (x *NetworksRemovePeeringRequest) String() string { func (*NetworksRemovePeeringRequest) ProtoMessage() {} func (x *NetworksRemovePeeringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[822] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[850] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85376,7 +88812,7 @@ func (x *NetworksRemovePeeringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworksRemovePeeringRequest.ProtoReflect.Descriptor instead. func (*NetworksRemovePeeringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{822} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{850} } func (x *NetworksRemovePeeringRequest) GetName() string { @@ -85397,7 +88833,7 @@ type NetworksUpdatePeeringRequest struct { func (x *NetworksUpdatePeeringRequest) Reset() { *x = NetworksUpdatePeeringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[823] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[851] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85410,7 +88846,7 @@ func (x *NetworksUpdatePeeringRequest) String() string { func (*NetworksUpdatePeeringRequest) ProtoMessage() {} func (x *NetworksUpdatePeeringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[823] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[851] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85423,7 +88859,7 @@ func (x *NetworksUpdatePeeringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworksUpdatePeeringRequest.ProtoReflect.Descriptor instead. func (*NetworksUpdatePeeringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{823} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{851} } func (x *NetworksUpdatePeeringRequest) GetNetworkPeering() *NetworkPeering { @@ -85466,7 +88902,6 @@ type NodeGroup struct { ShareSettings *ShareSettings `protobuf:"bytes,266668163,opt,name=share_settings,json=shareSettings,proto3,oneof" json:"share_settings,omitempty"` // [Output Only] The total number of nodes in the node group. Size *int32 `protobuf:"varint,3530753,opt,name=size,proto3,oneof" json:"size,omitempty"` - // // Check the Status enum for the list of possible values. Status *string `protobuf:"bytes,181260274,opt,name=status,proto3,oneof" json:"status,omitempty"` // [Output Only] The name of the zone where the node group resides, such as us-central1-a. @@ -85476,7 +88911,7 @@ type NodeGroup struct { func (x *NodeGroup) Reset() { *x = NodeGroup{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[824] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[852] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85489,7 +88924,7 @@ func (x *NodeGroup) String() string { func (*NodeGroup) ProtoMessage() {} func (x *NodeGroup) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[824] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[852] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85502,7 +88937,7 @@ func (x *NodeGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroup.ProtoReflect.Descriptor instead. func (*NodeGroup) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{824} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{852} } func (x *NodeGroup) GetAutoscalingPolicy() *NodeGroupAutoscalingPolicy { @@ -85641,7 +89076,7 @@ type NodeGroupAggregatedList struct { func (x *NodeGroupAggregatedList) Reset() { *x = NodeGroupAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[825] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[853] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85654,7 +89089,7 @@ func (x *NodeGroupAggregatedList) String() string { func (*NodeGroupAggregatedList) ProtoMessage() {} func (x *NodeGroupAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[825] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[853] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85667,7 +89102,7 @@ func (x *NodeGroupAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupAggregatedList.ProtoReflect.Descriptor instead. func (*NodeGroupAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{825} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{853} } func (x *NodeGroupAggregatedList) GetId() string { @@ -85736,7 +89171,7 @@ type NodeGroupAutoscalingPolicy struct { func (x *NodeGroupAutoscalingPolicy) Reset() { *x = NodeGroupAutoscalingPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[826] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[854] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85749,7 +89184,7 @@ func (x *NodeGroupAutoscalingPolicy) String() string { func (*NodeGroupAutoscalingPolicy) ProtoMessage() {} func (x *NodeGroupAutoscalingPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[826] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[854] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85762,7 +89197,7 @@ func (x *NodeGroupAutoscalingPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupAutoscalingPolicy.ProtoReflect.Descriptor instead. func (*NodeGroupAutoscalingPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{826} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{854} } func (x *NodeGroupAutoscalingPolicy) GetMaxNodes() int32 { @@ -85809,7 +89244,7 @@ type NodeGroupList struct { func (x *NodeGroupList) Reset() { *x = NodeGroupList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[827] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[855] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85822,7 +89257,7 @@ func (x *NodeGroupList) String() string { func (*NodeGroupList) ProtoMessage() {} func (x *NodeGroupList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[827] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[855] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85835,7 +89270,7 @@ func (x *NodeGroupList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupList.ProtoReflect.Descriptor instead. func (*NodeGroupList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{827} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{855} } func (x *NodeGroupList) GetId() string { @@ -85895,7 +89330,7 @@ type NodeGroupMaintenanceWindow struct { func (x *NodeGroupMaintenanceWindow) Reset() { *x = NodeGroupMaintenanceWindow{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[828] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[856] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85908,7 +89343,7 @@ func (x *NodeGroupMaintenanceWindow) String() string { func (*NodeGroupMaintenanceWindow) ProtoMessage() {} func (x *NodeGroupMaintenanceWindow) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[828] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[856] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -85921,7 +89356,7 @@ func (x *NodeGroupMaintenanceWindow) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupMaintenanceWindow.ProtoReflect.Descriptor instead. func (*NodeGroupMaintenanceWindow) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{828} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{856} } func (x *NodeGroupMaintenanceWindow) GetMaintenanceDuration() *Duration { @@ -85966,7 +89401,6 @@ type NodeGroupNode struct { ServerBinding *ServerBinding `protobuf:"bytes,208179593,opt,name=server_binding,json=serverBinding,proto3,oneof" json:"server_binding,omitempty"` // Server ID associated with this node. ServerId *string `protobuf:"bytes,339433367,opt,name=server_id,json=serverId,proto3,oneof" json:"server_id,omitempty"` - // // Check the Status enum for the list of possible values. Status *string `protobuf:"bytes,181260274,opt,name=status,proto3,oneof" json:"status,omitempty"` // Total amount of available resources on the node. @@ -85976,7 +89410,7 @@ type NodeGroupNode struct { func (x *NodeGroupNode) Reset() { *x = NodeGroupNode{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[829] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[857] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -85989,7 +89423,7 @@ func (x *NodeGroupNode) String() string { func (*NodeGroupNode) ProtoMessage() {} func (x *NodeGroupNode) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[829] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[857] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86002,7 +89436,7 @@ func (x *NodeGroupNode) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupNode.ProtoReflect.Descriptor instead. func (*NodeGroupNode) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{829} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{857} } func (x *NodeGroupNode) GetAccelerators() []*AcceleratorConfig { @@ -86108,7 +89542,7 @@ type NodeGroupsAddNodesRequest struct { func (x *NodeGroupsAddNodesRequest) Reset() { *x = NodeGroupsAddNodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[830] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[858] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86121,7 +89555,7 @@ func (x *NodeGroupsAddNodesRequest) String() string { func (*NodeGroupsAddNodesRequest) ProtoMessage() {} func (x *NodeGroupsAddNodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[830] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[858] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86134,7 +89568,7 @@ func (x *NodeGroupsAddNodesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupsAddNodesRequest.ProtoReflect.Descriptor instead. func (*NodeGroupsAddNodesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{830} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{858} } func (x *NodeGroupsAddNodesRequest) GetAdditionalNodeCount() int32 { @@ -86156,7 +89590,7 @@ type NodeGroupsDeleteNodesRequest struct { func (x *NodeGroupsDeleteNodesRequest) Reset() { *x = NodeGroupsDeleteNodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[831] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[859] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86169,7 +89603,7 @@ func (x *NodeGroupsDeleteNodesRequest) String() string { func (*NodeGroupsDeleteNodesRequest) ProtoMessage() {} func (x *NodeGroupsDeleteNodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[831] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[859] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86182,7 +89616,7 @@ func (x *NodeGroupsDeleteNodesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupsDeleteNodesRequest.ProtoReflect.Descriptor instead. func (*NodeGroupsDeleteNodesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{831} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{859} } func (x *NodeGroupsDeleteNodesRequest) GetNodes() []string { @@ -86214,7 +89648,7 @@ type NodeGroupsListNodes struct { func (x *NodeGroupsListNodes) Reset() { *x = NodeGroupsListNodes{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[832] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[860] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86227,7 +89661,7 @@ func (x *NodeGroupsListNodes) String() string { func (*NodeGroupsListNodes) ProtoMessage() {} func (x *NodeGroupsListNodes) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[832] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[860] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86240,7 +89674,7 @@ func (x *NodeGroupsListNodes) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupsListNodes.ProtoReflect.Descriptor instead. func (*NodeGroupsListNodes) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{832} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{860} } func (x *NodeGroupsListNodes) GetId() string { @@ -86299,7 +89733,7 @@ type NodeGroupsScopedList struct { func (x *NodeGroupsScopedList) Reset() { *x = NodeGroupsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[833] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[861] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86312,7 +89746,7 @@ func (x *NodeGroupsScopedList) String() string { func (*NodeGroupsScopedList) ProtoMessage() {} func (x *NodeGroupsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[833] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[861] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86325,7 +89759,7 @@ func (x *NodeGroupsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupsScopedList.ProtoReflect.Descriptor instead. func (*NodeGroupsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{833} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{861} } func (x *NodeGroupsScopedList) GetNodeGroups() []*NodeGroup { @@ -86354,7 +89788,7 @@ type NodeGroupsSetNodeTemplateRequest struct { func (x *NodeGroupsSetNodeTemplateRequest) Reset() { *x = NodeGroupsSetNodeTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[834] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[862] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86367,7 +89801,7 @@ func (x *NodeGroupsSetNodeTemplateRequest) String() string { func (*NodeGroupsSetNodeTemplateRequest) ProtoMessage() {} func (x *NodeGroupsSetNodeTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[834] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[862] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86380,7 +89814,7 @@ func (x *NodeGroupsSetNodeTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeGroupsSetNodeTemplateRequest.ProtoReflect.Descriptor instead. func (*NodeGroupsSetNodeTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{834} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{862} } func (x *NodeGroupsSetNodeTemplateRequest) GetNodeTemplate() string { @@ -86402,7 +89836,7 @@ type NodeGroupsSimulateMaintenanceEventRequest struct { func (x *NodeGroupsSimulateMaintenanceEventRequest) Reset() { *x = NodeGroupsSimulateMaintenanceEventRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[835] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[863] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86415,7 +89849,7 @@ func (x *NodeGroupsSimulateMaintenanceEventRequest) String() string { func (*NodeGroupsSimulateMaintenanceEventRequest) ProtoMessage() {} func (x *NodeGroupsSimulateMaintenanceEventRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[835] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[863] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86428,7 +89862,7 @@ func (x *NodeGroupsSimulateMaintenanceEventRequest) ProtoReflect() protoreflect. // Deprecated: Use NodeGroupsSimulateMaintenanceEventRequest.ProtoReflect.Descriptor instead. func (*NodeGroupsSimulateMaintenanceEventRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{835} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{863} } func (x *NodeGroupsSimulateMaintenanceEventRequest) GetNodes() []string { @@ -86481,7 +89915,7 @@ type NodeTemplate struct { func (x *NodeTemplate) Reset() { *x = NodeTemplate{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[836] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[864] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86494,7 +89928,7 @@ func (x *NodeTemplate) String() string { func (*NodeTemplate) ProtoMessage() {} func (x *NodeTemplate) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[836] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[864] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86507,7 +89941,7 @@ func (x *NodeTemplate) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTemplate.ProtoReflect.Descriptor instead. func (*NodeTemplate) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{836} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{864} } func (x *NodeTemplate) GetAccelerators() []*AcceleratorConfig { @@ -86646,7 +90080,7 @@ type NodeTemplateAggregatedList struct { func (x *NodeTemplateAggregatedList) Reset() { *x = NodeTemplateAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[837] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[865] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86659,7 +90093,7 @@ func (x *NodeTemplateAggregatedList) String() string { func (*NodeTemplateAggregatedList) ProtoMessage() {} func (x *NodeTemplateAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[837] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[865] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86672,7 +90106,7 @@ func (x *NodeTemplateAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTemplateAggregatedList.ProtoReflect.Descriptor instead. func (*NodeTemplateAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{837} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{865} } func (x *NodeTemplateAggregatedList) GetId() string { @@ -86747,7 +90181,7 @@ type NodeTemplateList struct { func (x *NodeTemplateList) Reset() { *x = NodeTemplateList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[838] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[866] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86760,7 +90194,7 @@ func (x *NodeTemplateList) String() string { func (*NodeTemplateList) ProtoMessage() {} func (x *NodeTemplateList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[838] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[866] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86773,7 +90207,7 @@ func (x *NodeTemplateList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTemplateList.ProtoReflect.Descriptor instead. func (*NodeTemplateList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{838} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{866} } func (x *NodeTemplateList) GetId() string { @@ -86831,7 +90265,7 @@ type NodeTemplateNodeTypeFlexibility struct { func (x *NodeTemplateNodeTypeFlexibility) Reset() { *x = NodeTemplateNodeTypeFlexibility{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[839] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[867] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86844,7 +90278,7 @@ func (x *NodeTemplateNodeTypeFlexibility) String() string { func (*NodeTemplateNodeTypeFlexibility) ProtoMessage() {} func (x *NodeTemplateNodeTypeFlexibility) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[839] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[867] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86857,7 +90291,7 @@ func (x *NodeTemplateNodeTypeFlexibility) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTemplateNodeTypeFlexibility.ProtoReflect.Descriptor instead. func (*NodeTemplateNodeTypeFlexibility) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{839} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{867} } func (x *NodeTemplateNodeTypeFlexibility) GetCpus() string { @@ -86895,7 +90329,7 @@ type NodeTemplatesScopedList struct { func (x *NodeTemplatesScopedList) Reset() { *x = NodeTemplatesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[840] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[868] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86908,7 +90342,7 @@ func (x *NodeTemplatesScopedList) String() string { func (*NodeTemplatesScopedList) ProtoMessage() {} func (x *NodeTemplatesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[840] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[868] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86921,7 +90355,7 @@ func (x *NodeTemplatesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTemplatesScopedList.ProtoReflect.Descriptor instead. func (*NodeTemplatesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{840} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{868} } func (x *NodeTemplatesScopedList) GetNodeTemplates() []*NodeTemplate { @@ -86973,7 +90407,7 @@ type NodeType struct { func (x *NodeType) Reset() { *x = NodeType{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[841] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[869] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -86986,7 +90420,7 @@ func (x *NodeType) String() string { func (*NodeType) ProtoMessage() {} func (x *NodeType) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[841] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[869] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -86999,7 +90433,7 @@ func (x *NodeType) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeType.ProtoReflect.Descriptor instead. func (*NodeType) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{841} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{869} } func (x *NodeType) GetCpuPlatform() string { @@ -87110,7 +90544,7 @@ type NodeTypeAggregatedList struct { func (x *NodeTypeAggregatedList) Reset() { *x = NodeTypeAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[842] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[870] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87123,7 +90557,7 @@ func (x *NodeTypeAggregatedList) String() string { func (*NodeTypeAggregatedList) ProtoMessage() {} func (x *NodeTypeAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[842] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[870] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87136,7 +90570,7 @@ func (x *NodeTypeAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTypeAggregatedList.ProtoReflect.Descriptor instead. func (*NodeTypeAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{842} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{870} } func (x *NodeTypeAggregatedList) GetId() string { @@ -87211,7 +90645,7 @@ type NodeTypeList struct { func (x *NodeTypeList) Reset() { *x = NodeTypeList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[843] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[871] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87224,7 +90658,7 @@ func (x *NodeTypeList) String() string { func (*NodeTypeList) ProtoMessage() {} func (x *NodeTypeList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[843] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[871] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87237,7 +90671,7 @@ func (x *NodeTypeList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTypeList.ProtoReflect.Descriptor instead. func (*NodeTypeList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{843} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{871} } func (x *NodeTypeList) GetId() string { @@ -87296,7 +90730,7 @@ type NodeTypesScopedList struct { func (x *NodeTypesScopedList) Reset() { *x = NodeTypesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[844] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[872] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87309,7 +90743,7 @@ func (x *NodeTypesScopedList) String() string { func (*NodeTypesScopedList) ProtoMessage() {} func (x *NodeTypesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[844] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[872] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87322,7 +90756,7 @@ func (x *NodeTypesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use NodeTypesScopedList.ProtoReflect.Descriptor instead. func (*NodeTypesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{844} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{872} } func (x *NodeTypesScopedList) GetNodeTypes() []*NodeType { @@ -87366,7 +90800,7 @@ type NotificationEndpoint struct { func (x *NotificationEndpoint) Reset() { *x = NotificationEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[845] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[873] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87379,7 +90813,7 @@ func (x *NotificationEndpoint) String() string { func (*NotificationEndpoint) ProtoMessage() {} func (x *NotificationEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[845] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[873] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87392,7 +90826,7 @@ func (x *NotificationEndpoint) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationEndpoint.ProtoReflect.Descriptor instead. func (*NotificationEndpoint) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{845} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{873} } func (x *NotificationEndpoint) GetCreationTimestamp() string { @@ -87472,7 +90906,7 @@ type NotificationEndpointGrpcSettings struct { func (x *NotificationEndpointGrpcSettings) Reset() { *x = NotificationEndpointGrpcSettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[846] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[874] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87485,7 +90919,7 @@ func (x *NotificationEndpointGrpcSettings) String() string { func (*NotificationEndpointGrpcSettings) ProtoMessage() {} func (x *NotificationEndpointGrpcSettings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[846] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[874] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87498,7 +90932,7 @@ func (x *NotificationEndpointGrpcSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationEndpointGrpcSettings.ProtoReflect.Descriptor instead. func (*NotificationEndpointGrpcSettings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{846} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{874} } func (x *NotificationEndpointGrpcSettings) GetAuthority() string { @@ -87558,7 +90992,7 @@ type NotificationEndpointList struct { func (x *NotificationEndpointList) Reset() { *x = NotificationEndpointList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[847] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[875] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87571,7 +91005,7 @@ func (x *NotificationEndpointList) String() string { func (*NotificationEndpointList) ProtoMessage() {} func (x *NotificationEndpointList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[847] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[875] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87584,7 +91018,7 @@ func (x *NotificationEndpointList) ProtoReflect() protoreflect.Message { // Deprecated: Use NotificationEndpointList.ProtoReflect.Descriptor instead. func (*NotificationEndpointList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{847} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{875} } func (x *NotificationEndpointList) GetId() string { @@ -87629,7 +91063,7 @@ func (x *NotificationEndpointList) GetWarning() *Warning { return nil } -// Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/v1/globalOperations) * [Regional](/compute/docs/reference/rest/v1/regionOperations) * [Zonal](/compute/docs/reference/rest/v1/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zonalOperations` resource. For more information, read Global, Regional, and Zonal Resources. +// Represents an Operation resource. Google Compute Engine has three Operation resources: * [Global](/compute/docs/reference/rest/v1/globalOperations) * [Regional](/compute/docs/reference/rest/v1/regionOperations) * [Zonal](/compute/docs/reference/rest/v1/zoneOperations) You can use an operation resource to manage asynchronous API requests. For more information, read Handling API responses. Operations can be global, regional or zonal. - For global operations, use the `globalOperations` resource. - For regional operations, use the `regionOperations` resource. - For zonal operations, use the `zoneOperations` resource. For more information, read Global, Regional, and Zonal Resources. type Operation struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -87652,7 +91086,8 @@ type Operation struct { // [Output Only] The unique identifier for the operation. This identifier is defined by the server. Id *uint64 `protobuf:"varint,3355,opt,name=id,proto3,oneof" json:"id,omitempty"` // [Output Only] The time that this operation was requested. This value is in RFC3339 text format. - InsertTime *string `protobuf:"bytes,433722515,opt,name=insert_time,json=insertTime,proto3,oneof" json:"insert_time,omitempty"` + InsertTime *string `protobuf:"bytes,433722515,opt,name=insert_time,json=insertTime,proto3,oneof" json:"insert_time,omitempty"` + InstancesBulkInsertOperationMetadata *InstancesBulkInsertOperationMetadata `protobuf:"bytes,89146177,opt,name=instances_bulk_insert_operation_metadata,json=instancesBulkInsertOperationMetadata,proto3,oneof" json:"instances_bulk_insert_operation_metadata,omitempty"` // [Output Only] Type of the resource. Always `compute#operation` for Operation resources. Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` // [Output Only] Name of the operation. @@ -87667,6 +91102,8 @@ type Operation struct { Region *string `protobuf:"bytes,138946292,opt,name=region,proto3,oneof" json:"region,omitempty"` // [Output Only] Server-defined URL for the resource. SelfLink *string `protobuf:"bytes,456214797,opt,name=self_link,json=selfLink,proto3,oneof" json:"self_link,omitempty"` + // [Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state. + SetCommonInstanceMetadataOperationMetadata *SetCommonInstanceMetadataOperationMetadata `protobuf:"bytes,490378980,opt,name=set_common_instance_metadata_operation_metadata,json=setCommonInstanceMetadataOperationMetadata,proto3,oneof" json:"set_common_instance_metadata_operation_metadata,omitempty"` // [Output Only] The time that this operation was started by the server. This value is in RFC3339 text format. StartTime *string `protobuf:"bytes,37467274,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` // [Output Only] The status of the operation, which can be one of the following: `PENDING`, `RUNNING`, or `DONE`. @@ -87677,7 +91114,7 @@ type Operation struct { TargetId *uint64 `protobuf:"varint,258165385,opt,name=target_id,json=targetId,proto3,oneof" json:"target_id,omitempty"` // [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. TargetLink *string `protobuf:"bytes,62671336,opt,name=target_link,json=targetLink,proto3,oneof" json:"target_link,omitempty"` - // [Output Only] User who requested the operation, for example: `user@example.com`. + // [Output Only] User who requested the operation, for example: `user@example.com` or `alice_smith_identifier (global/workforcePools/example-com-us-employees)`. User *string `protobuf:"bytes,3599307,opt,name=user,proto3,oneof" json:"user,omitempty"` // [Output Only] If warning messages are generated during processing of the operation, this field will be populated. Warnings []*Warnings `protobuf:"bytes,498091095,rep,name=warnings,proto3" json:"warnings,omitempty"` @@ -87688,7 +91125,7 @@ type Operation struct { func (x *Operation) Reset() { *x = Operation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[848] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[876] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87701,7 +91138,7 @@ func (x *Operation) String() string { func (*Operation) ProtoMessage() {} func (x *Operation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[848] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[876] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87714,7 +91151,7 @@ func (x *Operation) ProtoReflect() protoreflect.Message { // Deprecated: Use Operation.ProtoReflect.Descriptor instead. func (*Operation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{848} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{876} } func (x *Operation) GetClientOperationId() string { @@ -87780,6 +91217,13 @@ func (x *Operation) GetInsertTime() string { return "" } +func (x *Operation) GetInstancesBulkInsertOperationMetadata() *InstancesBulkInsertOperationMetadata { + if x != nil { + return x.InstancesBulkInsertOperationMetadata + } + return nil +} + func (x *Operation) GetKind() string { if x != nil && x.Kind != nil { return *x.Kind @@ -87829,6 +91273,13 @@ func (x *Operation) GetSelfLink() string { return "" } +func (x *Operation) GetSetCommonInstanceMetadataOperationMetadata() *SetCommonInstanceMetadataOperationMetadata { + if x != nil { + return x.SetCommonInstanceMetadataOperationMetadata + } + return nil +} + func (x *Operation) GetStartTime() string { if x != nil && x.StartTime != nil { return *x.StartTime @@ -87909,7 +91360,7 @@ type OperationAggregatedList struct { func (x *OperationAggregatedList) Reset() { *x = OperationAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[849] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[877] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -87922,7 +91373,7 @@ func (x *OperationAggregatedList) String() string { func (*OperationAggregatedList) ProtoMessage() {} func (x *OperationAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[849] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[877] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -87935,7 +91386,7 @@ func (x *OperationAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use OperationAggregatedList.ProtoReflect.Descriptor instead. func (*OperationAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{849} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{877} } func (x *OperationAggregatedList) GetId() string { @@ -88010,7 +91461,7 @@ type OperationList struct { func (x *OperationList) Reset() { *x = OperationList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[850] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[878] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88023,7 +91474,7 @@ func (x *OperationList) String() string { func (*OperationList) ProtoMessage() {} func (x *OperationList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[850] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[878] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88036,7 +91487,7 @@ func (x *OperationList) ProtoReflect() protoreflect.Message { // Deprecated: Use OperationList.ProtoReflect.Descriptor instead. func (*OperationList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{850} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{878} } func (x *OperationList) GetId() string { @@ -88095,7 +91546,7 @@ type OperationsScopedList struct { func (x *OperationsScopedList) Reset() { *x = OperationsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[851] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[879] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88108,7 +91559,7 @@ func (x *OperationsScopedList) String() string { func (*OperationsScopedList) ProtoMessage() {} func (x *OperationsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[851] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[879] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88121,7 +91572,7 @@ func (x *OperationsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use OperationsScopedList.ProtoReflect.Descriptor instead. func (*OperationsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{851} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{879} } func (x *OperationsScopedList) GetOperations() []*Operation { @@ -88171,7 +91622,7 @@ type OutlierDetection struct { func (x *OutlierDetection) Reset() { *x = OutlierDetection{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[852] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[880] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88184,7 +91635,7 @@ func (x *OutlierDetection) String() string { func (*OutlierDetection) ProtoMessage() {} func (x *OutlierDetection) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[852] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[880] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88197,7 +91648,7 @@ func (x *OutlierDetection) ProtoReflect() protoreflect.Message { // Deprecated: Use OutlierDetection.ProtoReflect.Descriptor instead. func (*OutlierDetection) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{852} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{880} } func (x *OutlierDetection) GetBaseEjectionTime() *Duration { @@ -88302,7 +91753,7 @@ type PacketIntervals struct { func (x *PacketIntervals) Reset() { *x = PacketIntervals{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[853] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[881] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88315,7 +91766,7 @@ func (x *PacketIntervals) String() string { func (*PacketIntervals) ProtoMessage() {} func (x *PacketIntervals) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[853] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[881] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88328,7 +91779,7 @@ func (x *PacketIntervals) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketIntervals.ProtoReflect.Descriptor instead. func (*PacketIntervals) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{853} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{881} } func (x *PacketIntervals) GetAvgMs() int64 { @@ -88411,7 +91862,7 @@ type PacketMirroring struct { func (x *PacketMirroring) Reset() { *x = PacketMirroring{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[854] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[882] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88424,7 +91875,7 @@ func (x *PacketMirroring) String() string { func (*PacketMirroring) ProtoMessage() {} func (x *PacketMirroring) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[854] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[882] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88437,7 +91888,7 @@ func (x *PacketMirroring) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketMirroring.ProtoReflect.Descriptor instead. func (*PacketMirroring) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{854} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{882} } func (x *PacketMirroring) GetCollectorIlb() *PacketMirroringForwardingRuleInfo { @@ -88556,7 +92007,7 @@ type PacketMirroringAggregatedList struct { func (x *PacketMirroringAggregatedList) Reset() { *x = PacketMirroringAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[855] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[883] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88569,7 +92020,7 @@ func (x *PacketMirroringAggregatedList) String() string { func (*PacketMirroringAggregatedList) ProtoMessage() {} func (x *PacketMirroringAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[855] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[883] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88582,7 +92033,7 @@ func (x *PacketMirroringAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketMirroringAggregatedList.ProtoReflect.Descriptor instead. func (*PacketMirroringAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{855} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{883} } func (x *PacketMirroringAggregatedList) GetId() string { @@ -88651,7 +92102,7 @@ type PacketMirroringFilter struct { func (x *PacketMirroringFilter) Reset() { *x = PacketMirroringFilter{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[856] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[884] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88664,7 +92115,7 @@ func (x *PacketMirroringFilter) String() string { func (*PacketMirroringFilter) ProtoMessage() {} func (x *PacketMirroringFilter) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[856] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[884] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88677,7 +92128,7 @@ func (x *PacketMirroringFilter) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketMirroringFilter.ProtoReflect.Descriptor instead. func (*PacketMirroringFilter) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{856} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{884} } func (x *PacketMirroringFilter) GetIPProtocols() []string { @@ -88715,7 +92166,7 @@ type PacketMirroringForwardingRuleInfo struct { func (x *PacketMirroringForwardingRuleInfo) Reset() { *x = PacketMirroringForwardingRuleInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[857] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[885] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88728,7 +92179,7 @@ func (x *PacketMirroringForwardingRuleInfo) String() string { func (*PacketMirroringForwardingRuleInfo) ProtoMessage() {} func (x *PacketMirroringForwardingRuleInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[857] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[885] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88741,7 +92192,7 @@ func (x *PacketMirroringForwardingRuleInfo) ProtoReflect() protoreflect.Message // Deprecated: Use PacketMirroringForwardingRuleInfo.ProtoReflect.Descriptor instead. func (*PacketMirroringForwardingRuleInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{857} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{885} } func (x *PacketMirroringForwardingRuleInfo) GetCanonicalUrl() string { @@ -88781,7 +92232,7 @@ type PacketMirroringList struct { func (x *PacketMirroringList) Reset() { *x = PacketMirroringList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[858] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[886] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88794,7 +92245,7 @@ func (x *PacketMirroringList) String() string { func (*PacketMirroringList) ProtoMessage() {} func (x *PacketMirroringList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[858] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[886] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88807,7 +92258,7 @@ func (x *PacketMirroringList) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketMirroringList.ProtoReflect.Descriptor instead. func (*PacketMirroringList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{858} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{886} } func (x *PacketMirroringList) GetId() string { @@ -88868,7 +92319,7 @@ type PacketMirroringMirroredResourceInfo struct { func (x *PacketMirroringMirroredResourceInfo) Reset() { *x = PacketMirroringMirroredResourceInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[859] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[887] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88881,7 +92332,7 @@ func (x *PacketMirroringMirroredResourceInfo) String() string { func (*PacketMirroringMirroredResourceInfo) ProtoMessage() {} func (x *PacketMirroringMirroredResourceInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[859] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[887] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88894,7 +92345,7 @@ func (x *PacketMirroringMirroredResourceInfo) ProtoReflect() protoreflect.Messag // Deprecated: Use PacketMirroringMirroredResourceInfo.ProtoReflect.Descriptor instead. func (*PacketMirroringMirroredResourceInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{859} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{887} } func (x *PacketMirroringMirroredResourceInfo) GetInstances() []*PacketMirroringMirroredResourceInfoInstanceInfo { @@ -88932,7 +92383,7 @@ type PacketMirroringMirroredResourceInfoInstanceInfo struct { func (x *PacketMirroringMirroredResourceInfoInstanceInfo) Reset() { *x = PacketMirroringMirroredResourceInfoInstanceInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[860] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[888] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -88945,7 +92396,7 @@ func (x *PacketMirroringMirroredResourceInfoInstanceInfo) String() string { func (*PacketMirroringMirroredResourceInfoInstanceInfo) ProtoMessage() {} func (x *PacketMirroringMirroredResourceInfoInstanceInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[860] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[888] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -88958,7 +92409,7 @@ func (x *PacketMirroringMirroredResourceInfoInstanceInfo) ProtoReflect() protore // Deprecated: Use PacketMirroringMirroredResourceInfoInstanceInfo.ProtoReflect.Descriptor instead. func (*PacketMirroringMirroredResourceInfoInstanceInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{860} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{888} } func (x *PacketMirroringMirroredResourceInfoInstanceInfo) GetCanonicalUrl() string { @@ -88989,7 +92440,7 @@ type PacketMirroringMirroredResourceInfoSubnetInfo struct { func (x *PacketMirroringMirroredResourceInfoSubnetInfo) Reset() { *x = PacketMirroringMirroredResourceInfoSubnetInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[861] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[889] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89002,7 +92453,7 @@ func (x *PacketMirroringMirroredResourceInfoSubnetInfo) String() string { func (*PacketMirroringMirroredResourceInfoSubnetInfo) ProtoMessage() {} func (x *PacketMirroringMirroredResourceInfoSubnetInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[861] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[889] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89015,7 +92466,7 @@ func (x *PacketMirroringMirroredResourceInfoSubnetInfo) ProtoReflect() protorefl // Deprecated: Use PacketMirroringMirroredResourceInfoSubnetInfo.ProtoReflect.Descriptor instead. func (*PacketMirroringMirroredResourceInfoSubnetInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{861} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{889} } func (x *PacketMirroringMirroredResourceInfoSubnetInfo) GetCanonicalUrl() string { @@ -89046,7 +92497,7 @@ type PacketMirroringNetworkInfo struct { func (x *PacketMirroringNetworkInfo) Reset() { *x = PacketMirroringNetworkInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[862] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[890] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89059,7 +92510,7 @@ func (x *PacketMirroringNetworkInfo) String() string { func (*PacketMirroringNetworkInfo) ProtoMessage() {} func (x *PacketMirroringNetworkInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[862] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[890] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89072,7 +92523,7 @@ func (x *PacketMirroringNetworkInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketMirroringNetworkInfo.ProtoReflect.Descriptor instead. func (*PacketMirroringNetworkInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{862} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{890} } func (x *PacketMirroringNetworkInfo) GetCanonicalUrl() string { @@ -89103,7 +92554,7 @@ type PacketMirroringsScopedList struct { func (x *PacketMirroringsScopedList) Reset() { *x = PacketMirroringsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[863] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[891] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89116,7 +92567,7 @@ func (x *PacketMirroringsScopedList) String() string { func (*PacketMirroringsScopedList) ProtoMessage() {} func (x *PacketMirroringsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[863] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[891] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89129,7 +92580,7 @@ func (x *PacketMirroringsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use PacketMirroringsScopedList.ProtoReflect.Descriptor instead. func (*PacketMirroringsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{863} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{891} } func (x *PacketMirroringsScopedList) GetPacketMirrorings() []*PacketMirroring { @@ -89167,7 +92618,7 @@ type PatchAutoscalerRequest struct { func (x *PatchAutoscalerRequest) Reset() { *x = PatchAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[864] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[892] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89180,7 +92631,7 @@ func (x *PatchAutoscalerRequest) String() string { func (*PatchAutoscalerRequest) ProtoMessage() {} func (x *PatchAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[864] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[892] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89193,7 +92644,7 @@ func (x *PatchAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchAutoscalerRequest.ProtoReflect.Descriptor instead. func (*PatchAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{864} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{892} } func (x *PatchAutoscalerRequest) GetAutoscaler() string { @@ -89250,7 +92701,7 @@ type PatchBackendBucketRequest struct { func (x *PatchBackendBucketRequest) Reset() { *x = PatchBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[865] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[893] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89263,7 +92714,7 @@ func (x *PatchBackendBucketRequest) String() string { func (*PatchBackendBucketRequest) ProtoMessage() {} func (x *PatchBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[865] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[893] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89276,7 +92727,7 @@ func (x *PatchBackendBucketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchBackendBucketRequest.ProtoReflect.Descriptor instead. func (*PatchBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{865} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{893} } func (x *PatchBackendBucketRequest) GetBackendBucket() string { @@ -89326,7 +92777,7 @@ type PatchBackendServiceRequest struct { func (x *PatchBackendServiceRequest) Reset() { *x = PatchBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[866] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[894] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89339,7 +92790,7 @@ func (x *PatchBackendServiceRequest) String() string { func (*PatchBackendServiceRequest) ProtoMessage() {} func (x *PatchBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[866] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[894] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89352,7 +92803,7 @@ func (x *PatchBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchBackendServiceRequest.ProtoReflect.Descriptor instead. func (*PatchBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{866} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{894} } func (x *PatchBackendServiceRequest) GetBackendService() string { @@ -89400,7 +92851,7 @@ type PatchFirewallPolicyRequest struct { func (x *PatchFirewallPolicyRequest) Reset() { *x = PatchFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[867] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[895] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89413,7 +92864,7 @@ func (x *PatchFirewallPolicyRequest) String() string { func (*PatchFirewallPolicyRequest) ProtoMessage() {} func (x *PatchFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[867] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[895] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89426,7 +92877,7 @@ func (x *PatchFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{867} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{895} } func (x *PatchFirewallPolicyRequest) GetFirewallPolicy() string { @@ -89469,7 +92920,7 @@ type PatchFirewallRequest struct { func (x *PatchFirewallRequest) Reset() { *x = PatchFirewallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[868] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[896] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89482,7 +92933,7 @@ func (x *PatchFirewallRequest) String() string { func (*PatchFirewallRequest) ProtoMessage() {} func (x *PatchFirewallRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[868] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[896] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89495,7 +92946,7 @@ func (x *PatchFirewallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchFirewallRequest.ProtoReflect.Descriptor instead. func (*PatchFirewallRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{868} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{896} } func (x *PatchFirewallRequest) GetFirewall() string { @@ -89547,7 +92998,7 @@ type PatchForwardingRuleRequest struct { func (x *PatchForwardingRuleRequest) Reset() { *x = PatchForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[869] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[897] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89560,7 +93011,7 @@ func (x *PatchForwardingRuleRequest) String() string { func (*PatchForwardingRuleRequest) ProtoMessage() {} func (x *PatchForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[869] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[897] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89573,7 +93024,7 @@ func (x *PatchForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*PatchForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{869} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{897} } func (x *PatchForwardingRuleRequest) GetForwardingRule() string { @@ -89630,7 +93081,7 @@ type PatchGlobalForwardingRuleRequest struct { func (x *PatchGlobalForwardingRuleRequest) Reset() { *x = PatchGlobalForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[870] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[898] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89643,7 +93094,7 @@ func (x *PatchGlobalForwardingRuleRequest) String() string { func (*PatchGlobalForwardingRuleRequest) ProtoMessage() {} func (x *PatchGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[870] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[898] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89656,7 +93107,7 @@ func (x *PatchGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchGlobalForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*PatchGlobalForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{870} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{898} } func (x *PatchGlobalForwardingRuleRequest) GetForwardingRule() string { @@ -89706,7 +93157,7 @@ type PatchGlobalPublicDelegatedPrefixeRequest struct { func (x *PatchGlobalPublicDelegatedPrefixeRequest) Reset() { *x = PatchGlobalPublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[871] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[899] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89719,7 +93170,7 @@ func (x *PatchGlobalPublicDelegatedPrefixeRequest) String() string { func (*PatchGlobalPublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *PatchGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[871] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[899] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89732,7 +93183,7 @@ func (x *PatchGlobalPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.M // Deprecated: Use PatchGlobalPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*PatchGlobalPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{871} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{899} } func (x *PatchGlobalPublicDelegatedPrefixeRequest) GetProject() string { @@ -89782,7 +93233,7 @@ type PatchHealthCheckRequest struct { func (x *PatchHealthCheckRequest) Reset() { *x = PatchHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[872] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[900] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89795,7 +93246,7 @@ func (x *PatchHealthCheckRequest) String() string { func (*PatchHealthCheckRequest) ProtoMessage() {} func (x *PatchHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[872] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[900] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89808,7 +93259,7 @@ func (x *PatchHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchHealthCheckRequest.ProtoReflect.Descriptor instead. func (*PatchHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{872} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{900} } func (x *PatchHealthCheckRequest) GetHealthCheck() string { @@ -89858,7 +93309,7 @@ type PatchImageRequest struct { func (x *PatchImageRequest) Reset() { *x = PatchImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[873] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[901] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89871,7 +93322,7 @@ func (x *PatchImageRequest) String() string { func (*PatchImageRequest) ProtoMessage() {} func (x *PatchImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[873] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[901] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89884,7 +93335,7 @@ func (x *PatchImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchImageRequest.ProtoReflect.Descriptor instead. func (*PatchImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{873} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{901} } func (x *PatchImageRequest) GetImage() string { @@ -89936,7 +93387,7 @@ type PatchInstanceGroupManagerRequest struct { func (x *PatchInstanceGroupManagerRequest) Reset() { *x = PatchInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[874] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[902] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -89949,7 +93400,7 @@ func (x *PatchInstanceGroupManagerRequest) String() string { func (*PatchInstanceGroupManagerRequest) ProtoMessage() {} func (x *PatchInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[874] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[902] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -89962,7 +93413,7 @@ func (x *PatchInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*PatchInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{874} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{902} } func (x *PatchInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -90021,7 +93472,7 @@ type PatchInterconnectAttachmentRequest struct { func (x *PatchInterconnectAttachmentRequest) Reset() { *x = PatchInterconnectAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[875] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[903] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90034,7 +93485,7 @@ func (x *PatchInterconnectAttachmentRequest) String() string { func (*PatchInterconnectAttachmentRequest) ProtoMessage() {} func (x *PatchInterconnectAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[875] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[903] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90047,7 +93498,7 @@ func (x *PatchInterconnectAttachmentRequest) ProtoReflect() protoreflect.Message // Deprecated: Use PatchInterconnectAttachmentRequest.ProtoReflect.Descriptor instead. func (*PatchInterconnectAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{875} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{903} } func (x *PatchInterconnectAttachmentRequest) GetInterconnectAttachment() string { @@ -90104,7 +93555,7 @@ type PatchInterconnectRequest struct { func (x *PatchInterconnectRequest) Reset() { *x = PatchInterconnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[876] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[904] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90117,7 +93568,7 @@ func (x *PatchInterconnectRequest) String() string { func (*PatchInterconnectRequest) ProtoMessage() {} func (x *PatchInterconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[876] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[904] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90130,7 +93581,7 @@ func (x *PatchInterconnectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchInterconnectRequest.ProtoReflect.Descriptor instead. func (*PatchInterconnectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{876} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{904} } func (x *PatchInterconnectRequest) GetInterconnect() string { @@ -90161,6 +93612,91 @@ func (x *PatchInterconnectRequest) GetRequestId() string { return "" } +// A request message for NetworkAttachments.Patch. See the method description for details. +type PatchNetworkAttachmentRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the NetworkAttachment resource to patch. + NetworkAttachment string `protobuf:"bytes,224644052,opt,name=network_attachment,json=networkAttachment,proto3" json:"network_attachment,omitempty"` + // The body resource for this request + NetworkAttachmentResource *NetworkAttachment `protobuf:"bytes,210974745,opt,name=network_attachment_resource,json=networkAttachmentResource,proto3" json:"network_attachment_resource,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region for this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` +} + +func (x *PatchNetworkAttachmentRequest) Reset() { + *x = PatchNetworkAttachmentRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[905] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchNetworkAttachmentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchNetworkAttachmentRequest) ProtoMessage() {} + +func (x *PatchNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[905] + 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 PatchNetworkAttachmentRequest.ProtoReflect.Descriptor instead. +func (*PatchNetworkAttachmentRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{905} +} + +func (x *PatchNetworkAttachmentRequest) GetNetworkAttachment() string { + if x != nil { + return x.NetworkAttachment + } + return "" +} + +func (x *PatchNetworkAttachmentRequest) GetNetworkAttachmentResource() *NetworkAttachment { + if x != nil { + return x.NetworkAttachmentResource + } + return nil +} + +func (x *PatchNetworkAttachmentRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *PatchNetworkAttachmentRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *PatchNetworkAttachmentRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + // A request message for NetworkEdgeSecurityServices.Patch. See the method description for details. type PatchNetworkEdgeSecurityServiceRequest struct { state protoimpl.MessageState @@ -90185,7 +93721,7 @@ type PatchNetworkEdgeSecurityServiceRequest struct { func (x *PatchNetworkEdgeSecurityServiceRequest) Reset() { *x = PatchNetworkEdgeSecurityServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[877] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[906] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90198,7 +93734,7 @@ func (x *PatchNetworkEdgeSecurityServiceRequest) String() string { func (*PatchNetworkEdgeSecurityServiceRequest) ProtoMessage() {} func (x *PatchNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[877] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[906] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90211,7 +93747,7 @@ func (x *PatchNetworkEdgeSecurityServiceRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use PatchNetworkEdgeSecurityServiceRequest.ProtoReflect.Descriptor instead. func (*PatchNetworkEdgeSecurityServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{877} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{906} } func (x *PatchNetworkEdgeSecurityServiceRequest) GetNetworkEdgeSecurityService() string { @@ -90282,7 +93818,7 @@ type PatchNetworkFirewallPolicyRequest struct { func (x *PatchNetworkFirewallPolicyRequest) Reset() { *x = PatchNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[878] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[907] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90295,7 +93831,7 @@ func (x *PatchNetworkFirewallPolicyRequest) String() string { func (*PatchNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *PatchNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[878] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[907] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90308,7 +93844,7 @@ func (x *PatchNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use PatchNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{878} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{907} } func (x *PatchNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -90358,7 +93894,7 @@ type PatchNetworkRequest struct { func (x *PatchNetworkRequest) Reset() { *x = PatchNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[879] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[908] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90371,7 +93907,7 @@ func (x *PatchNetworkRequest) String() string { func (*PatchNetworkRequest) ProtoMessage() {} func (x *PatchNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[879] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[908] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90384,7 +93920,7 @@ func (x *PatchNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchNetworkRequest.ProtoReflect.Descriptor instead. func (*PatchNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{879} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{908} } func (x *PatchNetworkRequest) GetNetwork() string { @@ -90436,7 +93972,7 @@ type PatchNodeGroupRequest struct { func (x *PatchNodeGroupRequest) Reset() { *x = PatchNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[880] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[909] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90449,7 +93985,7 @@ func (x *PatchNodeGroupRequest) String() string { func (*PatchNodeGroupRequest) ProtoMessage() {} func (x *PatchNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[880] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[909] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90462,7 +93998,7 @@ func (x *PatchNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchNodeGroupRequest.ProtoReflect.Descriptor instead. func (*PatchNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{880} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{909} } func (x *PatchNodeGroupRequest) GetNodeGroup() string { @@ -90521,7 +94057,7 @@ type PatchPacketMirroringRequest struct { func (x *PatchPacketMirroringRequest) Reset() { *x = PatchPacketMirroringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[881] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[910] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90534,7 +94070,7 @@ func (x *PatchPacketMirroringRequest) String() string { func (*PatchPacketMirroringRequest) ProtoMessage() {} func (x *PatchPacketMirroringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[881] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[910] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90547,7 +94083,7 @@ func (x *PatchPacketMirroringRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchPacketMirroringRequest.ProtoReflect.Descriptor instead. func (*PatchPacketMirroringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{881} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{910} } func (x *PatchPacketMirroringRequest) GetPacketMirroring() string { @@ -90606,7 +94142,7 @@ type PatchPerInstanceConfigsInstanceGroupManagerRequest struct { func (x *PatchPerInstanceConfigsInstanceGroupManagerRequest) Reset() { *x = PatchPerInstanceConfigsInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[882] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[911] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90619,7 +94155,7 @@ func (x *PatchPerInstanceConfigsInstanceGroupManagerRequest) String() string { func (*PatchPerInstanceConfigsInstanceGroupManagerRequest) ProtoMessage() {} func (x *PatchPerInstanceConfigsInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[882] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[911] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90632,7 +94168,7 @@ func (x *PatchPerInstanceConfigsInstanceGroupManagerRequest) ProtoReflect() prot // Deprecated: Use PatchPerInstanceConfigsInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*PatchPerInstanceConfigsInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{882} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{911} } func (x *PatchPerInstanceConfigsInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -90691,7 +94227,7 @@ type PatchPerInstanceConfigsRegionInstanceGroupManagerRequest struct { func (x *PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) Reset() { *x = PatchPerInstanceConfigsRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[883] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[912] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90704,7 +94240,7 @@ func (x *PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) String() stri func (*PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[883] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[912] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90717,7 +94253,7 @@ func (x *PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoReflect( // Deprecated: Use PatchPerInstanceConfigsRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{883} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{912} } func (x *PatchPerInstanceConfigsRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -90774,7 +94310,7 @@ type PatchPublicAdvertisedPrefixeRequest struct { func (x *PatchPublicAdvertisedPrefixeRequest) Reset() { *x = PatchPublicAdvertisedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[884] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[913] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90787,7 +94323,7 @@ func (x *PatchPublicAdvertisedPrefixeRequest) String() string { func (*PatchPublicAdvertisedPrefixeRequest) ProtoMessage() {} func (x *PatchPublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[884] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[913] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90800,7 +94336,7 @@ func (x *PatchPublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use PatchPublicAdvertisedPrefixeRequest.ProtoReflect.Descriptor instead. func (*PatchPublicAdvertisedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{884} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{913} } func (x *PatchPublicAdvertisedPrefixeRequest) GetProject() string { @@ -90852,7 +94388,7 @@ type PatchPublicDelegatedPrefixeRequest struct { func (x *PatchPublicDelegatedPrefixeRequest) Reset() { *x = PatchPublicDelegatedPrefixeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[885] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[914] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90865,7 +94401,7 @@ func (x *PatchPublicDelegatedPrefixeRequest) String() string { func (*PatchPublicDelegatedPrefixeRequest) ProtoMessage() {} func (x *PatchPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[885] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[914] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90878,7 +94414,7 @@ func (x *PatchPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message // Deprecated: Use PatchPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. func (*PatchPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{885} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{914} } func (x *PatchPublicDelegatedPrefixeRequest) GetProject() string { @@ -90937,7 +94473,7 @@ type PatchRegionAutoscalerRequest struct { func (x *PatchRegionAutoscalerRequest) Reset() { *x = PatchRegionAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[886] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[915] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -90950,7 +94486,7 @@ func (x *PatchRegionAutoscalerRequest) String() string { func (*PatchRegionAutoscalerRequest) ProtoMessage() {} func (x *PatchRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[886] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[915] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -90963,7 +94499,7 @@ func (x *PatchRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRegionAutoscalerRequest.ProtoReflect.Descriptor instead. func (*PatchRegionAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{886} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{915} } func (x *PatchRegionAutoscalerRequest) GetAutoscaler() string { @@ -91022,7 +94558,7 @@ type PatchRegionBackendServiceRequest struct { func (x *PatchRegionBackendServiceRequest) Reset() { *x = PatchRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[887] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[916] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91035,7 +94571,7 @@ func (x *PatchRegionBackendServiceRequest) String() string { func (*PatchRegionBackendServiceRequest) ProtoMessage() {} func (x *PatchRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[887] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[916] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91048,7 +94584,7 @@ func (x *PatchRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*PatchRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{887} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{916} } func (x *PatchRegionBackendServiceRequest) GetBackendService() string { @@ -91107,7 +94643,7 @@ type PatchRegionHealthCheckRequest struct { func (x *PatchRegionHealthCheckRequest) Reset() { *x = PatchRegionHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[888] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[917] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91120,7 +94656,7 @@ func (x *PatchRegionHealthCheckRequest) String() string { func (*PatchRegionHealthCheckRequest) ProtoMessage() {} func (x *PatchRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[888] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[917] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91133,7 +94669,7 @@ func (x *PatchRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRegionHealthCheckRequest.ProtoReflect.Descriptor instead. func (*PatchRegionHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{888} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{917} } func (x *PatchRegionHealthCheckRequest) GetHealthCheck() string { @@ -91192,7 +94728,7 @@ type PatchRegionHealthCheckServiceRequest struct { func (x *PatchRegionHealthCheckServiceRequest) Reset() { *x = PatchRegionHealthCheckServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[889] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[918] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91205,7 +94741,7 @@ func (x *PatchRegionHealthCheckServiceRequest) String() string { func (*PatchRegionHealthCheckServiceRequest) ProtoMessage() {} func (x *PatchRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[889] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[918] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91218,7 +94754,7 @@ func (x *PatchRegionHealthCheckServiceRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use PatchRegionHealthCheckServiceRequest.ProtoReflect.Descriptor instead. func (*PatchRegionHealthCheckServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{889} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{918} } func (x *PatchRegionHealthCheckServiceRequest) GetHealthCheckService() string { @@ -91277,7 +94813,7 @@ type PatchRegionInstanceGroupManagerRequest struct { func (x *PatchRegionInstanceGroupManagerRequest) Reset() { *x = PatchRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[890] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[919] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91290,7 +94826,7 @@ func (x *PatchRegionInstanceGroupManagerRequest) String() string { func (*PatchRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *PatchRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[890] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[919] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91303,7 +94839,7 @@ func (x *PatchRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use PatchRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*PatchRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{890} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{919} } func (x *PatchRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -91362,7 +94898,7 @@ type PatchRegionNetworkFirewallPolicyRequest struct { func (x *PatchRegionNetworkFirewallPolicyRequest) Reset() { *x = PatchRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[891] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[920] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91375,7 +94911,7 @@ func (x *PatchRegionNetworkFirewallPolicyRequest) String() string { func (*PatchRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *PatchRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[891] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[920] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91388,7 +94924,7 @@ func (x *PatchRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Me // Deprecated: Use PatchRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{891} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{920} } func (x *PatchRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -91442,12 +94978,14 @@ type PatchRegionSecurityPolicyRequest struct { SecurityPolicy string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3" json:"security_policy,omitempty"` // The body resource for this request SecurityPolicyResource *SecurityPolicy `protobuf:"bytes,216159612,opt,name=security_policy_resource,json=securityPolicyResource,proto3" json:"security_policy_resource,omitempty"` + // Indicates fields to be cleared as part of this request. + UpdateMask *string `protobuf:"bytes,500079778,opt,name=update_mask,json=updateMask,proto3,oneof" json:"update_mask,omitempty"` } func (x *PatchRegionSecurityPolicyRequest) Reset() { *x = PatchRegionSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[892] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[921] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91460,7 +94998,7 @@ func (x *PatchRegionSecurityPolicyRequest) String() string { func (*PatchRegionSecurityPolicyRequest) ProtoMessage() {} func (x *PatchRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[892] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[921] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91473,7 +95011,7 @@ func (x *PatchRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{892} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{921} } func (x *PatchRegionSecurityPolicyRequest) GetProject() string { @@ -91511,6 +95049,13 @@ func (x *PatchRegionSecurityPolicyRequest) GetSecurityPolicyResource() *Security return nil } +func (x *PatchRegionSecurityPolicyRequest) GetUpdateMask() string { + if x != nil && x.UpdateMask != nil { + return *x.UpdateMask + } + return "" +} + // A request message for RegionSslPolicies.Patch. See the method description for details. type PatchRegionSslPolicyRequest struct { state protoimpl.MessageState @@ -91532,7 +95077,7 @@ type PatchRegionSslPolicyRequest struct { func (x *PatchRegionSslPolicyRequest) Reset() { *x = PatchRegionSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[893] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[922] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91545,7 +95090,7 @@ func (x *PatchRegionSslPolicyRequest) String() string { func (*PatchRegionSslPolicyRequest) ProtoMessage() {} func (x *PatchRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[893] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[922] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91558,7 +95103,7 @@ func (x *PatchRegionSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRegionSslPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchRegionSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{893} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{922} } func (x *PatchRegionSslPolicyRequest) GetProject() string { @@ -91617,7 +95162,7 @@ type PatchRegionTargetHttpsProxyRequest struct { func (x *PatchRegionTargetHttpsProxyRequest) Reset() { *x = PatchRegionTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[894] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[923] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91630,7 +95175,7 @@ func (x *PatchRegionTargetHttpsProxyRequest) String() string { func (*PatchRegionTargetHttpsProxyRequest) ProtoMessage() {} func (x *PatchRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[894] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[923] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91643,7 +95188,7 @@ func (x *PatchRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use PatchRegionTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*PatchRegionTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{894} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{923} } func (x *PatchRegionTargetHttpsProxyRequest) GetProject() string { @@ -91702,7 +95247,7 @@ type PatchRegionUrlMapRequest struct { func (x *PatchRegionUrlMapRequest) Reset() { *x = PatchRegionUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[895] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[924] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91715,7 +95260,7 @@ func (x *PatchRegionUrlMapRequest) String() string { func (*PatchRegionUrlMapRequest) ProtoMessage() {} func (x *PatchRegionUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[895] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[924] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91728,7 +95273,7 @@ func (x *PatchRegionUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRegionUrlMapRequest.ProtoReflect.Descriptor instead. func (*PatchRegionUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{895} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{924} } func (x *PatchRegionUrlMapRequest) GetProject() string { @@ -91789,7 +95334,7 @@ type PatchResourcePolicyRequest struct { func (x *PatchResourcePolicyRequest) Reset() { *x = PatchResourcePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[896] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[925] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91802,7 +95347,7 @@ func (x *PatchResourcePolicyRequest) String() string { func (*PatchResourcePolicyRequest) ProtoMessage() {} func (x *PatchResourcePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[896] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[925] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91815,7 +95360,7 @@ func (x *PatchResourcePolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchResourcePolicyRequest.ProtoReflect.Descriptor instead. func (*PatchResourcePolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{896} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{925} } func (x *PatchResourcePolicyRequest) GetProject() string { @@ -91881,7 +95426,7 @@ type PatchRouterRequest struct { func (x *PatchRouterRequest) Reset() { *x = PatchRouterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[897] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[926] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91894,7 +95439,7 @@ func (x *PatchRouterRequest) String() string { func (*PatchRouterRequest) ProtoMessage() {} func (x *PatchRouterRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[897] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[926] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91907,7 +95452,7 @@ func (x *PatchRouterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRouterRequest.ProtoReflect.Descriptor instead. func (*PatchRouterRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{897} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{926} } func (x *PatchRouterRequest) GetProject() string { @@ -91964,7 +95509,7 @@ type PatchRuleFirewallPolicyRequest struct { func (x *PatchRuleFirewallPolicyRequest) Reset() { *x = PatchRuleFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[898] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[927] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -91977,7 +95522,7 @@ func (x *PatchRuleFirewallPolicyRequest) String() string { func (*PatchRuleFirewallPolicyRequest) ProtoMessage() {} func (x *PatchRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[898] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[927] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -91990,7 +95535,7 @@ func (x *PatchRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRuleFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchRuleFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{898} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{927} } func (x *PatchRuleFirewallPolicyRequest) GetFirewallPolicy() string { @@ -92042,7 +95587,7 @@ type PatchRuleNetworkFirewallPolicyRequest struct { func (x *PatchRuleNetworkFirewallPolicyRequest) Reset() { *x = PatchRuleNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[899] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[928] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92055,7 +95600,7 @@ func (x *PatchRuleNetworkFirewallPolicyRequest) String() string { func (*PatchRuleNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *PatchRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[899] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[928] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92068,7 +95613,7 @@ func (x *PatchRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use PatchRuleNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchRuleNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{899} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{928} } func (x *PatchRuleNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -92129,7 +95674,7 @@ type PatchRuleRegionNetworkFirewallPolicyRequest struct { func (x *PatchRuleRegionNetworkFirewallPolicyRequest) Reset() { *x = PatchRuleRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[900] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[929] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92142,7 +95687,7 @@ func (x *PatchRuleRegionNetworkFirewallPolicyRequest) String() string { func (*PatchRuleRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *PatchRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[900] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[929] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92155,7 +95700,7 @@ func (x *PatchRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflec // Deprecated: Use PatchRuleRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchRuleRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{900} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{929} } func (x *PatchRuleRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -92200,6 +95745,109 @@ func (x *PatchRuleRegionNetworkFirewallPolicyRequest) GetRequestId() string { return "" } +// A request message for RegionSecurityPolicies.PatchRule. See the method description for details. +type PatchRuleRegionSecurityPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The priority of the rule to patch. + Priority *int32 `protobuf:"varint,445151652,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region scoping this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Name of the security policy to update. + SecurityPolicy string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3" json:"security_policy,omitempty"` + // The body resource for this request + SecurityPolicyRuleResource *SecurityPolicyRule `protobuf:"bytes,402693443,opt,name=security_policy_rule_resource,json=securityPolicyRuleResource,proto3" json:"security_policy_rule_resource,omitempty"` + // Indicates fields to be cleared as part of this request. + UpdateMask *string `protobuf:"bytes,500079778,opt,name=update_mask,json=updateMask,proto3,oneof" json:"update_mask,omitempty"` + // If true, the request will not be committed. + ValidateOnly *bool `protobuf:"varint,242744629,opt,name=validate_only,json=validateOnly,proto3,oneof" json:"validate_only,omitempty"` +} + +func (x *PatchRuleRegionSecurityPolicyRequest) Reset() { + *x = PatchRuleRegionSecurityPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[930] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchRuleRegionSecurityPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchRuleRegionSecurityPolicyRequest) ProtoMessage() {} + +func (x *PatchRuleRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[930] + 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 PatchRuleRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. +func (*PatchRuleRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{930} +} + +func (x *PatchRuleRegionSecurityPolicyRequest) GetPriority() int32 { + if x != nil && x.Priority != nil { + return *x.Priority + } + return 0 +} + +func (x *PatchRuleRegionSecurityPolicyRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *PatchRuleRegionSecurityPolicyRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *PatchRuleRegionSecurityPolicyRequest) GetSecurityPolicy() string { + if x != nil { + return x.SecurityPolicy + } + return "" +} + +func (x *PatchRuleRegionSecurityPolicyRequest) GetSecurityPolicyRuleResource() *SecurityPolicyRule { + if x != nil { + return x.SecurityPolicyRuleResource + } + return nil +} + +func (x *PatchRuleRegionSecurityPolicyRequest) GetUpdateMask() string { + if x != nil && x.UpdateMask != nil { + return *x.UpdateMask + } + return "" +} + +func (x *PatchRuleRegionSecurityPolicyRequest) GetValidateOnly() bool { + if x != nil && x.ValidateOnly != nil { + return *x.ValidateOnly + } + return false +} + // A request message for SecurityPolicies.PatchRule. See the method description for details. type PatchRuleSecurityPolicyRequest struct { state protoimpl.MessageState @@ -92214,6 +95862,8 @@ type PatchRuleSecurityPolicyRequest struct { SecurityPolicy string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3" json:"security_policy,omitempty"` // The body resource for this request SecurityPolicyRuleResource *SecurityPolicyRule `protobuf:"bytes,402693443,opt,name=security_policy_rule_resource,json=securityPolicyRuleResource,proto3" json:"security_policy_rule_resource,omitempty"` + // Indicates fields to be cleared as part of this request. + UpdateMask *string `protobuf:"bytes,500079778,opt,name=update_mask,json=updateMask,proto3,oneof" json:"update_mask,omitempty"` // If true, the request will not be committed. ValidateOnly *bool `protobuf:"varint,242744629,opt,name=validate_only,json=validateOnly,proto3,oneof" json:"validate_only,omitempty"` } @@ -92221,7 +95871,7 @@ type PatchRuleSecurityPolicyRequest struct { func (x *PatchRuleSecurityPolicyRequest) Reset() { *x = PatchRuleSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[901] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[931] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92234,7 +95884,7 @@ func (x *PatchRuleSecurityPolicyRequest) String() string { func (*PatchRuleSecurityPolicyRequest) ProtoMessage() {} func (x *PatchRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[901] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[931] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92247,7 +95897,7 @@ func (x *PatchRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchRuleSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchRuleSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{901} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{931} } func (x *PatchRuleSecurityPolicyRequest) GetPriority() int32 { @@ -92278,6 +95928,13 @@ func (x *PatchRuleSecurityPolicyRequest) GetSecurityPolicyRuleResource() *Securi return nil } +func (x *PatchRuleSecurityPolicyRequest) GetUpdateMask() string { + if x != nil && x.UpdateMask != nil { + return *x.UpdateMask + } + return "" +} + func (x *PatchRuleSecurityPolicyRequest) GetValidateOnly() bool { if x != nil && x.ValidateOnly != nil { return *x.ValidateOnly @@ -92299,12 +95956,14 @@ type PatchSecurityPolicyRequest struct { SecurityPolicy string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3" json:"security_policy,omitempty"` // The body resource for this request SecurityPolicyResource *SecurityPolicy `protobuf:"bytes,216159612,opt,name=security_policy_resource,json=securityPolicyResource,proto3" json:"security_policy_resource,omitempty"` + // Indicates fields to be cleared as part of this request. + UpdateMask *string `protobuf:"bytes,500079778,opt,name=update_mask,json=updateMask,proto3,oneof" json:"update_mask,omitempty"` } func (x *PatchSecurityPolicyRequest) Reset() { *x = PatchSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[902] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[932] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92317,7 +95976,7 @@ func (x *PatchSecurityPolicyRequest) String() string { func (*PatchSecurityPolicyRequest) ProtoMessage() {} func (x *PatchSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[902] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[932] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92330,7 +95989,7 @@ func (x *PatchSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{902} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{932} } func (x *PatchSecurityPolicyRequest) GetProject() string { @@ -92361,6 +96020,13 @@ func (x *PatchSecurityPolicyRequest) GetSecurityPolicyResource() *SecurityPolicy return nil } +func (x *PatchSecurityPolicyRequest) GetUpdateMask() string { + if x != nil && x.UpdateMask != nil { + return *x.UpdateMask + } + return "" +} + // A request message for ServiceAttachments.Patch. See the method description for details. type PatchServiceAttachmentRequest struct { state protoimpl.MessageState @@ -92382,7 +96048,7 @@ type PatchServiceAttachmentRequest struct { func (x *PatchServiceAttachmentRequest) Reset() { *x = PatchServiceAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[903] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[933] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92395,7 +96061,7 @@ func (x *PatchServiceAttachmentRequest) String() string { func (*PatchServiceAttachmentRequest) ProtoMessage() {} func (x *PatchServiceAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[903] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[933] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92408,7 +96074,7 @@ func (x *PatchServiceAttachmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchServiceAttachmentRequest.ProtoReflect.Descriptor instead. func (*PatchServiceAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{903} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{933} } func (x *PatchServiceAttachmentRequest) GetProject() string { @@ -92446,6 +96112,82 @@ func (x *PatchServiceAttachmentRequest) GetServiceAttachmentResource() *ServiceA return nil } +// A request message for SnapshotSettingsService.Patch. See the method description for details. +type PatchSnapshotSettingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` + // The body resource for this request + SnapshotSettingsResource *SnapshotSettings `protobuf:"bytes,357664495,opt,name=snapshot_settings_resource,json=snapshotSettingsResource,proto3" json:"snapshot_settings_resource,omitempty"` + // update_mask indicates fields to be updated as part of this request. + UpdateMask *string `protobuf:"bytes,500079778,opt,name=update_mask,json=updateMask,proto3,oneof" json:"update_mask,omitempty"` +} + +func (x *PatchSnapshotSettingRequest) Reset() { + *x = PatchSnapshotSettingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[934] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchSnapshotSettingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchSnapshotSettingRequest) ProtoMessage() {} + +func (x *PatchSnapshotSettingRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[934] + 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 PatchSnapshotSettingRequest.ProtoReflect.Descriptor instead. +func (*PatchSnapshotSettingRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{934} +} + +func (x *PatchSnapshotSettingRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *PatchSnapshotSettingRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *PatchSnapshotSettingRequest) GetSnapshotSettingsResource() *SnapshotSettings { + if x != nil { + return x.SnapshotSettingsResource + } + return nil +} + +func (x *PatchSnapshotSettingRequest) GetUpdateMask() string { + if x != nil && x.UpdateMask != nil { + return *x.UpdateMask + } + return "" +} + // A request message for SslPolicies.Patch. See the method description for details. type PatchSslPolicyRequest struct { state protoimpl.MessageState @@ -92465,7 +96207,7 @@ type PatchSslPolicyRequest struct { func (x *PatchSslPolicyRequest) Reset() { *x = PatchSslPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[904] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[935] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92478,7 +96220,7 @@ func (x *PatchSslPolicyRequest) String() string { func (*PatchSslPolicyRequest) ProtoMessage() {} func (x *PatchSslPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[904] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[935] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92491,7 +96233,7 @@ func (x *PatchSslPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchSslPolicyRequest.ProtoReflect.Descriptor instead. func (*PatchSslPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{904} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{935} } func (x *PatchSslPolicyRequest) GetProject() string { @@ -92545,7 +96287,7 @@ type PatchSubnetworkRequest struct { func (x *PatchSubnetworkRequest) Reset() { *x = PatchSubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[905] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[936] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92558,7 +96300,7 @@ func (x *PatchSubnetworkRequest) String() string { func (*PatchSubnetworkRequest) ProtoMessage() {} func (x *PatchSubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[905] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[936] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92571,7 +96313,7 @@ func (x *PatchSubnetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchSubnetworkRequest.ProtoReflect.Descriptor instead. func (*PatchSubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{905} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{936} } func (x *PatchSubnetworkRequest) GetDrainTimeoutSeconds() int32 { @@ -92635,7 +96377,7 @@ type PatchTargetGrpcProxyRequest struct { func (x *PatchTargetGrpcProxyRequest) Reset() { *x = PatchTargetGrpcProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[906] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[937] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92648,7 +96390,7 @@ func (x *PatchTargetGrpcProxyRequest) String() string { func (*PatchTargetGrpcProxyRequest) ProtoMessage() {} func (x *PatchTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[906] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[937] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92661,7 +96403,7 @@ func (x *PatchTargetGrpcProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchTargetGrpcProxyRequest.ProtoReflect.Descriptor instead. func (*PatchTargetGrpcProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{906} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{937} } func (x *PatchTargetGrpcProxyRequest) GetProject() string { @@ -92711,7 +96453,7 @@ type PatchTargetHttpProxyRequest struct { func (x *PatchTargetHttpProxyRequest) Reset() { *x = PatchTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[907] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[938] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92724,7 +96466,7 @@ func (x *PatchTargetHttpProxyRequest) String() string { func (*PatchTargetHttpProxyRequest) ProtoMessage() {} func (x *PatchTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[907] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[938] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92737,7 +96479,7 @@ func (x *PatchTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*PatchTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{907} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{938} } func (x *PatchTargetHttpProxyRequest) GetProject() string { @@ -92787,7 +96529,7 @@ type PatchTargetHttpsProxyRequest struct { func (x *PatchTargetHttpsProxyRequest) Reset() { *x = PatchTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[908] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[939] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92800,7 +96542,7 @@ func (x *PatchTargetHttpsProxyRequest) String() string { func (*PatchTargetHttpsProxyRequest) ProtoMessage() {} func (x *PatchTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[908] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[939] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92813,7 +96555,7 @@ func (x *PatchTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*PatchTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{908} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{939} } func (x *PatchTargetHttpsProxyRequest) GetProject() string { @@ -92863,7 +96605,7 @@ type PatchUrlMapRequest struct { func (x *PatchUrlMapRequest) Reset() { *x = PatchUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[909] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[940] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92876,7 +96618,7 @@ func (x *PatchUrlMapRequest) String() string { func (*PatchUrlMapRequest) ProtoMessage() {} func (x *PatchUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[909] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[940] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92889,7 +96631,7 @@ func (x *PatchUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PatchUrlMapRequest.ProtoReflect.Descriptor instead. func (*PatchUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{909} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{940} } func (x *PatchUrlMapRequest) GetProject() string { @@ -92926,7 +96668,7 @@ type PathMatcher struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path matcher's defaultRouteAction. + // defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. DefaultRouteAction *HttpRouteAction `protobuf:"bytes,378919466,opt,name=default_route_action,json=defaultRouteAction,proto3,oneof" json:"default_route_action,omitempty"` // The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use DefaultService *string `protobuf:"bytes,370242231,opt,name=default_service,json=defaultService,proto3,oneof" json:"default_service,omitempty"` @@ -92947,7 +96689,7 @@ type PathMatcher struct { func (x *PathMatcher) Reset() { *x = PathMatcher{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[910] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[941] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -92960,7 +96702,7 @@ func (x *PathMatcher) String() string { func (*PathMatcher) ProtoMessage() {} func (x *PathMatcher) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[910] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[941] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -92973,7 +96715,7 @@ func (x *PathMatcher) ProtoReflect() protoreflect.Message { // Deprecated: Use PathMatcher.ProtoReflect.Descriptor instead. func (*PathMatcher) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{910} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{941} } func (x *PathMatcher) GetDefaultRouteAction() *HttpRouteAction { @@ -93040,7 +96782,7 @@ type PathRule struct { // The list of path patterns to match. Each must start with / and the only place a * is allowed is at the end following a /. The string fed to the path matcher does not include any text after the first ? or #, and those chars are not allowed here. Paths []string `protobuf:"bytes,106438894,rep,name=paths,proto3" json:"paths,omitempty"` - // In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within a path rule's routeAction. + // In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. RouteAction *HttpRouteAction `protobuf:"bytes,424563948,opt,name=route_action,json=routeAction,proto3,oneof" json:"route_action,omitempty"` // The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. Service *string `protobuf:"bytes,373540533,opt,name=service,proto3,oneof" json:"service,omitempty"` @@ -93051,7 +96793,7 @@ type PathRule struct { func (x *PathRule) Reset() { *x = PathRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[911] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[942] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93064,7 +96806,7 @@ func (x *PathRule) String() string { func (*PathRule) ProtoMessage() {} func (x *PathRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[911] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[942] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93077,7 +96819,7 @@ func (x *PathRule) ProtoReflect() protoreflect.Message { // Deprecated: Use PathRule.ProtoReflect.Descriptor instead. func (*PathRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{911} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{942} } func (x *PathRule) GetPaths() []string { @@ -93127,7 +96869,7 @@ type PerInstanceConfig struct { func (x *PerInstanceConfig) Reset() { *x = PerInstanceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[912] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[943] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93140,7 +96882,7 @@ func (x *PerInstanceConfig) String() string { func (*PerInstanceConfig) ProtoMessage() {} func (x *PerInstanceConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[912] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[943] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93153,7 +96895,7 @@ func (x *PerInstanceConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use PerInstanceConfig.ProtoReflect.Descriptor instead. func (*PerInstanceConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{912} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{943} } func (x *PerInstanceConfig) GetFingerprint() string { @@ -93184,7 +96926,7 @@ func (x *PerInstanceConfig) GetStatus() string { return "" } -// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). +// An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). type Policy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -93206,7 +96948,7 @@ type Policy struct { func (x *Policy) Reset() { *x = Policy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[913] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[944] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93219,7 +96961,7 @@ func (x *Policy) String() string { func (*Policy) ProtoMessage() {} func (x *Policy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[913] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[944] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93232,7 +96974,7 @@ func (x *Policy) ProtoReflect() protoreflect.Message { // Deprecated: Use Policy.ProtoReflect.Descriptor instead. func (*Policy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{913} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{944} } func (x *Policy) GetAuditConfigs() []*AuditConfig { @@ -93289,7 +97031,7 @@ type PreconfiguredWafSet struct { func (x *PreconfiguredWafSet) Reset() { *x = PreconfiguredWafSet{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[914] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[945] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93302,7 +97044,7 @@ func (x *PreconfiguredWafSet) String() string { func (*PreconfiguredWafSet) ProtoMessage() {} func (x *PreconfiguredWafSet) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[914] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[945] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93315,7 +97057,7 @@ func (x *PreconfiguredWafSet) ProtoReflect() protoreflect.Message { // Deprecated: Use PreconfiguredWafSet.ProtoReflect.Descriptor instead. func (*PreconfiguredWafSet) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{914} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{945} } func (x *PreconfiguredWafSet) GetExpressionSets() []*WafExpressionSet { @@ -93333,6 +97075,10 @@ type PreservedState struct { // Preserved disks defined for this instance. This map is keyed with the device names of the disks. Disks map[string]*PreservedStatePreservedDisk `protobuf:"bytes,95594102,rep,name=disks,proto3" json:"disks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Preserved external IPs defined for this instance. This map is keyed with the name of the network interface. + ExternalIPs map[string]*PreservedStatePreservedNetworkIp `protobuf:"bytes,532687245,rep,name=external_i_ps,json=externalIPs,proto3" json:"external_i_ps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Preserved internal IPs defined for this instance. This map is keyed with the name of the network interface. + InternalIPs map[string]*PreservedStatePreservedNetworkIp `protobuf:"bytes,215731675,rep,name=internal_i_ps,json=internalIPs,proto3" json:"internal_i_ps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Preserved metadata defined for this instance. Metadata map[string]string `protobuf:"bytes,86866735,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -93340,7 +97086,7 @@ type PreservedState struct { func (x *PreservedState) Reset() { *x = PreservedState{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[915] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[946] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93353,7 +97099,7 @@ func (x *PreservedState) String() string { func (*PreservedState) ProtoMessage() {} func (x *PreservedState) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[915] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[946] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93366,7 +97112,7 @@ func (x *PreservedState) ProtoReflect() protoreflect.Message { // Deprecated: Use PreservedState.ProtoReflect.Descriptor instead. func (*PreservedState) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{915} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{946} } func (x *PreservedState) GetDisks() map[string]*PreservedStatePreservedDisk { @@ -93376,6 +97122,20 @@ func (x *PreservedState) GetDisks() map[string]*PreservedStatePreservedDisk { return nil } +func (x *PreservedState) GetExternalIPs() map[string]*PreservedStatePreservedNetworkIp { + if x != nil { + return x.ExternalIPs + } + return nil +} + +func (x *PreservedState) GetInternalIPs() map[string]*PreservedStatePreservedNetworkIp { + if x != nil { + return x.InternalIPs + } + return nil +} + func (x *PreservedState) GetMetadata() map[string]string { if x != nil { return x.Metadata @@ -93401,7 +97161,7 @@ type PreservedStatePreservedDisk struct { func (x *PreservedStatePreservedDisk) Reset() { *x = PreservedStatePreservedDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[916] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[947] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93414,7 +97174,7 @@ func (x *PreservedStatePreservedDisk) String() string { func (*PreservedStatePreservedDisk) ProtoMessage() {} func (x *PreservedStatePreservedDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[916] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[947] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93427,7 +97187,7 @@ func (x *PreservedStatePreservedDisk) ProtoReflect() protoreflect.Message { // Deprecated: Use PreservedStatePreservedDisk.ProtoReflect.Descriptor instead. func (*PreservedStatePreservedDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{916} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{947} } func (x *PreservedStatePreservedDisk) GetAutoDelete() string { @@ -93451,6 +97211,121 @@ func (x *PreservedStatePreservedDisk) GetSource() string { return "" } +type PreservedStatePreservedNetworkIp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + // Check the AutoDelete enum for the list of possible values. + AutoDelete *string `protobuf:"bytes,464761403,opt,name=auto_delete,json=autoDelete,proto3,oneof" json:"auto_delete,omitempty"` + // Ip address representation + IpAddress *PreservedStatePreservedNetworkIpIpAddress `protobuf:"bytes,406272220,opt,name=ip_address,json=ipAddress,proto3,oneof" json:"ip_address,omitempty"` +} + +func (x *PreservedStatePreservedNetworkIp) Reset() { + *x = PreservedStatePreservedNetworkIp{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[948] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreservedStatePreservedNetworkIp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreservedStatePreservedNetworkIp) ProtoMessage() {} + +func (x *PreservedStatePreservedNetworkIp) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[948] + 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 PreservedStatePreservedNetworkIp.ProtoReflect.Descriptor instead. +func (*PreservedStatePreservedNetworkIp) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{948} +} + +func (x *PreservedStatePreservedNetworkIp) GetAutoDelete() string { + if x != nil && x.AutoDelete != nil { + return *x.AutoDelete + } + return "" +} + +func (x *PreservedStatePreservedNetworkIp) GetIpAddress() *PreservedStatePreservedNetworkIpIpAddress { + if x != nil { + return x.IpAddress + } + return nil +} + +type PreservedStatePreservedNetworkIpIpAddress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The URL of the reservation for this IP address. + Address *string `protobuf:"bytes,462920692,opt,name=address,proto3,oneof" json:"address,omitempty"` + // An IPv4 internal network address to assign to the instance for this network interface. + Literal *string `protobuf:"bytes,182460591,opt,name=literal,proto3,oneof" json:"literal,omitempty"` +} + +func (x *PreservedStatePreservedNetworkIpIpAddress) Reset() { + *x = PreservedStatePreservedNetworkIpIpAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[949] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreservedStatePreservedNetworkIpIpAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreservedStatePreservedNetworkIpIpAddress) ProtoMessage() {} + +func (x *PreservedStatePreservedNetworkIpIpAddress) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[949] + 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 PreservedStatePreservedNetworkIpIpAddress.ProtoReflect.Descriptor instead. +func (*PreservedStatePreservedNetworkIpIpAddress) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{949} +} + +func (x *PreservedStatePreservedNetworkIpIpAddress) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address + } + return "" +} + +func (x *PreservedStatePreservedNetworkIpIpAddress) GetLiteral() string { + if x != nil && x.Literal != nil { + return *x.Literal + } + return "" +} + // A request message for Routers.Preview. See the method description for details. type PreviewRouterRequest struct { state protoimpl.MessageState @@ -93470,7 +97345,7 @@ type PreviewRouterRequest struct { func (x *PreviewRouterRequest) Reset() { *x = PreviewRouterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[917] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[950] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93483,7 +97358,7 @@ func (x *PreviewRouterRequest) String() string { func (*PreviewRouterRequest) ProtoMessage() {} func (x *PreviewRouterRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[917] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[950] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93496,7 +97371,7 @@ func (x *PreviewRouterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PreviewRouterRequest.ProtoReflect.Descriptor instead. func (*PreviewRouterRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{917} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{950} } func (x *PreviewRouterRequest) GetProject() string { @@ -93569,7 +97444,7 @@ type Project struct { func (x *Project) Reset() { *x = Project{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[918] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[951] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93582,7 +97457,7 @@ func (x *Project) String() string { func (*Project) ProtoMessage() {} func (x *Project) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[918] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[951] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93595,7 +97470,7 @@ func (x *Project) ProtoReflect() protoreflect.Message { // Deprecated: Use Project.ProtoReflect.Descriptor instead. func (*Project) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{918} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{951} } func (x *Project) GetCommonInstanceMetadata() *Metadata { @@ -93708,7 +97583,7 @@ type ProjectsDisableXpnResourceRequest struct { func (x *ProjectsDisableXpnResourceRequest) Reset() { *x = ProjectsDisableXpnResourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[919] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[952] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93721,7 +97596,7 @@ func (x *ProjectsDisableXpnResourceRequest) String() string { func (*ProjectsDisableXpnResourceRequest) ProtoMessage() {} func (x *ProjectsDisableXpnResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[919] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[952] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93734,7 +97609,7 @@ func (x *ProjectsDisableXpnResourceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ProjectsDisableXpnResourceRequest.ProtoReflect.Descriptor instead. func (*ProjectsDisableXpnResourceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{919} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{952} } func (x *ProjectsDisableXpnResourceRequest) GetXpnResource() *XpnResourceId { @@ -93756,7 +97631,7 @@ type ProjectsEnableXpnResourceRequest struct { func (x *ProjectsEnableXpnResourceRequest) Reset() { *x = ProjectsEnableXpnResourceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[920] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[953] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93769,7 +97644,7 @@ func (x *ProjectsEnableXpnResourceRequest) String() string { func (*ProjectsEnableXpnResourceRequest) ProtoMessage() {} func (x *ProjectsEnableXpnResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[920] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[953] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93782,7 +97657,7 @@ func (x *ProjectsEnableXpnResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectsEnableXpnResourceRequest.ProtoReflect.Descriptor instead. func (*ProjectsEnableXpnResourceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{920} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{953} } func (x *ProjectsEnableXpnResourceRequest) GetXpnResource() *XpnResourceId { @@ -93808,7 +97683,7 @@ type ProjectsGetXpnResources struct { func (x *ProjectsGetXpnResources) Reset() { *x = ProjectsGetXpnResources{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[921] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[954] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93821,7 +97696,7 @@ func (x *ProjectsGetXpnResources) String() string { func (*ProjectsGetXpnResources) ProtoMessage() {} func (x *ProjectsGetXpnResources) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[921] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[954] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93834,7 +97709,7 @@ func (x *ProjectsGetXpnResources) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectsGetXpnResources.ProtoReflect.Descriptor instead. func (*ProjectsGetXpnResources) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{921} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{954} } func (x *ProjectsGetXpnResources) GetKind() string { @@ -93870,7 +97745,7 @@ type ProjectsListXpnHostsRequest struct { func (x *ProjectsListXpnHostsRequest) Reset() { *x = ProjectsListXpnHostsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[922] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[955] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93883,7 +97758,7 @@ func (x *ProjectsListXpnHostsRequest) String() string { func (*ProjectsListXpnHostsRequest) ProtoMessage() {} func (x *ProjectsListXpnHostsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[922] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[955] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93896,7 +97771,7 @@ func (x *ProjectsListXpnHostsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectsListXpnHostsRequest.ProtoReflect.Descriptor instead. func (*ProjectsListXpnHostsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{922} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{955} } func (x *ProjectsListXpnHostsRequest) GetOrganization() string { @@ -93919,7 +97794,7 @@ type ProjectsSetDefaultNetworkTierRequest struct { func (x *ProjectsSetDefaultNetworkTierRequest) Reset() { *x = ProjectsSetDefaultNetworkTierRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[923] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[956] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -93932,7 +97807,7 @@ func (x *ProjectsSetDefaultNetworkTierRequest) String() string { func (*ProjectsSetDefaultNetworkTierRequest) ProtoMessage() {} func (x *ProjectsSetDefaultNetworkTierRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[923] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[956] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -93945,7 +97820,7 @@ func (x *ProjectsSetDefaultNetworkTierRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ProjectsSetDefaultNetworkTierRequest.ProtoReflect.Descriptor instead. func (*ProjectsSetDefaultNetworkTierRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{923} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{956} } func (x *ProjectsSetDefaultNetworkTierRequest) GetNetworkTier() string { @@ -93961,6 +97836,9 @@ type PublicAdvertisedPrefix struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // [Output Only] The version of BYOIP API. + // Check the ByoipApiVersion enum for the list of possible values. + ByoipApiVersion *string `protobuf:"bytes,162683283,opt,name=byoip_api_version,json=byoipApiVersion,proto3,oneof" json:"byoip_api_version,omitempty"` // [Output Only] Creation timestamp in RFC3339 text format. CreationTimestamp *string `protobuf:"bytes,30525366,opt,name=creation_timestamp,json=creationTimestamp,proto3,oneof" json:"creation_timestamp,omitempty"` // An optional description of this resource. Provide this property when you create the resource. @@ -93977,6 +97855,9 @@ type PublicAdvertisedPrefix struct { Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` // Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Specifies how child public delegated prefix will be scoped. It could be one of following values: - `REGIONAL`: The public delegated prefix is regional only. The provisioning will take a few minutes. - `GLOBAL`: The public delegated prefix is global only. The provisioning will take ~4 weeks. - `GLOBAL_AND_REGIONAL` [output only]: The public delegated prefixes is BYOIP V1 legacy prefix. This is output only value and no longer supported in BYOIP V2. + // Check the PdpScope enum for the list of possible values. + PdpScope *string `protobuf:"bytes,524264785,opt,name=pdp_scope,json=pdpScope,proto3,oneof" json:"pdp_scope,omitempty"` // [Output Only] The list of public delegated prefixes that exist for this public advertised prefix. PublicDelegatedPrefixs []*PublicAdvertisedPrefixPublicDelegatedPrefix `protobuf:"bytes,425811723,rep,name=public_delegated_prefixs,json=publicDelegatedPrefixs,proto3" json:"public_delegated_prefixs,omitempty"` // [Output Only] Server-defined URL for the resource. @@ -93991,7 +97872,7 @@ type PublicAdvertisedPrefix struct { func (x *PublicAdvertisedPrefix) Reset() { *x = PublicAdvertisedPrefix{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[924] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[957] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94004,7 +97885,7 @@ func (x *PublicAdvertisedPrefix) String() string { func (*PublicAdvertisedPrefix) ProtoMessage() {} func (x *PublicAdvertisedPrefix) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[924] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[957] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94017,7 +97898,14 @@ func (x *PublicAdvertisedPrefix) ProtoReflect() protoreflect.Message { // Deprecated: Use PublicAdvertisedPrefix.ProtoReflect.Descriptor instead. func (*PublicAdvertisedPrefix) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{924} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{957} +} + +func (x *PublicAdvertisedPrefix) GetByoipApiVersion() string { + if x != nil && x.ByoipApiVersion != nil { + return *x.ByoipApiVersion + } + return "" } func (x *PublicAdvertisedPrefix) GetCreationTimestamp() string { @@ -94076,6 +97964,13 @@ func (x *PublicAdvertisedPrefix) GetName() string { return "" } +func (x *PublicAdvertisedPrefix) GetPdpScope() string { + if x != nil && x.PdpScope != nil { + return *x.PdpScope + } + return "" +} + func (x *PublicAdvertisedPrefix) GetPublicDelegatedPrefixs() []*PublicAdvertisedPrefixPublicDelegatedPrefix { if x != nil { return x.PublicDelegatedPrefixs @@ -94126,7 +98021,7 @@ type PublicAdvertisedPrefixList struct { func (x *PublicAdvertisedPrefixList) Reset() { *x = PublicAdvertisedPrefixList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[925] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[958] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94139,7 +98034,7 @@ func (x *PublicAdvertisedPrefixList) String() string { func (*PublicAdvertisedPrefixList) ProtoMessage() {} func (x *PublicAdvertisedPrefixList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[925] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[958] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94152,7 +98047,7 @@ func (x *PublicAdvertisedPrefixList) ProtoReflect() protoreflect.Message { // Deprecated: Use PublicAdvertisedPrefixList.ProtoReflect.Descriptor instead. func (*PublicAdvertisedPrefixList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{925} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{958} } func (x *PublicAdvertisedPrefixList) GetId() string { @@ -94218,7 +98113,7 @@ type PublicAdvertisedPrefixPublicDelegatedPrefix struct { func (x *PublicAdvertisedPrefixPublicDelegatedPrefix) Reset() { *x = PublicAdvertisedPrefixPublicDelegatedPrefix{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[926] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[959] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94231,7 +98126,7 @@ func (x *PublicAdvertisedPrefixPublicDelegatedPrefix) String() string { func (*PublicAdvertisedPrefixPublicDelegatedPrefix) ProtoMessage() {} func (x *PublicAdvertisedPrefixPublicDelegatedPrefix) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[926] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[959] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94244,7 +98139,7 @@ func (x *PublicAdvertisedPrefixPublicDelegatedPrefix) ProtoReflect() protoreflec // Deprecated: Use PublicAdvertisedPrefixPublicDelegatedPrefix.ProtoReflect.Descriptor instead. func (*PublicAdvertisedPrefixPublicDelegatedPrefix) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{926} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{959} } func (x *PublicAdvertisedPrefixPublicDelegatedPrefix) GetIpRange() string { @@ -94288,6 +98183,9 @@ type PublicDelegatedPrefix struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // [Output Only] The version of BYOIP API. + // Check the ByoipApiVersion enum for the list of possible values. + ByoipApiVersion *string `protobuf:"bytes,162683283,opt,name=byoip_api_version,json=byoipApiVersion,proto3,oneof" json:"byoip_api_version,omitempty"` // [Output Only] Creation timestamp in RFC3339 text format. CreationTimestamp *string `protobuf:"bytes,30525366,opt,name=creation_timestamp,json=creationTimestamp,proto3,oneof" json:"creation_timestamp,omitempty"` // An optional description of this resource. Provide this property when you create the resource. @@ -94320,7 +98218,7 @@ type PublicDelegatedPrefix struct { func (x *PublicDelegatedPrefix) Reset() { *x = PublicDelegatedPrefix{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[927] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[960] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94333,7 +98231,7 @@ func (x *PublicDelegatedPrefix) String() string { func (*PublicDelegatedPrefix) ProtoMessage() {} func (x *PublicDelegatedPrefix) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[927] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[960] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94346,7 +98244,14 @@ func (x *PublicDelegatedPrefix) ProtoReflect() protoreflect.Message { // Deprecated: Use PublicDelegatedPrefix.ProtoReflect.Descriptor instead. func (*PublicDelegatedPrefix) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{927} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{960} +} + +func (x *PublicDelegatedPrefix) GetByoipApiVersion() string { + if x != nil && x.ByoipApiVersion != nil { + return *x.ByoipApiVersion + } + return "" } func (x *PublicDelegatedPrefix) GetCreationTimestamp() string { @@ -94464,7 +98369,7 @@ type PublicDelegatedPrefixAggregatedList struct { func (x *PublicDelegatedPrefixAggregatedList) Reset() { *x = PublicDelegatedPrefixAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[928] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[961] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94477,7 +98382,7 @@ func (x *PublicDelegatedPrefixAggregatedList) String() string { func (*PublicDelegatedPrefixAggregatedList) ProtoMessage() {} func (x *PublicDelegatedPrefixAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[928] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[961] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94490,7 +98395,7 @@ func (x *PublicDelegatedPrefixAggregatedList) ProtoReflect() protoreflect.Messag // Deprecated: Use PublicDelegatedPrefixAggregatedList.ProtoReflect.Descriptor instead. func (*PublicDelegatedPrefixAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{928} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{961} } func (x *PublicDelegatedPrefixAggregatedList) GetId() string { @@ -94564,7 +98469,7 @@ type PublicDelegatedPrefixList struct { func (x *PublicDelegatedPrefixList) Reset() { *x = PublicDelegatedPrefixList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[929] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[962] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94577,7 +98482,7 @@ func (x *PublicDelegatedPrefixList) String() string { func (*PublicDelegatedPrefixList) ProtoMessage() {} func (x *PublicDelegatedPrefixList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[929] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[962] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94590,7 +98495,7 @@ func (x *PublicDelegatedPrefixList) ProtoReflect() protoreflect.Message { // Deprecated: Use PublicDelegatedPrefixList.ProtoReflect.Descriptor instead. func (*PublicDelegatedPrefixList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{929} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{962} } func (x *PublicDelegatedPrefixList) GetId() string { @@ -94661,7 +98566,7 @@ type PublicDelegatedPrefixPublicDelegatedSubPrefix struct { func (x *PublicDelegatedPrefixPublicDelegatedSubPrefix) Reset() { *x = PublicDelegatedPrefixPublicDelegatedSubPrefix{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[930] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[963] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94674,7 +98579,7 @@ func (x *PublicDelegatedPrefixPublicDelegatedSubPrefix) String() string { func (*PublicDelegatedPrefixPublicDelegatedSubPrefix) ProtoMessage() {} func (x *PublicDelegatedPrefixPublicDelegatedSubPrefix) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[930] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[963] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94687,7 +98592,7 @@ func (x *PublicDelegatedPrefixPublicDelegatedSubPrefix) ProtoReflect() protorefl // Deprecated: Use PublicDelegatedPrefixPublicDelegatedSubPrefix.ProtoReflect.Descriptor instead. func (*PublicDelegatedPrefixPublicDelegatedSubPrefix) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{930} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{963} } func (x *PublicDelegatedPrefixPublicDelegatedSubPrefix) GetDelegateeProject() string { @@ -94753,7 +98658,7 @@ type PublicDelegatedPrefixesScopedList struct { func (x *PublicDelegatedPrefixesScopedList) Reset() { *x = PublicDelegatedPrefixesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[931] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[964] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94766,7 +98671,7 @@ func (x *PublicDelegatedPrefixesScopedList) String() string { func (*PublicDelegatedPrefixesScopedList) ProtoMessage() {} func (x *PublicDelegatedPrefixesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[931] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[964] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94779,7 +98684,7 @@ func (x *PublicDelegatedPrefixesScopedList) ProtoReflect() protoreflect.Message // Deprecated: Use PublicDelegatedPrefixesScopedList.ProtoReflect.Descriptor instead. func (*PublicDelegatedPrefixesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{931} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{964} } func (x *PublicDelegatedPrefixesScopedList) GetPublicDelegatedPrefixes() []*PublicDelegatedPrefix { @@ -94816,7 +98721,7 @@ type Quota struct { func (x *Quota) Reset() { *x = Quota{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[932] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[965] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94829,7 +98734,7 @@ func (x *Quota) String() string { func (*Quota) ProtoMessage() {} func (x *Quota) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[932] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[965] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94842,7 +98747,7 @@ func (x *Quota) ProtoReflect() protoreflect.Message { // Deprecated: Use Quota.ProtoReflect.Descriptor instead. func (*Quota) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{932} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{965} } func (x *Quota) GetLimit() float64 { @@ -94897,7 +98802,7 @@ type QuotaExceededInfo struct { func (x *QuotaExceededInfo) Reset() { *x = QuotaExceededInfo{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[933] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[966] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94910,7 +98815,7 @@ func (x *QuotaExceededInfo) String() string { func (*QuotaExceededInfo) ProtoMessage() {} func (x *QuotaExceededInfo) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[933] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[966] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -94923,7 +98828,7 @@ func (x *QuotaExceededInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use QuotaExceededInfo.ProtoReflect.Descriptor instead. func (*QuotaExceededInfo) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{933} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{966} } func (x *QuotaExceededInfo) GetDimensions() map[string]string { @@ -94986,7 +98891,7 @@ type RawDisk struct { func (x *RawDisk) Reset() { *x = RawDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[934] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[967] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -94999,7 +98904,7 @@ func (x *RawDisk) String() string { func (*RawDisk) ProtoMessage() {} func (x *RawDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[934] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[967] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95012,7 +98917,7 @@ func (x *RawDisk) ProtoReflect() protoreflect.Message { // Deprecated: Use RawDisk.ProtoReflect.Descriptor instead. func (*RawDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{934} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{967} } func (x *RawDisk) GetContainerType() string { @@ -95057,7 +98962,7 @@ type RecreateInstancesInstanceGroupManagerRequest struct { func (x *RecreateInstancesInstanceGroupManagerRequest) Reset() { *x = RecreateInstancesInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[935] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[968] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95070,7 +98975,7 @@ func (x *RecreateInstancesInstanceGroupManagerRequest) String() string { func (*RecreateInstancesInstanceGroupManagerRequest) ProtoMessage() {} func (x *RecreateInstancesInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[935] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[968] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95083,7 +98988,7 @@ func (x *RecreateInstancesInstanceGroupManagerRequest) ProtoReflect() protorefle // Deprecated: Use RecreateInstancesInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*RecreateInstancesInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{935} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{968} } func (x *RecreateInstancesInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -95142,7 +99047,7 @@ type RecreateInstancesRegionInstanceGroupManagerRequest struct { func (x *RecreateInstancesRegionInstanceGroupManagerRequest) Reset() { *x = RecreateInstancesRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[936] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[969] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95155,7 +99060,7 @@ func (x *RecreateInstancesRegionInstanceGroupManagerRequest) String() string { func (*RecreateInstancesRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *RecreateInstancesRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[936] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[969] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95168,7 +99073,7 @@ func (x *RecreateInstancesRegionInstanceGroupManagerRequest) ProtoReflect() prot // Deprecated: Use RecreateInstancesRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*RecreateInstancesRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{936} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{969} } func (x *RecreateInstancesRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -95225,7 +99130,7 @@ type Reference struct { func (x *Reference) Reset() { *x = Reference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[937] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[970] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95238,7 +99143,7 @@ func (x *Reference) String() string { func (*Reference) ProtoMessage() {} func (x *Reference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[937] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[970] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95251,7 +99156,7 @@ func (x *Reference) ProtoReflect() protoreflect.Message { // Deprecated: Use Reference.ProtoReflect.Descriptor instead. func (*Reference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{937} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{970} } func (x *Reference) GetKind() string { @@ -95316,7 +99221,7 @@ type Region struct { func (x *Region) Reset() { *x = Region{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[938] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[971] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95329,7 +99234,7 @@ func (x *Region) String() string { func (*Region) ProtoMessage() {} func (x *Region) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[938] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[971] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95342,7 +99247,7 @@ func (x *Region) ProtoReflect() protoreflect.Message { // Deprecated: Use Region.ProtoReflect.Descriptor instead. func (*Region) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{938} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{971} } func (x *Region) GetCreationTimestamp() string { @@ -95436,7 +99341,7 @@ type RegionAddressesMoveRequest struct { func (x *RegionAddressesMoveRequest) Reset() { *x = RegionAddressesMoveRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[939] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[972] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95449,7 +99354,7 @@ func (x *RegionAddressesMoveRequest) String() string { func (*RegionAddressesMoveRequest) ProtoMessage() {} func (x *RegionAddressesMoveRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[939] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[972] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95462,7 +99367,7 @@ func (x *RegionAddressesMoveRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionAddressesMoveRequest.ProtoReflect.Descriptor instead. func (*RegionAddressesMoveRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{939} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{972} } func (x *RegionAddressesMoveRequest) GetDescription() string { @@ -95502,7 +99407,7 @@ type RegionAutoscalerList struct { func (x *RegionAutoscalerList) Reset() { *x = RegionAutoscalerList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[940] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[973] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95515,7 +99420,7 @@ func (x *RegionAutoscalerList) String() string { func (*RegionAutoscalerList) ProtoMessage() {} func (x *RegionAutoscalerList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[940] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[973] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95528,7 +99433,7 @@ func (x *RegionAutoscalerList) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionAutoscalerList.ProtoReflect.Descriptor instead. func (*RegionAutoscalerList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{940} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{973} } func (x *RegionAutoscalerList) GetId() string { @@ -95595,7 +99500,7 @@ type RegionDiskTypeList struct { func (x *RegionDiskTypeList) Reset() { *x = RegionDiskTypeList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[941] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[974] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95608,7 +99513,7 @@ func (x *RegionDiskTypeList) String() string { func (*RegionDiskTypeList) ProtoMessage() {} func (x *RegionDiskTypeList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[941] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[974] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95621,7 +99526,7 @@ func (x *RegionDiskTypeList) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionDiskTypeList.ProtoReflect.Descriptor instead. func (*RegionDiskTypeList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{941} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{974} } func (x *RegionDiskTypeList) GetId() string { @@ -95678,7 +99583,7 @@ type RegionDisksAddResourcePoliciesRequest struct { func (x *RegionDisksAddResourcePoliciesRequest) Reset() { *x = RegionDisksAddResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[942] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[975] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95691,7 +99596,7 @@ func (x *RegionDisksAddResourcePoliciesRequest) String() string { func (*RegionDisksAddResourcePoliciesRequest) ProtoMessage() {} func (x *RegionDisksAddResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[942] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[975] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95704,7 +99609,7 @@ func (x *RegionDisksAddResourcePoliciesRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use RegionDisksAddResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*RegionDisksAddResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{942} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{975} } func (x *RegionDisksAddResourcePoliciesRequest) GetResourcePolicies() []string { @@ -95726,7 +99631,7 @@ type RegionDisksRemoveResourcePoliciesRequest struct { func (x *RegionDisksRemoveResourcePoliciesRequest) Reset() { *x = RegionDisksRemoveResourcePoliciesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[943] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[976] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95739,7 +99644,7 @@ func (x *RegionDisksRemoveResourcePoliciesRequest) String() string { func (*RegionDisksRemoveResourcePoliciesRequest) ProtoMessage() {} func (x *RegionDisksRemoveResourcePoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[943] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[976] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95752,7 +99657,7 @@ func (x *RegionDisksRemoveResourcePoliciesRequest) ProtoReflect() protoreflect.M // Deprecated: Use RegionDisksRemoveResourcePoliciesRequest.ProtoReflect.Descriptor instead. func (*RegionDisksRemoveResourcePoliciesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{943} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{976} } func (x *RegionDisksRemoveResourcePoliciesRequest) GetResourcePolicies() []string { @@ -95774,7 +99679,7 @@ type RegionDisksResizeRequest struct { func (x *RegionDisksResizeRequest) Reset() { *x = RegionDisksResizeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[944] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[977] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95787,7 +99692,7 @@ func (x *RegionDisksResizeRequest) String() string { func (*RegionDisksResizeRequest) ProtoMessage() {} func (x *RegionDisksResizeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[944] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[977] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95800,7 +99705,7 @@ func (x *RegionDisksResizeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionDisksResizeRequest.ProtoReflect.Descriptor instead. func (*RegionDisksResizeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{944} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{977} } func (x *RegionDisksResizeRequest) GetSizeGb() int64 { @@ -95822,7 +99727,7 @@ type RegionDisksStartAsyncReplicationRequest struct { func (x *RegionDisksStartAsyncReplicationRequest) Reset() { *x = RegionDisksStartAsyncReplicationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[945] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[978] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95835,7 +99740,7 @@ func (x *RegionDisksStartAsyncReplicationRequest) String() string { func (*RegionDisksStartAsyncReplicationRequest) ProtoMessage() {} func (x *RegionDisksStartAsyncReplicationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[945] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[978] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95848,7 +99753,7 @@ func (x *RegionDisksStartAsyncReplicationRequest) ProtoReflect() protoreflect.Me // Deprecated: Use RegionDisksStartAsyncReplicationRequest.ProtoReflect.Descriptor instead. func (*RegionDisksStartAsyncReplicationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{945} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{978} } func (x *RegionDisksStartAsyncReplicationRequest) GetAsyncSecondaryDisk() string { @@ -95881,7 +99786,7 @@ type RegionInstanceGroupList struct { func (x *RegionInstanceGroupList) Reset() { *x = RegionInstanceGroupList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[946] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[979] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95894,7 +99799,7 @@ func (x *RegionInstanceGroupList) String() string { func (*RegionInstanceGroupList) ProtoMessage() {} func (x *RegionInstanceGroupList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[946] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[979] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95907,7 +99812,7 @@ func (x *RegionInstanceGroupList) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionInstanceGroupList.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{946} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{979} } func (x *RegionInstanceGroupList) GetId() string { @@ -95965,7 +99870,7 @@ type RegionInstanceGroupManagerDeleteInstanceConfigReq struct { func (x *RegionInstanceGroupManagerDeleteInstanceConfigReq) Reset() { *x = RegionInstanceGroupManagerDeleteInstanceConfigReq{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[947] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[980] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -95978,7 +99883,7 @@ func (x *RegionInstanceGroupManagerDeleteInstanceConfigReq) String() string { func (*RegionInstanceGroupManagerDeleteInstanceConfigReq) ProtoMessage() {} func (x *RegionInstanceGroupManagerDeleteInstanceConfigReq) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[947] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[980] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -95991,7 +99896,7 @@ func (x *RegionInstanceGroupManagerDeleteInstanceConfigReq) ProtoReflect() proto // Deprecated: Use RegionInstanceGroupManagerDeleteInstanceConfigReq.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagerDeleteInstanceConfigReq) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{947} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{980} } func (x *RegionInstanceGroupManagerDeleteInstanceConfigReq) GetNames() []string { @@ -96024,7 +99929,7 @@ type RegionInstanceGroupManagerList struct { func (x *RegionInstanceGroupManagerList) Reset() { *x = RegionInstanceGroupManagerList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[948] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[981] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96037,7 +99942,7 @@ func (x *RegionInstanceGroupManagerList) String() string { func (*RegionInstanceGroupManagerList) ProtoMessage() {} func (x *RegionInstanceGroupManagerList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[948] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[981] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96050,7 +99955,7 @@ func (x *RegionInstanceGroupManagerList) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionInstanceGroupManagerList.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagerList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{948} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{981} } func (x *RegionInstanceGroupManagerList) GetId() string { @@ -96108,7 +100013,7 @@ type RegionInstanceGroupManagerPatchInstanceConfigReq struct { func (x *RegionInstanceGroupManagerPatchInstanceConfigReq) Reset() { *x = RegionInstanceGroupManagerPatchInstanceConfigReq{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[949] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[982] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96121,7 +100026,7 @@ func (x *RegionInstanceGroupManagerPatchInstanceConfigReq) String() string { func (*RegionInstanceGroupManagerPatchInstanceConfigReq) ProtoMessage() {} func (x *RegionInstanceGroupManagerPatchInstanceConfigReq) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[949] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[982] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96134,7 +100039,7 @@ func (x *RegionInstanceGroupManagerPatchInstanceConfigReq) ProtoReflect() protor // Deprecated: Use RegionInstanceGroupManagerPatchInstanceConfigReq.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagerPatchInstanceConfigReq) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{949} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{982} } func (x *RegionInstanceGroupManagerPatchInstanceConfigReq) GetPerInstanceConfigs() []*PerInstanceConfig { @@ -96157,7 +100062,7 @@ type RegionInstanceGroupManagerUpdateInstanceConfigReq struct { func (x *RegionInstanceGroupManagerUpdateInstanceConfigReq) Reset() { *x = RegionInstanceGroupManagerUpdateInstanceConfigReq{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[950] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[983] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96170,7 +100075,7 @@ func (x *RegionInstanceGroupManagerUpdateInstanceConfigReq) String() string { func (*RegionInstanceGroupManagerUpdateInstanceConfigReq) ProtoMessage() {} func (x *RegionInstanceGroupManagerUpdateInstanceConfigReq) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[950] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[983] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96183,7 +100088,7 @@ func (x *RegionInstanceGroupManagerUpdateInstanceConfigReq) ProtoReflect() proto // Deprecated: Use RegionInstanceGroupManagerUpdateInstanceConfigReq.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagerUpdateInstanceConfigReq) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{950} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{983} } func (x *RegionInstanceGroupManagerUpdateInstanceConfigReq) GetPerInstanceConfigs() []*PerInstanceConfig { @@ -96205,7 +100110,7 @@ type RegionInstanceGroupManagersAbandonInstancesRequest struct { func (x *RegionInstanceGroupManagersAbandonInstancesRequest) Reset() { *x = RegionInstanceGroupManagersAbandonInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[951] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[984] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96218,7 +100123,7 @@ func (x *RegionInstanceGroupManagersAbandonInstancesRequest) String() string { func (*RegionInstanceGroupManagersAbandonInstancesRequest) ProtoMessage() {} func (x *RegionInstanceGroupManagersAbandonInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[951] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[984] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96231,7 +100136,7 @@ func (x *RegionInstanceGroupManagersAbandonInstancesRequest) ProtoReflect() prot // Deprecated: Use RegionInstanceGroupManagersAbandonInstancesRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersAbandonInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{951} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{984} } func (x *RegionInstanceGroupManagersAbandonInstancesRequest) GetInstances() []string { @@ -96262,7 +100167,7 @@ type RegionInstanceGroupManagersApplyUpdatesRequest struct { func (x *RegionInstanceGroupManagersApplyUpdatesRequest) Reset() { *x = RegionInstanceGroupManagersApplyUpdatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[952] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[985] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96275,7 +100180,7 @@ func (x *RegionInstanceGroupManagersApplyUpdatesRequest) String() string { func (*RegionInstanceGroupManagersApplyUpdatesRequest) ProtoMessage() {} func (x *RegionInstanceGroupManagersApplyUpdatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[952] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[985] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96288,7 +100193,7 @@ func (x *RegionInstanceGroupManagersApplyUpdatesRequest) ProtoReflect() protoref // Deprecated: Use RegionInstanceGroupManagersApplyUpdatesRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersApplyUpdatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{952} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{985} } func (x *RegionInstanceGroupManagersApplyUpdatesRequest) GetAllInstances() bool { @@ -96332,7 +100237,7 @@ type RegionInstanceGroupManagersCreateInstancesRequest struct { func (x *RegionInstanceGroupManagersCreateInstancesRequest) Reset() { *x = RegionInstanceGroupManagersCreateInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[953] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[986] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96345,7 +100250,7 @@ func (x *RegionInstanceGroupManagersCreateInstancesRequest) String() string { func (*RegionInstanceGroupManagersCreateInstancesRequest) ProtoMessage() {} func (x *RegionInstanceGroupManagersCreateInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[953] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[986] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96358,7 +100263,7 @@ func (x *RegionInstanceGroupManagersCreateInstancesRequest) ProtoReflect() proto // Deprecated: Use RegionInstanceGroupManagersCreateInstancesRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersCreateInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{953} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{986} } func (x *RegionInstanceGroupManagersCreateInstancesRequest) GetInstances() []*PerInstanceConfig { @@ -96382,7 +100287,7 @@ type RegionInstanceGroupManagersDeleteInstancesRequest struct { func (x *RegionInstanceGroupManagersDeleteInstancesRequest) Reset() { *x = RegionInstanceGroupManagersDeleteInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[954] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[987] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96395,7 +100300,7 @@ func (x *RegionInstanceGroupManagersDeleteInstancesRequest) String() string { func (*RegionInstanceGroupManagersDeleteInstancesRequest) ProtoMessage() {} func (x *RegionInstanceGroupManagersDeleteInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[954] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[987] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96408,7 +100313,7 @@ func (x *RegionInstanceGroupManagersDeleteInstancesRequest) ProtoReflect() proto // Deprecated: Use RegionInstanceGroupManagersDeleteInstancesRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersDeleteInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{954} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{987} } func (x *RegionInstanceGroupManagersDeleteInstancesRequest) GetInstances() []string { @@ -96439,7 +100344,7 @@ type RegionInstanceGroupManagersListErrorsResponse struct { func (x *RegionInstanceGroupManagersListErrorsResponse) Reset() { *x = RegionInstanceGroupManagersListErrorsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[955] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[988] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96452,7 +100357,7 @@ func (x *RegionInstanceGroupManagersListErrorsResponse) String() string { func (*RegionInstanceGroupManagersListErrorsResponse) ProtoMessage() {} func (x *RegionInstanceGroupManagersListErrorsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[955] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[988] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96465,7 +100370,7 @@ func (x *RegionInstanceGroupManagersListErrorsResponse) ProtoReflect() protorefl // Deprecated: Use RegionInstanceGroupManagersListErrorsResponse.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersListErrorsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{955} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{988} } func (x *RegionInstanceGroupManagersListErrorsResponse) GetItems() []*InstanceManagedByIgmError { @@ -96498,7 +100403,7 @@ type RegionInstanceGroupManagersListInstanceConfigsResp struct { func (x *RegionInstanceGroupManagersListInstanceConfigsResp) Reset() { *x = RegionInstanceGroupManagersListInstanceConfigsResp{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[956] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[989] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96511,7 +100416,7 @@ func (x *RegionInstanceGroupManagersListInstanceConfigsResp) String() string { func (*RegionInstanceGroupManagersListInstanceConfigsResp) ProtoMessage() {} func (x *RegionInstanceGroupManagersListInstanceConfigsResp) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[956] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[989] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96524,7 +100429,7 @@ func (x *RegionInstanceGroupManagersListInstanceConfigsResp) ProtoReflect() prot // Deprecated: Use RegionInstanceGroupManagersListInstanceConfigsResp.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersListInstanceConfigsResp) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{956} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{989} } func (x *RegionInstanceGroupManagersListInstanceConfigsResp) GetItems() []*PerInstanceConfig { @@ -96562,7 +100467,7 @@ type RegionInstanceGroupManagersListInstancesResponse struct { func (x *RegionInstanceGroupManagersListInstancesResponse) Reset() { *x = RegionInstanceGroupManagersListInstancesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[957] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[990] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96575,7 +100480,7 @@ func (x *RegionInstanceGroupManagersListInstancesResponse) String() string { func (*RegionInstanceGroupManagersListInstancesResponse) ProtoMessage() {} func (x *RegionInstanceGroupManagersListInstancesResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[957] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[990] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96588,7 +100493,7 @@ func (x *RegionInstanceGroupManagersListInstancesResponse) ProtoReflect() protor // Deprecated: Use RegionInstanceGroupManagersListInstancesResponse.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersListInstancesResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{957} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{990} } func (x *RegionInstanceGroupManagersListInstancesResponse) GetManagedInstances() []*ManagedInstance { @@ -96617,7 +100522,7 @@ type RegionInstanceGroupManagersRecreateRequest struct { func (x *RegionInstanceGroupManagersRecreateRequest) Reset() { *x = RegionInstanceGroupManagersRecreateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[958] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[991] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96630,7 +100535,7 @@ func (x *RegionInstanceGroupManagersRecreateRequest) String() string { func (*RegionInstanceGroupManagersRecreateRequest) ProtoMessage() {} func (x *RegionInstanceGroupManagersRecreateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[958] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[991] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96643,7 +100548,7 @@ func (x *RegionInstanceGroupManagersRecreateRequest) ProtoReflect() protoreflect // Deprecated: Use RegionInstanceGroupManagersRecreateRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersRecreateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{958} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{991} } func (x *RegionInstanceGroupManagersRecreateRequest) GetInstances() []string { @@ -96667,7 +100572,7 @@ type RegionInstanceGroupManagersSetTargetPoolsRequest struct { func (x *RegionInstanceGroupManagersSetTargetPoolsRequest) Reset() { *x = RegionInstanceGroupManagersSetTargetPoolsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[959] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[992] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96680,7 +100585,7 @@ func (x *RegionInstanceGroupManagersSetTargetPoolsRequest) String() string { func (*RegionInstanceGroupManagersSetTargetPoolsRequest) ProtoMessage() {} func (x *RegionInstanceGroupManagersSetTargetPoolsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[959] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[992] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96693,7 +100598,7 @@ func (x *RegionInstanceGroupManagersSetTargetPoolsRequest) ProtoReflect() protor // Deprecated: Use RegionInstanceGroupManagersSetTargetPoolsRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersSetTargetPoolsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{959} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{992} } func (x *RegionInstanceGroupManagersSetTargetPoolsRequest) GetFingerprint() string { @@ -96722,7 +100627,7 @@ type RegionInstanceGroupManagersSetTemplateRequest struct { func (x *RegionInstanceGroupManagersSetTemplateRequest) Reset() { *x = RegionInstanceGroupManagersSetTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[960] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[993] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96735,7 +100640,7 @@ func (x *RegionInstanceGroupManagersSetTemplateRequest) String() string { func (*RegionInstanceGroupManagersSetTemplateRequest) ProtoMessage() {} func (x *RegionInstanceGroupManagersSetTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[960] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[993] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96748,7 +100653,7 @@ func (x *RegionInstanceGroupManagersSetTemplateRequest) ProtoReflect() protorefl // Deprecated: Use RegionInstanceGroupManagersSetTemplateRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupManagersSetTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{960} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{993} } func (x *RegionInstanceGroupManagersSetTemplateRequest) GetInstanceTemplate() string { @@ -96780,7 +100685,7 @@ type RegionInstanceGroupsListInstances struct { func (x *RegionInstanceGroupsListInstances) Reset() { *x = RegionInstanceGroupsListInstances{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[961] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[994] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96793,7 +100698,7 @@ func (x *RegionInstanceGroupsListInstances) String() string { func (*RegionInstanceGroupsListInstances) ProtoMessage() {} func (x *RegionInstanceGroupsListInstances) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[961] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[994] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96806,7 +100711,7 @@ func (x *RegionInstanceGroupsListInstances) ProtoReflect() protoreflect.Message // Deprecated: Use RegionInstanceGroupsListInstances.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupsListInstances) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{961} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{994} } func (x *RegionInstanceGroupsListInstances) GetId() string { @@ -96866,7 +100771,7 @@ type RegionInstanceGroupsListInstancesRequest struct { func (x *RegionInstanceGroupsListInstancesRequest) Reset() { *x = RegionInstanceGroupsListInstancesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[962] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[995] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96879,7 +100784,7 @@ func (x *RegionInstanceGroupsListInstancesRequest) String() string { func (*RegionInstanceGroupsListInstancesRequest) ProtoMessage() {} func (x *RegionInstanceGroupsListInstancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[962] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[995] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96892,7 +100797,7 @@ func (x *RegionInstanceGroupsListInstancesRequest) ProtoReflect() protoreflect.M // Deprecated: Use RegionInstanceGroupsListInstancesRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupsListInstancesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{962} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{995} } func (x *RegionInstanceGroupsListInstancesRequest) GetInstanceState() string { @@ -96923,7 +100828,7 @@ type RegionInstanceGroupsSetNamedPortsRequest struct { func (x *RegionInstanceGroupsSetNamedPortsRequest) Reset() { *x = RegionInstanceGroupsSetNamedPortsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[963] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[996] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -96936,7 +100841,7 @@ func (x *RegionInstanceGroupsSetNamedPortsRequest) String() string { func (*RegionInstanceGroupsSetNamedPortsRequest) ProtoMessage() {} func (x *RegionInstanceGroupsSetNamedPortsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[963] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[996] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -96949,7 +100854,7 @@ func (x *RegionInstanceGroupsSetNamedPortsRequest) ProtoReflect() protoreflect.M // Deprecated: Use RegionInstanceGroupsSetNamedPortsRequest.ProtoReflect.Descriptor instead. func (*RegionInstanceGroupsSetNamedPortsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{963} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{996} } func (x *RegionInstanceGroupsSetNamedPortsRequest) GetFingerprint() string { @@ -96989,7 +100894,7 @@ type RegionList struct { func (x *RegionList) Reset() { *x = RegionList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[964] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[997] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97002,7 +100907,7 @@ func (x *RegionList) String() string { func (*RegionList) ProtoMessage() {} func (x *RegionList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[964] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[997] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97015,7 +100920,7 @@ func (x *RegionList) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionList.ProtoReflect.Descriptor instead. func (*RegionList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{964} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{997} } func (x *RegionList) GetId() string { @@ -97060,6 +100965,102 @@ func (x *RegionList) GetWarning() *Warning { return nil } +type RegionNetworkEndpointGroupsAttachEndpointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of network endpoints to be attached. + NetworkEndpoints []*NetworkEndpoint `protobuf:"bytes,149850285,rep,name=network_endpoints,json=networkEndpoints,proto3" json:"network_endpoints,omitempty"` +} + +func (x *RegionNetworkEndpointGroupsAttachEndpointsRequest) Reset() { + *x = RegionNetworkEndpointGroupsAttachEndpointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[998] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegionNetworkEndpointGroupsAttachEndpointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegionNetworkEndpointGroupsAttachEndpointsRequest) ProtoMessage() {} + +func (x *RegionNetworkEndpointGroupsAttachEndpointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[998] + 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 RegionNetworkEndpointGroupsAttachEndpointsRequest.ProtoReflect.Descriptor instead. +func (*RegionNetworkEndpointGroupsAttachEndpointsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{998} +} + +func (x *RegionNetworkEndpointGroupsAttachEndpointsRequest) GetNetworkEndpoints() []*NetworkEndpoint { + if x != nil { + return x.NetworkEndpoints + } + return nil +} + +type RegionNetworkEndpointGroupsDetachEndpointsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of network endpoints to be detached. + NetworkEndpoints []*NetworkEndpoint `protobuf:"bytes,149850285,rep,name=network_endpoints,json=networkEndpoints,proto3" json:"network_endpoints,omitempty"` +} + +func (x *RegionNetworkEndpointGroupsDetachEndpointsRequest) Reset() { + *x = RegionNetworkEndpointGroupsDetachEndpointsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[999] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegionNetworkEndpointGroupsDetachEndpointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegionNetworkEndpointGroupsDetachEndpointsRequest) ProtoMessage() {} + +func (x *RegionNetworkEndpointGroupsDetachEndpointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[999] + 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 RegionNetworkEndpointGroupsDetachEndpointsRequest.ProtoReflect.Descriptor instead. +func (*RegionNetworkEndpointGroupsDetachEndpointsRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{999} +} + +func (x *RegionNetworkEndpointGroupsDetachEndpointsRequest) GetNetworkEndpoints() []*NetworkEndpoint { + if x != nil { + return x.NetworkEndpoints + } + return nil +} + type RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -97074,7 +101075,7 @@ type RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse struct { func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse) Reset() { *x = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[965] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1000] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97087,7 +101088,7 @@ func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse) String() st func (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse) ProtoMessage() {} func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[965] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1000] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97100,7 +101101,7 @@ func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse) ProtoReflec // Deprecated: Use RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse.ProtoReflect.Descriptor instead. func (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{965} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1000} } func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse) GetFirewallPolicys() []*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy { @@ -97136,7 +101137,7 @@ type RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewall func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) Reset() { *x = RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[966] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1001] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97150,7 +101151,7 @@ func (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewa } func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[966] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1001] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97163,7 +101164,7 @@ func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFire // Deprecated: Use RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.ProtoReflect.Descriptor instead. func (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{966} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1001} } func (x *RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy) GetDisplayName() string { @@ -97208,7 +101209,7 @@ type RegionSetLabelsRequest struct { func (x *RegionSetLabelsRequest) Reset() { *x = RegionSetLabelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[967] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1002] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97221,7 +101222,7 @@ func (x *RegionSetLabelsRequest) String() string { func (*RegionSetLabelsRequest) ProtoMessage() {} func (x *RegionSetLabelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[967] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1002] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97234,7 +101235,7 @@ func (x *RegionSetLabelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionSetLabelsRequest.ProtoReflect.Descriptor instead. func (*RegionSetLabelsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{967} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1002} } func (x *RegionSetLabelsRequest) GetLabelFingerprint() string { @@ -97267,7 +101268,7 @@ type RegionSetPolicyRequest struct { func (x *RegionSetPolicyRequest) Reset() { *x = RegionSetPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[968] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1003] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97280,7 +101281,7 @@ func (x *RegionSetPolicyRequest) String() string { func (*RegionSetPolicyRequest) ProtoMessage() {} func (x *RegionSetPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[968] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1003] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97293,7 +101294,7 @@ func (x *RegionSetPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionSetPolicyRequest.ProtoReflect.Descriptor instead. func (*RegionSetPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{968} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1003} } func (x *RegionSetPolicyRequest) GetBindings() []*Binding { @@ -97329,7 +101330,7 @@ type RegionTargetHttpsProxiesSetSslCertificatesRequest struct { func (x *RegionTargetHttpsProxiesSetSslCertificatesRequest) Reset() { *x = RegionTargetHttpsProxiesSetSslCertificatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[969] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1004] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97342,7 +101343,7 @@ func (x *RegionTargetHttpsProxiesSetSslCertificatesRequest) String() string { func (*RegionTargetHttpsProxiesSetSslCertificatesRequest) ProtoMessage() {} func (x *RegionTargetHttpsProxiesSetSslCertificatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[969] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1004] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97355,7 +101356,7 @@ func (x *RegionTargetHttpsProxiesSetSslCertificatesRequest) ProtoReflect() proto // Deprecated: Use RegionTargetHttpsProxiesSetSslCertificatesRequest.ProtoReflect.Descriptor instead. func (*RegionTargetHttpsProxiesSetSslCertificatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{969} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1004} } func (x *RegionTargetHttpsProxiesSetSslCertificatesRequest) GetSslCertificates() []string { @@ -97377,7 +101378,7 @@ type RegionUrlMapsValidateRequest struct { func (x *RegionUrlMapsValidateRequest) Reset() { *x = RegionUrlMapsValidateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[970] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1005] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97390,7 +101391,7 @@ func (x *RegionUrlMapsValidateRequest) String() string { func (*RegionUrlMapsValidateRequest) ProtoMessage() {} func (x *RegionUrlMapsValidateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[970] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1005] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97403,7 +101404,7 @@ func (x *RegionUrlMapsValidateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegionUrlMapsValidateRequest.ProtoReflect.Descriptor instead. func (*RegionUrlMapsValidateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{970} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1005} } func (x *RegionUrlMapsValidateRequest) GetResource() *UrlMap { @@ -97430,7 +101431,7 @@ type RemoveAssociationFirewallPolicyRequest struct { func (x *RemoveAssociationFirewallPolicyRequest) Reset() { *x = RemoveAssociationFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[971] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1006] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97443,7 +101444,7 @@ func (x *RemoveAssociationFirewallPolicyRequest) String() string { func (*RemoveAssociationFirewallPolicyRequest) ProtoMessage() {} func (x *RemoveAssociationFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[971] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1006] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97456,7 +101457,7 @@ func (x *RemoveAssociationFirewallPolicyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use RemoveAssociationFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*RemoveAssociationFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{971} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1006} } func (x *RemoveAssociationFirewallPolicyRequest) GetFirewallPolicy() string { @@ -97499,7 +101500,7 @@ type RemoveAssociationNetworkFirewallPolicyRequest struct { func (x *RemoveAssociationNetworkFirewallPolicyRequest) Reset() { *x = RemoveAssociationNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[972] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1007] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97512,7 +101513,7 @@ func (x *RemoveAssociationNetworkFirewallPolicyRequest) String() string { func (*RemoveAssociationNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *RemoveAssociationNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[972] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1007] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97525,7 +101526,7 @@ func (x *RemoveAssociationNetworkFirewallPolicyRequest) ProtoReflect() protorefl // Deprecated: Use RemoveAssociationNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*RemoveAssociationNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{972} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1007} } func (x *RemoveAssociationNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -97577,7 +101578,7 @@ type RemoveAssociationRegionNetworkFirewallPolicyRequest struct { func (x *RemoveAssociationRegionNetworkFirewallPolicyRequest) Reset() { *x = RemoveAssociationRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[973] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1008] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97590,7 +101591,7 @@ func (x *RemoveAssociationRegionNetworkFirewallPolicyRequest) String() string { func (*RemoveAssociationRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *RemoveAssociationRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[973] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1008] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97603,7 +101604,7 @@ func (x *RemoveAssociationRegionNetworkFirewallPolicyRequest) ProtoReflect() pro // Deprecated: Use RemoveAssociationRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*RemoveAssociationRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{973} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1008} } func (x *RemoveAssociationRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -97662,7 +101663,7 @@ type RemoveHealthCheckTargetPoolRequest struct { func (x *RemoveHealthCheckTargetPoolRequest) Reset() { *x = RemoveHealthCheckTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[974] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1009] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97675,7 +101676,7 @@ func (x *RemoveHealthCheckTargetPoolRequest) String() string { func (*RemoveHealthCheckTargetPoolRequest) ProtoMessage() {} func (x *RemoveHealthCheckTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[974] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1009] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97688,7 +101689,7 @@ func (x *RemoveHealthCheckTargetPoolRequest) ProtoReflect() protoreflect.Message // Deprecated: Use RemoveHealthCheckTargetPoolRequest.ProtoReflect.Descriptor instead. func (*RemoveHealthCheckTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{974} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1009} } func (x *RemoveHealthCheckTargetPoolRequest) GetProject() string { @@ -97747,7 +101748,7 @@ type RemoveInstanceTargetPoolRequest struct { func (x *RemoveInstanceTargetPoolRequest) Reset() { *x = RemoveInstanceTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[975] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1010] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97760,7 +101761,7 @@ func (x *RemoveInstanceTargetPoolRequest) String() string { func (*RemoveInstanceTargetPoolRequest) ProtoMessage() {} func (x *RemoveInstanceTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[975] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1010] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97773,7 +101774,7 @@ func (x *RemoveInstanceTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveInstanceTargetPoolRequest.ProtoReflect.Descriptor instead. func (*RemoveInstanceTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{975} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1010} } func (x *RemoveInstanceTargetPoolRequest) GetProject() string { @@ -97832,7 +101833,7 @@ type RemoveInstancesInstanceGroupRequest struct { func (x *RemoveInstancesInstanceGroupRequest) Reset() { *x = RemoveInstancesInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[976] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1011] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97845,7 +101846,7 @@ func (x *RemoveInstancesInstanceGroupRequest) String() string { func (*RemoveInstancesInstanceGroupRequest) ProtoMessage() {} func (x *RemoveInstancesInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[976] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1011] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97858,7 +101859,7 @@ func (x *RemoveInstancesInstanceGroupRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use RemoveInstancesInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*RemoveInstancesInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{976} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1011} } func (x *RemoveInstancesInstanceGroupRequest) GetInstanceGroup() string { @@ -97915,7 +101916,7 @@ type RemovePeeringNetworkRequest struct { func (x *RemovePeeringNetworkRequest) Reset() { *x = RemovePeeringNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[977] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1012] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -97928,7 +101929,7 @@ func (x *RemovePeeringNetworkRequest) String() string { func (*RemovePeeringNetworkRequest) ProtoMessage() {} func (x *RemovePeeringNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[977] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1012] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -97941,7 +101942,7 @@ func (x *RemovePeeringNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemovePeeringNetworkRequest.ProtoReflect.Descriptor instead. func (*RemovePeeringNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{977} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1012} } func (x *RemovePeeringNetworkRequest) GetNetwork() string { @@ -97993,7 +101994,7 @@ type RemoveResourcePoliciesDiskRequest struct { func (x *RemoveResourcePoliciesDiskRequest) Reset() { *x = RemoveResourcePoliciesDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[978] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1013] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98006,7 +102007,7 @@ func (x *RemoveResourcePoliciesDiskRequest) String() string { func (*RemoveResourcePoliciesDiskRequest) ProtoMessage() {} func (x *RemoveResourcePoliciesDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[978] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1013] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98019,7 +102020,7 @@ func (x *RemoveResourcePoliciesDiskRequest) ProtoReflect() protoreflect.Message // Deprecated: Use RemoveResourcePoliciesDiskRequest.ProtoReflect.Descriptor instead. func (*RemoveResourcePoliciesDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{978} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1013} } func (x *RemoveResourcePoliciesDiskRequest) GetDisk() string { @@ -98078,7 +102079,7 @@ type RemoveResourcePoliciesInstanceRequest struct { func (x *RemoveResourcePoliciesInstanceRequest) Reset() { *x = RemoveResourcePoliciesInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[979] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1014] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98091,7 +102092,7 @@ func (x *RemoveResourcePoliciesInstanceRequest) String() string { func (*RemoveResourcePoliciesInstanceRequest) ProtoMessage() {} func (x *RemoveResourcePoliciesInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[979] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1014] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98104,7 +102105,7 @@ func (x *RemoveResourcePoliciesInstanceRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use RemoveResourcePoliciesInstanceRequest.ProtoReflect.Descriptor instead. func (*RemoveResourcePoliciesInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{979} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1014} } func (x *RemoveResourcePoliciesInstanceRequest) GetInstance() string { @@ -98163,7 +102164,7 @@ type RemoveResourcePoliciesRegionDiskRequest struct { func (x *RemoveResourcePoliciesRegionDiskRequest) Reset() { *x = RemoveResourcePoliciesRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[980] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1015] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98176,7 +102177,7 @@ func (x *RemoveResourcePoliciesRegionDiskRequest) String() string { func (*RemoveResourcePoliciesRegionDiskRequest) ProtoMessage() {} func (x *RemoveResourcePoliciesRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[980] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1015] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98189,7 +102190,7 @@ func (x *RemoveResourcePoliciesRegionDiskRequest) ProtoReflect() protoreflect.Me // Deprecated: Use RemoveResourcePoliciesRegionDiskRequest.ProtoReflect.Descriptor instead. func (*RemoveResourcePoliciesRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{980} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1015} } func (x *RemoveResourcePoliciesRegionDiskRequest) GetDisk() string { @@ -98244,7 +102245,7 @@ type RemoveRuleFirewallPolicyRequest struct { func (x *RemoveRuleFirewallPolicyRequest) Reset() { *x = RemoveRuleFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[981] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1016] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98257,7 +102258,7 @@ func (x *RemoveRuleFirewallPolicyRequest) String() string { func (*RemoveRuleFirewallPolicyRequest) ProtoMessage() {} func (x *RemoveRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[981] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1016] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98270,7 +102271,7 @@ func (x *RemoveRuleFirewallPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveRuleFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*RemoveRuleFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{981} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1016} } func (x *RemoveRuleFirewallPolicyRequest) GetFirewallPolicy() string { @@ -98313,7 +102314,7 @@ type RemoveRuleNetworkFirewallPolicyRequest struct { func (x *RemoveRuleNetworkFirewallPolicyRequest) Reset() { *x = RemoveRuleNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[982] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1017] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98326,7 +102327,7 @@ func (x *RemoveRuleNetworkFirewallPolicyRequest) String() string { func (*RemoveRuleNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *RemoveRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[982] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1017] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98339,7 +102340,7 @@ func (x *RemoveRuleNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use RemoveRuleNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*RemoveRuleNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{982} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1017} } func (x *RemoveRuleNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -98391,7 +102392,7 @@ type RemoveRuleRegionNetworkFirewallPolicyRequest struct { func (x *RemoveRuleRegionNetworkFirewallPolicyRequest) Reset() { *x = RemoveRuleRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[983] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1018] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98404,7 +102405,7 @@ func (x *RemoveRuleRegionNetworkFirewallPolicyRequest) String() string { func (*RemoveRuleRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *RemoveRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[983] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1018] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98417,7 +102418,7 @@ func (x *RemoveRuleRegionNetworkFirewallPolicyRequest) ProtoReflect() protorefle // Deprecated: Use RemoveRuleRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*RemoveRuleRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{983} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1018} } func (x *RemoveRuleRegionNetworkFirewallPolicyRequest) GetFirewallPolicy() string { @@ -98455,6 +102456,82 @@ func (x *RemoveRuleRegionNetworkFirewallPolicyRequest) GetRequestId() string { return "" } +// A request message for RegionSecurityPolicies.RemoveRule. See the method description for details. +type RemoveRuleRegionSecurityPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The priority of the rule to remove from the security policy. + Priority *int32 `protobuf:"varint,445151652,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region scoping this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Name of the security policy to update. + SecurityPolicy string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3" json:"security_policy,omitempty"` +} + +func (x *RemoveRuleRegionSecurityPolicyRequest) Reset() { + *x = RemoveRuleRegionSecurityPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1019] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveRuleRegionSecurityPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveRuleRegionSecurityPolicyRequest) ProtoMessage() {} + +func (x *RemoveRuleRegionSecurityPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1019] + 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 RemoveRuleRegionSecurityPolicyRequest.ProtoReflect.Descriptor instead. +func (*RemoveRuleRegionSecurityPolicyRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1019} +} + +func (x *RemoveRuleRegionSecurityPolicyRequest) GetPriority() int32 { + if x != nil && x.Priority != nil { + return *x.Priority + } + return 0 +} + +func (x *RemoveRuleRegionSecurityPolicyRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *RemoveRuleRegionSecurityPolicyRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *RemoveRuleRegionSecurityPolicyRequest) GetSecurityPolicy() string { + if x != nil { + return x.SecurityPolicy + } + return "" +} + // A request message for SecurityPolicies.RemoveRule. See the method description for details. type RemoveRuleSecurityPolicyRequest struct { state protoimpl.MessageState @@ -98472,7 +102549,7 @@ type RemoveRuleSecurityPolicyRequest struct { func (x *RemoveRuleSecurityPolicyRequest) Reset() { *x = RemoveRuleSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[984] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1020] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98485,7 +102562,7 @@ func (x *RemoveRuleSecurityPolicyRequest) String() string { func (*RemoveRuleSecurityPolicyRequest) ProtoMessage() {} func (x *RemoveRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[984] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1020] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98498,7 +102575,7 @@ func (x *RemoveRuleSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveRuleSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*RemoveRuleSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{984} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1020} } func (x *RemoveRuleSecurityPolicyRequest) GetPriority() int32 { @@ -98535,7 +102612,7 @@ type RequestMirrorPolicy struct { func (x *RequestMirrorPolicy) Reset() { *x = RequestMirrorPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[985] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1021] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98548,7 +102625,7 @@ func (x *RequestMirrorPolicy) String() string { func (*RequestMirrorPolicy) ProtoMessage() {} func (x *RequestMirrorPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[985] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1021] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98561,7 +102638,7 @@ func (x *RequestMirrorPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use RequestMirrorPolicy.ProtoReflect.Descriptor instead. func (*RequestMirrorPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{985} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1021} } func (x *RequestMirrorPolicy) GetBackendService() string { @@ -98613,7 +102690,7 @@ type Reservation struct { func (x *Reservation) Reset() { *x = Reservation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[986] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1022] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98626,7 +102703,7 @@ func (x *Reservation) String() string { func (*Reservation) ProtoMessage() {} func (x *Reservation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[986] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1022] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98639,7 +102716,7 @@ func (x *Reservation) ProtoReflect() protoreflect.Message { // Deprecated: Use Reservation.ProtoReflect.Descriptor instead. func (*Reservation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{986} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1022} } func (x *Reservation) GetCommitment() string { @@ -98765,7 +102842,7 @@ type ReservationAffinity struct { func (x *ReservationAffinity) Reset() { *x = ReservationAffinity{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[987] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1023] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98778,7 +102855,7 @@ func (x *ReservationAffinity) String() string { func (*ReservationAffinity) ProtoMessage() {} func (x *ReservationAffinity) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[987] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1023] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98791,7 +102868,7 @@ func (x *ReservationAffinity) ProtoReflect() protoreflect.Message { // Deprecated: Use ReservationAffinity.ProtoReflect.Descriptor instead. func (*ReservationAffinity) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{987} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1023} } func (x *ReservationAffinity) GetConsumeReservationType() string { @@ -98840,7 +102917,7 @@ type ReservationAggregatedList struct { func (x *ReservationAggregatedList) Reset() { *x = ReservationAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[988] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1024] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98853,7 +102930,7 @@ func (x *ReservationAggregatedList) String() string { func (*ReservationAggregatedList) ProtoMessage() {} func (x *ReservationAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[988] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1024] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98866,7 +102943,7 @@ func (x *ReservationAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ReservationAggregatedList.ProtoReflect.Descriptor instead. func (*ReservationAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{988} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1024} } func (x *ReservationAggregatedList) GetId() string { @@ -98940,7 +103017,7 @@ type ReservationList struct { func (x *ReservationList) Reset() { *x = ReservationList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[989] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1025] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -98953,7 +103030,7 @@ func (x *ReservationList) String() string { func (*ReservationList) ProtoMessage() {} func (x *ReservationList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[989] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1025] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -98966,7 +103043,7 @@ func (x *ReservationList) ProtoReflect() protoreflect.Message { // Deprecated: Use ReservationList.ProtoReflect.Descriptor instead. func (*ReservationList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{989} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1025} } func (x *ReservationList) GetId() string { @@ -99023,7 +103100,7 @@ type ReservationsResizeRequest struct { func (x *ReservationsResizeRequest) Reset() { *x = ReservationsResizeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[990] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1026] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99036,7 +103113,7 @@ func (x *ReservationsResizeRequest) String() string { func (*ReservationsResizeRequest) ProtoMessage() {} func (x *ReservationsResizeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[990] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1026] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99049,7 +103126,7 @@ func (x *ReservationsResizeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReservationsResizeRequest.ProtoReflect.Descriptor instead. func (*ReservationsResizeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{990} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1026} } func (x *ReservationsResizeRequest) GetSpecificSkuCount() int64 { @@ -99073,7 +103150,7 @@ type ReservationsScopedList struct { func (x *ReservationsScopedList) Reset() { *x = ReservationsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[991] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1027] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99086,7 +103163,7 @@ func (x *ReservationsScopedList) String() string { func (*ReservationsScopedList) ProtoMessage() {} func (x *ReservationsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[991] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1027] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99099,7 +103176,7 @@ func (x *ReservationsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ReservationsScopedList.ProtoReflect.Descriptor instead. func (*ReservationsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{991} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1027} } func (x *ReservationsScopedList) GetReservations() []*Reservation { @@ -99135,7 +103212,7 @@ type ResetInstanceRequest struct { func (x *ResetInstanceRequest) Reset() { *x = ResetInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[992] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1028] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99148,7 +103225,7 @@ func (x *ResetInstanceRequest) String() string { func (*ResetInstanceRequest) ProtoMessage() {} func (x *ResetInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[992] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1028] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99161,7 +103238,7 @@ func (x *ResetInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetInstanceRequest.ProtoReflect.Descriptor instead. func (*ResetInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{992} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1028} } func (x *ResetInstanceRequest) GetInstance() string { @@ -99213,7 +103290,7 @@ type ResizeDiskRequest struct { func (x *ResizeDiskRequest) Reset() { *x = ResizeDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[993] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1029] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99226,7 +103303,7 @@ func (x *ResizeDiskRequest) String() string { func (*ResizeDiskRequest) ProtoMessage() {} func (x *ResizeDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[993] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1029] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99239,7 +103316,7 @@ func (x *ResizeDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResizeDiskRequest.ProtoReflect.Descriptor instead. func (*ResizeDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{993} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1029} } func (x *ResizeDiskRequest) GetDisk() string { @@ -99298,7 +103375,7 @@ type ResizeInstanceGroupManagerRequest struct { func (x *ResizeInstanceGroupManagerRequest) Reset() { *x = ResizeInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[994] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1030] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99311,7 +103388,7 @@ func (x *ResizeInstanceGroupManagerRequest) String() string { func (*ResizeInstanceGroupManagerRequest) ProtoMessage() {} func (x *ResizeInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[994] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1030] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99324,7 +103401,7 @@ func (x *ResizeInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message // Deprecated: Use ResizeInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*ResizeInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{994} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1030} } func (x *ResizeInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -99383,7 +103460,7 @@ type ResizeRegionDiskRequest struct { func (x *ResizeRegionDiskRequest) Reset() { *x = ResizeRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[995] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1031] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99396,7 +103473,7 @@ func (x *ResizeRegionDiskRequest) String() string { func (*ResizeRegionDiskRequest) ProtoMessage() {} func (x *ResizeRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[995] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1031] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99409,7 +103486,7 @@ func (x *ResizeRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResizeRegionDiskRequest.ProtoReflect.Descriptor instead. func (*ResizeRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{995} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1031} } func (x *ResizeRegionDiskRequest) GetDisk() string { @@ -99468,7 +103545,7 @@ type ResizeRegionInstanceGroupManagerRequest struct { func (x *ResizeRegionInstanceGroupManagerRequest) Reset() { *x = ResizeRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[996] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1032] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99481,7 +103558,7 @@ func (x *ResizeRegionInstanceGroupManagerRequest) String() string { func (*ResizeRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *ResizeRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[996] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1032] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99494,7 +103571,7 @@ func (x *ResizeRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Me // Deprecated: Use ResizeRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*ResizeRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{996} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1032} } func (x *ResizeRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -99553,7 +103630,7 @@ type ResizeReservationRequest struct { func (x *ResizeReservationRequest) Reset() { *x = ResizeReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[997] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1033] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99566,7 +103643,7 @@ func (x *ResizeReservationRequest) String() string { func (*ResizeReservationRequest) ProtoMessage() {} func (x *ResizeReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[997] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1033] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99579,7 +103656,7 @@ func (x *ResizeReservationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResizeReservationRequest.ProtoReflect.Descriptor instead. func (*ResizeReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{997} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1033} } func (x *ResizeReservationRequest) GetProject() string { @@ -99635,7 +103712,7 @@ type ResourceCommitment struct { func (x *ResourceCommitment) Reset() { *x = ResourceCommitment{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[998] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1034] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99648,7 +103725,7 @@ func (x *ResourceCommitment) String() string { func (*ResourceCommitment) ProtoMessage() {} func (x *ResourceCommitment) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[998] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1034] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99661,7 +103738,7 @@ func (x *ResourceCommitment) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceCommitment.ProtoReflect.Descriptor instead. func (*ResourceCommitment) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{998} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1034} } func (x *ResourceCommitment) GetAcceleratorType() string { @@ -99697,7 +103774,7 @@ type ResourceGroupReference struct { func (x *ResourceGroupReference) Reset() { *x = ResourceGroupReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[999] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1035] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99710,7 +103787,7 @@ func (x *ResourceGroupReference) String() string { func (*ResourceGroupReference) ProtoMessage() {} func (x *ResourceGroupReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[999] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1035] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99723,7 +103800,7 @@ func (x *ResourceGroupReference) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGroupReference.ProtoReflect.Descriptor instead. func (*ResourceGroupReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{999} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1035} } func (x *ResourceGroupReference) GetGroup() string { @@ -99747,7 +103824,7 @@ type ResourcePoliciesScopedList struct { func (x *ResourcePoliciesScopedList) Reset() { *x = ResourcePoliciesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1000] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1036] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99760,7 +103837,7 @@ func (x *ResourcePoliciesScopedList) String() string { func (*ResourcePoliciesScopedList) ProtoMessage() {} func (x *ResourcePoliciesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1000] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1036] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99773,7 +103850,7 @@ func (x *ResourcePoliciesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePoliciesScopedList.ProtoReflect.Descriptor instead. func (*ResourcePoliciesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1000} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1036} } func (x *ResourcePoliciesScopedList) GetResourcePolicies() []*ResourcePolicy { @@ -99826,7 +103903,7 @@ type ResourcePolicy struct { func (x *ResourcePolicy) Reset() { *x = ResourcePolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1001] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1037] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99839,7 +103916,7 @@ func (x *ResourcePolicy) String() string { func (*ResourcePolicy) ProtoMessage() {} func (x *ResourcePolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1001] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1037] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99852,7 +103929,7 @@ func (x *ResourcePolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePolicy.ProtoReflect.Descriptor instead. func (*ResourcePolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1001} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1037} } func (x *ResourcePolicy) GetCreationTimestamp() string { @@ -99972,7 +104049,7 @@ type ResourcePolicyAggregatedList struct { func (x *ResourcePolicyAggregatedList) Reset() { *x = ResourcePolicyAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1002] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1038] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -99985,7 +104062,7 @@ func (x *ResourcePolicyAggregatedList) String() string { func (*ResourcePolicyAggregatedList) ProtoMessage() {} func (x *ResourcePolicyAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1002] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1038] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -99998,7 +104075,7 @@ func (x *ResourcePolicyAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePolicyAggregatedList.ProtoReflect.Descriptor instead. func (*ResourcePolicyAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1002} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1038} } func (x *ResourcePolicyAggregatedList) GetEtag() string { @@ -100074,7 +104151,7 @@ type ResourcePolicyDailyCycle struct { func (x *ResourcePolicyDailyCycle) Reset() { *x = ResourcePolicyDailyCycle{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1003] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1039] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100087,7 +104164,7 @@ func (x *ResourcePolicyDailyCycle) String() string { func (*ResourcePolicyDailyCycle) ProtoMessage() {} func (x *ResourcePolicyDailyCycle) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1003] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1039] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100100,7 +104177,7 @@ func (x *ResourcePolicyDailyCycle) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePolicyDailyCycle.ProtoReflect.Descriptor instead. func (*ResourcePolicyDailyCycle) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1003} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1039} } func (x *ResourcePolicyDailyCycle) GetDaysInCycle() int32 { @@ -100134,7 +104211,7 @@ type ResourcePolicyDiskConsistencyGroupPolicy struct { func (x *ResourcePolicyDiskConsistencyGroupPolicy) Reset() { *x = ResourcePolicyDiskConsistencyGroupPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1004] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1040] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100147,7 +104224,7 @@ func (x *ResourcePolicyDiskConsistencyGroupPolicy) String() string { func (*ResourcePolicyDiskConsistencyGroupPolicy) ProtoMessage() {} func (x *ResourcePolicyDiskConsistencyGroupPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1004] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1040] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100160,7 +104237,7 @@ func (x *ResourcePolicyDiskConsistencyGroupPolicy) ProtoReflect() protoreflect.M // Deprecated: Use ResourcePolicyDiskConsistencyGroupPolicy.ProtoReflect.Descriptor instead. func (*ResourcePolicyDiskConsistencyGroupPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1004} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1040} } // A GroupPlacementPolicy specifies resource placement configuration. It specifies the failure bucket separation as well as network locality @@ -100181,7 +104258,7 @@ type ResourcePolicyGroupPlacementPolicy struct { func (x *ResourcePolicyGroupPlacementPolicy) Reset() { *x = ResourcePolicyGroupPlacementPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1005] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1041] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100194,7 +104271,7 @@ func (x *ResourcePolicyGroupPlacementPolicy) String() string { func (*ResourcePolicyGroupPlacementPolicy) ProtoMessage() {} func (x *ResourcePolicyGroupPlacementPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1005] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1041] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100207,7 +104284,7 @@ func (x *ResourcePolicyGroupPlacementPolicy) ProtoReflect() protoreflect.Message // Deprecated: Use ResourcePolicyGroupPlacementPolicy.ProtoReflect.Descriptor instead. func (*ResourcePolicyGroupPlacementPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1005} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1041} } func (x *ResourcePolicyGroupPlacementPolicy) GetAvailabilityDomainCount() int32 { @@ -100248,7 +104325,7 @@ type ResourcePolicyHourlyCycle struct { func (x *ResourcePolicyHourlyCycle) Reset() { *x = ResourcePolicyHourlyCycle{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1006] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1042] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100261,7 +104338,7 @@ func (x *ResourcePolicyHourlyCycle) String() string { func (*ResourcePolicyHourlyCycle) ProtoMessage() {} func (x *ResourcePolicyHourlyCycle) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1006] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1042] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100274,7 +104351,7 @@ func (x *ResourcePolicyHourlyCycle) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePolicyHourlyCycle.ProtoReflect.Descriptor instead. func (*ResourcePolicyHourlyCycle) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1006} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1042} } func (x *ResourcePolicyHourlyCycle) GetDuration() string { @@ -100319,7 +104396,7 @@ type ResourcePolicyInstanceSchedulePolicy struct { func (x *ResourcePolicyInstanceSchedulePolicy) Reset() { *x = ResourcePolicyInstanceSchedulePolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1007] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1043] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100332,7 +104409,7 @@ func (x *ResourcePolicyInstanceSchedulePolicy) String() string { func (*ResourcePolicyInstanceSchedulePolicy) ProtoMessage() {} func (x *ResourcePolicyInstanceSchedulePolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1007] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1043] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100345,7 +104422,7 @@ func (x *ResourcePolicyInstanceSchedulePolicy) ProtoReflect() protoreflect.Messa // Deprecated: Use ResourcePolicyInstanceSchedulePolicy.ProtoReflect.Descriptor instead. func (*ResourcePolicyInstanceSchedulePolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1007} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1043} } func (x *ResourcePolicyInstanceSchedulePolicy) GetExpirationTime() string { @@ -100396,7 +104473,7 @@ type ResourcePolicyInstanceSchedulePolicySchedule struct { func (x *ResourcePolicyInstanceSchedulePolicySchedule) Reset() { *x = ResourcePolicyInstanceSchedulePolicySchedule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1008] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1044] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100409,7 +104486,7 @@ func (x *ResourcePolicyInstanceSchedulePolicySchedule) String() string { func (*ResourcePolicyInstanceSchedulePolicySchedule) ProtoMessage() {} func (x *ResourcePolicyInstanceSchedulePolicySchedule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1008] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1044] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100422,7 +104499,7 @@ func (x *ResourcePolicyInstanceSchedulePolicySchedule) ProtoReflect() protorefle // Deprecated: Use ResourcePolicyInstanceSchedulePolicySchedule.ProtoReflect.Descriptor instead. func (*ResourcePolicyInstanceSchedulePolicySchedule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1008} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1044} } func (x *ResourcePolicyInstanceSchedulePolicySchedule) GetSchedule() string { @@ -100455,7 +104532,7 @@ type ResourcePolicyList struct { func (x *ResourcePolicyList) Reset() { *x = ResourcePolicyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1009] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1045] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100468,7 +104545,7 @@ func (x *ResourcePolicyList) String() string { func (*ResourcePolicyList) ProtoMessage() {} func (x *ResourcePolicyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1009] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1045] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100481,7 +104558,7 @@ func (x *ResourcePolicyList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePolicyList.ProtoReflect.Descriptor instead. func (*ResourcePolicyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1009} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1045} } func (x *ResourcePolicyList) GetEtag() string { @@ -100546,7 +104623,7 @@ type ResourcePolicyResourceStatus struct { func (x *ResourcePolicyResourceStatus) Reset() { *x = ResourcePolicyResourceStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1010] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1046] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100559,7 +104636,7 @@ func (x *ResourcePolicyResourceStatus) String() string { func (*ResourcePolicyResourceStatus) ProtoMessage() {} func (x *ResourcePolicyResourceStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1010] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1046] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100572,7 +104649,7 @@ func (x *ResourcePolicyResourceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePolicyResourceStatus.ProtoReflect.Descriptor instead. func (*ResourcePolicyResourceStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1010} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1046} } func (x *ResourcePolicyResourceStatus) GetInstanceSchedulePolicy() *ResourcePolicyResourceStatusInstanceSchedulePolicyStatus { @@ -100596,7 +104673,7 @@ type ResourcePolicyResourceStatusInstanceSchedulePolicyStatus struct { func (x *ResourcePolicyResourceStatusInstanceSchedulePolicyStatus) Reset() { *x = ResourcePolicyResourceStatusInstanceSchedulePolicyStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1011] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1047] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100609,7 +104686,7 @@ func (x *ResourcePolicyResourceStatusInstanceSchedulePolicyStatus) String() stri func (*ResourcePolicyResourceStatusInstanceSchedulePolicyStatus) ProtoMessage() {} func (x *ResourcePolicyResourceStatusInstanceSchedulePolicyStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1011] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1047] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100622,7 +104699,7 @@ func (x *ResourcePolicyResourceStatusInstanceSchedulePolicyStatus) ProtoReflect( // Deprecated: Use ResourcePolicyResourceStatusInstanceSchedulePolicyStatus.ProtoReflect.Descriptor instead. func (*ResourcePolicyResourceStatusInstanceSchedulePolicyStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1011} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1047} } func (x *ResourcePolicyResourceStatusInstanceSchedulePolicyStatus) GetLastRunStartTime() string { @@ -100656,7 +104733,7 @@ type ResourcePolicySnapshotSchedulePolicy struct { func (x *ResourcePolicySnapshotSchedulePolicy) Reset() { *x = ResourcePolicySnapshotSchedulePolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1012] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1048] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100669,7 +104746,7 @@ func (x *ResourcePolicySnapshotSchedulePolicy) String() string { func (*ResourcePolicySnapshotSchedulePolicy) ProtoMessage() {} func (x *ResourcePolicySnapshotSchedulePolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1012] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1048] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100682,7 +104759,7 @@ func (x *ResourcePolicySnapshotSchedulePolicy) ProtoReflect() protoreflect.Messa // Deprecated: Use ResourcePolicySnapshotSchedulePolicy.ProtoReflect.Descriptor instead. func (*ResourcePolicySnapshotSchedulePolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1012} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1048} } func (x *ResourcePolicySnapshotSchedulePolicy) GetRetentionPolicy() *ResourcePolicySnapshotSchedulePolicyRetentionPolicy { @@ -100722,7 +104799,7 @@ type ResourcePolicySnapshotSchedulePolicyRetentionPolicy struct { func (x *ResourcePolicySnapshotSchedulePolicyRetentionPolicy) Reset() { *x = ResourcePolicySnapshotSchedulePolicyRetentionPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1013] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1049] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100735,7 +104812,7 @@ func (x *ResourcePolicySnapshotSchedulePolicyRetentionPolicy) String() string { func (*ResourcePolicySnapshotSchedulePolicyRetentionPolicy) ProtoMessage() {} func (x *ResourcePolicySnapshotSchedulePolicyRetentionPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1013] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1049] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100748,7 +104825,7 @@ func (x *ResourcePolicySnapshotSchedulePolicyRetentionPolicy) ProtoReflect() pro // Deprecated: Use ResourcePolicySnapshotSchedulePolicyRetentionPolicy.ProtoReflect.Descriptor instead. func (*ResourcePolicySnapshotSchedulePolicyRetentionPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1013} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1049} } func (x *ResourcePolicySnapshotSchedulePolicyRetentionPolicy) GetMaxRetentionDays() int32 { @@ -100779,7 +104856,7 @@ type ResourcePolicySnapshotSchedulePolicySchedule struct { func (x *ResourcePolicySnapshotSchedulePolicySchedule) Reset() { *x = ResourcePolicySnapshotSchedulePolicySchedule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1014] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1050] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100792,7 +104869,7 @@ func (x *ResourcePolicySnapshotSchedulePolicySchedule) String() string { func (*ResourcePolicySnapshotSchedulePolicySchedule) ProtoMessage() {} func (x *ResourcePolicySnapshotSchedulePolicySchedule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1014] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1050] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100805,7 +104882,7 @@ func (x *ResourcePolicySnapshotSchedulePolicySchedule) ProtoReflect() protorefle // Deprecated: Use ResourcePolicySnapshotSchedulePolicySchedule.ProtoReflect.Descriptor instead. func (*ResourcePolicySnapshotSchedulePolicySchedule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1014} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1050} } func (x *ResourcePolicySnapshotSchedulePolicySchedule) GetDailySchedule() *ResourcePolicyDailyCycle { @@ -100848,7 +104925,7 @@ type ResourcePolicySnapshotSchedulePolicySnapshotProperties struct { func (x *ResourcePolicySnapshotSchedulePolicySnapshotProperties) Reset() { *x = ResourcePolicySnapshotSchedulePolicySnapshotProperties{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1015] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1051] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100861,7 +104938,7 @@ func (x *ResourcePolicySnapshotSchedulePolicySnapshotProperties) String() string func (*ResourcePolicySnapshotSchedulePolicySnapshotProperties) ProtoMessage() {} func (x *ResourcePolicySnapshotSchedulePolicySnapshotProperties) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1015] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1051] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100874,7 +104951,7 @@ func (x *ResourcePolicySnapshotSchedulePolicySnapshotProperties) ProtoReflect() // Deprecated: Use ResourcePolicySnapshotSchedulePolicySnapshotProperties.ProtoReflect.Descriptor instead. func (*ResourcePolicySnapshotSchedulePolicySnapshotProperties) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1015} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1051} } func (x *ResourcePolicySnapshotSchedulePolicySnapshotProperties) GetChainName() string { @@ -100918,7 +104995,7 @@ type ResourcePolicyWeeklyCycle struct { func (x *ResourcePolicyWeeklyCycle) Reset() { *x = ResourcePolicyWeeklyCycle{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1016] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1052] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100931,7 +105008,7 @@ func (x *ResourcePolicyWeeklyCycle) String() string { func (*ResourcePolicyWeeklyCycle) ProtoMessage() {} func (x *ResourcePolicyWeeklyCycle) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1016] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1052] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100944,7 +105021,7 @@ func (x *ResourcePolicyWeeklyCycle) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourcePolicyWeeklyCycle.ProtoReflect.Descriptor instead. func (*ResourcePolicyWeeklyCycle) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1016} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1052} } func (x *ResourcePolicyWeeklyCycle) GetDayOfWeeks() []*ResourcePolicyWeeklyCycleDayOfWeek { @@ -100971,7 +105048,7 @@ type ResourcePolicyWeeklyCycleDayOfWeek struct { func (x *ResourcePolicyWeeklyCycleDayOfWeek) Reset() { *x = ResourcePolicyWeeklyCycleDayOfWeek{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1017] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1053] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -100984,7 +105061,7 @@ func (x *ResourcePolicyWeeklyCycleDayOfWeek) String() string { func (*ResourcePolicyWeeklyCycleDayOfWeek) ProtoMessage() {} func (x *ResourcePolicyWeeklyCycleDayOfWeek) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1017] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1053] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -100997,7 +105074,7 @@ func (x *ResourcePolicyWeeklyCycleDayOfWeek) ProtoReflect() protoreflect.Message // Deprecated: Use ResourcePolicyWeeklyCycleDayOfWeek.ProtoReflect.Descriptor instead. func (*ResourcePolicyWeeklyCycleDayOfWeek) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1017} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1053} } func (x *ResourcePolicyWeeklyCycleDayOfWeek) GetDay() string { @@ -101028,13 +105105,14 @@ type ResourceStatus struct { unknownFields protoimpl.UnknownFields // [Output Only] An opaque ID of the host on which the VM is running. - PhysicalHost *string `protobuf:"bytes,464370704,opt,name=physical_host,json=physicalHost,proto3,oneof" json:"physical_host,omitempty"` + PhysicalHost *string `protobuf:"bytes,464370704,opt,name=physical_host,json=physicalHost,proto3,oneof" json:"physical_host,omitempty"` + UpcomingMaintenance *UpcomingMaintenance `protobuf:"bytes,227348592,opt,name=upcoming_maintenance,json=upcomingMaintenance,proto3,oneof" json:"upcoming_maintenance,omitempty"` } func (x *ResourceStatus) Reset() { *x = ResourceStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1018] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1054] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101047,7 +105125,7 @@ func (x *ResourceStatus) String() string { func (*ResourceStatus) ProtoMessage() {} func (x *ResourceStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1018] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1054] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101060,7 +105138,7 @@ func (x *ResourceStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceStatus.ProtoReflect.Descriptor instead. func (*ResourceStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1018} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1054} } func (x *ResourceStatus) GetPhysicalHost() string { @@ -101070,6 +105148,13 @@ func (x *ResourceStatus) GetPhysicalHost() string { return "" } +func (x *ResourceStatus) GetUpcomingMaintenance() *UpcomingMaintenance { + if x != nil { + return x.UpcomingMaintenance + } + return nil +} + // A request message for Instances.Resume. See the method description for details. type ResumeInstanceRequest struct { state protoimpl.MessageState @@ -101089,7 +105174,7 @@ type ResumeInstanceRequest struct { func (x *ResumeInstanceRequest) Reset() { *x = ResumeInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1019] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1055] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101102,7 +105187,7 @@ func (x *ResumeInstanceRequest) String() string { func (*ResumeInstanceRequest) ProtoMessage() {} func (x *ResumeInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1019] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1055] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101115,7 +105200,7 @@ func (x *ResumeInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResumeInstanceRequest.ProtoReflect.Descriptor instead. func (*ResumeInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1019} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1055} } func (x *ResumeInstanceRequest) GetInstance() string { @@ -101158,7 +105243,7 @@ type Route struct { CreationTimestamp *string `protobuf:"bytes,30525366,opt,name=creation_timestamp,json=creationTimestamp,proto3,oneof" json:"creation_timestamp,omitempty"` // An optional description of this resource. Provide this field when you create the resource. Description *string `protobuf:"bytes,422937596,opt,name=description,proto3,oneof" json:"description,omitempty"` - // The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. + // The destination range of outgoing packets that this route applies to. Both IPv4 and IPv6 are supported. Must specify an IPv4 range (e.g. 192.0.2.0/24) or an IPv6 range in RFC 4291 format (e.g. 2001:db8::/32). IPv6 range will be displayed using RFC 5952 compressed format. DestRange *string `protobuf:"bytes,381327712,opt,name=dest_range,json=destRange,proto3,oneof" json:"dest_range,omitempty"` // [Output Only] The unique identifier for the resource. This identifier is defined by the server. Id *uint64 `protobuf:"varint,3355,opt,name=id,proto3,oneof" json:"id,omitempty"` @@ -101176,7 +105261,7 @@ type Route struct { NextHopIlb *string `protobuf:"bytes,198679901,opt,name=next_hop_ilb,json=nextHopIlb,proto3,oneof" json:"next_hop_ilb,omitempty"` // The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ NextHopInstance *string `protobuf:"bytes,393508247,opt,name=next_hop_instance,json=nextHopInstance,proto3,oneof" json:"next_hop_instance,omitempty"` - // The network IP address of an instance that should handle matching packets. Only IPv4 is supported. + // The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address. NextHopIp *string `protobuf:"bytes,110319529,opt,name=next_hop_ip,json=nextHopIp,proto3,oneof" json:"next_hop_ip,omitempty"` // The URL of the local network if it should handle matching packets. NextHopNetwork *string `protobuf:"bytes,262295788,opt,name=next_hop_network,json=nextHopNetwork,proto3,oneof" json:"next_hop_network,omitempty"` @@ -101203,7 +105288,7 @@ type Route struct { func (x *Route) Reset() { *x = Route{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1020] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1056] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101216,7 +105301,7 @@ func (x *Route) String() string { func (*Route) ProtoMessage() {} func (x *Route) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1020] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1056] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101229,7 +105314,7 @@ func (x *Route) ProtoReflect() protoreflect.Message { // Deprecated: Use Route.ProtoReflect.Descriptor instead. func (*Route) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1020} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1056} } func (x *Route) GetAsPaths() []*RouteAsPath { @@ -101401,7 +105486,7 @@ type RouteAsPath struct { func (x *RouteAsPath) Reset() { *x = RouteAsPath{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1021] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1057] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101414,7 +105499,7 @@ func (x *RouteAsPath) String() string { func (*RouteAsPath) ProtoMessage() {} func (x *RouteAsPath) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1021] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1057] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101427,7 +105512,7 @@ func (x *RouteAsPath) ProtoReflect() protoreflect.Message { // Deprecated: Use RouteAsPath.ProtoReflect.Descriptor instead. func (*RouteAsPath) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1021} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1057} } func (x *RouteAsPath) GetAsLists() []uint32 { @@ -101467,7 +105552,7 @@ type RouteList struct { func (x *RouteList) Reset() { *x = RouteList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1022] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1058] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101480,7 +105565,7 @@ func (x *RouteList) String() string { func (*RouteList) ProtoMessage() {} func (x *RouteList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1022] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1058] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101493,7 +105578,7 @@ func (x *RouteList) ProtoReflect() protoreflect.Message { // Deprecated: Use RouteList.ProtoReflect.Descriptor instead. func (*RouteList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1022} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1058} } func (x *RouteList) GetId() string { @@ -101556,7 +105641,7 @@ type Router struct { EncryptedInterconnectRouter *bool `protobuf:"varint,297996575,opt,name=encrypted_interconnect_router,json=encryptedInterconnectRouter,proto3,oneof" json:"encrypted_interconnect_router,omitempty"` // [Output Only] The unique identifier for the resource. This identifier is defined by the server. Id *uint64 `protobuf:"varint,3355,opt,name=id,proto3,oneof" json:"id,omitempty"` - // Router interfaces. Each interface requires either one linked resource, (for example, linkedVpnTunnel), or IP address and IP address range (for example, ipRange), or both. + // Router interfaces. To create a BGP peer that uses a router interface, the interface must have one of the following fields specified: - linkedVpnTunnel - linkedInterconnectAttachment - subnetwork You can create a router interface without any of these fields specified. However, you cannot create a BGP peer that uses that interface. Interfaces []*RouterInterface `protobuf:"bytes,12073562,rep,name=interfaces,proto3" json:"interfaces,omitempty"` // [Output Only] Type of resource. Always compute#router for routers. Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` @@ -101577,7 +105662,7 @@ type Router struct { func (x *Router) Reset() { *x = Router{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1023] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1059] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101590,7 +105675,7 @@ func (x *Router) String() string { func (*Router) ProtoMessage() {} func (x *Router) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1023] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1059] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101603,7 +105688,7 @@ func (x *Router) ProtoReflect() protoreflect.Message { // Deprecated: Use Router.ProtoReflect.Descriptor instead. func (*Router) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1023} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1059} } func (x *Router) GetBgp() *RouterBgp { @@ -101719,7 +105804,7 @@ type RouterAdvertisedIpRange struct { func (x *RouterAdvertisedIpRange) Reset() { *x = RouterAdvertisedIpRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1024] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1060] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101732,7 +105817,7 @@ func (x *RouterAdvertisedIpRange) String() string { func (*RouterAdvertisedIpRange) ProtoMessage() {} func (x *RouterAdvertisedIpRange) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1024] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1060] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101745,7 +105830,7 @@ func (x *RouterAdvertisedIpRange) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterAdvertisedIpRange.ProtoReflect.Descriptor instead. func (*RouterAdvertisedIpRange) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1024} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1060} } func (x *RouterAdvertisedIpRange) GetDescription() string { @@ -101787,7 +105872,7 @@ type RouterAggregatedList struct { func (x *RouterAggregatedList) Reset() { *x = RouterAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1025] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1061] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101800,7 +105885,7 @@ func (x *RouterAggregatedList) String() string { func (*RouterAggregatedList) ProtoMessage() {} func (x *RouterAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1025] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1061] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101813,7 +105898,7 @@ func (x *RouterAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterAggregatedList.ProtoReflect.Descriptor instead. func (*RouterAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1025} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1061} } func (x *RouterAggregatedList) GetId() string { @@ -101887,7 +105972,7 @@ type RouterBgp struct { func (x *RouterBgp) Reset() { *x = RouterBgp{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1026] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1062] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -101900,7 +105985,7 @@ func (x *RouterBgp) String() string { func (*RouterBgp) ProtoMessage() {} func (x *RouterBgp) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1026] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1062] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -101913,7 +105998,7 @@ func (x *RouterBgp) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterBgp.ProtoReflect.Descriptor instead. func (*RouterBgp) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1026} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1062} } func (x *RouterBgp) GetAdvertiseMode() string { @@ -102003,7 +106088,7 @@ type RouterBgpPeer struct { func (x *RouterBgpPeer) Reset() { *x = RouterBgpPeer{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1027] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1063] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102016,7 +106101,7 @@ func (x *RouterBgpPeer) String() string { func (*RouterBgpPeer) ProtoMessage() {} func (x *RouterBgpPeer) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1027] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1063] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102029,7 +106114,7 @@ func (x *RouterBgpPeer) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterBgpPeer.ProtoReflect.Descriptor instead. func (*RouterBgpPeer) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1027} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1063} } func (x *RouterBgpPeer) GetAdvertiseMode() string { @@ -102184,7 +106269,7 @@ type RouterBgpPeerBfd struct { func (x *RouterBgpPeerBfd) Reset() { *x = RouterBgpPeerBfd{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1028] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1064] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102197,7 +106282,7 @@ func (x *RouterBgpPeerBfd) String() string { func (*RouterBgpPeerBfd) ProtoMessage() {} func (x *RouterBgpPeerBfd) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1028] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1064] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102210,7 +106295,7 @@ func (x *RouterBgpPeerBfd) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterBgpPeerBfd.ProtoReflect.Descriptor instead. func (*RouterBgpPeerBfd) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1028} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1064} } func (x *RouterBgpPeerBfd) GetMinReceiveInterval() uint32 { @@ -102253,7 +106338,7 @@ type RouterBgpPeerCustomLearnedIpRange struct { func (x *RouterBgpPeerCustomLearnedIpRange) Reset() { *x = RouterBgpPeerCustomLearnedIpRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1029] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1065] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102266,7 +106351,7 @@ func (x *RouterBgpPeerCustomLearnedIpRange) String() string { func (*RouterBgpPeerCustomLearnedIpRange) ProtoMessage() {} func (x *RouterBgpPeerCustomLearnedIpRange) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1029] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1065] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102279,7 +106364,7 @@ func (x *RouterBgpPeerCustomLearnedIpRange) ProtoReflect() protoreflect.Message // Deprecated: Use RouterBgpPeerCustomLearnedIpRange.ProtoReflect.Descriptor instead. func (*RouterBgpPeerCustomLearnedIpRange) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1029} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1065} } func (x *RouterBgpPeerCustomLearnedIpRange) GetRange() string { @@ -102296,9 +106381,9 @@ type RouterInterface struct { // IP address and range of the interface. The IP range must be in the RFC3927 link-local IP address space. The value must be a CIDR-formatted string, for example: 169.254.0.1/30. NOTE: Do not truncate the address as it represents the IP address of the interface. IpRange *string `protobuf:"bytes,145092645,opt,name=ip_range,json=ipRange,proto3,oneof" json:"ip_range,omitempty"` - // URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance. + // URI of the linked Interconnect attachment. It must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork. LinkedInterconnectAttachment *string `protobuf:"bytes,501085518,opt,name=linked_interconnect_attachment,json=linkedInterconnectAttachment,proto3,oneof" json:"linked_interconnect_attachment,omitempty"` - // URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a virtual machine instance. + // URI of the linked VPN tunnel, which must be in the same region as the router. Each interface can have one linked resource, which can be a VPN tunnel, an Interconnect attachment, or a subnetwork. LinkedVpnTunnel *string `protobuf:"bytes,352296953,opt,name=linked_vpn_tunnel,json=linkedVpnTunnel,proto3,oneof" json:"linked_vpn_tunnel,omitempty"` // [Output Only] The resource that configures and manages this interface. - MANAGED_BY_USER is the default value and can be managed directly by users. - MANAGED_BY_ATTACHMENT is an interface that is configured and managed by Cloud Interconnect, specifically, by an InterconnectAttachment of type PARTNER. Google automatically creates, updates, and deletes this type of interface when the PARTNER InterconnectAttachment is created, updated, or deleted. // Check the ManagementType enum for the list of possible values. @@ -102316,7 +106401,7 @@ type RouterInterface struct { func (x *RouterInterface) Reset() { *x = RouterInterface{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1030] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1066] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102329,7 +106414,7 @@ func (x *RouterInterface) String() string { func (*RouterInterface) ProtoMessage() {} func (x *RouterInterface) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1030] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1066] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102342,7 +106427,7 @@ func (x *RouterInterface) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterInterface.ProtoReflect.Descriptor instead. func (*RouterInterface) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1030} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1066} } func (x *RouterInterface) GetIpRange() string { @@ -102424,7 +106509,7 @@ type RouterList struct { func (x *RouterList) Reset() { *x = RouterList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1031] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1067] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102437,7 +106522,7 @@ func (x *RouterList) String() string { func (*RouterList) ProtoMessage() {} func (x *RouterList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1031] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1067] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102450,7 +106535,7 @@ func (x *RouterList) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterList.ProtoReflect.Descriptor instead. func (*RouterList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1031} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1067} } func (x *RouterList) GetId() string { @@ -102502,14 +106587,14 @@ type RouterMd5AuthenticationKey struct { // [Input only] Value of the key. For patch and update calls, it can be skipped to copy the value from the previous configuration. This is allowed if the key with the same name existed before the operation. Maximum length is 80 characters. Can only contain printable ASCII characters. Key *string `protobuf:"bytes,106079,opt,name=key,proto3,oneof" json:"key,omitempty"` - // Name used to identify the key. Must be unique within a router. Must be referenced by at least one bgpPeer. Must comply with RFC1035. + // Name used to identify the key. Must be unique within a router. Must be referenced by exactly one bgpPeer. Must comply with RFC1035. Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` } func (x *RouterMd5AuthenticationKey) Reset() { *x = RouterMd5AuthenticationKey{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1032] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1068] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102522,7 +106607,7 @@ func (x *RouterMd5AuthenticationKey) String() string { func (*RouterMd5AuthenticationKey) ProtoMessage() {} func (x *RouterMd5AuthenticationKey) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1032] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1068] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102535,7 +106620,7 @@ func (x *RouterMd5AuthenticationKey) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterMd5AuthenticationKey.ProtoReflect.Descriptor instead. func (*RouterMd5AuthenticationKey) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1032} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1068} } func (x *RouterMd5AuthenticationKey) GetKey() string { @@ -102558,7 +106643,7 @@ type RouterNat struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The network tier to use when automatically reserving IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, PREMIUM tier will be used. + // The network tier to use when automatically reserving NAT IP addresses. Must be one of: PREMIUM, STANDARD. If not specified, then the current project-level default tier is used. // Check the AutoNetworkTier enum for the list of possible values. AutoNetworkTier *string `protobuf:"bytes,269770211,opt,name=auto_network_tier,json=autoNetworkTier,proto3,oneof" json:"auto_network_tier,omitempty"` // A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT only. @@ -102597,6 +106682,9 @@ type RouterNat struct { TcpTimeWaitTimeoutSec *int32 `protobuf:"varint,513596925,opt,name=tcp_time_wait_timeout_sec,json=tcpTimeWaitTimeoutSec,proto3,oneof" json:"tcp_time_wait_timeout_sec,omitempty"` // Timeout (in seconds) for TCP transitory connections. Defaults to 30s if not set. TcpTransitoryIdleTimeoutSec *int32 `protobuf:"varint,205028774,opt,name=tcp_transitory_idle_timeout_sec,json=tcpTransitoryIdleTimeoutSec,proto3,oneof" json:"tcp_transitory_idle_timeout_sec,omitempty"` + // Indicates whether this NAT is used for public or private IP translation. If unspecified, it defaults to PUBLIC. + // Check the Type enum for the list of possible values. + Type *string `protobuf:"bytes,3575610,opt,name=type,proto3,oneof" json:"type,omitempty"` // Timeout (in seconds) for UDP connections. Defaults to 30s if not set. UdpIdleTimeoutSec *int32 `protobuf:"varint,64919878,opt,name=udp_idle_timeout_sec,json=udpIdleTimeoutSec,proto3,oneof" json:"udp_idle_timeout_sec,omitempty"` } @@ -102604,7 +106692,7 @@ type RouterNat struct { func (x *RouterNat) Reset() { *x = RouterNat{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1033] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1069] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102617,7 +106705,7 @@ func (x *RouterNat) String() string { func (*RouterNat) ProtoMessage() {} func (x *RouterNat) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1033] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1069] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102630,7 +106718,7 @@ func (x *RouterNat) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterNat.ProtoReflect.Descriptor instead. func (*RouterNat) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1033} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1069} } func (x *RouterNat) GetAutoNetworkTier() string { @@ -102759,6 +106847,13 @@ func (x *RouterNat) GetTcpTransitoryIdleTimeoutSec() int32 { return 0 } +func (x *RouterNat) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + func (x *RouterNat) GetUdpIdleTimeoutSec() int32 { if x != nil && x.UdpIdleTimeoutSec != nil { return *x.UdpIdleTimeoutSec @@ -102782,7 +106877,7 @@ type RouterNatLogConfig struct { func (x *RouterNatLogConfig) Reset() { *x = RouterNatLogConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1034] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1070] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102795,7 +106890,7 @@ func (x *RouterNatLogConfig) String() string { func (*RouterNatLogConfig) ProtoMessage() {} func (x *RouterNatLogConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1034] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1070] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102808,7 +106903,7 @@ func (x *RouterNatLogConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterNatLogConfig.ProtoReflect.Descriptor instead. func (*RouterNatLogConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1034} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1070} } func (x *RouterNatLogConfig) GetEnable() bool { @@ -102834,7 +106929,7 @@ type RouterNatRule struct { Action *RouterNatRuleAction `protobuf:"bytes,187661878,opt,name=action,proto3,oneof" json:"action,omitempty"` // An optional description of this rule. Description *string `protobuf:"bytes,422937596,opt,name=description,proto3,oneof" json:"description,omitempty"` - // CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == 'https://networkconnectivity.googleapis.com/v1alpha1/projects/my-project/global/hub/hub-1'" + // CEL expression that specifies the match condition that egress traffic from a VM is evaluated against. If it evaluates to true, the corresponding `action` is enforced. The following examples are valid match expressions for public NAT: "inIpRange(destination.ip, '1.1.0.0/16') || inIpRange(destination.ip, '2.2.0.0/16')" "destination.ip == '1.1.0.1' || destination.ip == '8.8.8.8'" The following example is a valid match expression for private NAT: "nexthop.hub == '//networkconnectivity.googleapis.com/projects/my-project/locations/global/hubs/hub-1'" Match *string `protobuf:"bytes,103668165,opt,name=match,proto3,oneof" json:"match,omitempty"` // An integer uniquely identifying a rule in the list. The rule number must be a positive value between 0 and 65000, and must be unique among rules within a NAT. RuleNumber *uint32 `protobuf:"varint,535211500,opt,name=rule_number,json=ruleNumber,proto3,oneof" json:"rule_number,omitempty"` @@ -102843,7 +106938,7 @@ type RouterNatRule struct { func (x *RouterNatRule) Reset() { *x = RouterNatRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1035] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1071] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102856,7 +106951,7 @@ func (x *RouterNatRule) String() string { func (*RouterNatRule) ProtoMessage() {} func (x *RouterNatRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1035] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1071] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102869,7 +106964,7 @@ func (x *RouterNatRule) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterNatRule.ProtoReflect.Descriptor instead. func (*RouterNatRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1035} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1071} } func (x *RouterNatRule) GetAction() *RouterNatRuleAction { @@ -102907,14 +107002,18 @@ type RouterNatRuleAction struct { // A list of URLs of the IP resources used for this NAT rule. These IP addresses must be valid static external IP addresses assigned to the project. This field is used for public NAT. SourceNatActiveIps []string `protobuf:"bytes,210378229,rep,name=source_nat_active_ips,json=sourceNatActiveIps,proto3" json:"source_nat_active_ips,omitempty"` + // A list of URLs of the subnetworks used as source ranges for this NAT Rule. These subnetworks must have purpose set to PRIVATE_NAT. This field is used for private NAT. + SourceNatActiveRanges []string `protobuf:"bytes,190556269,rep,name=source_nat_active_ranges,json=sourceNatActiveRanges,proto3" json:"source_nat_active_ranges,omitempty"` // A list of URLs of the IP resources to be drained. These IPs must be valid static external IPs that have been assigned to the NAT. These IPs should be used for updating/patching a NAT rule only. This field is used for public NAT. SourceNatDrainIps []string `protobuf:"bytes,340812451,rep,name=source_nat_drain_ips,json=sourceNatDrainIps,proto3" json:"source_nat_drain_ips,omitempty"` + // A list of URLs of subnetworks representing source ranges to be drained. This is only supported on patch/update, and these subnetworks must have previously been used as active ranges in this NAT Rule. This field is used for private NAT. + SourceNatDrainRanges []string `protobuf:"bytes,84802815,rep,name=source_nat_drain_ranges,json=sourceNatDrainRanges,proto3" json:"source_nat_drain_ranges,omitempty"` } func (x *RouterNatRuleAction) Reset() { *x = RouterNatRuleAction{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1036] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1072] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102927,7 +107026,7 @@ func (x *RouterNatRuleAction) String() string { func (*RouterNatRuleAction) ProtoMessage() {} func (x *RouterNatRuleAction) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1036] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1072] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -102940,7 +107039,7 @@ func (x *RouterNatRuleAction) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterNatRuleAction.ProtoReflect.Descriptor instead. func (*RouterNatRuleAction) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1036} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1072} } func (x *RouterNatRuleAction) GetSourceNatActiveIps() []string { @@ -102950,6 +107049,13 @@ func (x *RouterNatRuleAction) GetSourceNatActiveIps() []string { return nil } +func (x *RouterNatRuleAction) GetSourceNatActiveRanges() []string { + if x != nil { + return x.SourceNatActiveRanges + } + return nil +} + func (x *RouterNatRuleAction) GetSourceNatDrainIps() []string { if x != nil { return x.SourceNatDrainIps @@ -102957,6 +107063,13 @@ func (x *RouterNatRuleAction) GetSourceNatDrainIps() []string { return nil } +func (x *RouterNatRuleAction) GetSourceNatDrainRanges() []string { + if x != nil { + return x.SourceNatDrainRanges + } + return nil +} + // Defines the IP ranges that want to use NAT for a subnetwork. type RouterNatSubnetworkToNat struct { state protoimpl.MessageState @@ -102975,7 +107088,7 @@ type RouterNatSubnetworkToNat struct { func (x *RouterNatSubnetworkToNat) Reset() { *x = RouterNatSubnetworkToNat{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1037] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1073] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102988,7 +107101,7 @@ func (x *RouterNatSubnetworkToNat) String() string { func (*RouterNatSubnetworkToNat) ProtoMessage() {} func (x *RouterNatSubnetworkToNat) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1037] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1073] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103001,7 +107114,7 @@ func (x *RouterNatSubnetworkToNat) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterNatSubnetworkToNat.ProtoReflect.Descriptor instead. func (*RouterNatSubnetworkToNat) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1037} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1073} } func (x *RouterNatSubnetworkToNat) GetName() string { @@ -103043,7 +107156,7 @@ type RouterStatus struct { func (x *RouterStatus) Reset() { *x = RouterStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1038] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1074] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103056,7 +107169,7 @@ func (x *RouterStatus) String() string { func (*RouterStatus) ProtoMessage() {} func (x *RouterStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1038] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1074] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103069,7 +107182,7 @@ func (x *RouterStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterStatus.ProtoReflect.Descriptor instead. func (*RouterStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1038} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1074} } func (x *RouterStatus) GetBestRoutes() []*Route { @@ -103152,7 +107265,7 @@ type RouterStatusBgpPeerStatus struct { func (x *RouterStatusBgpPeerStatus) Reset() { *x = RouterStatusBgpPeerStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1039] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1075] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103165,7 +107278,7 @@ func (x *RouterStatusBgpPeerStatus) String() string { func (*RouterStatusBgpPeerStatus) ProtoMessage() {} func (x *RouterStatusBgpPeerStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1039] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1075] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103178,7 +107291,7 @@ func (x *RouterStatusBgpPeerStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterStatusBgpPeerStatus.ProtoReflect.Descriptor instead. func (*RouterStatusBgpPeerStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1039} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1075} } func (x *RouterStatusBgpPeerStatus) GetAdvertisedRoutes() []*Route { @@ -103329,7 +107442,7 @@ type RouterStatusNatStatus struct { func (x *RouterStatusNatStatus) Reset() { *x = RouterStatusNatStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1040] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1076] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103342,7 +107455,7 @@ func (x *RouterStatusNatStatus) String() string { func (*RouterStatusNatStatus) ProtoMessage() {} func (x *RouterStatusNatStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1040] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1076] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103355,7 +107468,7 @@ func (x *RouterStatusNatStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterStatusNatStatus.ProtoReflect.Descriptor instead. func (*RouterStatusNatStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1040} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1076} } func (x *RouterStatusNatStatus) GetAutoAllocatedNatIps() []string { @@ -103442,7 +107555,7 @@ type RouterStatusNatStatusNatRuleStatus struct { func (x *RouterStatusNatStatusNatRuleStatus) Reset() { *x = RouterStatusNatStatusNatRuleStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1041] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1077] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103455,7 +107568,7 @@ func (x *RouterStatusNatStatusNatRuleStatus) String() string { func (*RouterStatusNatStatusNatRuleStatus) ProtoMessage() {} func (x *RouterStatusNatStatusNatRuleStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1041] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1077] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103468,7 +107581,7 @@ func (x *RouterStatusNatStatusNatRuleStatus) ProtoReflect() protoreflect.Message // Deprecated: Use RouterStatusNatStatusNatRuleStatus.ProtoReflect.Descriptor instead. func (*RouterStatusNatStatusNatRuleStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1041} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1077} } func (x *RouterStatusNatStatusNatRuleStatus) GetActiveNatIps() []string { @@ -103519,7 +107632,7 @@ type RouterStatusResponse struct { func (x *RouterStatusResponse) Reset() { *x = RouterStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1042] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1078] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103532,7 +107645,7 @@ func (x *RouterStatusResponse) String() string { func (*RouterStatusResponse) ProtoMessage() {} func (x *RouterStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1042] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1078] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103545,7 +107658,7 @@ func (x *RouterStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RouterStatusResponse.ProtoReflect.Descriptor instead. func (*RouterStatusResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1042} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1078} } func (x *RouterStatusResponse) GetKind() string { @@ -103574,7 +107687,7 @@ type RoutersPreviewResponse struct { func (x *RoutersPreviewResponse) Reset() { *x = RoutersPreviewResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1043] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1079] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103587,7 +107700,7 @@ func (x *RoutersPreviewResponse) String() string { func (*RoutersPreviewResponse) ProtoMessage() {} func (x *RoutersPreviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1043] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1079] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103600,7 +107713,7 @@ func (x *RoutersPreviewResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RoutersPreviewResponse.ProtoReflect.Descriptor instead. func (*RoutersPreviewResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1043} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1079} } func (x *RoutersPreviewResponse) GetResource() *Router { @@ -103624,7 +107737,7 @@ type RoutersScopedList struct { func (x *RoutersScopedList) Reset() { *x = RoutersScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1044] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1080] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103637,7 +107750,7 @@ func (x *RoutersScopedList) String() string { func (*RoutersScopedList) ProtoMessage() {} func (x *RoutersScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1044] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1080] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103650,7 +107763,7 @@ func (x *RoutersScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use RoutersScopedList.ProtoReflect.Descriptor instead. func (*RoutersScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1044} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1080} } func (x *RoutersScopedList) GetRouters() []*Router { @@ -103693,7 +107806,7 @@ type Rule struct { func (x *Rule) Reset() { *x = Rule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1045] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1081] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103706,7 +107819,7 @@ func (x *Rule) String() string { func (*Rule) ProtoMessage() {} func (x *Rule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1045] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1081] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103719,7 +107832,7 @@ func (x *Rule) ProtoReflect() protoreflect.Message { // Deprecated: Use Rule.ProtoReflect.Descriptor instead. func (*Rule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1045} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1081} } func (x *Rule) GetAction() string { @@ -103795,7 +107908,7 @@ type SSLHealthCheck struct { func (x *SSLHealthCheck) Reset() { *x = SSLHealthCheck{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1046] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1082] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103808,7 +107921,7 @@ func (x *SSLHealthCheck) String() string { func (*SSLHealthCheck) ProtoMessage() {} func (x *SSLHealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1046] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1082] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103821,7 +107934,7 @@ func (x *SSLHealthCheck) ProtoReflect() protoreflect.Message { // Deprecated: Use SSLHealthCheck.ProtoReflect.Descriptor instead. func (*SSLHealthCheck) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1046} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1082} } func (x *SSLHealthCheck) GetPort() int32 { @@ -103913,7 +108026,7 @@ type SavedAttachedDisk struct { func (x *SavedAttachedDisk) Reset() { *x = SavedAttachedDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1047] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1083] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -103926,7 +108039,7 @@ func (x *SavedAttachedDisk) String() string { func (*SavedAttachedDisk) ProtoMessage() {} func (x *SavedAttachedDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1047] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1083] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -103939,7 +108052,7 @@ func (x *SavedAttachedDisk) ProtoReflect() protoreflect.Message { // Deprecated: Use SavedAttachedDisk.ProtoReflect.Descriptor instead. func (*SavedAttachedDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1047} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1083} } func (x *SavedAttachedDisk) GetAutoDelete() bool { @@ -104077,7 +108190,7 @@ type SavedDisk struct { func (x *SavedDisk) Reset() { *x = SavedDisk{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1048] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1084] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104090,7 +108203,7 @@ func (x *SavedDisk) String() string { func (*SavedDisk) ProtoMessage() {} func (x *SavedDisk) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1048] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1084] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104103,7 +108216,7 @@ func (x *SavedDisk) ProtoReflect() protoreflect.Message { // Deprecated: Use SavedDisk.ProtoReflect.Descriptor instead. func (*SavedDisk) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1048} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1084} } func (x *SavedDisk) GetArchitecture() string { @@ -104158,7 +108271,7 @@ type ScalingScheduleStatus struct { func (x *ScalingScheduleStatus) Reset() { *x = ScalingScheduleStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1049] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1085] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104171,7 +108284,7 @@ func (x *ScalingScheduleStatus) String() string { func (*ScalingScheduleStatus) ProtoMessage() {} func (x *ScalingScheduleStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1049] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1085] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104184,7 +108297,7 @@ func (x *ScalingScheduleStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use ScalingScheduleStatus.ProtoReflect.Descriptor instead. func (*ScalingScheduleStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1049} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1085} } func (x *ScalingScheduleStatus) GetLastStartTime() string { @@ -104240,7 +108353,7 @@ type Scheduling struct { func (x *Scheduling) Reset() { *x = Scheduling{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1050] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1086] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104253,7 +108366,7 @@ func (x *Scheduling) String() string { func (*Scheduling) ProtoMessage() {} func (x *Scheduling) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1050] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1086] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104266,7 +108379,7 @@ func (x *Scheduling) ProtoReflect() protoreflect.Message { // Deprecated: Use Scheduling.ProtoReflect.Descriptor instead. func (*Scheduling) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1050} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1086} } func (x *Scheduling) GetAutomaticRestart() bool { @@ -104350,7 +108463,7 @@ type SchedulingNodeAffinity struct { func (x *SchedulingNodeAffinity) Reset() { *x = SchedulingNodeAffinity{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1051] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1087] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104363,7 +108476,7 @@ func (x *SchedulingNodeAffinity) String() string { func (*SchedulingNodeAffinity) ProtoMessage() {} func (x *SchedulingNodeAffinity) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1051] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1087] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104376,7 +108489,7 @@ func (x *SchedulingNodeAffinity) ProtoReflect() protoreflect.Message { // Deprecated: Use SchedulingNodeAffinity.ProtoReflect.Descriptor instead. func (*SchedulingNodeAffinity) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1051} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1087} } func (x *SchedulingNodeAffinity) GetKey() string { @@ -104412,7 +108525,7 @@ type ScratchDisks struct { func (x *ScratchDisks) Reset() { *x = ScratchDisks{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1052] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1088] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104425,7 +108538,7 @@ func (x *ScratchDisks) String() string { func (*ScratchDisks) ProtoMessage() {} func (x *ScratchDisks) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1052] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1088] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104438,7 +108551,7 @@ func (x *ScratchDisks) ProtoReflect() protoreflect.Message { // Deprecated: Use ScratchDisks.ProtoReflect.Descriptor instead. func (*ScratchDisks) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1052} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1088} } func (x *ScratchDisks) GetDiskGb() int32 { @@ -104463,7 +108576,7 @@ type Screenshot struct { func (x *Screenshot) Reset() { *x = Screenshot{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1053] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1089] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104476,7 +108589,7 @@ func (x *Screenshot) String() string { func (*Screenshot) ProtoMessage() {} func (x *Screenshot) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1053] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1089] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104489,7 +108602,7 @@ func (x *Screenshot) ProtoReflect() protoreflect.Message { // Deprecated: Use Screenshot.ProtoReflect.Descriptor instead. func (*Screenshot) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1053} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1089} } func (x *Screenshot) GetContents() string { @@ -104531,7 +108644,7 @@ type SecurityPoliciesAggregatedList struct { func (x *SecurityPoliciesAggregatedList) Reset() { *x = SecurityPoliciesAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1054] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1090] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104544,7 +108657,7 @@ func (x *SecurityPoliciesAggregatedList) String() string { func (*SecurityPoliciesAggregatedList) ProtoMessage() {} func (x *SecurityPoliciesAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1054] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1090] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104557,7 +108670,7 @@ func (x *SecurityPoliciesAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPoliciesAggregatedList.ProtoReflect.Descriptor instead. func (*SecurityPoliciesAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1054} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1090} } func (x *SecurityPoliciesAggregatedList) GetEtag() string { @@ -104627,7 +108740,7 @@ type SecurityPoliciesListPreconfiguredExpressionSetsResponse struct { func (x *SecurityPoliciesListPreconfiguredExpressionSetsResponse) Reset() { *x = SecurityPoliciesListPreconfiguredExpressionSetsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1055] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1091] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104640,7 +108753,7 @@ func (x *SecurityPoliciesListPreconfiguredExpressionSetsResponse) String() strin func (*SecurityPoliciesListPreconfiguredExpressionSetsResponse) ProtoMessage() {} func (x *SecurityPoliciesListPreconfiguredExpressionSetsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1055] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1091] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104653,7 +108766,7 @@ func (x *SecurityPoliciesListPreconfiguredExpressionSetsResponse) ProtoReflect() // Deprecated: Use SecurityPoliciesListPreconfiguredExpressionSetsResponse.ProtoReflect.Descriptor instead. func (*SecurityPoliciesListPreconfiguredExpressionSetsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1055} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1091} } func (x *SecurityPoliciesListPreconfiguredExpressionSetsResponse) GetPreconfiguredExpressionSets() *SecurityPoliciesWafConfig { @@ -104677,7 +108790,7 @@ type SecurityPoliciesScopedList struct { func (x *SecurityPoliciesScopedList) Reset() { *x = SecurityPoliciesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1056] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1092] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104690,7 +108803,7 @@ func (x *SecurityPoliciesScopedList) String() string { func (*SecurityPoliciesScopedList) ProtoMessage() {} func (x *SecurityPoliciesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1056] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1092] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104703,7 +108816,7 @@ func (x *SecurityPoliciesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPoliciesScopedList.ProtoReflect.Descriptor instead. func (*SecurityPoliciesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1056} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1092} } func (x *SecurityPoliciesScopedList) GetSecurityPolicies() []*SecurityPolicy { @@ -104731,7 +108844,7 @@ type SecurityPoliciesWafConfig struct { func (x *SecurityPoliciesWafConfig) Reset() { *x = SecurityPoliciesWafConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1057] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1093] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104744,7 +108857,7 @@ func (x *SecurityPoliciesWafConfig) String() string { func (*SecurityPoliciesWafConfig) ProtoMessage() {} func (x *SecurityPoliciesWafConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1057] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1093] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104757,7 +108870,7 @@ func (x *SecurityPoliciesWafConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPoliciesWafConfig.ProtoReflect.Descriptor instead. func (*SecurityPoliciesWafConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1057} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1093} } func (x *SecurityPoliciesWafConfig) GetWafRules() *PreconfiguredWafSet { @@ -104802,12 +108915,14 @@ type SecurityPolicy struct { // The type indicates the intended use of the security policy. - CLOUD_ARMOR: Cloud Armor backend security policies can be configured to filter incoming HTTP requests targeting backend services. They filter requests before they hit the origin servers. - CLOUD_ARMOR_EDGE: Cloud Armor edge security policies can be configured to filter incoming HTTP requests targeting backend services (including Cloud CDN-enabled) as well as backend buckets (Cloud Storage). They filter requests before the request is served from Google's cache. - CLOUD_ARMOR_INTERNAL_SERVICE: Cloud Armor internal service policies can be configured to filter HTTP requests targeting services managed by Traffic Director in a service mesh. They filter requests before the request is served from the application. - CLOUD_ARMOR_NETWORK: Cloud Armor network policies can be configured to filter packets targeting network load balancing resources such as backend services, target pools, target instances, and instances with external IPs. They filter requests before the request is served from the application. This field can be set only at resource creation time. // Check the Type enum for the list of possible values. Type *string `protobuf:"bytes,3575610,opt,name=type,proto3,oneof" json:"type,omitempty"` + // Definitions of user-defined fields for CLOUD_ARMOR_NETWORK policies. A user-defined field consists of up to 4 bytes extracted from a fixed offset in the packet, relative to the IPv4, IPv6, TCP, or UDP header, with an optional mask to select certain bits. Rules may then specify matching values for these fields. Example: userDefinedFields: - name: "ipv4_fragment_offset" base: IPV4 offset: 6 size: 2 mask: "0x1fff" + UserDefinedFields []*SecurityPolicyUserDefinedField `protobuf:"bytes,28312739,rep,name=user_defined_fields,json=userDefinedFields,proto3" json:"user_defined_fields,omitempty"` } func (x *SecurityPolicy) Reset() { *x = SecurityPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1058] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1094] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104820,7 +108935,7 @@ func (x *SecurityPolicy) String() string { func (*SecurityPolicy) ProtoMessage() {} func (x *SecurityPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1058] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1094] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104833,7 +108948,7 @@ func (x *SecurityPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPolicy.ProtoReflect.Descriptor instead. func (*SecurityPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1058} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1094} } func (x *SecurityPolicy) GetAdaptiveProtectionConfig() *SecurityPolicyAdaptiveProtectionConfig { @@ -104948,6 +109063,13 @@ func (x *SecurityPolicy) GetType() string { return "" } +func (x *SecurityPolicy) GetUserDefinedFields() []*SecurityPolicyUserDefinedField { + if x != nil { + return x.UserDefinedFields + } + return nil +} + // Configuration options for Cloud Armor Adaptive Protection (CAAP). type SecurityPolicyAdaptiveProtectionConfig struct { state protoimpl.MessageState @@ -104961,7 +109083,7 @@ type SecurityPolicyAdaptiveProtectionConfig struct { func (x *SecurityPolicyAdaptiveProtectionConfig) Reset() { *x = SecurityPolicyAdaptiveProtectionConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1059] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1095] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -104974,7 +109096,7 @@ func (x *SecurityPolicyAdaptiveProtectionConfig) String() string { func (*SecurityPolicyAdaptiveProtectionConfig) ProtoMessage() {} func (x *SecurityPolicyAdaptiveProtectionConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1059] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1095] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -104987,7 +109109,7 @@ func (x *SecurityPolicyAdaptiveProtectionConfig) ProtoReflect() protoreflect.Mes // Deprecated: Use SecurityPolicyAdaptiveProtectionConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyAdaptiveProtectionConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1059} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1095} } func (x *SecurityPolicyAdaptiveProtectionConfig) GetLayer7DdosDefenseConfig() *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig { @@ -105008,12 +109130,14 @@ type SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig struct { // Rule visibility can be one of the following: STANDARD - opaque rules. (default) PREMIUM - transparent rules. This field is only supported in Global Security Policies of type CLOUD_ARMOR. // Check the RuleVisibility enum for the list of possible values. RuleVisibility *string `protobuf:"bytes,453258293,opt,name=rule_visibility,json=ruleVisibility,proto3,oneof" json:"rule_visibility,omitempty"` + // Configuration options for layer7 adaptive protection for various customizable thresholds. + ThresholdConfigs []*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig `protobuf:"bytes,60347805,rep,name=threshold_configs,json=thresholdConfigs,proto3" json:"threshold_configs,omitempty"` } func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) Reset() { *x = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1060] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1096] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105026,7 +109150,7 @@ func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) String() func (*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) ProtoMessage() {} func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1060] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1096] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105039,7 +109163,7 @@ func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) ProtoRef // Deprecated: Use SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1060} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1096} } func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) GetEnable() bool { @@ -105056,6 +109180,93 @@ func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) GetRuleV return "" } +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig) GetThresholdConfigs() []*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig { + if x != nil { + return x.ThresholdConfigs + } + return nil +} + +type SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AutoDeployConfidenceThreshold *float32 `protobuf:"fixed32,84309694,opt,name=auto_deploy_confidence_threshold,json=autoDeployConfidenceThreshold,proto3,oneof" json:"auto_deploy_confidence_threshold,omitempty"` + AutoDeployExpirationSec *int32 `protobuf:"varint,69638793,opt,name=auto_deploy_expiration_sec,json=autoDeployExpirationSec,proto3,oneof" json:"auto_deploy_expiration_sec,omitempty"` + AutoDeployImpactedBaselineThreshold *float32 `protobuf:"fixed32,292441667,opt,name=auto_deploy_impacted_baseline_threshold,json=autoDeployImpactedBaselineThreshold,proto3,oneof" json:"auto_deploy_impacted_baseline_threshold,omitempty"` + AutoDeployLoadThreshold *float32 `protobuf:"fixed32,522227738,opt,name=auto_deploy_load_threshold,json=autoDeployLoadThreshold,proto3,oneof" json:"auto_deploy_load_threshold,omitempty"` + // The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the security policy. + Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` +} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) Reset() { + *x = SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1097] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) ProtoMessage() {} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1097] + 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 SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig.ProtoReflect.Descriptor instead. +func (*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1097} +} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) GetAutoDeployConfidenceThreshold() float32 { + if x != nil && x.AutoDeployConfidenceThreshold != nil { + return *x.AutoDeployConfidenceThreshold + } + return 0 +} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) GetAutoDeployExpirationSec() int32 { + if x != nil && x.AutoDeployExpirationSec != nil { + return *x.AutoDeployExpirationSec + } + return 0 +} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) GetAutoDeployImpactedBaselineThreshold() float32 { + if x != nil && x.AutoDeployImpactedBaselineThreshold != nil { + return *x.AutoDeployImpactedBaselineThreshold + } + return 0 +} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) GetAutoDeployLoadThreshold() float32 { + if x != nil && x.AutoDeployLoadThreshold != nil { + return *x.AutoDeployLoadThreshold + } + return 0 +} + +func (x *SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + type SecurityPolicyAdvancedOptionsConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -105063,18 +109274,18 @@ type SecurityPolicyAdvancedOptionsConfig struct { // Custom configuration to apply the JSON parsing. Only applicable when json_parsing is set to STANDARD. JsonCustomConfig *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig `protobuf:"bytes,111570105,opt,name=json_custom_config,json=jsonCustomConfig,proto3,oneof" json:"json_custom_config,omitempty"` - // // Check the JsonParsing enum for the list of possible values. JsonParsing *string `protobuf:"bytes,282493529,opt,name=json_parsing,json=jsonParsing,proto3,oneof" json:"json_parsing,omitempty"` - // // Check the LogLevel enum for the list of possible values. LogLevel *string `protobuf:"bytes,140582601,opt,name=log_level,json=logLevel,proto3,oneof" json:"log_level,omitempty"` + // An optional list of case-insensitive request header names to use for resolving the callers client IP address. + UserIpRequestHeaders []string `protobuf:"bytes,421050290,rep,name=user_ip_request_headers,json=userIpRequestHeaders,proto3" json:"user_ip_request_headers,omitempty"` } func (x *SecurityPolicyAdvancedOptionsConfig) Reset() { *x = SecurityPolicyAdvancedOptionsConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1061] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1098] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105087,7 +109298,7 @@ func (x *SecurityPolicyAdvancedOptionsConfig) String() string { func (*SecurityPolicyAdvancedOptionsConfig) ProtoMessage() {} func (x *SecurityPolicyAdvancedOptionsConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1061] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1098] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105100,7 +109311,7 @@ func (x *SecurityPolicyAdvancedOptionsConfig) ProtoReflect() protoreflect.Messag // Deprecated: Use SecurityPolicyAdvancedOptionsConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyAdvancedOptionsConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1061} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1098} } func (x *SecurityPolicyAdvancedOptionsConfig) GetJsonCustomConfig() *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig { @@ -105124,6 +109335,13 @@ func (x *SecurityPolicyAdvancedOptionsConfig) GetLogLevel() string { return "" } +func (x *SecurityPolicyAdvancedOptionsConfig) GetUserIpRequestHeaders() []string { + if x != nil { + return x.UserIpRequestHeaders + } + return nil +} + type SecurityPolicyAdvancedOptionsConfigJsonCustomConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -105136,7 +109354,7 @@ type SecurityPolicyAdvancedOptionsConfigJsonCustomConfig struct { func (x *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig) Reset() { *x = SecurityPolicyAdvancedOptionsConfigJsonCustomConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1062] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1099] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105149,7 +109367,7 @@ func (x *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig) String() string { func (*SecurityPolicyAdvancedOptionsConfigJsonCustomConfig) ProtoMessage() {} func (x *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1062] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1099] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105162,7 +109380,7 @@ func (x *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig) ProtoReflect() pro // Deprecated: Use SecurityPolicyAdvancedOptionsConfigJsonCustomConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyAdvancedOptionsConfigJsonCustomConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1062} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1099} } func (x *SecurityPolicyAdvancedOptionsConfigJsonCustomConfig) GetContentTypes() []string { @@ -105177,7 +109395,6 @@ type SecurityPolicyDdosProtectionConfig struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the DdosProtection enum for the list of possible values. DdosProtection *string `protobuf:"bytes,275173268,opt,name=ddos_protection,json=ddosProtection,proto3,oneof" json:"ddos_protection,omitempty"` } @@ -105185,7 +109402,7 @@ type SecurityPolicyDdosProtectionConfig struct { func (x *SecurityPolicyDdosProtectionConfig) Reset() { *x = SecurityPolicyDdosProtectionConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1063] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105198,7 +109415,7 @@ func (x *SecurityPolicyDdosProtectionConfig) String() string { func (*SecurityPolicyDdosProtectionConfig) ProtoMessage() {} func (x *SecurityPolicyDdosProtectionConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1063] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105211,7 +109428,7 @@ func (x *SecurityPolicyDdosProtectionConfig) ProtoReflect() protoreflect.Message // Deprecated: Use SecurityPolicyDdosProtectionConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyDdosProtectionConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1063} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1100} } func (x *SecurityPolicyDdosProtectionConfig) GetDdosProtection() string { @@ -105241,7 +109458,7 @@ type SecurityPolicyList struct { func (x *SecurityPolicyList) Reset() { *x = SecurityPolicyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1064] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105254,7 +109471,7 @@ func (x *SecurityPolicyList) String() string { func (*SecurityPolicyList) ProtoMessage() {} func (x *SecurityPolicyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1064] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105267,7 +109484,7 @@ func (x *SecurityPolicyList) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPolicyList.ProtoReflect.Descriptor instead. func (*SecurityPolicyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1064} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1101} } func (x *SecurityPolicyList) GetId() string { @@ -105317,7 +109534,7 @@ type SecurityPolicyRecaptchaOptionsConfig struct { func (x *SecurityPolicyRecaptchaOptionsConfig) Reset() { *x = SecurityPolicyRecaptchaOptionsConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1065] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105330,7 +109547,7 @@ func (x *SecurityPolicyRecaptchaOptionsConfig) String() string { func (*SecurityPolicyRecaptchaOptionsConfig) ProtoMessage() {} func (x *SecurityPolicyRecaptchaOptionsConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1065] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105343,7 +109560,7 @@ func (x *SecurityPolicyRecaptchaOptionsConfig) ProtoReflect() protoreflect.Messa // Deprecated: Use SecurityPolicyRecaptchaOptionsConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyRecaptchaOptionsConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1065} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1102} } func (x *SecurityPolicyRecaptchaOptionsConfig) GetRedirectSiteKey() string { @@ -105364,7 +109581,7 @@ type SecurityPolicyReference struct { func (x *SecurityPolicyReference) Reset() { *x = SecurityPolicyReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1066] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105377,7 +109594,7 @@ func (x *SecurityPolicyReference) String() string { func (*SecurityPolicyReference) ProtoMessage() {} func (x *SecurityPolicyReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1066] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105390,7 +109607,7 @@ func (x *SecurityPolicyReference) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPolicyReference.ProtoReflect.Descriptor instead. func (*SecurityPolicyReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1066} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1103} } func (x *SecurityPolicyReference) GetSecurityPolicy() string { @@ -105416,6 +109633,8 @@ type SecurityPolicyRule struct { Kind *string `protobuf:"bytes,3292052,opt,name=kind,proto3,oneof" json:"kind,omitempty"` // A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced. Match *SecurityPolicyRuleMatcher `protobuf:"bytes,103668165,opt,name=match,proto3,oneof" json:"match,omitempty"` + // A match condition that incoming packets are evaluated against for CLOUD_ARMOR_NETWORK security policies. If it matches, the corresponding 'action' is enforced. The match criteria for a rule consists of built-in match fields (like 'srcIpRanges') and potentially multiple user-defined match fields ('userDefinedFields'). Field values may be extracted directly from the packet or derived from it (e.g. 'srcRegionCodes'). Some fields may not be present in every packet (e.g. 'srcPorts'). A user-defined field is only present if the base header is found in the packet and the entire field is in bounds. Each match field may specify which values can match it, listing one or more ranges, prefixes, or exact values that are considered a match for the field. A field value must be present in order to match a specified match field. If no match values are specified for a match field, then any field value is considered to match it, and it's not required to be present. For strings specifying '*' is also equivalent to match all. For a packet to match a rule, all specified match fields must match the corresponding field values derived from the packet. Example: networkMatch: srcIpRanges: - "192.0.2.0/24" - "198.51.100.0/24" userDefinedFields: - name: "ipv4_fragment_offset" values: - "1-0x1fff" The above match condition matches packets with a source IP in 192.0.2.0/24 or 198.51.100.0/24 and a user-defined field named "ipv4_fragment_offset" with a value between 1 and 0x1fff inclusive. + NetworkMatch *SecurityPolicyRuleNetworkMatcher `protobuf:"bytes,463387764,opt,name=network_match,json=networkMatch,proto3,oneof" json:"network_match,omitempty"` // Preconfigured WAF configuration to be applied for the rule. If the rule does not evaluate preconfigured WAF rules, i.e., if evaluatePreconfiguredWaf() is not used, this field will have no effect. PreconfiguredWafConfig *SecurityPolicyRulePreconfiguredWafConfig `protobuf:"bytes,117805027,opt,name=preconfigured_waf_config,json=preconfiguredWafConfig,proto3,oneof" json:"preconfigured_waf_config,omitempty"` // If set to true, the specified action is not enforced. @@ -105431,7 +109650,7 @@ type SecurityPolicyRule struct { func (x *SecurityPolicyRule) Reset() { *x = SecurityPolicyRule{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1067] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105444,7 +109663,7 @@ func (x *SecurityPolicyRule) String() string { func (*SecurityPolicyRule) ProtoMessage() {} func (x *SecurityPolicyRule) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1067] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105457,7 +109676,7 @@ func (x *SecurityPolicyRule) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPolicyRule.ProtoReflect.Descriptor instead. func (*SecurityPolicyRule) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1067} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1104} } func (x *SecurityPolicyRule) GetAction() string { @@ -105495,6 +109714,13 @@ func (x *SecurityPolicyRule) GetMatch() *SecurityPolicyRuleMatcher { return nil } +func (x *SecurityPolicyRule) GetNetworkMatch() *SecurityPolicyRuleNetworkMatcher { + if x != nil { + return x.NetworkMatch + } + return nil +} + func (x *SecurityPolicyRule) GetPreconfiguredWafConfig() *SecurityPolicyRulePreconfiguredWafConfig { if x != nil { return x.PreconfiguredWafConfig @@ -105542,7 +109768,7 @@ type SecurityPolicyRuleHttpHeaderAction struct { func (x *SecurityPolicyRuleHttpHeaderAction) Reset() { *x = SecurityPolicyRuleHttpHeaderAction{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1068] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105555,7 +109781,7 @@ func (x *SecurityPolicyRuleHttpHeaderAction) String() string { func (*SecurityPolicyRuleHttpHeaderAction) ProtoMessage() {} func (x *SecurityPolicyRuleHttpHeaderAction) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1068] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1105] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105568,7 +109794,7 @@ func (x *SecurityPolicyRuleHttpHeaderAction) ProtoReflect() protoreflect.Message // Deprecated: Use SecurityPolicyRuleHttpHeaderAction.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleHttpHeaderAction) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1068} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1105} } func (x *SecurityPolicyRuleHttpHeaderAction) GetRequestHeadersToAdds() []*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption { @@ -105592,7 +109818,7 @@ type SecurityPolicyRuleHttpHeaderActionHttpHeaderOption struct { func (x *SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) Reset() { *x = SecurityPolicyRuleHttpHeaderActionHttpHeaderOption{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1069] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105605,7 +109831,7 @@ func (x *SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) String() string { func (*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) ProtoMessage() {} func (x *SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1069] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1106] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105618,7 +109844,7 @@ func (x *SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) ProtoReflect() prot // Deprecated: Use SecurityPolicyRuleHttpHeaderActionHttpHeaderOption.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1069} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1106} } func (x *SecurityPolicyRuleHttpHeaderActionHttpHeaderOption) GetHeaderName() string { @@ -105653,7 +109879,7 @@ type SecurityPolicyRuleMatcher struct { func (x *SecurityPolicyRuleMatcher) Reset() { *x = SecurityPolicyRuleMatcher{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1070] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105666,7 +109892,7 @@ func (x *SecurityPolicyRuleMatcher) String() string { func (*SecurityPolicyRuleMatcher) ProtoMessage() {} func (x *SecurityPolicyRuleMatcher) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1070] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1107] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105679,7 +109905,7 @@ func (x *SecurityPolicyRuleMatcher) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPolicyRuleMatcher.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleMatcher) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1070} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1107} } func (x *SecurityPolicyRuleMatcher) GetConfig() *SecurityPolicyRuleMatcherConfig { @@ -105715,7 +109941,7 @@ type SecurityPolicyRuleMatcherConfig struct { func (x *SecurityPolicyRuleMatcherConfig) Reset() { *x = SecurityPolicyRuleMatcherConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1071] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105728,7 +109954,7 @@ func (x *SecurityPolicyRuleMatcherConfig) String() string { func (*SecurityPolicyRuleMatcherConfig) ProtoMessage() {} func (x *SecurityPolicyRuleMatcherConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1071] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1108] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105741,7 +109967,7 @@ func (x *SecurityPolicyRuleMatcherConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use SecurityPolicyRuleMatcherConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleMatcherConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1071} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1108} } func (x *SecurityPolicyRuleMatcherConfig) GetSrcIpRanges() []string { @@ -105751,6 +109977,175 @@ func (x *SecurityPolicyRuleMatcherConfig) GetSrcIpRanges() []string { return nil } +// Represents a match condition that incoming network traffic is evaluated against. +type SecurityPolicyRuleNetworkMatcher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Destination IPv4/IPv6 addresses or CIDR prefixes, in standard text format. + DestIpRanges []string `protobuf:"bytes,337357713,rep,name=dest_ip_ranges,json=destIpRanges,proto3" json:"dest_ip_ranges,omitempty"` + // Destination port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. "80") or range (e.g. "0-1023"). + DestPorts []string `protobuf:"bytes,379902005,rep,name=dest_ports,json=destPorts,proto3" json:"dest_ports,omitempty"` + // IPv4 protocol / IPv6 next header (after extension headers). Each element can be an 8-bit unsigned decimal number (e.g. "6"), range (e.g. "253-254"), or one of the following protocol names: "tcp", "udp", "icmp", "esp", "ah", "ipip", or "sctp". + IpProtocols []string `protobuf:"bytes,259213251,rep,name=ip_protocols,json=ipProtocols,proto3" json:"ip_protocols,omitempty"` + // BGP Autonomous System Number associated with the source IP address. + SrcAsns []uint32 `protobuf:"varint,117825266,rep,packed,name=src_asns,json=srcAsns,proto3" json:"src_asns,omitempty"` + // Source IPv4/IPv6 addresses or CIDR prefixes, in standard text format. + SrcIpRanges []string `protobuf:"bytes,432128083,rep,name=src_ip_ranges,json=srcIpRanges,proto3" json:"src_ip_ranges,omitempty"` + // Source port numbers for TCP/UDP/SCTP. Each element can be a 16-bit unsigned decimal number (e.g. "80") or range (e.g. "0-1023"). + SrcPorts []string `protobuf:"bytes,445095415,rep,name=src_ports,json=srcPorts,proto3" json:"src_ports,omitempty"` + // Two-letter ISO 3166-1 alpha-2 country code associated with the source IP address. + SrcRegionCodes []string `protobuf:"bytes,99086742,rep,name=src_region_codes,json=srcRegionCodes,proto3" json:"src_region_codes,omitempty"` + // User-defined fields. Each element names a defined field and lists the matching values for that field. + UserDefinedFields []*SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch `protobuf:"bytes,28312739,rep,name=user_defined_fields,json=userDefinedFields,proto3" json:"user_defined_fields,omitempty"` +} + +func (x *SecurityPolicyRuleNetworkMatcher) Reset() { + *x = SecurityPolicyRuleNetworkMatcher{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SecurityPolicyRuleNetworkMatcher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecurityPolicyRuleNetworkMatcher) ProtoMessage() {} + +func (x *SecurityPolicyRuleNetworkMatcher) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1109] + 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 SecurityPolicyRuleNetworkMatcher.ProtoReflect.Descriptor instead. +func (*SecurityPolicyRuleNetworkMatcher) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1109} +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetDestIpRanges() []string { + if x != nil { + return x.DestIpRanges + } + return nil +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetDestPorts() []string { + if x != nil { + return x.DestPorts + } + return nil +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetIpProtocols() []string { + if x != nil { + return x.IpProtocols + } + return nil +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetSrcAsns() []uint32 { + if x != nil { + return x.SrcAsns + } + return nil +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetSrcIpRanges() []string { + if x != nil { + return x.SrcIpRanges + } + return nil +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetSrcPorts() []string { + if x != nil { + return x.SrcPorts + } + return nil +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetSrcRegionCodes() []string { + if x != nil { + return x.SrcRegionCodes + } + return nil +} + +func (x *SecurityPolicyRuleNetworkMatcher) GetUserDefinedFields() []*SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch { + if x != nil { + return x.UserDefinedFields + } + return nil +} + +type SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the user-defined field, as given in the definition. + Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Matching values of the field. Each element can be a 32-bit unsigned decimal or hexadecimal (starting with "0x") number (e.g. "64") or range (e.g. "0x400-0x7ff"). + Values []string `protobuf:"bytes,249928994,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch) Reset() { + *x = SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch) ProtoMessage() {} + +func (x *SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1110] + 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 SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch.ProtoReflect.Descriptor instead. +func (*SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1110} +} + +func (x *SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + type SecurityPolicyRulePreconfiguredWafConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -105763,7 +110158,7 @@ type SecurityPolicyRulePreconfiguredWafConfig struct { func (x *SecurityPolicyRulePreconfiguredWafConfig) Reset() { *x = SecurityPolicyRulePreconfiguredWafConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1072] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105776,7 +110171,7 @@ func (x *SecurityPolicyRulePreconfiguredWafConfig) String() string { func (*SecurityPolicyRulePreconfiguredWafConfig) ProtoMessage() {} func (x *SecurityPolicyRulePreconfiguredWafConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1072] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105789,7 +110184,7 @@ func (x *SecurityPolicyRulePreconfiguredWafConfig) ProtoReflect() protoreflect.M // Deprecated: Use SecurityPolicyRulePreconfiguredWafConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyRulePreconfiguredWafConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1072} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1111} } func (x *SecurityPolicyRulePreconfiguredWafConfig) GetExclusions() []*SecurityPolicyRulePreconfiguredWafConfigExclusion { @@ -105821,7 +110216,7 @@ type SecurityPolicyRulePreconfiguredWafConfigExclusion struct { func (x *SecurityPolicyRulePreconfiguredWafConfigExclusion) Reset() { *x = SecurityPolicyRulePreconfiguredWafConfigExclusion{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1073] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105834,7 +110229,7 @@ func (x *SecurityPolicyRulePreconfiguredWafConfigExclusion) String() string { func (*SecurityPolicyRulePreconfiguredWafConfigExclusion) ProtoMessage() {} func (x *SecurityPolicyRulePreconfiguredWafConfigExclusion) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1073] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105847,7 +110242,7 @@ func (x *SecurityPolicyRulePreconfiguredWafConfigExclusion) ProtoReflect() proto // Deprecated: Use SecurityPolicyRulePreconfiguredWafConfigExclusion.ProtoReflect.Descriptor instead. func (*SecurityPolicyRulePreconfiguredWafConfigExclusion) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1073} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1112} } func (x *SecurityPolicyRulePreconfiguredWafConfigExclusion) GetRequestCookiesToExclude() []*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams { @@ -105907,7 +110302,7 @@ type SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams struct { func (x *SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) Reset() { *x = SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1074] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105920,7 +110315,7 @@ func (x *SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) String() func (*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) ProtoMessage() {} func (x *SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1074] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -105933,7 +110328,7 @@ func (x *SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) ProtoRefl // Deprecated: Use SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.ProtoReflect.Descriptor instead. func (*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1074} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1113} } func (x *SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams) GetOp() string { @@ -105979,7 +110374,7 @@ type SecurityPolicyRuleRateLimitOptions struct { func (x *SecurityPolicyRuleRateLimitOptions) Reset() { *x = SecurityPolicyRuleRateLimitOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1075] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105992,7 +110387,7 @@ func (x *SecurityPolicyRuleRateLimitOptions) String() string { func (*SecurityPolicyRuleRateLimitOptions) ProtoMessage() {} func (x *SecurityPolicyRuleRateLimitOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1075] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106005,7 +110400,7 @@ func (x *SecurityPolicyRuleRateLimitOptions) ProtoReflect() protoreflect.Message // Deprecated: Use SecurityPolicyRuleRateLimitOptions.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleRateLimitOptions) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1075} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1114} } func (x *SecurityPolicyRuleRateLimitOptions) GetBanDurationSec() int32 { @@ -106086,7 +110481,7 @@ type SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig struct { func (x *SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig) Reset() { *x = SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1076] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106099,7 +110494,7 @@ func (x *SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig) String() string { func (*SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig) ProtoMessage() {} func (x *SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1076] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106112,7 +110507,7 @@ func (x *SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig) ProtoReflect() pr // Deprecated: Use SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1076} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1115} } func (x *SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig) GetEnforceOnKeyName() string { @@ -106143,7 +110538,7 @@ type SecurityPolicyRuleRateLimitOptionsThreshold struct { func (x *SecurityPolicyRuleRateLimitOptionsThreshold) Reset() { *x = SecurityPolicyRuleRateLimitOptionsThreshold{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1077] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106156,7 +110551,7 @@ func (x *SecurityPolicyRuleRateLimitOptionsThreshold) String() string { func (*SecurityPolicyRuleRateLimitOptionsThreshold) ProtoMessage() {} func (x *SecurityPolicyRuleRateLimitOptionsThreshold) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1077] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106169,7 +110564,7 @@ func (x *SecurityPolicyRuleRateLimitOptionsThreshold) ProtoReflect() protoreflec // Deprecated: Use SecurityPolicyRuleRateLimitOptionsThreshold.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleRateLimitOptionsThreshold) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1077} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1116} } func (x *SecurityPolicyRuleRateLimitOptionsThreshold) GetCount() int32 { @@ -106201,7 +110596,7 @@ type SecurityPolicyRuleRedirectOptions struct { func (x *SecurityPolicyRuleRedirectOptions) Reset() { *x = SecurityPolicyRuleRedirectOptions{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1078] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106214,7 +110609,7 @@ func (x *SecurityPolicyRuleRedirectOptions) String() string { func (*SecurityPolicyRuleRedirectOptions) ProtoMessage() {} func (x *SecurityPolicyRuleRedirectOptions) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1078] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106227,7 +110622,7 @@ func (x *SecurityPolicyRuleRedirectOptions) ProtoReflect() protoreflect.Message // Deprecated: Use SecurityPolicyRuleRedirectOptions.ProtoReflect.Descriptor instead. func (*SecurityPolicyRuleRedirectOptions) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1078} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1117} } func (x *SecurityPolicyRuleRedirectOptions) GetTarget() string { @@ -106244,12 +110639,99 @@ func (x *SecurityPolicyRuleRedirectOptions) GetType() string { return "" } +type SecurityPolicyUserDefinedField struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The base relative to which 'offset' is measured. Possible values are: - IPV4: Points to the beginning of the IPv4 header. - IPV6: Points to the beginning of the IPv6 header. - TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. - UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments. required + // Check the Base enum for the list of possible values. + Base *string `protobuf:"bytes,3016401,opt,name=base,proto3,oneof" json:"base,omitempty"` + // If specified, apply this mask (bitwise AND) to the field to ignore bits before matching. Encoded as a hexadecimal number (starting with "0x"). The last byte of the field (in network byte order) corresponds to the least significant byte of the mask. + Mask *string `protobuf:"bytes,3344108,opt,name=mask,proto3,oneof" json:"mask,omitempty"` + // The name of this field. Must be unique within the policy. + Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` + // Offset of the first byte of the field (in network byte order) relative to 'base'. + Offset *int32 `protobuf:"varint,53961875,opt,name=offset,proto3,oneof" json:"offset,omitempty"` + // Size of the field in bytes. Valid values: 1-4. + Size *int32 `protobuf:"varint,3530753,opt,name=size,proto3,oneof" json:"size,omitempty"` +} + +func (x *SecurityPolicyUserDefinedField) Reset() { + *x = SecurityPolicyUserDefinedField{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SecurityPolicyUserDefinedField) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SecurityPolicyUserDefinedField) ProtoMessage() {} + +func (x *SecurityPolicyUserDefinedField) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1118] + 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 SecurityPolicyUserDefinedField.ProtoReflect.Descriptor instead. +func (*SecurityPolicyUserDefinedField) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1118} +} + +func (x *SecurityPolicyUserDefinedField) GetBase() string { + if x != nil && x.Base != nil { + return *x.Base + } + return "" +} + +func (x *SecurityPolicyUserDefinedField) GetMask() string { + if x != nil && x.Mask != nil { + return *x.Mask + } + return "" +} + +func (x *SecurityPolicyUserDefinedField) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *SecurityPolicyUserDefinedField) GetOffset() int32 { + if x != nil && x.Offset != nil { + return *x.Offset + } + return 0 +} + +func (x *SecurityPolicyUserDefinedField) GetSize() int32 { + if x != nil && x.Size != nil { + return *x.Size + } + return 0 +} + // The authentication and authorization settings for a BackendService. type SecuritySettings struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The configuration needed to generate a signature for access to private storage buckets that support AWS's Signature Version 4 for authentication. Allowed only for INTERNET_IP_PORT and INTERNET_FQDN_PORT NEG backends. + AwsV4Authentication *AWSV4Signature `protobuf:"bytes,433993111,opt,name=aws_v4_authentication,json=awsV4Authentication,proto3,oneof" json:"aws_v4_authentication,omitempty"` // Optional. A URL referring to a networksecurity.ClientTlsPolicy resource that describes how clients should authenticate with this service's backends. clientTlsPolicy only applies to a global BackendService with the loadBalancingScheme set to INTERNAL_SELF_MANAGED. If left blank, communications are not encrypted. ClientTlsPolicy *string `protobuf:"bytes,462325226,opt,name=client_tls_policy,json=clientTlsPolicy,proto3,oneof" json:"client_tls_policy,omitempty"` // Optional. A list of Subject Alternative Names (SANs) that the client verifies during a mutual TLS handshake with an server/endpoint for this BackendService. When the server presents its X.509 certificate to the client, the client inspects the certificate's subjectAltName field. If the field contains one of the specified values, the communication continues. Otherwise, it fails. This additional check enables the client to verify that the server is authorized to run the requested service. Note that the contents of the server certificate's subjectAltName field are configured by the Public Key Infrastructure which provisions server identities. Only applies to a global BackendService with loadBalancingScheme set to INTERNAL_SELF_MANAGED. Only applies when BackendService has an attached clientTlsPolicy with clientCertificate (mTLS mode). @@ -106259,7 +110741,7 @@ type SecuritySettings struct { func (x *SecuritySettings) Reset() { *x = SecuritySettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1079] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106272,7 +110754,7 @@ func (x *SecuritySettings) String() string { func (*SecuritySettings) ProtoMessage() {} func (x *SecuritySettings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1079] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106285,7 +110767,14 @@ func (x *SecuritySettings) ProtoReflect() protoreflect.Message { // Deprecated: Use SecuritySettings.ProtoReflect.Descriptor instead. func (*SecuritySettings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1079} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1119} +} + +func (x *SecuritySettings) GetAwsV4Authentication() *AWSV4Signature { + if x != nil { + return x.AwsV4Authentication + } + return nil } func (x *SecuritySettings) GetClientTlsPolicy() string { @@ -106319,7 +110808,7 @@ type SendDiagnosticInterruptInstanceRequest struct { func (x *SendDiagnosticInterruptInstanceRequest) Reset() { *x = SendDiagnosticInterruptInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1080] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106332,7 +110821,7 @@ func (x *SendDiagnosticInterruptInstanceRequest) String() string { func (*SendDiagnosticInterruptInstanceRequest) ProtoMessage() {} func (x *SendDiagnosticInterruptInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1080] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1120] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106345,7 +110834,7 @@ func (x *SendDiagnosticInterruptInstanceRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SendDiagnosticInterruptInstanceRequest.ProtoReflect.Descriptor instead. func (*SendDiagnosticInterruptInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1080} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1120} } func (x *SendDiagnosticInterruptInstanceRequest) GetInstance() string { @@ -106379,7 +110868,7 @@ type SendDiagnosticInterruptInstanceResponse struct { func (x *SendDiagnosticInterruptInstanceResponse) Reset() { *x = SendDiagnosticInterruptInstanceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1081] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106392,7 +110881,7 @@ func (x *SendDiagnosticInterruptInstanceResponse) String() string { func (*SendDiagnosticInterruptInstanceResponse) ProtoMessage() {} func (x *SendDiagnosticInterruptInstanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1081] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1121] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106405,7 +110894,7 @@ func (x *SendDiagnosticInterruptInstanceResponse) ProtoReflect() protoreflect.Me // Deprecated: Use SendDiagnosticInterruptInstanceResponse.ProtoReflect.Descriptor instead. func (*SendDiagnosticInterruptInstanceResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1081} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1121} } // An instance serial console output. @@ -106429,7 +110918,7 @@ type SerialPortOutput struct { func (x *SerialPortOutput) Reset() { *x = SerialPortOutput{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1082] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106442,7 +110931,7 @@ func (x *SerialPortOutput) String() string { func (*SerialPortOutput) ProtoMessage() {} func (x *SerialPortOutput) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1082] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106455,7 +110944,7 @@ func (x *SerialPortOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use SerialPortOutput.ProtoReflect.Descriptor instead. func (*SerialPortOutput) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1082} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1122} } func (x *SerialPortOutput) GetContents() string { @@ -106498,7 +110987,6 @@ type ServerBinding struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the Type enum for the list of possible values. Type *string `protobuf:"bytes,3575610,opt,name=type,proto3,oneof" json:"type,omitempty"` } @@ -106506,7 +110994,7 @@ type ServerBinding struct { func (x *ServerBinding) Reset() { *x = ServerBinding{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1083] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106519,7 +111007,7 @@ func (x *ServerBinding) String() string { func (*ServerBinding) ProtoMessage() {} func (x *ServerBinding) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1083] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106532,7 +111020,7 @@ func (x *ServerBinding) ProtoReflect() protoreflect.Message { // Deprecated: Use ServerBinding.ProtoReflect.Descriptor instead. func (*ServerBinding) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1083} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1123} } func (x *ServerBinding) GetType() string { @@ -106557,7 +111045,7 @@ type ServiceAccount struct { func (x *ServiceAccount) Reset() { *x = ServiceAccount{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1084] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106570,7 +111058,7 @@ func (x *ServiceAccount) String() string { func (*ServiceAccount) ProtoMessage() {} func (x *ServiceAccount) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1084] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106583,7 +111071,7 @@ func (x *ServiceAccount) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead. func (*ServiceAccount) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1084} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1124} } func (x *ServiceAccount) GetEmail() string { @@ -106637,7 +111125,7 @@ type ServiceAttachment struct { ProducerForwardingRule *string `protobuf:"bytes,247927889,opt,name=producer_forwarding_rule,json=producerForwardingRule,proto3,oneof" json:"producer_forwarding_rule,omitempty"` // [Output Only] An 128-bit global unique ID of the PSC service attachment. PscServiceAttachmentId *Uint128 `protobuf:"bytes,527695214,opt,name=psc_service_attachment_id,json=pscServiceAttachmentId,proto3,oneof" json:"psc_service_attachment_id,omitempty"` - // This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . - If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. For newly created service attachment, this boolean defaults to true. + // This flag determines whether a consumer accept/reject list change can reconcile the statuses of existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain untouched regardless how the connection policy is modified . - If true, update will affect both PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be moved to REJECTED if its project is added to the reject list. For newly created service attachment, this boolean defaults to false. ReconcileConnections *bool `protobuf:"varint,125493732,opt,name=reconcile_connections,json=reconcileConnections,proto3,oneof" json:"reconcile_connections,omitempty"` // [Output Only] URL of the region where the service attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. Region *string `protobuf:"bytes,138946292,opt,name=region,proto3,oneof" json:"region,omitempty"` @@ -106650,7 +111138,7 @@ type ServiceAttachment struct { func (x *ServiceAttachment) Reset() { *x = ServiceAttachment{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1085] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106663,7 +111151,7 @@ func (x *ServiceAttachment) String() string { func (*ServiceAttachment) ProtoMessage() {} func (x *ServiceAttachment) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1085] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106676,7 +111164,7 @@ func (x *ServiceAttachment) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceAttachment.ProtoReflect.Descriptor instead. func (*ServiceAttachment) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1085} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1125} } func (x *ServiceAttachment) GetConnectedEndpoints() []*ServiceAttachmentConnectedEndpoint { @@ -106837,7 +111325,7 @@ type ServiceAttachmentAggregatedList struct { func (x *ServiceAttachmentAggregatedList) Reset() { *x = ServiceAttachmentAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1086] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106850,7 +111338,7 @@ func (x *ServiceAttachmentAggregatedList) String() string { func (*ServiceAttachmentAggregatedList) ProtoMessage() {} func (x *ServiceAttachmentAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1086] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106863,7 +111351,7 @@ func (x *ServiceAttachmentAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceAttachmentAggregatedList.ProtoReflect.Descriptor instead. func (*ServiceAttachmentAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1086} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1126} } func (x *ServiceAttachmentAggregatedList) GetId() string { @@ -106935,7 +111423,7 @@ type ServiceAttachmentConnectedEndpoint struct { func (x *ServiceAttachmentConnectedEndpoint) Reset() { *x = ServiceAttachmentConnectedEndpoint{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1087] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -106948,7 +111436,7 @@ func (x *ServiceAttachmentConnectedEndpoint) String() string { func (*ServiceAttachmentConnectedEndpoint) ProtoMessage() {} func (x *ServiceAttachmentConnectedEndpoint) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1087] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -106961,7 +111449,7 @@ func (x *ServiceAttachmentConnectedEndpoint) ProtoReflect() protoreflect.Message // Deprecated: Use ServiceAttachmentConnectedEndpoint.ProtoReflect.Descriptor instead. func (*ServiceAttachmentConnectedEndpoint) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1087} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1127} } func (x *ServiceAttachmentConnectedEndpoint) GetConsumerNetwork() string { @@ -107008,7 +111496,7 @@ type ServiceAttachmentConsumerProjectLimit struct { func (x *ServiceAttachmentConsumerProjectLimit) Reset() { *x = ServiceAttachmentConsumerProjectLimit{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1088] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107021,7 +111509,7 @@ func (x *ServiceAttachmentConsumerProjectLimit) String() string { func (*ServiceAttachmentConsumerProjectLimit) ProtoMessage() {} func (x *ServiceAttachmentConsumerProjectLimit) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1088] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1128] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107034,7 +111522,7 @@ func (x *ServiceAttachmentConsumerProjectLimit) ProtoReflect() protoreflect.Mess // Deprecated: Use ServiceAttachmentConsumerProjectLimit.ProtoReflect.Descriptor instead. func (*ServiceAttachmentConsumerProjectLimit) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1088} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1128} } func (x *ServiceAttachmentConsumerProjectLimit) GetConnectionLimit() uint32 { @@ -107080,7 +111568,7 @@ type ServiceAttachmentList struct { func (x *ServiceAttachmentList) Reset() { *x = ServiceAttachmentList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1089] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107093,7 +111581,7 @@ func (x *ServiceAttachmentList) String() string { func (*ServiceAttachmentList) ProtoMessage() {} func (x *ServiceAttachmentList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1089] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1129] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107106,7 +111594,7 @@ func (x *ServiceAttachmentList) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceAttachmentList.ProtoReflect.Descriptor instead. func (*ServiceAttachmentList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1089} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1129} } func (x *ServiceAttachmentList) GetId() string { @@ -107165,7 +111653,7 @@ type ServiceAttachmentsScopedList struct { func (x *ServiceAttachmentsScopedList) Reset() { *x = ServiceAttachmentsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1090] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107178,7 +111666,7 @@ func (x *ServiceAttachmentsScopedList) String() string { func (*ServiceAttachmentsScopedList) ProtoMessage() {} func (x *ServiceAttachmentsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1090] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1130] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107191,7 +111679,7 @@ func (x *ServiceAttachmentsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceAttachmentsScopedList.ProtoReflect.Descriptor instead. func (*ServiceAttachmentsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1090} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1130} } func (x *ServiceAttachmentsScopedList) GetServiceAttachments() []*ServiceAttachment { @@ -107227,7 +111715,7 @@ type SetBackendServiceTargetSslProxyRequest struct { func (x *SetBackendServiceTargetSslProxyRequest) Reset() { *x = SetBackendServiceTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1091] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107240,7 +111728,7 @@ func (x *SetBackendServiceTargetSslProxyRequest) String() string { func (*SetBackendServiceTargetSslProxyRequest) ProtoMessage() {} func (x *SetBackendServiceTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1091] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1131] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107253,7 +111741,7 @@ func (x *SetBackendServiceTargetSslProxyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SetBackendServiceTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*SetBackendServiceTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1091} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1131} } func (x *SetBackendServiceTargetSslProxyRequest) GetProject() string { @@ -107303,7 +111791,7 @@ type SetBackendServiceTargetTcpProxyRequest struct { func (x *SetBackendServiceTargetTcpProxyRequest) Reset() { *x = SetBackendServiceTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1092] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107316,7 +111804,7 @@ func (x *SetBackendServiceTargetTcpProxyRequest) String() string { func (*SetBackendServiceTargetTcpProxyRequest) ProtoMessage() {} func (x *SetBackendServiceTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1092] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1132] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107329,7 +111817,7 @@ func (x *SetBackendServiceTargetTcpProxyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SetBackendServiceTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*SetBackendServiceTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1092} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1132} } func (x *SetBackendServiceTargetTcpProxyRequest) GetProject() string { @@ -107383,7 +111871,7 @@ type SetBackupTargetPoolRequest struct { func (x *SetBackupTargetPoolRequest) Reset() { *x = SetBackupTargetPoolRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1093] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107396,7 +111884,7 @@ func (x *SetBackupTargetPoolRequest) String() string { func (*SetBackupTargetPoolRequest) ProtoMessage() {} func (x *SetBackupTargetPoolRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1093] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1133] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107409,7 +111897,7 @@ func (x *SetBackupTargetPoolRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetBackupTargetPoolRequest.ProtoReflect.Descriptor instead. func (*SetBackupTargetPoolRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1093} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1133} } func (x *SetBackupTargetPoolRequest) GetFailoverRatio() float32 { @@ -107473,7 +111961,7 @@ type SetCertificateMapTargetHttpsProxyRequest struct { func (x *SetCertificateMapTargetHttpsProxyRequest) Reset() { *x = SetCertificateMapTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1094] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107486,7 +111974,7 @@ func (x *SetCertificateMapTargetHttpsProxyRequest) String() string { func (*SetCertificateMapTargetHttpsProxyRequest) ProtoMessage() {} func (x *SetCertificateMapTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1094] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107499,7 +111987,7 @@ func (x *SetCertificateMapTargetHttpsProxyRequest) ProtoReflect() protoreflect.M // Deprecated: Use SetCertificateMapTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*SetCertificateMapTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1094} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1134} } func (x *SetCertificateMapTargetHttpsProxyRequest) GetProject() string { @@ -107549,7 +112037,7 @@ type SetCertificateMapTargetSslProxyRequest struct { func (x *SetCertificateMapTargetSslProxyRequest) Reset() { *x = SetCertificateMapTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1095] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107562,7 +112050,7 @@ func (x *SetCertificateMapTargetSslProxyRequest) String() string { func (*SetCertificateMapTargetSslProxyRequest) ProtoMessage() {} func (x *SetCertificateMapTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1095] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107575,7 +112063,7 @@ func (x *SetCertificateMapTargetSslProxyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SetCertificateMapTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*SetCertificateMapTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1095} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1135} } func (x *SetCertificateMapTargetSslProxyRequest) GetProject() string { @@ -107606,6 +112094,121 @@ func (x *SetCertificateMapTargetSslProxyRequest) GetTargetSslProxy() string { return "" } +type SetCommonInstanceMetadataOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [Output Only] The client operation id. + ClientOperationId *string `protobuf:"bytes,297240295,opt,name=client_operation_id,json=clientOperationId,proto3,oneof" json:"client_operation_id,omitempty"` + // [Output Only] Status information per location (location name is key). Example key: zones/us-central1-a + PerLocationOperations map[string]*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo `protobuf:"bytes,408987796,rep,name=per_location_operations,json=perLocationOperations,proto3" json:"per_location_operations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SetCommonInstanceMetadataOperationMetadata) Reset() { + *x = SetCommonInstanceMetadataOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetCommonInstanceMetadataOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetCommonInstanceMetadataOperationMetadata) ProtoMessage() {} + +func (x *SetCommonInstanceMetadataOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1136] + 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 SetCommonInstanceMetadataOperationMetadata.ProtoReflect.Descriptor instead. +func (*SetCommonInstanceMetadataOperationMetadata) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1136} +} + +func (x *SetCommonInstanceMetadataOperationMetadata) GetClientOperationId() string { + if x != nil && x.ClientOperationId != nil { + return *x.ClientOperationId + } + return "" +} + +func (x *SetCommonInstanceMetadataOperationMetadata) GetPerLocationOperations() map[string]*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo { + if x != nil { + return x.PerLocationOperations + } + return nil +} + +type SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // [Output Only] If state is `ABANDONED` or `FAILED`, this field is populated. + Error *Status `protobuf:"bytes,96784904,opt,name=error,proto3,oneof" json:"error,omitempty"` + // [Output Only] Status of the action, which can be one of the following: `PROPAGATING`, `PROPAGATED`, `ABANDONED`, `FAILED`, or `DONE`. + // Check the State enum for the list of possible values. + State *string `protobuf:"bytes,109757585,opt,name=state,proto3,oneof" json:"state,omitempty"` +} + +func (x *SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) Reset() { + *x = SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) ProtoMessage() {} + +func (x *SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1137] + 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 SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo.ProtoReflect.Descriptor instead. +func (*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1137} +} + +func (x *SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) GetError() *Status { + if x != nil { + return x.Error + } + return nil +} + +func (x *SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo) GetState() string { + if x != nil && x.State != nil { + return *x.State + } + return "" +} + // A request message for Projects.SetCommonInstanceMetadata. See the method description for details. type SetCommonInstanceMetadataProjectRequest struct { state protoimpl.MessageState @@ -107623,7 +112226,7 @@ type SetCommonInstanceMetadataProjectRequest struct { func (x *SetCommonInstanceMetadataProjectRequest) Reset() { *x = SetCommonInstanceMetadataProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1096] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107636,7 +112239,7 @@ func (x *SetCommonInstanceMetadataProjectRequest) String() string { func (*SetCommonInstanceMetadataProjectRequest) ProtoMessage() {} func (x *SetCommonInstanceMetadataProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1096] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107649,7 +112252,7 @@ func (x *SetCommonInstanceMetadataProjectRequest) ProtoReflect() protoreflect.Me // Deprecated: Use SetCommonInstanceMetadataProjectRequest.ProtoReflect.Descriptor instead. func (*SetCommonInstanceMetadataProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1096} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1138} } func (x *SetCommonInstanceMetadataProjectRequest) GetMetadataResource() *Metadata { @@ -107690,7 +112293,7 @@ type SetDefaultNetworkTierProjectRequest struct { func (x *SetDefaultNetworkTierProjectRequest) Reset() { *x = SetDefaultNetworkTierProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1097] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107703,7 +112306,7 @@ func (x *SetDefaultNetworkTierProjectRequest) String() string { func (*SetDefaultNetworkTierProjectRequest) ProtoMessage() {} func (x *SetDefaultNetworkTierProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1097] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107716,7 +112319,7 @@ func (x *SetDefaultNetworkTierProjectRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SetDefaultNetworkTierProjectRequest.ProtoReflect.Descriptor instead. func (*SetDefaultNetworkTierProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1097} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1139} } func (x *SetDefaultNetworkTierProjectRequest) GetProject() string { @@ -107761,7 +112364,7 @@ type SetDeletionProtectionInstanceRequest struct { func (x *SetDeletionProtectionInstanceRequest) Reset() { *x = SetDeletionProtectionInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1098] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107774,7 +112377,7 @@ func (x *SetDeletionProtectionInstanceRequest) String() string { func (*SetDeletionProtectionInstanceRequest) ProtoMessage() {} func (x *SetDeletionProtectionInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1098] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107787,7 +112390,7 @@ func (x *SetDeletionProtectionInstanceRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use SetDeletionProtectionInstanceRequest.ProtoReflect.Descriptor instead. func (*SetDeletionProtectionInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1098} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1140} } func (x *SetDeletionProtectionInstanceRequest) GetDeletionProtection() bool { @@ -107848,7 +112451,7 @@ type SetDiskAutoDeleteInstanceRequest struct { func (x *SetDiskAutoDeleteInstanceRequest) Reset() { *x = SetDiskAutoDeleteInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1099] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107861,7 +112464,7 @@ func (x *SetDiskAutoDeleteInstanceRequest) String() string { func (*SetDiskAutoDeleteInstanceRequest) ProtoMessage() {} func (x *SetDiskAutoDeleteInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1099] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107874,7 +112477,7 @@ func (x *SetDiskAutoDeleteInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetDiskAutoDeleteInstanceRequest.ProtoReflect.Descriptor instead. func (*SetDiskAutoDeleteInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1099} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1141} } func (x *SetDiskAutoDeleteInstanceRequest) GetAutoDelete() bool { @@ -107938,7 +112541,7 @@ type SetEdgeSecurityPolicyBackendBucketRequest struct { func (x *SetEdgeSecurityPolicyBackendBucketRequest) Reset() { *x = SetEdgeSecurityPolicyBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1100] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -107951,7 +112554,7 @@ func (x *SetEdgeSecurityPolicyBackendBucketRequest) String() string { func (*SetEdgeSecurityPolicyBackendBucketRequest) ProtoMessage() {} func (x *SetEdgeSecurityPolicyBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1100] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -107964,7 +112567,7 @@ func (x *SetEdgeSecurityPolicyBackendBucketRequest) ProtoReflect() protoreflect. // Deprecated: Use SetEdgeSecurityPolicyBackendBucketRequest.ProtoReflect.Descriptor instead. func (*SetEdgeSecurityPolicyBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1100} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1142} } func (x *SetEdgeSecurityPolicyBackendBucketRequest) GetBackendBucket() string { @@ -108014,7 +112617,7 @@ type SetEdgeSecurityPolicyBackendServiceRequest struct { func (x *SetEdgeSecurityPolicyBackendServiceRequest) Reset() { *x = SetEdgeSecurityPolicyBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1101] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108027,7 +112630,7 @@ func (x *SetEdgeSecurityPolicyBackendServiceRequest) String() string { func (*SetEdgeSecurityPolicyBackendServiceRequest) ProtoMessage() {} func (x *SetEdgeSecurityPolicyBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1101] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1143] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108040,7 +112643,7 @@ func (x *SetEdgeSecurityPolicyBackendServiceRequest) ProtoReflect() protoreflect // Deprecated: Use SetEdgeSecurityPolicyBackendServiceRequest.ProtoReflect.Descriptor instead. func (*SetEdgeSecurityPolicyBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1101} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1143} } func (x *SetEdgeSecurityPolicyBackendServiceRequest) GetBackendService() string { @@ -108071,6 +112674,73 @@ func (x *SetEdgeSecurityPolicyBackendServiceRequest) GetSecurityPolicyReferenceR return nil } +// A request message for BackendBuckets.SetIamPolicy. See the method description for details. +type SetIamPolicyBackendBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The body resource for this request + GlobalSetPolicyRequestResource *GlobalSetPolicyRequest `protobuf:"bytes,337048498,opt,name=global_set_policy_request_resource,json=globalSetPolicyRequestResource,proto3" json:"global_set_policy_request_resource,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name or id of the resource for this request. + Resource string `protobuf:"bytes,195806222,opt,name=resource,proto3" json:"resource,omitempty"` +} + +func (x *SetIamPolicyBackendBucketRequest) Reset() { + *x = SetIamPolicyBackendBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetIamPolicyBackendBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetIamPolicyBackendBucketRequest) ProtoMessage() {} + +func (x *SetIamPolicyBackendBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1144] + 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 SetIamPolicyBackendBucketRequest.ProtoReflect.Descriptor instead. +func (*SetIamPolicyBackendBucketRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1144} +} + +func (x *SetIamPolicyBackendBucketRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { + if x != nil { + return x.GlobalSetPolicyRequestResource + } + return nil +} + +func (x *SetIamPolicyBackendBucketRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SetIamPolicyBackendBucketRequest) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + // A request message for BackendServices.SetIamPolicy. See the method description for details. type SetIamPolicyBackendServiceRequest struct { state protoimpl.MessageState @@ -108088,7 +112758,7 @@ type SetIamPolicyBackendServiceRequest struct { func (x *SetIamPolicyBackendServiceRequest) Reset() { *x = SetIamPolicyBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1102] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108101,7 +112771,7 @@ func (x *SetIamPolicyBackendServiceRequest) String() string { func (*SetIamPolicyBackendServiceRequest) ProtoMessage() {} func (x *SetIamPolicyBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1102] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108114,7 +112784,7 @@ func (x *SetIamPolicyBackendServiceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetIamPolicyBackendServiceRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1102} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1145} } func (x *SetIamPolicyBackendServiceRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { @@ -108157,7 +112827,7 @@ type SetIamPolicyDiskRequest struct { func (x *SetIamPolicyDiskRequest) Reset() { *x = SetIamPolicyDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1103] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108170,7 +112840,7 @@ func (x *SetIamPolicyDiskRequest) String() string { func (*SetIamPolicyDiskRequest) ProtoMessage() {} func (x *SetIamPolicyDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1103] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108183,7 +112853,7 @@ func (x *SetIamPolicyDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyDiskRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1103} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1146} } func (x *SetIamPolicyDiskRequest) GetProject() string { @@ -108229,7 +112899,7 @@ type SetIamPolicyFirewallPolicyRequest struct { func (x *SetIamPolicyFirewallPolicyRequest) Reset() { *x = SetIamPolicyFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1104] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108242,7 +112912,7 @@ func (x *SetIamPolicyFirewallPolicyRequest) String() string { func (*SetIamPolicyFirewallPolicyRequest) ProtoMessage() {} func (x *SetIamPolicyFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1104] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108255,7 +112925,7 @@ func (x *SetIamPolicyFirewallPolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetIamPolicyFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1104} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1147} } func (x *SetIamPolicyFirewallPolicyRequest) GetGlobalOrganizationSetPolicyRequestResource() *GlobalOrganizationSetPolicyRequest { @@ -108289,7 +112959,7 @@ type SetIamPolicyImageRequest struct { func (x *SetIamPolicyImageRequest) Reset() { *x = SetIamPolicyImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1105] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108302,7 +112972,7 @@ func (x *SetIamPolicyImageRequest) String() string { func (*SetIamPolicyImageRequest) ProtoMessage() {} func (x *SetIamPolicyImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1105] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108315,7 +112985,7 @@ func (x *SetIamPolicyImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyImageRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1105} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1148} } func (x *SetIamPolicyImageRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { @@ -108358,7 +113028,7 @@ type SetIamPolicyInstanceRequest struct { func (x *SetIamPolicyInstanceRequest) Reset() { *x = SetIamPolicyInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1106] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108371,7 +113041,7 @@ func (x *SetIamPolicyInstanceRequest) String() string { func (*SetIamPolicyInstanceRequest) ProtoMessage() {} func (x *SetIamPolicyInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1106] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108384,7 +113054,7 @@ func (x *SetIamPolicyInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyInstanceRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1106} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1149} } func (x *SetIamPolicyInstanceRequest) GetProject() string { @@ -108432,7 +113102,7 @@ type SetIamPolicyInstanceTemplateRequest struct { func (x *SetIamPolicyInstanceTemplateRequest) Reset() { *x = SetIamPolicyInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1107] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108445,7 +113115,7 @@ func (x *SetIamPolicyInstanceTemplateRequest) String() string { func (*SetIamPolicyInstanceTemplateRequest) ProtoMessage() {} func (x *SetIamPolicyInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1107] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108458,7 +113128,7 @@ func (x *SetIamPolicyInstanceTemplateRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SetIamPolicyInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1107} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1150} } func (x *SetIamPolicyInstanceTemplateRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { @@ -108499,7 +113169,7 @@ type SetIamPolicyLicenseRequest struct { func (x *SetIamPolicyLicenseRequest) Reset() { *x = SetIamPolicyLicenseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1108] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108512,7 +113182,7 @@ func (x *SetIamPolicyLicenseRequest) String() string { func (*SetIamPolicyLicenseRequest) ProtoMessage() {} func (x *SetIamPolicyLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1108] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1151] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108525,7 +113195,7 @@ func (x *SetIamPolicyLicenseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyLicenseRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyLicenseRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1108} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1151} } func (x *SetIamPolicyLicenseRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { @@ -108566,7 +113236,7 @@ type SetIamPolicyMachineImageRequest struct { func (x *SetIamPolicyMachineImageRequest) Reset() { *x = SetIamPolicyMachineImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1109] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108579,7 +113249,7 @@ func (x *SetIamPolicyMachineImageRequest) String() string { func (*SetIamPolicyMachineImageRequest) ProtoMessage() {} func (x *SetIamPolicyMachineImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1109] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108592,7 +113262,7 @@ func (x *SetIamPolicyMachineImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyMachineImageRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyMachineImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1109} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1152} } func (x *SetIamPolicyMachineImageRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { @@ -108635,7 +113305,7 @@ type SetIamPolicyNetworkAttachmentRequest struct { func (x *SetIamPolicyNetworkAttachmentRequest) Reset() { *x = SetIamPolicyNetworkAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1110] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108648,7 +113318,7 @@ func (x *SetIamPolicyNetworkAttachmentRequest) String() string { func (*SetIamPolicyNetworkAttachmentRequest) ProtoMessage() {} func (x *SetIamPolicyNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1110] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108661,7 +113331,7 @@ func (x *SetIamPolicyNetworkAttachmentRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use SetIamPolicyNetworkAttachmentRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyNetworkAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1110} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1153} } func (x *SetIamPolicyNetworkAttachmentRequest) GetProject() string { @@ -108709,7 +113379,7 @@ type SetIamPolicyNetworkFirewallPolicyRequest struct { func (x *SetIamPolicyNetworkFirewallPolicyRequest) Reset() { *x = SetIamPolicyNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1111] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108722,7 +113392,7 @@ func (x *SetIamPolicyNetworkFirewallPolicyRequest) String() string { func (*SetIamPolicyNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *SetIamPolicyNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1111] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108735,7 +113405,7 @@ func (x *SetIamPolicyNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.M // Deprecated: Use SetIamPolicyNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1111} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1154} } func (x *SetIamPolicyNetworkFirewallPolicyRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { @@ -108778,7 +113448,7 @@ type SetIamPolicyNodeGroupRequest struct { func (x *SetIamPolicyNodeGroupRequest) Reset() { *x = SetIamPolicyNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1112] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108791,7 +113461,7 @@ func (x *SetIamPolicyNodeGroupRequest) String() string { func (*SetIamPolicyNodeGroupRequest) ProtoMessage() {} func (x *SetIamPolicyNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1112] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108804,7 +113474,7 @@ func (x *SetIamPolicyNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyNodeGroupRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1112} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1155} } func (x *SetIamPolicyNodeGroupRequest) GetProject() string { @@ -108854,7 +113524,7 @@ type SetIamPolicyNodeTemplateRequest struct { func (x *SetIamPolicyNodeTemplateRequest) Reset() { *x = SetIamPolicyNodeTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1113] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108867,7 +113537,7 @@ func (x *SetIamPolicyNodeTemplateRequest) String() string { func (*SetIamPolicyNodeTemplateRequest) ProtoMessage() {} func (x *SetIamPolicyNodeTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1113] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108880,7 +113550,7 @@ func (x *SetIamPolicyNodeTemplateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyNodeTemplateRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyNodeTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1113} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1156} } func (x *SetIamPolicyNodeTemplateRequest) GetProject() string { @@ -108930,7 +113600,7 @@ type SetIamPolicyRegionBackendServiceRequest struct { func (x *SetIamPolicyRegionBackendServiceRequest) Reset() { *x = SetIamPolicyRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1114] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -108943,7 +113613,7 @@ func (x *SetIamPolicyRegionBackendServiceRequest) String() string { func (*SetIamPolicyRegionBackendServiceRequest) ProtoMessage() {} func (x *SetIamPolicyRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1114] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -108956,7 +113626,7 @@ func (x *SetIamPolicyRegionBackendServiceRequest) ProtoReflect() protoreflect.Me // Deprecated: Use SetIamPolicyRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1114} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1157} } func (x *SetIamPolicyRegionBackendServiceRequest) GetProject() string { @@ -109006,7 +113676,7 @@ type SetIamPolicyRegionDiskRequest struct { func (x *SetIamPolicyRegionDiskRequest) Reset() { *x = SetIamPolicyRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1115] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109019,7 +113689,7 @@ func (x *SetIamPolicyRegionDiskRequest) String() string { func (*SetIamPolicyRegionDiskRequest) ProtoMessage() {} func (x *SetIamPolicyRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1115] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109032,7 +113702,7 @@ func (x *SetIamPolicyRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyRegionDiskRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1115} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1158} } func (x *SetIamPolicyRegionDiskRequest) GetProject() string { @@ -109082,7 +113752,7 @@ type SetIamPolicyRegionNetworkFirewallPolicyRequest struct { func (x *SetIamPolicyRegionNetworkFirewallPolicyRequest) Reset() { *x = SetIamPolicyRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1116] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109095,7 +113765,7 @@ func (x *SetIamPolicyRegionNetworkFirewallPolicyRequest) String() string { func (*SetIamPolicyRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *SetIamPolicyRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1116] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109108,7 +113778,7 @@ func (x *SetIamPolicyRegionNetworkFirewallPolicyRequest) ProtoReflect() protoref // Deprecated: Use SetIamPolicyRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1116} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1159} } func (x *SetIamPolicyRegionNetworkFirewallPolicyRequest) GetProject() string { @@ -109158,7 +113828,7 @@ type SetIamPolicyReservationRequest struct { func (x *SetIamPolicyReservationRequest) Reset() { *x = SetIamPolicyReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1117] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109171,7 +113841,7 @@ func (x *SetIamPolicyReservationRequest) String() string { func (*SetIamPolicyReservationRequest) ProtoMessage() {} func (x *SetIamPolicyReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1117] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109184,7 +113854,7 @@ func (x *SetIamPolicyReservationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicyReservationRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1117} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1160} } func (x *SetIamPolicyReservationRequest) GetProject() string { @@ -109234,7 +113904,7 @@ type SetIamPolicyResourcePolicyRequest struct { func (x *SetIamPolicyResourcePolicyRequest) Reset() { *x = SetIamPolicyResourcePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1118] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109247,7 +113917,7 @@ func (x *SetIamPolicyResourcePolicyRequest) String() string { func (*SetIamPolicyResourcePolicyRequest) ProtoMessage() {} func (x *SetIamPolicyResourcePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1118] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109260,7 +113930,7 @@ func (x *SetIamPolicyResourcePolicyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetIamPolicyResourcePolicyRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyResourcePolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1118} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1161} } func (x *SetIamPolicyResourcePolicyRequest) GetProject() string { @@ -109310,7 +113980,7 @@ type SetIamPolicyServiceAttachmentRequest struct { func (x *SetIamPolicyServiceAttachmentRequest) Reset() { *x = SetIamPolicyServiceAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1119] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109323,7 +113993,7 @@ func (x *SetIamPolicyServiceAttachmentRequest) String() string { func (*SetIamPolicyServiceAttachmentRequest) ProtoMessage() {} func (x *SetIamPolicyServiceAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1119] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109336,7 +114006,7 @@ func (x *SetIamPolicyServiceAttachmentRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use SetIamPolicyServiceAttachmentRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicyServiceAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1119} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1162} } func (x *SetIamPolicyServiceAttachmentRequest) GetProject() string { @@ -109384,7 +114054,7 @@ type SetIamPolicySnapshotRequest struct { func (x *SetIamPolicySnapshotRequest) Reset() { *x = SetIamPolicySnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1120] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109397,7 +114067,7 @@ func (x *SetIamPolicySnapshotRequest) String() string { func (*SetIamPolicySnapshotRequest) ProtoMessage() {} func (x *SetIamPolicySnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1120] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109410,7 +114080,7 @@ func (x *SetIamPolicySnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicySnapshotRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicySnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1120} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1163} } func (x *SetIamPolicySnapshotRequest) GetGlobalSetPolicyRequestResource() *GlobalSetPolicyRequest { @@ -109453,7 +114123,7 @@ type SetIamPolicySubnetworkRequest struct { func (x *SetIamPolicySubnetworkRequest) Reset() { *x = SetIamPolicySubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1121] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109466,7 +114136,7 @@ func (x *SetIamPolicySubnetworkRequest) String() string { func (*SetIamPolicySubnetworkRequest) ProtoMessage() {} func (x *SetIamPolicySubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1121] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109479,7 +114149,7 @@ func (x *SetIamPolicySubnetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetIamPolicySubnetworkRequest.ProtoReflect.Descriptor instead. func (*SetIamPolicySubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1121} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1164} } func (x *SetIamPolicySubnetworkRequest) GetProject() string { @@ -109531,7 +114201,7 @@ type SetInstanceTemplateInstanceGroupManagerRequest struct { func (x *SetInstanceTemplateInstanceGroupManagerRequest) Reset() { *x = SetInstanceTemplateInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1122] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109544,7 +114214,7 @@ func (x *SetInstanceTemplateInstanceGroupManagerRequest) String() string { func (*SetInstanceTemplateInstanceGroupManagerRequest) ProtoMessage() {} func (x *SetInstanceTemplateInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1122] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109557,7 +114227,7 @@ func (x *SetInstanceTemplateInstanceGroupManagerRequest) ProtoReflect() protoref // Deprecated: Use SetInstanceTemplateInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*SetInstanceTemplateInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1122} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1165} } func (x *SetInstanceTemplateInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -109616,7 +114286,7 @@ type SetInstanceTemplateRegionInstanceGroupManagerRequest struct { func (x *SetInstanceTemplateRegionInstanceGroupManagerRequest) Reset() { *x = SetInstanceTemplateRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1123] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109629,7 +114299,7 @@ func (x *SetInstanceTemplateRegionInstanceGroupManagerRequest) String() string { func (*SetInstanceTemplateRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *SetInstanceTemplateRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1123] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109642,7 +114312,7 @@ func (x *SetInstanceTemplateRegionInstanceGroupManagerRequest) ProtoReflect() pr // Deprecated: Use SetInstanceTemplateRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*SetInstanceTemplateRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1123} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1166} } func (x *SetInstanceTemplateRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -109701,7 +114371,7 @@ type SetLabelsAddressRequest struct { func (x *SetLabelsAddressRequest) Reset() { *x = SetLabelsAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1124] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109714,7 +114384,7 @@ func (x *SetLabelsAddressRequest) String() string { func (*SetLabelsAddressRequest) ProtoMessage() {} func (x *SetLabelsAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1124] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109727,7 +114397,7 @@ func (x *SetLabelsAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsAddressRequest.ProtoReflect.Descriptor instead. func (*SetLabelsAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1124} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1167} } func (x *SetLabelsAddressRequest) GetProject() string { @@ -109786,7 +114456,7 @@ type SetLabelsDiskRequest struct { func (x *SetLabelsDiskRequest) Reset() { *x = SetLabelsDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1125] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109799,7 +114469,7 @@ func (x *SetLabelsDiskRequest) String() string { func (*SetLabelsDiskRequest) ProtoMessage() {} func (x *SetLabelsDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1125] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109812,7 +114482,7 @@ func (x *SetLabelsDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsDiskRequest.ProtoReflect.Descriptor instead. func (*SetLabelsDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1125} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1168} } func (x *SetLabelsDiskRequest) GetProject() string { @@ -109867,7 +114537,7 @@ type SetLabelsExternalVpnGatewayRequest struct { func (x *SetLabelsExternalVpnGatewayRequest) Reset() { *x = SetLabelsExternalVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1126] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109880,7 +114550,7 @@ func (x *SetLabelsExternalVpnGatewayRequest) String() string { func (*SetLabelsExternalVpnGatewayRequest) ProtoMessage() {} func (x *SetLabelsExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1126] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109893,7 +114563,7 @@ func (x *SetLabelsExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetLabelsExternalVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*SetLabelsExternalVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1126} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1169} } func (x *SetLabelsExternalVpnGatewayRequest) GetGlobalSetLabelsRequestResource() *GlobalSetLabelsRequest { @@ -109938,7 +114608,7 @@ type SetLabelsForwardingRuleRequest struct { func (x *SetLabelsForwardingRuleRequest) Reset() { *x = SetLabelsForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1127] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -109951,7 +114621,7 @@ func (x *SetLabelsForwardingRuleRequest) String() string { func (*SetLabelsForwardingRuleRequest) ProtoMessage() {} func (x *SetLabelsForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1127] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -109964,7 +114634,7 @@ func (x *SetLabelsForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*SetLabelsForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1127} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1170} } func (x *SetLabelsForwardingRuleRequest) GetProject() string { @@ -110019,7 +114689,7 @@ type SetLabelsGlobalAddressRequest struct { func (x *SetLabelsGlobalAddressRequest) Reset() { *x = SetLabelsGlobalAddressRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1128] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110032,7 +114702,7 @@ func (x *SetLabelsGlobalAddressRequest) String() string { func (*SetLabelsGlobalAddressRequest) ProtoMessage() {} func (x *SetLabelsGlobalAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1128] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110045,7 +114715,7 @@ func (x *SetLabelsGlobalAddressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsGlobalAddressRequest.ProtoReflect.Descriptor instead. func (*SetLabelsGlobalAddressRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1128} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1171} } func (x *SetLabelsGlobalAddressRequest) GetGlobalSetLabelsRequestResource() *GlobalSetLabelsRequest { @@ -110086,7 +114756,7 @@ type SetLabelsGlobalForwardingRuleRequest struct { func (x *SetLabelsGlobalForwardingRuleRequest) Reset() { *x = SetLabelsGlobalForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1129] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110099,7 +114769,7 @@ func (x *SetLabelsGlobalForwardingRuleRequest) String() string { func (*SetLabelsGlobalForwardingRuleRequest) ProtoMessage() {} func (x *SetLabelsGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1129] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110112,7 +114782,7 @@ func (x *SetLabelsGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use SetLabelsGlobalForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*SetLabelsGlobalForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1129} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1172} } func (x *SetLabelsGlobalForwardingRuleRequest) GetGlobalSetLabelsRequestResource() *GlobalSetLabelsRequest { @@ -110153,7 +114823,7 @@ type SetLabelsImageRequest struct { func (x *SetLabelsImageRequest) Reset() { *x = SetLabelsImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1130] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110166,7 +114836,7 @@ func (x *SetLabelsImageRequest) String() string { func (*SetLabelsImageRequest) ProtoMessage() {} func (x *SetLabelsImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1130] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110179,7 +114849,7 @@ func (x *SetLabelsImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsImageRequest.ProtoReflect.Descriptor instead. func (*SetLabelsImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1130} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1173} } func (x *SetLabelsImageRequest) GetGlobalSetLabelsRequestResource() *GlobalSetLabelsRequest { @@ -110224,7 +114894,7 @@ type SetLabelsInstanceRequest struct { func (x *SetLabelsInstanceRequest) Reset() { *x = SetLabelsInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1131] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110237,7 +114907,7 @@ func (x *SetLabelsInstanceRequest) String() string { func (*SetLabelsInstanceRequest) ProtoMessage() {} func (x *SetLabelsInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1131] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110250,7 +114920,7 @@ func (x *SetLabelsInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsInstanceRequest.ProtoReflect.Descriptor instead. func (*SetLabelsInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1131} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1174} } func (x *SetLabelsInstanceRequest) GetInstance() string { @@ -110309,7 +114979,7 @@ type SetLabelsInterconnectAttachmentRequest struct { func (x *SetLabelsInterconnectAttachmentRequest) Reset() { *x = SetLabelsInterconnectAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1132] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110322,7 +114992,7 @@ func (x *SetLabelsInterconnectAttachmentRequest) String() string { func (*SetLabelsInterconnectAttachmentRequest) ProtoMessage() {} func (x *SetLabelsInterconnectAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1132] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110335,7 +115005,7 @@ func (x *SetLabelsInterconnectAttachmentRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SetLabelsInterconnectAttachmentRequest.ProtoReflect.Descriptor instead. func (*SetLabelsInterconnectAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1132} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1175} } func (x *SetLabelsInterconnectAttachmentRequest) GetProject() string { @@ -110390,7 +115060,7 @@ type SetLabelsInterconnectRequest struct { func (x *SetLabelsInterconnectRequest) Reset() { *x = SetLabelsInterconnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1133] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110403,7 +115073,7 @@ func (x *SetLabelsInterconnectRequest) String() string { func (*SetLabelsInterconnectRequest) ProtoMessage() {} func (x *SetLabelsInterconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1133] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110416,7 +115086,7 @@ func (x *SetLabelsInterconnectRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsInterconnectRequest.ProtoReflect.Descriptor instead. func (*SetLabelsInterconnectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1133} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1176} } func (x *SetLabelsInterconnectRequest) GetGlobalSetLabelsRequestResource() *GlobalSetLabelsRequest { @@ -110461,7 +115131,7 @@ type SetLabelsRegionDiskRequest struct { func (x *SetLabelsRegionDiskRequest) Reset() { *x = SetLabelsRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1134] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110474,7 +115144,7 @@ func (x *SetLabelsRegionDiskRequest) String() string { func (*SetLabelsRegionDiskRequest) ProtoMessage() {} func (x *SetLabelsRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1134] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110487,7 +115157,7 @@ func (x *SetLabelsRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsRegionDiskRequest.ProtoReflect.Descriptor instead. func (*SetLabelsRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1134} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1177} } func (x *SetLabelsRegionDiskRequest) GetProject() string { @@ -110542,7 +115212,7 @@ type SetLabelsSecurityPolicyRequest struct { func (x *SetLabelsSecurityPolicyRequest) Reset() { *x = SetLabelsSecurityPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1135] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110555,7 +115225,7 @@ func (x *SetLabelsSecurityPolicyRequest) String() string { func (*SetLabelsSecurityPolicyRequest) ProtoMessage() {} func (x *SetLabelsSecurityPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1135] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110568,7 +115238,7 @@ func (x *SetLabelsSecurityPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsSecurityPolicyRequest.ProtoReflect.Descriptor instead. func (*SetLabelsSecurityPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1135} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1178} } func (x *SetLabelsSecurityPolicyRequest) GetGlobalSetLabelsRequestResource() *GlobalSetLabelsRequest { @@ -110609,7 +115279,7 @@ type SetLabelsSnapshotRequest struct { func (x *SetLabelsSnapshotRequest) Reset() { *x = SetLabelsSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1136] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110622,7 +115292,7 @@ func (x *SetLabelsSnapshotRequest) String() string { func (*SetLabelsSnapshotRequest) ProtoMessage() {} func (x *SetLabelsSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1136] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110635,7 +115305,7 @@ func (x *SetLabelsSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsSnapshotRequest.ProtoReflect.Descriptor instead. func (*SetLabelsSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1136} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1179} } func (x *SetLabelsSnapshotRequest) GetGlobalSetLabelsRequestResource() *GlobalSetLabelsRequest { @@ -110680,7 +115350,7 @@ type SetLabelsTargetVpnGatewayRequest struct { func (x *SetLabelsTargetVpnGatewayRequest) Reset() { *x = SetLabelsTargetVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1137] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110693,7 +115363,7 @@ func (x *SetLabelsTargetVpnGatewayRequest) String() string { func (*SetLabelsTargetVpnGatewayRequest) ProtoMessage() {} func (x *SetLabelsTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1137] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110706,7 +115376,7 @@ func (x *SetLabelsTargetVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsTargetVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*SetLabelsTargetVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1137} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1180} } func (x *SetLabelsTargetVpnGatewayRequest) GetProject() string { @@ -110765,7 +115435,7 @@ type SetLabelsVpnGatewayRequest struct { func (x *SetLabelsVpnGatewayRequest) Reset() { *x = SetLabelsVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1138] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110778,7 +115448,7 @@ func (x *SetLabelsVpnGatewayRequest) String() string { func (*SetLabelsVpnGatewayRequest) ProtoMessage() {} func (x *SetLabelsVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1138] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1181] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110791,7 +115461,7 @@ func (x *SetLabelsVpnGatewayRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*SetLabelsVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1138} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1181} } func (x *SetLabelsVpnGatewayRequest) GetProject() string { @@ -110850,7 +115520,7 @@ type SetLabelsVpnTunnelRequest struct { func (x *SetLabelsVpnTunnelRequest) Reset() { *x = SetLabelsVpnTunnelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1139] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110863,7 +115533,7 @@ func (x *SetLabelsVpnTunnelRequest) String() string { func (*SetLabelsVpnTunnelRequest) ProtoMessage() {} func (x *SetLabelsVpnTunnelRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1139] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1182] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110876,7 +115546,7 @@ func (x *SetLabelsVpnTunnelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetLabelsVpnTunnelRequest.ProtoReflect.Descriptor instead. func (*SetLabelsVpnTunnelRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1139} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1182} } func (x *SetLabelsVpnTunnelRequest) GetProject() string { @@ -110935,7 +115605,7 @@ type SetMachineResourcesInstanceRequest struct { func (x *SetMachineResourcesInstanceRequest) Reset() { *x = SetMachineResourcesInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1140] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -110948,7 +115618,7 @@ func (x *SetMachineResourcesInstanceRequest) String() string { func (*SetMachineResourcesInstanceRequest) ProtoMessage() {} func (x *SetMachineResourcesInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1140] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1183] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -110961,7 +115631,7 @@ func (x *SetMachineResourcesInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetMachineResourcesInstanceRequest.ProtoReflect.Descriptor instead. func (*SetMachineResourcesInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1140} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1183} } func (x *SetMachineResourcesInstanceRequest) GetInstance() string { @@ -111020,7 +115690,7 @@ type SetMachineTypeInstanceRequest struct { func (x *SetMachineTypeInstanceRequest) Reset() { *x = SetMachineTypeInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1141] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111033,7 +115703,7 @@ func (x *SetMachineTypeInstanceRequest) String() string { func (*SetMachineTypeInstanceRequest) ProtoMessage() {} func (x *SetMachineTypeInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1141] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1184] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111046,7 +115716,7 @@ func (x *SetMachineTypeInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMachineTypeInstanceRequest.ProtoReflect.Descriptor instead. func (*SetMachineTypeInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1141} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1184} } func (x *SetMachineTypeInstanceRequest) GetInstance() string { @@ -111105,7 +115775,7 @@ type SetMetadataInstanceRequest struct { func (x *SetMetadataInstanceRequest) Reset() { *x = SetMetadataInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1142] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111118,7 +115788,7 @@ func (x *SetMetadataInstanceRequest) String() string { func (*SetMetadataInstanceRequest) ProtoMessage() {} func (x *SetMetadataInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1142] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1185] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111131,7 +115801,7 @@ func (x *SetMetadataInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMetadataInstanceRequest.ProtoReflect.Descriptor instead. func (*SetMetadataInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1142} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1185} } func (x *SetMetadataInstanceRequest) GetInstance() string { @@ -111190,7 +115860,7 @@ type SetMinCpuPlatformInstanceRequest struct { func (x *SetMinCpuPlatformInstanceRequest) Reset() { *x = SetMinCpuPlatformInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1143] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111203,7 +115873,7 @@ func (x *SetMinCpuPlatformInstanceRequest) String() string { func (*SetMinCpuPlatformInstanceRequest) ProtoMessage() {} func (x *SetMinCpuPlatformInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1143] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1186] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111216,7 +115886,7 @@ func (x *SetMinCpuPlatformInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMinCpuPlatformInstanceRequest.ProtoReflect.Descriptor instead. func (*SetMinCpuPlatformInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1143} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1186} } func (x *SetMinCpuPlatformInstanceRequest) GetInstance() string { @@ -111275,7 +115945,7 @@ type SetNameInstanceRequest struct { func (x *SetNameInstanceRequest) Reset() { *x = SetNameInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1144] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111288,7 +115958,7 @@ func (x *SetNameInstanceRequest) String() string { func (*SetNameInstanceRequest) ProtoMessage() {} func (x *SetNameInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1144] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1187] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111301,7 +115971,7 @@ func (x *SetNameInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetNameInstanceRequest.ProtoReflect.Descriptor instead. func (*SetNameInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1144} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1187} } func (x *SetNameInstanceRequest) GetInstance() string { @@ -111360,7 +116030,7 @@ type SetNamedPortsInstanceGroupRequest struct { func (x *SetNamedPortsInstanceGroupRequest) Reset() { *x = SetNamedPortsInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1145] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111373,7 +116043,7 @@ func (x *SetNamedPortsInstanceGroupRequest) String() string { func (*SetNamedPortsInstanceGroupRequest) ProtoMessage() {} func (x *SetNamedPortsInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1145] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1188] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111386,7 +116056,7 @@ func (x *SetNamedPortsInstanceGroupRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetNamedPortsInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*SetNamedPortsInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1145} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1188} } func (x *SetNamedPortsInstanceGroupRequest) GetInstanceGroup() string { @@ -111445,7 +116115,7 @@ type SetNamedPortsRegionInstanceGroupRequest struct { func (x *SetNamedPortsRegionInstanceGroupRequest) Reset() { *x = SetNamedPortsRegionInstanceGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1146] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111458,7 +116128,7 @@ func (x *SetNamedPortsRegionInstanceGroupRequest) String() string { func (*SetNamedPortsRegionInstanceGroupRequest) ProtoMessage() {} func (x *SetNamedPortsRegionInstanceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1146] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1189] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111471,7 +116141,7 @@ func (x *SetNamedPortsRegionInstanceGroupRequest) ProtoReflect() protoreflect.Me // Deprecated: Use SetNamedPortsRegionInstanceGroupRequest.ProtoReflect.Descriptor instead. func (*SetNamedPortsRegionInstanceGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1146} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1189} } func (x *SetNamedPortsRegionInstanceGroupRequest) GetInstanceGroup() string { @@ -111530,7 +116200,7 @@ type SetNodeTemplateNodeGroupRequest struct { func (x *SetNodeTemplateNodeGroupRequest) Reset() { *x = SetNodeTemplateNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1147] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111543,7 +116213,7 @@ func (x *SetNodeTemplateNodeGroupRequest) String() string { func (*SetNodeTemplateNodeGroupRequest) ProtoMessage() {} func (x *SetNodeTemplateNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1147] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1190] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111556,7 +116226,7 @@ func (x *SetNodeTemplateNodeGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetNodeTemplateNodeGroupRequest.ProtoReflect.Descriptor instead. func (*SetNodeTemplateNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1147} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1190} } func (x *SetNodeTemplateNodeGroupRequest) GetNodeGroup() string { @@ -111615,7 +116285,7 @@ type SetPrivateIpGoogleAccessSubnetworkRequest struct { func (x *SetPrivateIpGoogleAccessSubnetworkRequest) Reset() { *x = SetPrivateIpGoogleAccessSubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1148] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111628,7 +116298,7 @@ func (x *SetPrivateIpGoogleAccessSubnetworkRequest) String() string { func (*SetPrivateIpGoogleAccessSubnetworkRequest) ProtoMessage() {} func (x *SetPrivateIpGoogleAccessSubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1148] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1191] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111641,7 +116311,7 @@ func (x *SetPrivateIpGoogleAccessSubnetworkRequest) ProtoReflect() protoreflect. // Deprecated: Use SetPrivateIpGoogleAccessSubnetworkRequest.ProtoReflect.Descriptor instead. func (*SetPrivateIpGoogleAccessSubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1148} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1191} } func (x *SetPrivateIpGoogleAccessSubnetworkRequest) GetProject() string { @@ -111698,7 +116368,7 @@ type SetProxyHeaderTargetSslProxyRequest struct { func (x *SetProxyHeaderTargetSslProxyRequest) Reset() { *x = SetProxyHeaderTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1149] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111711,7 +116381,7 @@ func (x *SetProxyHeaderTargetSslProxyRequest) String() string { func (*SetProxyHeaderTargetSslProxyRequest) ProtoMessage() {} func (x *SetProxyHeaderTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1149] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1192] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111724,7 +116394,7 @@ func (x *SetProxyHeaderTargetSslProxyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SetProxyHeaderTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*SetProxyHeaderTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1149} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1192} } func (x *SetProxyHeaderTargetSslProxyRequest) GetProject() string { @@ -111774,7 +116444,7 @@ type SetProxyHeaderTargetTcpProxyRequest struct { func (x *SetProxyHeaderTargetTcpProxyRequest) Reset() { *x = SetProxyHeaderTargetTcpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1150] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111787,7 +116457,7 @@ func (x *SetProxyHeaderTargetTcpProxyRequest) String() string { func (*SetProxyHeaderTargetTcpProxyRequest) ProtoMessage() {} func (x *SetProxyHeaderTargetTcpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1150] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1193] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111800,7 +116470,7 @@ func (x *SetProxyHeaderTargetTcpProxyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SetProxyHeaderTargetTcpProxyRequest.ProtoReflect.Descriptor instead. func (*SetProxyHeaderTargetTcpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1150} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1193} } func (x *SetProxyHeaderTargetTcpProxyRequest) GetProject() string { @@ -111850,7 +116520,7 @@ type SetQuicOverrideTargetHttpsProxyRequest struct { func (x *SetQuicOverrideTargetHttpsProxyRequest) Reset() { *x = SetQuicOverrideTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1151] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111863,7 +116533,7 @@ func (x *SetQuicOverrideTargetHttpsProxyRequest) String() string { func (*SetQuicOverrideTargetHttpsProxyRequest) ProtoMessage() {} func (x *SetQuicOverrideTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1151] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1194] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111876,7 +116546,7 @@ func (x *SetQuicOverrideTargetHttpsProxyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SetQuicOverrideTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*SetQuicOverrideTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1151} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1194} } func (x *SetQuicOverrideTargetHttpsProxyRequest) GetProject() string { @@ -111928,7 +116598,7 @@ type SetSchedulingInstanceRequest struct { func (x *SetSchedulingInstanceRequest) Reset() { *x = SetSchedulingInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1152] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -111941,7 +116611,7 @@ func (x *SetSchedulingInstanceRequest) String() string { func (*SetSchedulingInstanceRequest) ProtoMessage() {} func (x *SetSchedulingInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1152] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1195] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -111954,7 +116624,7 @@ func (x *SetSchedulingInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetSchedulingInstanceRequest.ProtoReflect.Descriptor instead. func (*SetSchedulingInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1152} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1195} } func (x *SetSchedulingInstanceRequest) GetInstance() string { @@ -112011,7 +116681,7 @@ type SetSecurityPolicyBackendServiceRequest struct { func (x *SetSecurityPolicyBackendServiceRequest) Reset() { *x = SetSecurityPolicyBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1153] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112024,7 +116694,7 @@ func (x *SetSecurityPolicyBackendServiceRequest) String() string { func (*SetSecurityPolicyBackendServiceRequest) ProtoMessage() {} func (x *SetSecurityPolicyBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1153] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1196] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112037,7 +116707,7 @@ func (x *SetSecurityPolicyBackendServiceRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SetSecurityPolicyBackendServiceRequest.ProtoReflect.Descriptor instead. func (*SetSecurityPolicyBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1153} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1196} } func (x *SetSecurityPolicyBackendServiceRequest) GetBackendService() string { @@ -112068,6 +116738,346 @@ func (x *SetSecurityPolicyBackendServiceRequest) GetSecurityPolicyReferenceResou return nil } +// A request message for Instances.SetSecurityPolicy. See the method description for details. +type SetSecurityPolicyInstanceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the Instance resource to which the security policy should be set. The name should conform to RFC1035. + Instance string `protobuf:"bytes,18257045,opt,name=instance,proto3" json:"instance,omitempty"` + // The body resource for this request + InstancesSetSecurityPolicyRequestResource *InstancesSetSecurityPolicyRequest `protobuf:"bytes,248424586,opt,name=instances_set_security_policy_request_resource,json=instancesSetSecurityPolicyRequestResource,proto3" json:"instances_set_security_policy_request_resource,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` + // Name of the zone scoping this request. + Zone string `protobuf:"bytes,3744684,opt,name=zone,proto3" json:"zone,omitempty"` +} + +func (x *SetSecurityPolicyInstanceRequest) Reset() { + *x = SetSecurityPolicyInstanceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1197] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetSecurityPolicyInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetSecurityPolicyInstanceRequest) ProtoMessage() {} + +func (x *SetSecurityPolicyInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1197] + 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 SetSecurityPolicyInstanceRequest.ProtoReflect.Descriptor instead. +func (*SetSecurityPolicyInstanceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1197} +} + +func (x *SetSecurityPolicyInstanceRequest) GetInstance() string { + if x != nil { + return x.Instance + } + return "" +} + +func (x *SetSecurityPolicyInstanceRequest) GetInstancesSetSecurityPolicyRequestResource() *InstancesSetSecurityPolicyRequest { + if x != nil { + return x.InstancesSetSecurityPolicyRequestResource + } + return nil +} + +func (x *SetSecurityPolicyInstanceRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SetSecurityPolicyInstanceRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *SetSecurityPolicyInstanceRequest) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +// A request message for RegionBackendServices.SetSecurityPolicy. See the method description for details. +type SetSecurityPolicyRegionBackendServiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035. + BackendService string `protobuf:"bytes,306946058,opt,name=backend_service,json=backendService,proto3" json:"backend_service,omitempty"` + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region scoping this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` + // The body resource for this request + SecurityPolicyReferenceResource *SecurityPolicyReference `protobuf:"bytes,204135024,opt,name=security_policy_reference_resource,json=securityPolicyReferenceResource,proto3" json:"security_policy_reference_resource,omitempty"` +} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) Reset() { + *x = SetSecurityPolicyRegionBackendServiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1198] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetSecurityPolicyRegionBackendServiceRequest) ProtoMessage() {} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1198] + 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 SetSecurityPolicyRegionBackendServiceRequest.ProtoReflect.Descriptor instead. +func (*SetSecurityPolicyRegionBackendServiceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1198} +} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) GetBackendService() string { + if x != nil { + return x.BackendService + } + return "" +} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *SetSecurityPolicyRegionBackendServiceRequest) GetSecurityPolicyReferenceResource() *SecurityPolicyReference { + if x != nil { + return x.SecurityPolicyReferenceResource + } + return nil +} + +// A request message for TargetInstances.SetSecurityPolicy. See the method description for details. +type SetSecurityPolicyTargetInstanceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` + // The body resource for this request + SecurityPolicyReferenceResource *SecurityPolicyReference `protobuf:"bytes,204135024,opt,name=security_policy_reference_resource,json=securityPolicyReferenceResource,proto3" json:"security_policy_reference_resource,omitempty"` + // Name of the TargetInstance resource to which the security policy should be set. The name should conform to RFC1035. + TargetInstance string `protobuf:"bytes,289769347,opt,name=target_instance,json=targetInstance,proto3" json:"target_instance,omitempty"` + // Name of the zone scoping this request. + Zone string `protobuf:"bytes,3744684,opt,name=zone,proto3" json:"zone,omitempty"` +} + +func (x *SetSecurityPolicyTargetInstanceRequest) Reset() { + *x = SetSecurityPolicyTargetInstanceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1199] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetSecurityPolicyTargetInstanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetSecurityPolicyTargetInstanceRequest) ProtoMessage() {} + +func (x *SetSecurityPolicyTargetInstanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1199] + 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 SetSecurityPolicyTargetInstanceRequest.ProtoReflect.Descriptor instead. +func (*SetSecurityPolicyTargetInstanceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1199} +} + +func (x *SetSecurityPolicyTargetInstanceRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SetSecurityPolicyTargetInstanceRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *SetSecurityPolicyTargetInstanceRequest) GetSecurityPolicyReferenceResource() *SecurityPolicyReference { + if x != nil { + return x.SecurityPolicyReferenceResource + } + return nil +} + +func (x *SetSecurityPolicyTargetInstanceRequest) GetTargetInstance() string { + if x != nil { + return x.TargetInstance + } + return "" +} + +func (x *SetSecurityPolicyTargetInstanceRequest) GetZone() string { + if x != nil { + return x.Zone + } + return "" +} + +// A request message for TargetPools.SetSecurityPolicy. See the method description for details. +type SetSecurityPolicyTargetPoolRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name of the region scoping this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` + // The body resource for this request + SecurityPolicyReferenceResource *SecurityPolicyReference `protobuf:"bytes,204135024,opt,name=security_policy_reference_resource,json=securityPolicyReferenceResource,proto3" json:"security_policy_reference_resource,omitempty"` + // Name of the TargetPool resource to which the security policy should be set. The name should conform to RFC1035. + TargetPool string `protobuf:"bytes,62796298,opt,name=target_pool,json=targetPool,proto3" json:"target_pool,omitempty"` +} + +func (x *SetSecurityPolicyTargetPoolRequest) Reset() { + *x = SetSecurityPolicyTargetPoolRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1200] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetSecurityPolicyTargetPoolRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetSecurityPolicyTargetPoolRequest) ProtoMessage() {} + +func (x *SetSecurityPolicyTargetPoolRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1200] + 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 SetSecurityPolicyTargetPoolRequest.ProtoReflect.Descriptor instead. +func (*SetSecurityPolicyTargetPoolRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1200} +} + +func (x *SetSecurityPolicyTargetPoolRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SetSecurityPolicyTargetPoolRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *SetSecurityPolicyTargetPoolRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +func (x *SetSecurityPolicyTargetPoolRequest) GetSecurityPolicyReferenceResource() *SecurityPolicyReference { + if x != nil { + return x.SecurityPolicyReferenceResource + } + return nil +} + +func (x *SetSecurityPolicyTargetPoolRequest) GetTargetPool() string { + if x != nil { + return x.TargetPool + } + return "" +} + // A request message for Instances.SetServiceAccount. See the method description for details. type SetServiceAccountInstanceRequest struct { state protoimpl.MessageState @@ -112089,7 +117099,7 @@ type SetServiceAccountInstanceRequest struct { func (x *SetServiceAccountInstanceRequest) Reset() { *x = SetServiceAccountInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1154] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112102,7 +117112,7 @@ func (x *SetServiceAccountInstanceRequest) String() string { func (*SetServiceAccountInstanceRequest) ProtoMessage() {} func (x *SetServiceAccountInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1154] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1201] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112115,7 +117125,7 @@ func (x *SetServiceAccountInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetServiceAccountInstanceRequest.ProtoReflect.Descriptor instead. func (*SetServiceAccountInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1154} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1201} } func (x *SetServiceAccountInstanceRequest) GetInstance() string { @@ -112174,7 +117184,7 @@ type SetShieldedInstanceIntegrityPolicyInstanceRequest struct { func (x *SetShieldedInstanceIntegrityPolicyInstanceRequest) Reset() { *x = SetShieldedInstanceIntegrityPolicyInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1155] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112187,7 +117197,7 @@ func (x *SetShieldedInstanceIntegrityPolicyInstanceRequest) String() string { func (*SetShieldedInstanceIntegrityPolicyInstanceRequest) ProtoMessage() {} func (x *SetShieldedInstanceIntegrityPolicyInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1155] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1202] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112200,7 +117210,7 @@ func (x *SetShieldedInstanceIntegrityPolicyInstanceRequest) ProtoReflect() proto // Deprecated: Use SetShieldedInstanceIntegrityPolicyInstanceRequest.ProtoReflect.Descriptor instead. func (*SetShieldedInstanceIntegrityPolicyInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1155} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1202} } func (x *SetShieldedInstanceIntegrityPolicyInstanceRequest) GetInstance() string { @@ -112259,7 +117269,7 @@ type SetSslCertificatesRegionTargetHttpsProxyRequest struct { func (x *SetSslCertificatesRegionTargetHttpsProxyRequest) Reset() { *x = SetSslCertificatesRegionTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1156] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112272,7 +117282,7 @@ func (x *SetSslCertificatesRegionTargetHttpsProxyRequest) String() string { func (*SetSslCertificatesRegionTargetHttpsProxyRequest) ProtoMessage() {} func (x *SetSslCertificatesRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1156] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1203] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112285,7 +117295,7 @@ func (x *SetSslCertificatesRegionTargetHttpsProxyRequest) ProtoReflect() protore // Deprecated: Use SetSslCertificatesRegionTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*SetSslCertificatesRegionTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1156} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1203} } func (x *SetSslCertificatesRegionTargetHttpsProxyRequest) GetProject() string { @@ -112342,7 +117352,7 @@ type SetSslCertificatesTargetHttpsProxyRequest struct { func (x *SetSslCertificatesTargetHttpsProxyRequest) Reset() { *x = SetSslCertificatesTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1157] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112355,7 +117365,7 @@ func (x *SetSslCertificatesTargetHttpsProxyRequest) String() string { func (*SetSslCertificatesTargetHttpsProxyRequest) ProtoMessage() {} func (x *SetSslCertificatesTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1157] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1204] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112368,7 +117378,7 @@ func (x *SetSslCertificatesTargetHttpsProxyRequest) ProtoReflect() protoreflect. // Deprecated: Use SetSslCertificatesTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*SetSslCertificatesTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1157} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1204} } func (x *SetSslCertificatesTargetHttpsProxyRequest) GetProject() string { @@ -112418,7 +117428,7 @@ type SetSslCertificatesTargetSslProxyRequest struct { func (x *SetSslCertificatesTargetSslProxyRequest) Reset() { *x = SetSslCertificatesTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1158] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112431,7 +117441,7 @@ func (x *SetSslCertificatesTargetSslProxyRequest) String() string { func (*SetSslCertificatesTargetSslProxyRequest) ProtoMessage() {} func (x *SetSslCertificatesTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1158] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1205] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112444,7 +117454,7 @@ func (x *SetSslCertificatesTargetSslProxyRequest) ProtoReflect() protoreflect.Me // Deprecated: Use SetSslCertificatesTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*SetSslCertificatesTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1158} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1205} } func (x *SetSslCertificatesTargetSslProxyRequest) GetProject() string { @@ -112494,7 +117504,7 @@ type SetSslPolicyTargetHttpsProxyRequest struct { func (x *SetSslPolicyTargetHttpsProxyRequest) Reset() { *x = SetSslPolicyTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1159] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112507,7 +117517,7 @@ func (x *SetSslPolicyTargetHttpsProxyRequest) String() string { func (*SetSslPolicyTargetHttpsProxyRequest) ProtoMessage() {} func (x *SetSslPolicyTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1159] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1206] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112520,7 +117530,7 @@ func (x *SetSslPolicyTargetHttpsProxyRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SetSslPolicyTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*SetSslPolicyTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1159} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1206} } func (x *SetSslPolicyTargetHttpsProxyRequest) GetProject() string { @@ -112570,7 +117580,7 @@ type SetSslPolicyTargetSslProxyRequest struct { func (x *SetSslPolicyTargetSslProxyRequest) Reset() { *x = SetSslPolicyTargetSslProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1160] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112583,7 +117593,7 @@ func (x *SetSslPolicyTargetSslProxyRequest) String() string { func (*SetSslPolicyTargetSslProxyRequest) ProtoMessage() {} func (x *SetSslPolicyTargetSslProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1160] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1207] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112596,7 +117606,7 @@ func (x *SetSslPolicyTargetSslProxyRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetSslPolicyTargetSslProxyRequest.ProtoReflect.Descriptor instead. func (*SetSslPolicyTargetSslProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1160} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1207} } func (x *SetSslPolicyTargetSslProxyRequest) GetProject() string { @@ -112648,7 +117658,7 @@ type SetTagsInstanceRequest struct { func (x *SetTagsInstanceRequest) Reset() { *x = SetTagsInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1161] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112661,7 +117671,7 @@ func (x *SetTagsInstanceRequest) String() string { func (*SetTagsInstanceRequest) ProtoMessage() {} func (x *SetTagsInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1161] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1208] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112674,7 +117684,7 @@ func (x *SetTagsInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetTagsInstanceRequest.ProtoReflect.Descriptor instead. func (*SetTagsInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1161} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1208} } func (x *SetTagsInstanceRequest) GetInstance() string { @@ -112733,7 +117743,7 @@ type SetTargetForwardingRuleRequest struct { func (x *SetTargetForwardingRuleRequest) Reset() { *x = SetTargetForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1162] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112746,7 +117756,7 @@ func (x *SetTargetForwardingRuleRequest) String() string { func (*SetTargetForwardingRuleRequest) ProtoMessage() {} func (x *SetTargetForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1162] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1209] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112759,7 +117769,7 @@ func (x *SetTargetForwardingRuleRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetTargetForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*SetTargetForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1162} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209} } func (x *SetTargetForwardingRuleRequest) GetForwardingRule() string { @@ -112816,7 +117826,7 @@ type SetTargetGlobalForwardingRuleRequest struct { func (x *SetTargetGlobalForwardingRuleRequest) Reset() { *x = SetTargetGlobalForwardingRuleRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1163] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112829,7 +117839,7 @@ func (x *SetTargetGlobalForwardingRuleRequest) String() string { func (*SetTargetGlobalForwardingRuleRequest) ProtoMessage() {} func (x *SetTargetGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1163] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1210] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112842,7 +117852,7 @@ func (x *SetTargetGlobalForwardingRuleRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use SetTargetGlobalForwardingRuleRequest.ProtoReflect.Descriptor instead. func (*SetTargetGlobalForwardingRuleRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1163} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1210} } func (x *SetTargetGlobalForwardingRuleRequest) GetForwardingRule() string { @@ -112894,7 +117904,7 @@ type SetTargetPoolsInstanceGroupManagerRequest struct { func (x *SetTargetPoolsInstanceGroupManagerRequest) Reset() { *x = SetTargetPoolsInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1164] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112907,7 +117917,7 @@ func (x *SetTargetPoolsInstanceGroupManagerRequest) String() string { func (*SetTargetPoolsInstanceGroupManagerRequest) ProtoMessage() {} func (x *SetTargetPoolsInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1164] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1211] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -112920,7 +117930,7 @@ func (x *SetTargetPoolsInstanceGroupManagerRequest) ProtoReflect() protoreflect. // Deprecated: Use SetTargetPoolsInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*SetTargetPoolsInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1164} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1211} } func (x *SetTargetPoolsInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -112979,7 +117989,7 @@ type SetTargetPoolsRegionInstanceGroupManagerRequest struct { func (x *SetTargetPoolsRegionInstanceGroupManagerRequest) Reset() { *x = SetTargetPoolsRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1165] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -112992,7 +118002,7 @@ func (x *SetTargetPoolsRegionInstanceGroupManagerRequest) String() string { func (*SetTargetPoolsRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *SetTargetPoolsRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1165] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1212] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113005,7 +118015,7 @@ func (x *SetTargetPoolsRegionInstanceGroupManagerRequest) ProtoReflect() protore // Deprecated: Use SetTargetPoolsRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*SetTargetPoolsRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1165} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1212} } func (x *SetTargetPoolsRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -113064,7 +118074,7 @@ type SetUrlMapRegionTargetHttpProxyRequest struct { func (x *SetUrlMapRegionTargetHttpProxyRequest) Reset() { *x = SetUrlMapRegionTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1166] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113077,7 +118087,7 @@ func (x *SetUrlMapRegionTargetHttpProxyRequest) String() string { func (*SetUrlMapRegionTargetHttpProxyRequest) ProtoMessage() {} func (x *SetUrlMapRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1166] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1213] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113090,7 +118100,7 @@ func (x *SetUrlMapRegionTargetHttpProxyRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use SetUrlMapRegionTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*SetUrlMapRegionTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1166} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1213} } func (x *SetUrlMapRegionTargetHttpProxyRequest) GetProject() string { @@ -113149,7 +118159,7 @@ type SetUrlMapRegionTargetHttpsProxyRequest struct { func (x *SetUrlMapRegionTargetHttpsProxyRequest) Reset() { *x = SetUrlMapRegionTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1167] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113162,7 +118172,7 @@ func (x *SetUrlMapRegionTargetHttpsProxyRequest) String() string { func (*SetUrlMapRegionTargetHttpsProxyRequest) ProtoMessage() {} func (x *SetUrlMapRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1167] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1214] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113175,7 +118185,7 @@ func (x *SetUrlMapRegionTargetHttpsProxyRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SetUrlMapRegionTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*SetUrlMapRegionTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1167} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1214} } func (x *SetUrlMapRegionTargetHttpsProxyRequest) GetProject() string { @@ -113232,7 +118242,7 @@ type SetUrlMapTargetHttpProxyRequest struct { func (x *SetUrlMapTargetHttpProxyRequest) Reset() { *x = SetUrlMapTargetHttpProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1168] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113245,7 +118255,7 @@ func (x *SetUrlMapTargetHttpProxyRequest) String() string { func (*SetUrlMapTargetHttpProxyRequest) ProtoMessage() {} func (x *SetUrlMapTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1168] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1215] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113258,7 +118268,7 @@ func (x *SetUrlMapTargetHttpProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetUrlMapTargetHttpProxyRequest.ProtoReflect.Descriptor instead. func (*SetUrlMapTargetHttpProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1168} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1215} } func (x *SetUrlMapTargetHttpProxyRequest) GetProject() string { @@ -113308,7 +118318,7 @@ type SetUrlMapTargetHttpsProxyRequest struct { func (x *SetUrlMapTargetHttpsProxyRequest) Reset() { *x = SetUrlMapTargetHttpsProxyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1169] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113321,7 +118331,7 @@ func (x *SetUrlMapTargetHttpsProxyRequest) String() string { func (*SetUrlMapTargetHttpsProxyRequest) ProtoMessage() {} func (x *SetUrlMapTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1169] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1216] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113334,7 +118344,7 @@ func (x *SetUrlMapTargetHttpsProxyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetUrlMapTargetHttpsProxyRequest.ProtoReflect.Descriptor instead. func (*SetUrlMapTargetHttpsProxyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1169} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1216} } func (x *SetUrlMapTargetHttpsProxyRequest) GetProject() string { @@ -113382,7 +118392,7 @@ type SetUsageExportBucketProjectRequest struct { func (x *SetUsageExportBucketProjectRequest) Reset() { *x = SetUsageExportBucketProjectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1170] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113395,7 +118405,7 @@ func (x *SetUsageExportBucketProjectRequest) String() string { func (*SetUsageExportBucketProjectRequest) ProtoMessage() {} func (x *SetUsageExportBucketProjectRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1170] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1217] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113408,7 +118418,7 @@ func (x *SetUsageExportBucketProjectRequest) ProtoReflect() protoreflect.Message // Deprecated: Use SetUsageExportBucketProjectRequest.ProtoReflect.Descriptor instead. func (*SetUsageExportBucketProjectRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1170} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1217} } func (x *SetUsageExportBucketProjectRequest) GetProject() string { @@ -113448,7 +118458,7 @@ type ShareSettings struct { func (x *ShareSettings) Reset() { *x = ShareSettings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1171] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113461,7 +118471,7 @@ func (x *ShareSettings) String() string { func (*ShareSettings) ProtoMessage() {} func (x *ShareSettings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1171] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1218] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113474,7 +118484,7 @@ func (x *ShareSettings) ProtoReflect() protoreflect.Message { // Deprecated: Use ShareSettings.ProtoReflect.Descriptor instead. func (*ShareSettings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1171} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1218} } func (x *ShareSettings) GetProjectMap() map[string]*ShareSettingsProjectConfig { @@ -113504,7 +118514,7 @@ type ShareSettingsProjectConfig struct { func (x *ShareSettingsProjectConfig) Reset() { *x = ShareSettingsProjectConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1172] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113517,7 +118527,7 @@ func (x *ShareSettingsProjectConfig) String() string { func (*ShareSettingsProjectConfig) ProtoMessage() {} func (x *ShareSettingsProjectConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1172] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1219] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113530,7 +118540,7 @@ func (x *ShareSettingsProjectConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ShareSettingsProjectConfig.ProtoReflect.Descriptor instead. func (*ShareSettingsProjectConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1172} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1219} } func (x *ShareSettingsProjectConfig) GetProjectId() string { @@ -113557,7 +118567,7 @@ type ShieldedInstanceConfig struct { func (x *ShieldedInstanceConfig) Reset() { *x = ShieldedInstanceConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1173] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113570,7 +118580,7 @@ func (x *ShieldedInstanceConfig) String() string { func (*ShieldedInstanceConfig) ProtoMessage() {} func (x *ShieldedInstanceConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1173] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1220] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113583,7 +118593,7 @@ func (x *ShieldedInstanceConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ShieldedInstanceConfig.ProtoReflect.Descriptor instead. func (*ShieldedInstanceConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1173} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1220} } func (x *ShieldedInstanceConfig) GetEnableIntegrityMonitoring() bool { @@ -113624,7 +118634,7 @@ type ShieldedInstanceIdentity struct { func (x *ShieldedInstanceIdentity) Reset() { *x = ShieldedInstanceIdentity{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1174] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113637,7 +118647,7 @@ func (x *ShieldedInstanceIdentity) String() string { func (*ShieldedInstanceIdentity) ProtoMessage() {} func (x *ShieldedInstanceIdentity) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1174] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1221] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113650,7 +118660,7 @@ func (x *ShieldedInstanceIdentity) ProtoReflect() protoreflect.Message { // Deprecated: Use ShieldedInstanceIdentity.ProtoReflect.Descriptor instead. func (*ShieldedInstanceIdentity) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1174} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1221} } func (x *ShieldedInstanceIdentity) GetEncryptionKey() *ShieldedInstanceIdentityEntry { @@ -113689,7 +118699,7 @@ type ShieldedInstanceIdentityEntry struct { func (x *ShieldedInstanceIdentityEntry) Reset() { *x = ShieldedInstanceIdentityEntry{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1175] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113702,7 +118712,7 @@ func (x *ShieldedInstanceIdentityEntry) String() string { func (*ShieldedInstanceIdentityEntry) ProtoMessage() {} func (x *ShieldedInstanceIdentityEntry) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1175] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1222] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113715,7 +118725,7 @@ func (x *ShieldedInstanceIdentityEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use ShieldedInstanceIdentityEntry.ProtoReflect.Descriptor instead. func (*ShieldedInstanceIdentityEntry) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1175} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1222} } func (x *ShieldedInstanceIdentityEntry) GetEkCert() string { @@ -113745,7 +118755,7 @@ type ShieldedInstanceIntegrityPolicy struct { func (x *ShieldedInstanceIntegrityPolicy) Reset() { *x = ShieldedInstanceIntegrityPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1176] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113758,7 +118768,7 @@ func (x *ShieldedInstanceIntegrityPolicy) String() string { func (*ShieldedInstanceIntegrityPolicy) ProtoMessage() {} func (x *ShieldedInstanceIntegrityPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1176] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1223] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113771,7 +118781,7 @@ func (x *ShieldedInstanceIntegrityPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use ShieldedInstanceIntegrityPolicy.ProtoReflect.Descriptor instead. func (*ShieldedInstanceIntegrityPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1176} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1223} } func (x *ShieldedInstanceIntegrityPolicy) GetUpdateAutoLearnPolicy() bool { @@ -113796,7 +118806,7 @@ type SignedUrlKey struct { func (x *SignedUrlKey) Reset() { *x = SignedUrlKey{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1177] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113809,7 +118819,7 @@ func (x *SignedUrlKey) String() string { func (*SignedUrlKey) ProtoMessage() {} func (x *SignedUrlKey) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1177] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1224] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113822,7 +118832,7 @@ func (x *SignedUrlKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SignedUrlKey.ProtoReflect.Descriptor instead. func (*SignedUrlKey) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1177} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1224} } func (x *SignedUrlKey) GetKeyName() string { @@ -113858,7 +118868,7 @@ type SimulateMaintenanceEventInstanceRequest struct { func (x *SimulateMaintenanceEventInstanceRequest) Reset() { *x = SimulateMaintenanceEventInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1178] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113871,7 +118881,7 @@ func (x *SimulateMaintenanceEventInstanceRequest) String() string { func (*SimulateMaintenanceEventInstanceRequest) ProtoMessage() {} func (x *SimulateMaintenanceEventInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1178] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1225] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113884,7 +118894,7 @@ func (x *SimulateMaintenanceEventInstanceRequest) ProtoReflect() protoreflect.Me // Deprecated: Use SimulateMaintenanceEventInstanceRequest.ProtoReflect.Descriptor instead. func (*SimulateMaintenanceEventInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1178} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1225} } func (x *SimulateMaintenanceEventInstanceRequest) GetInstance() string { @@ -113936,7 +118946,7 @@ type SimulateMaintenanceEventNodeGroupRequest struct { func (x *SimulateMaintenanceEventNodeGroupRequest) Reset() { *x = SimulateMaintenanceEventNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1179] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -113949,7 +118959,7 @@ func (x *SimulateMaintenanceEventNodeGroupRequest) String() string { func (*SimulateMaintenanceEventNodeGroupRequest) ProtoMessage() {} func (x *SimulateMaintenanceEventNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1179] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1226] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -113962,7 +118972,7 @@ func (x *SimulateMaintenanceEventNodeGroupRequest) ProtoReflect() protoreflect.M // Deprecated: Use SimulateMaintenanceEventNodeGroupRequest.ProtoReflect.Descriptor instead. func (*SimulateMaintenanceEventNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1179} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1226} } func (x *SimulateMaintenanceEventNodeGroupRequest) GetNodeGroup() string { @@ -114023,6 +119033,8 @@ type Snapshot struct { DiskSizeGb *int64 `protobuf:"varint,316263735,opt,name=disk_size_gb,json=diskSizeGb,proto3,oneof" json:"disk_size_gb,omitempty"` // [Output Only] Number of bytes downloaded to restore a snapshot to a disk. DownloadBytes *int64 `protobuf:"varint,435054068,opt,name=download_bytes,json=downloadBytes,proto3,oneof" json:"download_bytes,omitempty"` + // [Output Only] A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. + GuestOsFeatures []*GuestOsFeature `protobuf:"bytes,79294545,rep,name=guest_os_features,json=guestOsFeatures,proto3" json:"guest_os_features,omitempty"` // [Output Only] The unique identifier for the resource. This identifier is defined by the server. Id *uint64 `protobuf:"varint,3355,opt,name=id,proto3,oneof" json:"id,omitempty"` // [Output Only] Type of the resource. Always compute#snapshot for Snapshot resources. @@ -114052,6 +119064,8 @@ type Snapshot struct { SourceDisk *string `protobuf:"bytes,451753793,opt,name=source_disk,json=sourceDisk,proto3,oneof" json:"source_disk,omitempty"` // The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key. SourceDiskEncryptionKey *CustomerEncryptionKey `protobuf:"bytes,531501153,opt,name=source_disk_encryption_key,json=sourceDiskEncryptionKey,proto3,oneof" json:"source_disk_encryption_key,omitempty"` + // The source disk whose recovery checkpoint will be used to create this snapshot. + SourceDiskForRecoveryCheckpoint *string `protobuf:"bytes,359837950,opt,name=source_disk_for_recovery_checkpoint,json=sourceDiskForRecoveryCheckpoint,proto3,oneof" json:"source_disk_for_recovery_checkpoint,omitempty"` // [Output Only] The ID value of the disk used to create this snapshot. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given disk name. SourceDiskId *string `protobuf:"bytes,454190809,opt,name=source_disk_id,json=sourceDiskId,proto3,oneof" json:"source_disk_id,omitempty"` // [Output Only] URL of the resource policy which created this scheduled snapshot. @@ -114073,7 +119087,7 @@ type Snapshot struct { func (x *Snapshot) Reset() { *x = Snapshot{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1180] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114086,7 +119100,7 @@ func (x *Snapshot) String() string { func (*Snapshot) ProtoMessage() {} func (x *Snapshot) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1180] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1227] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114099,7 +119113,7 @@ func (x *Snapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use Snapshot.ProtoReflect.Descriptor instead. func (*Snapshot) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1180} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1227} } func (x *Snapshot) GetArchitecture() string { @@ -114158,6 +119172,13 @@ func (x *Snapshot) GetDownloadBytes() int64 { return 0 } +func (x *Snapshot) GetGuestOsFeatures() []*GuestOsFeature { + if x != nil { + return x.GuestOsFeatures + } + return nil +} + func (x *Snapshot) GetId() uint64 { if x != nil && x.Id != nil { return *x.Id @@ -114256,6 +119277,13 @@ func (x *Snapshot) GetSourceDiskEncryptionKey() *CustomerEncryptionKey { return nil } +func (x *Snapshot) GetSourceDiskForRecoveryCheckpoint() string { + if x != nil && x.SourceDiskForRecoveryCheckpoint != nil { + return *x.SourceDiskForRecoveryCheckpoint + } + return "" +} + func (x *Snapshot) GetSourceDiskId() string { if x != nil && x.SourceDiskId != nil { return *x.SourceDiskId @@ -114328,7 +119356,7 @@ type SnapshotList struct { func (x *SnapshotList) Reset() { *x = SnapshotList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1181] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114341,7 +119369,7 @@ func (x *SnapshotList) String() string { func (*SnapshotList) ProtoMessage() {} func (x *SnapshotList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1181] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1228] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114354,7 +119382,7 @@ func (x *SnapshotList) ProtoReflect() protoreflect.Message { // Deprecated: Use SnapshotList.ProtoReflect.Descriptor instead. func (*SnapshotList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1181} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1228} } func (x *SnapshotList) GetId() string { @@ -114399,6 +119427,161 @@ func (x *SnapshotList) GetWarning() *Warning { return nil } +type SnapshotSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Policy of which storage location is going to be resolved, and additional data that particularizes how the policy is going to be carried out. + StorageLocation *SnapshotSettingsStorageLocationSettings `protobuf:"bytes,460859641,opt,name=storage_location,json=storageLocation,proto3,oneof" json:"storage_location,omitempty"` +} + +func (x *SnapshotSettings) Reset() { + *x = SnapshotSettings{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotSettings) ProtoMessage() {} + +func (x *SnapshotSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1229] + 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 SnapshotSettings.ProtoReflect.Descriptor instead. +func (*SnapshotSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1229} +} + +func (x *SnapshotSettings) GetStorageLocation() *SnapshotSettingsStorageLocationSettings { + if x != nil { + return x.StorageLocation + } + return nil +} + +type SnapshotSettingsStorageLocationSettings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // When the policy is SPECIFIC_LOCATIONS, snapshots will be stored in the locations listed in this field. Keys are GCS bucket locations. + Locations map[string]*SnapshotSettingsStorageLocationSettingsStorageLocationPreference `protobuf:"bytes,413423454,rep,name=locations,proto3" json:"locations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The chosen location policy. + // Check the Policy enum for the list of possible values. + Policy *string `protobuf:"bytes,91071794,opt,name=policy,proto3,oneof" json:"policy,omitempty"` +} + +func (x *SnapshotSettingsStorageLocationSettings) Reset() { + *x = SnapshotSettingsStorageLocationSettings{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1230] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotSettingsStorageLocationSettings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotSettingsStorageLocationSettings) ProtoMessage() {} + +func (x *SnapshotSettingsStorageLocationSettings) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1230] + 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 SnapshotSettingsStorageLocationSettings.ProtoReflect.Descriptor instead. +func (*SnapshotSettingsStorageLocationSettings) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1230} +} + +func (x *SnapshotSettingsStorageLocationSettings) GetLocations() map[string]*SnapshotSettingsStorageLocationSettingsStorageLocationPreference { + if x != nil { + return x.Locations + } + return nil +} + +func (x *SnapshotSettingsStorageLocationSettings) GetPolicy() string { + if x != nil && x.Policy != nil { + return *x.Policy + } + return "" +} + +// A structure for specifying storage locations. +type SnapshotSettingsStorageLocationSettingsStorageLocationPreference struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the location. It should be one of the GCS buckets. + Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` +} + +func (x *SnapshotSettingsStorageLocationSettingsStorageLocationPreference) Reset() { + *x = SnapshotSettingsStorageLocationSettingsStorageLocationPreference{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1231] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SnapshotSettingsStorageLocationSettingsStorageLocationPreference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SnapshotSettingsStorageLocationSettingsStorageLocationPreference) ProtoMessage() {} + +func (x *SnapshotSettingsStorageLocationSettingsStorageLocationPreference) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1231] + 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 SnapshotSettingsStorageLocationSettingsStorageLocationPreference.ProtoReflect.Descriptor instead. +func (*SnapshotSettingsStorageLocationSettingsStorageLocationPreference) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1231} +} + +func (x *SnapshotSettingsStorageLocationSettingsStorageLocationPreference) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + type SourceDiskEncryptionKey struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -114413,7 +119596,7 @@ type SourceDiskEncryptionKey struct { func (x *SourceDiskEncryptionKey) Reset() { *x = SourceDiskEncryptionKey{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1182] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114426,7 +119609,7 @@ func (x *SourceDiskEncryptionKey) String() string { func (*SourceDiskEncryptionKey) ProtoMessage() {} func (x *SourceDiskEncryptionKey) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1182] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1232] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114439,7 +119622,7 @@ func (x *SourceDiskEncryptionKey) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceDiskEncryptionKey.ProtoReflect.Descriptor instead. func (*SourceDiskEncryptionKey) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1182} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1232} } func (x *SourceDiskEncryptionKey) GetDiskEncryptionKey() *CustomerEncryptionKey { @@ -114469,7 +119652,7 @@ type SourceInstanceParams struct { func (x *SourceInstanceParams) Reset() { *x = SourceInstanceParams{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1183] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114482,7 +119665,7 @@ func (x *SourceInstanceParams) String() string { func (*SourceInstanceParams) ProtoMessage() {} func (x *SourceInstanceParams) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1183] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1233] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114495,7 +119678,7 @@ func (x *SourceInstanceParams) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceInstanceParams.ProtoReflect.Descriptor instead. func (*SourceInstanceParams) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1183} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1233} } func (x *SourceInstanceParams) GetDiskConfigs() []*DiskInstantiationConfig { @@ -114545,7 +119728,7 @@ type SourceInstanceProperties struct { func (x *SourceInstanceProperties) Reset() { *x = SourceInstanceProperties{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1184] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114558,7 +119741,7 @@ func (x *SourceInstanceProperties) String() string { func (*SourceInstanceProperties) ProtoMessage() {} func (x *SourceInstanceProperties) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1184] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1234] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114571,7 +119754,7 @@ func (x *SourceInstanceProperties) ProtoReflect() protoreflect.Message { // Deprecated: Use SourceInstanceProperties.ProtoReflect.Descriptor instead. func (*SourceInstanceProperties) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1184} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1234} } func (x *SourceInstanceProperties) GetCanIpForward() bool { @@ -114672,7 +119855,7 @@ func (x *SourceInstanceProperties) GetTags() *Tags { return nil } -// Represents an SSL Certificate resource. Google Compute Engine has two SSL Certificate resources: * [Global](/compute/docs/reference/rest/v1/sslCertificates) * [Regional](/compute/docs/reference/rest/v1/regionSslCertificates) The sslCertificates are used by: - external HTTPS load balancers - SSL proxy load balancers The regionSslCertificates are used by internal HTTPS load balancers. Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates. +// Represents an SSL certificate resource. Google Compute Engine has two SSL certificate resources: * [Global](/compute/docs/reference/rest/v1/sslCertificates) * [Regional](/compute/docs/reference/rest/v1/regionSslCertificates) The global SSL certificates (sslCertificates) are used by: - Global external Application Load Balancers - Classic Application Load Balancers - Proxy Network Load Balancers (with target SSL proxies) The regional SSL certificates (regionSslCertificates) are used by: - Regional external Application Load Balancers - Regional internal Application Load Balancers Optionally, certificate file contents that you upload can contain a set of up to five PEM-encoded certificates. The API call creates an object (sslCertificate) that holds this data. You can use SSL keys and certificates to secure connections to a load balancer. For more information, read Creating and using SSL certificates, SSL certificates quotas and limits, and Troubleshooting SSL certificates. type SslCertificate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -114712,7 +119895,7 @@ type SslCertificate struct { func (x *SslCertificate) Reset() { *x = SslCertificate{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1185] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114725,7 +119908,7 @@ func (x *SslCertificate) String() string { func (*SslCertificate) ProtoMessage() {} func (x *SslCertificate) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1185] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1235] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114738,7 +119921,7 @@ func (x *SslCertificate) ProtoReflect() protoreflect.Message { // Deprecated: Use SslCertificate.ProtoReflect.Descriptor instead. func (*SslCertificate) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1185} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1235} } func (x *SslCertificate) GetCertificate() string { @@ -114863,7 +120046,7 @@ type SslCertificateAggregatedList struct { func (x *SslCertificateAggregatedList) Reset() { *x = SslCertificateAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1186] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114876,7 +120059,7 @@ func (x *SslCertificateAggregatedList) String() string { func (*SslCertificateAggregatedList) ProtoMessage() {} func (x *SslCertificateAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1186] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1236] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114889,7 +120072,7 @@ func (x *SslCertificateAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SslCertificateAggregatedList.ProtoReflect.Descriptor instead. func (*SslCertificateAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1186} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1236} } func (x *SslCertificateAggregatedList) GetId() string { @@ -114964,7 +120147,7 @@ type SslCertificateList struct { func (x *SslCertificateList) Reset() { *x = SslCertificateList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1187] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -114977,7 +120160,7 @@ func (x *SslCertificateList) String() string { func (*SslCertificateList) ProtoMessage() {} func (x *SslCertificateList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1187] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1237] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -114990,7 +120173,7 @@ func (x *SslCertificateList) ProtoReflect() protoreflect.Message { // Deprecated: Use SslCertificateList.ProtoReflect.Descriptor instead. func (*SslCertificateList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1187} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1237} } func (x *SslCertificateList) GetId() string { @@ -115053,7 +120236,7 @@ type SslCertificateManagedSslCertificate struct { func (x *SslCertificateManagedSslCertificate) Reset() { *x = SslCertificateManagedSslCertificate{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1188] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115066,7 +120249,7 @@ func (x *SslCertificateManagedSslCertificate) String() string { func (*SslCertificateManagedSslCertificate) ProtoMessage() {} func (x *SslCertificateManagedSslCertificate) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1188] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1238] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115079,7 +120262,7 @@ func (x *SslCertificateManagedSslCertificate) ProtoReflect() protoreflect.Messag // Deprecated: Use SslCertificateManagedSslCertificate.ProtoReflect.Descriptor instead. func (*SslCertificateManagedSslCertificate) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1188} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1238} } func (x *SslCertificateManagedSslCertificate) GetDomainStatus() map[string]string { @@ -115118,7 +120301,7 @@ type SslCertificateSelfManagedSslCertificate struct { func (x *SslCertificateSelfManagedSslCertificate) Reset() { *x = SslCertificateSelfManagedSslCertificate{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1189] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115131,7 +120314,7 @@ func (x *SslCertificateSelfManagedSslCertificate) String() string { func (*SslCertificateSelfManagedSslCertificate) ProtoMessage() {} func (x *SslCertificateSelfManagedSslCertificate) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1189] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1239] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115144,7 +120327,7 @@ func (x *SslCertificateSelfManagedSslCertificate) ProtoReflect() protoreflect.Me // Deprecated: Use SslCertificateSelfManagedSslCertificate.ProtoReflect.Descriptor instead. func (*SslCertificateSelfManagedSslCertificate) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1189} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1239} } func (x *SslCertificateSelfManagedSslCertificate) GetCertificate() string { @@ -115175,7 +120358,7 @@ type SslCertificatesScopedList struct { func (x *SslCertificatesScopedList) Reset() { *x = SslCertificatesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1190] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115188,7 +120371,7 @@ func (x *SslCertificatesScopedList) String() string { func (*SslCertificatesScopedList) ProtoMessage() {} func (x *SslCertificatesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1190] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1240] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115201,7 +120384,7 @@ func (x *SslCertificatesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SslCertificatesScopedList.ProtoReflect.Descriptor instead. func (*SslCertificatesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1190} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1240} } func (x *SslCertificatesScopedList) GetSslCertificates() []*SslCertificate { @@ -115243,7 +120426,7 @@ type SslPoliciesAggregatedList struct { func (x *SslPoliciesAggregatedList) Reset() { *x = SslPoliciesAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1191] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115256,7 +120439,7 @@ func (x *SslPoliciesAggregatedList) String() string { func (*SslPoliciesAggregatedList) ProtoMessage() {} func (x *SslPoliciesAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1191] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1241] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115269,7 +120452,7 @@ func (x *SslPoliciesAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SslPoliciesAggregatedList.ProtoReflect.Descriptor instead. func (*SslPoliciesAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1191} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1241} } func (x *SslPoliciesAggregatedList) GetEtag() string { @@ -115350,7 +120533,7 @@ type SslPoliciesList struct { func (x *SslPoliciesList) Reset() { *x = SslPoliciesList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1192] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115363,7 +120546,7 @@ func (x *SslPoliciesList) String() string { func (*SslPoliciesList) ProtoMessage() {} func (x *SslPoliciesList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1192] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1242] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115376,7 +120559,7 @@ func (x *SslPoliciesList) ProtoReflect() protoreflect.Message { // Deprecated: Use SslPoliciesList.ProtoReflect.Descriptor instead. func (*SslPoliciesList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1192} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1242} } func (x *SslPoliciesList) GetId() string { @@ -115432,7 +120615,7 @@ type SslPoliciesListAvailableFeaturesResponse struct { func (x *SslPoliciesListAvailableFeaturesResponse) Reset() { *x = SslPoliciesListAvailableFeaturesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1193] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115445,7 +120628,7 @@ func (x *SslPoliciesListAvailableFeaturesResponse) String() string { func (*SslPoliciesListAvailableFeaturesResponse) ProtoMessage() {} func (x *SslPoliciesListAvailableFeaturesResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1193] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1243] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115458,7 +120641,7 @@ func (x *SslPoliciesListAvailableFeaturesResponse) ProtoReflect() protoreflect.M // Deprecated: Use SslPoliciesListAvailableFeaturesResponse.ProtoReflect.Descriptor instead. func (*SslPoliciesListAvailableFeaturesResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1193} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1243} } func (x *SslPoliciesListAvailableFeaturesResponse) GetFeatures() []string { @@ -115482,7 +120665,7 @@ type SslPoliciesScopedList struct { func (x *SslPoliciesScopedList) Reset() { *x = SslPoliciesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1194] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115495,7 +120678,7 @@ func (x *SslPoliciesScopedList) String() string { func (*SslPoliciesScopedList) ProtoMessage() {} func (x *SslPoliciesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1194] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1244] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115508,7 +120691,7 @@ func (x *SslPoliciesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SslPoliciesScopedList.ProtoReflect.Descriptor instead. func (*SslPoliciesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1194} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1244} } func (x *SslPoliciesScopedList) GetSslPolicies() []*SslPolicy { @@ -115564,7 +120747,7 @@ type SslPolicy struct { func (x *SslPolicy) Reset() { *x = SslPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1195] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115577,7 +120760,7 @@ func (x *SslPolicy) String() string { func (*SslPolicy) ProtoMessage() {} func (x *SslPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1195] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1245] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115590,7 +120773,7 @@ func (x *SslPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use SslPolicy.ProtoReflect.Descriptor instead. func (*SslPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1195} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1245} } func (x *SslPolicy) GetCreationTimestamp() string { @@ -115696,7 +120879,7 @@ type SslPolicyReference struct { func (x *SslPolicyReference) Reset() { *x = SslPolicyReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1196] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115709,7 +120892,7 @@ func (x *SslPolicyReference) String() string { func (*SslPolicyReference) ProtoMessage() {} func (x *SslPolicyReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1196] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1246] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115722,7 +120905,7 @@ func (x *SslPolicyReference) ProtoReflect() protoreflect.Message { // Deprecated: Use SslPolicyReference.ProtoReflect.Descriptor instead. func (*SslPolicyReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1196} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1246} } func (x *SslPolicyReference) GetSslPolicy() string { @@ -115753,7 +120936,7 @@ type StartAsyncReplicationDiskRequest struct { func (x *StartAsyncReplicationDiskRequest) Reset() { *x = StartAsyncReplicationDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1197] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115766,7 +120949,7 @@ func (x *StartAsyncReplicationDiskRequest) String() string { func (*StartAsyncReplicationDiskRequest) ProtoMessage() {} func (x *StartAsyncReplicationDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1197] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1247] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115779,7 +120962,7 @@ func (x *StartAsyncReplicationDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StartAsyncReplicationDiskRequest.ProtoReflect.Descriptor instead. func (*StartAsyncReplicationDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1197} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1247} } func (x *StartAsyncReplicationDiskRequest) GetDisk() string { @@ -115838,7 +121021,7 @@ type StartAsyncReplicationRegionDiskRequest struct { func (x *StartAsyncReplicationRegionDiskRequest) Reset() { *x = StartAsyncReplicationRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1198] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115851,7 +121034,7 @@ func (x *StartAsyncReplicationRegionDiskRequest) String() string { func (*StartAsyncReplicationRegionDiskRequest) ProtoMessage() {} func (x *StartAsyncReplicationRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1198] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1248] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115864,7 +121047,7 @@ func (x *StartAsyncReplicationRegionDiskRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use StartAsyncReplicationRegionDiskRequest.ProtoReflect.Descriptor instead. func (*StartAsyncReplicationRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1198} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1248} } func (x *StartAsyncReplicationRegionDiskRequest) GetDisk() string { @@ -115921,7 +121104,7 @@ type StartInstanceRequest struct { func (x *StartInstanceRequest) Reset() { *x = StartInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1199] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -115934,7 +121117,7 @@ func (x *StartInstanceRequest) String() string { func (*StartInstanceRequest) ProtoMessage() {} func (x *StartInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1199] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1249] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115947,7 +121130,7 @@ func (x *StartInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StartInstanceRequest.ProtoReflect.Descriptor instead. func (*StartInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1199} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1249} } func (x *StartInstanceRequest) GetInstance() string { @@ -115999,7 +121182,7 @@ type StartWithEncryptionKeyInstanceRequest struct { func (x *StartWithEncryptionKeyInstanceRequest) Reset() { *x = StartWithEncryptionKeyInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1200] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116012,7 +121195,7 @@ func (x *StartWithEncryptionKeyInstanceRequest) String() string { func (*StartWithEncryptionKeyInstanceRequest) ProtoMessage() {} func (x *StartWithEncryptionKeyInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1200] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1250] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116025,7 +121208,7 @@ func (x *StartWithEncryptionKeyInstanceRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use StartWithEncryptionKeyInstanceRequest.ProtoReflect.Descriptor instead. func (*StartWithEncryptionKeyInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1200} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1250} } func (x *StartWithEncryptionKeyInstanceRequest) GetInstance() string { @@ -116074,7 +121257,7 @@ type StatefulPolicy struct { func (x *StatefulPolicy) Reset() { *x = StatefulPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1201] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116087,7 +121270,7 @@ func (x *StatefulPolicy) String() string { func (*StatefulPolicy) ProtoMessage() {} func (x *StatefulPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1201] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1251] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116100,7 +121283,7 @@ func (x *StatefulPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use StatefulPolicy.ProtoReflect.Descriptor instead. func (*StatefulPolicy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1201} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1251} } func (x *StatefulPolicy) GetPreservedState() *StatefulPolicyPreservedState { @@ -116118,12 +121301,16 @@ type StatefulPolicyPreservedState struct { // Disks created on the instances that will be preserved on instance delete, update, etc. This map is keyed with the device names of the disks. Disks map[string]*StatefulPolicyPreservedStateDiskDevice `protobuf:"bytes,95594102,rep,name=disks,proto3" json:"disks,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // External network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + ExternalIPs map[string]*StatefulPolicyPreservedStateNetworkIp `protobuf:"bytes,532687245,rep,name=external_i_ps,json=externalIPs,proto3" json:"external_i_ps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Internal network IPs assigned to the instances that will be preserved on instance delete, update, etc. This map is keyed with the network interface name. + InternalIPs map[string]*StatefulPolicyPreservedStateNetworkIp `protobuf:"bytes,215731675,rep,name=internal_i_ps,json=internalIPs,proto3" json:"internal_i_ps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *StatefulPolicyPreservedState) Reset() { *x = StatefulPolicyPreservedState{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1202] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116136,7 +121323,7 @@ func (x *StatefulPolicyPreservedState) String() string { func (*StatefulPolicyPreservedState) ProtoMessage() {} func (x *StatefulPolicyPreservedState) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1202] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1252] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116149,7 +121336,7 @@ func (x *StatefulPolicyPreservedState) ProtoReflect() protoreflect.Message { // Deprecated: Use StatefulPolicyPreservedState.ProtoReflect.Descriptor instead. func (*StatefulPolicyPreservedState) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1202} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1252} } func (x *StatefulPolicyPreservedState) GetDisks() map[string]*StatefulPolicyPreservedStateDiskDevice { @@ -116159,6 +121346,20 @@ func (x *StatefulPolicyPreservedState) GetDisks() map[string]*StatefulPolicyPres return nil } +func (x *StatefulPolicyPreservedState) GetExternalIPs() map[string]*StatefulPolicyPreservedStateNetworkIp { + if x != nil { + return x.ExternalIPs + } + return nil +} + +func (x *StatefulPolicyPreservedState) GetInternalIPs() map[string]*StatefulPolicyPreservedStateNetworkIp { + if x != nil { + return x.InternalIPs + } + return nil +} + type StatefulPolicyPreservedStateDiskDevice struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -116172,7 +121373,7 @@ type StatefulPolicyPreservedStateDiskDevice struct { func (x *StatefulPolicyPreservedStateDiskDevice) Reset() { *x = StatefulPolicyPreservedStateDiskDevice{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1203] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116185,7 +121386,7 @@ func (x *StatefulPolicyPreservedStateDiskDevice) String() string { func (*StatefulPolicyPreservedStateDiskDevice) ProtoMessage() {} func (x *StatefulPolicyPreservedStateDiskDevice) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1203] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1253] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116198,7 +121399,7 @@ func (x *StatefulPolicyPreservedStateDiskDevice) ProtoReflect() protoreflect.Mes // Deprecated: Use StatefulPolicyPreservedStateDiskDevice.ProtoReflect.Descriptor instead. func (*StatefulPolicyPreservedStateDiskDevice) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1203} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1253} } func (x *StatefulPolicyPreservedStateDiskDevice) GetAutoDelete() string { @@ -116208,6 +121409,122 @@ func (x *StatefulPolicyPreservedStateDiskDevice) GetAutoDelete() string { return "" } +type StatefulPolicyPreservedStateNetworkIp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // These stateful IPs will never be released during autohealing, update or VM instance recreate operations. This flag is used to configure if the IP reservation should be deleted after it is no longer used by the group, e.g. when the given instance or the whole group is deleted. + // Check the AutoDelete enum for the list of possible values. + AutoDelete *string `protobuf:"bytes,464761403,opt,name=auto_delete,json=autoDelete,proto3,oneof" json:"auto_delete,omitempty"` +} + +func (x *StatefulPolicyPreservedStateNetworkIp) Reset() { + *x = StatefulPolicyPreservedStateNetworkIp{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1254] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StatefulPolicyPreservedStateNetworkIp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatefulPolicyPreservedStateNetworkIp) ProtoMessage() {} + +func (x *StatefulPolicyPreservedStateNetworkIp) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1254] + 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 StatefulPolicyPreservedStateNetworkIp.ProtoReflect.Descriptor instead. +func (*StatefulPolicyPreservedStateNetworkIp) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1254} +} + +func (x *StatefulPolicyPreservedStateNetworkIp) GetAutoDelete() string { + if x != nil && x.AutoDelete != nil { + return *x.AutoDelete + } + return "" +} + +// The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The status code, which should be an enum value of google.rpc.Code. + Code *int32 `protobuf:"varint,3059181,opt,name=code,proto3,oneof" json:"code,omitempty"` + // A list of messages that carry the error details. There is a common set of message types for APIs to use. + Details []*anypb.Any `protobuf:"bytes,483979842,rep,name=details,proto3" json:"details,omitempty"` + // A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + Message *string `protobuf:"bytes,418054151,opt,name=message,proto3,oneof" json:"message,omitempty"` +} + +func (x *Status) Reset() { + *x = Status{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1255] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1255] + 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 Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1255} +} + +func (x *Status) GetCode() int32 { + if x != nil && x.Code != nil { + return *x.Code + } + return 0 +} + +func (x *Status) GetDetails() []*anypb.Any { + if x != nil { + return x.Details + } + return nil +} + +func (x *Status) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} + // A request message for Disks.StopAsyncReplication. See the method description for details. type StopAsyncReplicationDiskRequest struct { state protoimpl.MessageState @@ -116227,7 +121544,7 @@ type StopAsyncReplicationDiskRequest struct { func (x *StopAsyncReplicationDiskRequest) Reset() { *x = StopAsyncReplicationDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1204] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116240,7 +121557,7 @@ func (x *StopAsyncReplicationDiskRequest) String() string { func (*StopAsyncReplicationDiskRequest) ProtoMessage() {} func (x *StopAsyncReplicationDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1204] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1256] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116253,7 +121570,7 @@ func (x *StopAsyncReplicationDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopAsyncReplicationDiskRequest.ProtoReflect.Descriptor instead. func (*StopAsyncReplicationDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1204} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1256} } func (x *StopAsyncReplicationDiskRequest) GetDisk() string { @@ -116303,7 +121620,7 @@ type StopAsyncReplicationRegionDiskRequest struct { func (x *StopAsyncReplicationRegionDiskRequest) Reset() { *x = StopAsyncReplicationRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1205] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116316,7 +121633,7 @@ func (x *StopAsyncReplicationRegionDiskRequest) String() string { func (*StopAsyncReplicationRegionDiskRequest) ProtoMessage() {} func (x *StopAsyncReplicationRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1205] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1257] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116329,7 +121646,7 @@ func (x *StopAsyncReplicationRegionDiskRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use StopAsyncReplicationRegionDiskRequest.ProtoReflect.Descriptor instead. func (*StopAsyncReplicationRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1205} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1257} } func (x *StopAsyncReplicationRegionDiskRequest) GetDisk() string { @@ -116379,7 +121696,7 @@ type StopGroupAsyncReplicationDiskRequest struct { func (x *StopGroupAsyncReplicationDiskRequest) Reset() { *x = StopGroupAsyncReplicationDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1206] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116392,7 +121709,7 @@ func (x *StopGroupAsyncReplicationDiskRequest) String() string { func (*StopGroupAsyncReplicationDiskRequest) ProtoMessage() {} func (x *StopGroupAsyncReplicationDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1206] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1258] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116405,7 +121722,7 @@ func (x *StopGroupAsyncReplicationDiskRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use StopGroupAsyncReplicationDiskRequest.ProtoReflect.Descriptor instead. func (*StopGroupAsyncReplicationDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1206} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1258} } func (x *StopGroupAsyncReplicationDiskRequest) GetDisksStopGroupAsyncReplicationResourceResource() *DisksStopGroupAsyncReplicationResource { @@ -116455,7 +121772,7 @@ type StopGroupAsyncReplicationRegionDiskRequest struct { func (x *StopGroupAsyncReplicationRegionDiskRequest) Reset() { *x = StopGroupAsyncReplicationRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1207] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116468,7 +121785,7 @@ func (x *StopGroupAsyncReplicationRegionDiskRequest) String() string { func (*StopGroupAsyncReplicationRegionDiskRequest) ProtoMessage() {} func (x *StopGroupAsyncReplicationRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1207] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1259] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116481,7 +121798,7 @@ func (x *StopGroupAsyncReplicationRegionDiskRequest) ProtoReflect() protoreflect // Deprecated: Use StopGroupAsyncReplicationRegionDiskRequest.ProtoReflect.Descriptor instead. func (*StopGroupAsyncReplicationRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1207} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1259} } func (x *StopGroupAsyncReplicationRegionDiskRequest) GetDisksStopGroupAsyncReplicationResourceResource() *DisksStopGroupAsyncReplicationResource { @@ -116533,7 +121850,7 @@ type StopInstanceRequest struct { func (x *StopInstanceRequest) Reset() { *x = StopInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1208] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116546,7 +121863,7 @@ func (x *StopInstanceRequest) String() string { func (*StopInstanceRequest) ProtoMessage() {} func (x *StopInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1208] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1260] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116559,7 +121876,7 @@ func (x *StopInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StopInstanceRequest.ProtoReflect.Descriptor instead. func (*StopInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1208} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1260} } func (x *StopInstanceRequest) GetDiscardLocalSsd() bool { @@ -116662,7 +121979,7 @@ type Subnetwork struct { func (x *Subnetwork) Reset() { *x = Subnetwork{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1209] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116675,7 +121992,7 @@ func (x *Subnetwork) String() string { func (*Subnetwork) ProtoMessage() {} func (x *Subnetwork) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1209] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1261] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116688,7 +122005,7 @@ func (x *Subnetwork) ProtoReflect() protoreflect.Message { // Deprecated: Use Subnetwork.ProtoReflect.Descriptor instead. func (*Subnetwork) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1209} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261} } func (x *Subnetwork) GetCreationTimestamp() string { @@ -116883,7 +122200,7 @@ type SubnetworkAggregatedList struct { func (x *SubnetworkAggregatedList) Reset() { *x = SubnetworkAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1210] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116896,7 +122213,7 @@ func (x *SubnetworkAggregatedList) String() string { func (*SubnetworkAggregatedList) ProtoMessage() {} func (x *SubnetworkAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1210] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1262] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -116909,7 +122226,7 @@ func (x *SubnetworkAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SubnetworkAggregatedList.ProtoReflect.Descriptor instead. func (*SubnetworkAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1210} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1262} } func (x *SubnetworkAggregatedList) GetId() string { @@ -116984,7 +122301,7 @@ type SubnetworkList struct { func (x *SubnetworkList) Reset() { *x = SubnetworkList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1211] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -116997,7 +122314,7 @@ func (x *SubnetworkList) String() string { func (*SubnetworkList) ProtoMessage() {} func (x *SubnetworkList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1211] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1263] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117010,7 +122327,7 @@ func (x *SubnetworkList) ProtoReflect() protoreflect.Message { // Deprecated: Use SubnetworkList.ProtoReflect.Descriptor instead. func (*SubnetworkList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1211} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1263} } func (x *SubnetworkList) GetId() string { @@ -117080,7 +122397,7 @@ type SubnetworkLogConfig struct { func (x *SubnetworkLogConfig) Reset() { *x = SubnetworkLogConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1212] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117093,7 +122410,7 @@ func (x *SubnetworkLogConfig) String() string { func (*SubnetworkLogConfig) ProtoMessage() {} func (x *SubnetworkLogConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1212] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1264] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117106,7 +122423,7 @@ func (x *SubnetworkLogConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use SubnetworkLogConfig.ProtoReflect.Descriptor instead. func (*SubnetworkLogConfig) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1212} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1264} } func (x *SubnetworkLogConfig) GetAggregationInterval() string { @@ -117166,7 +122483,7 @@ type SubnetworkSecondaryRange struct { func (x *SubnetworkSecondaryRange) Reset() { *x = SubnetworkSecondaryRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1213] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117179,7 +122496,7 @@ func (x *SubnetworkSecondaryRange) String() string { func (*SubnetworkSecondaryRange) ProtoMessage() {} func (x *SubnetworkSecondaryRange) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1213] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1265] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117192,7 +122509,7 @@ func (x *SubnetworkSecondaryRange) ProtoReflect() protoreflect.Message { // Deprecated: Use SubnetworkSecondaryRange.ProtoReflect.Descriptor instead. func (*SubnetworkSecondaryRange) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1213} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1265} } func (x *SubnetworkSecondaryRange) GetIpCidrRange() string { @@ -117221,7 +122538,7 @@ type SubnetworksExpandIpCidrRangeRequest struct { func (x *SubnetworksExpandIpCidrRangeRequest) Reset() { *x = SubnetworksExpandIpCidrRangeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1214] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117234,7 +122551,7 @@ func (x *SubnetworksExpandIpCidrRangeRequest) String() string { func (*SubnetworksExpandIpCidrRangeRequest) ProtoMessage() {} func (x *SubnetworksExpandIpCidrRangeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1214] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1266] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117247,7 +122564,7 @@ func (x *SubnetworksExpandIpCidrRangeRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SubnetworksExpandIpCidrRangeRequest.ProtoReflect.Descriptor instead. func (*SubnetworksExpandIpCidrRangeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1214} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1266} } func (x *SubnetworksExpandIpCidrRangeRequest) GetIpCidrRange() string { @@ -117271,7 +122588,7 @@ type SubnetworksScopedList struct { func (x *SubnetworksScopedList) Reset() { *x = SubnetworksScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1215] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117284,7 +122601,7 @@ func (x *SubnetworksScopedList) String() string { func (*SubnetworksScopedList) ProtoMessage() {} func (x *SubnetworksScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1215] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1267] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117297,7 +122614,7 @@ func (x *SubnetworksScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use SubnetworksScopedList.ProtoReflect.Descriptor instead. func (*SubnetworksScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1215} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1267} } func (x *SubnetworksScopedList) GetSubnetworks() []*Subnetwork { @@ -117325,7 +122642,7 @@ type SubnetworksSetPrivateIpGoogleAccessRequest struct { func (x *SubnetworksSetPrivateIpGoogleAccessRequest) Reset() { *x = SubnetworksSetPrivateIpGoogleAccessRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1216] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117338,7 +122655,7 @@ func (x *SubnetworksSetPrivateIpGoogleAccessRequest) String() string { func (*SubnetworksSetPrivateIpGoogleAccessRequest) ProtoMessage() {} func (x *SubnetworksSetPrivateIpGoogleAccessRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1216] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1268] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117351,7 +122668,7 @@ func (x *SubnetworksSetPrivateIpGoogleAccessRequest) ProtoReflect() protoreflect // Deprecated: Use SubnetworksSetPrivateIpGoogleAccessRequest.ProtoReflect.Descriptor instead. func (*SubnetworksSetPrivateIpGoogleAccessRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1216} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1268} } func (x *SubnetworksSetPrivateIpGoogleAccessRequest) GetPrivateIpGoogleAccess() bool { @@ -117367,7 +122684,6 @@ type Subsetting struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // // Check the Policy enum for the list of possible values. Policy *string `protobuf:"bytes,91071794,opt,name=policy,proto3,oneof" json:"policy,omitempty"` } @@ -117375,7 +122691,7 @@ type Subsetting struct { func (x *Subsetting) Reset() { *x = Subsetting{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1217] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117388,7 +122704,7 @@ func (x *Subsetting) String() string { func (*Subsetting) ProtoMessage() {} func (x *Subsetting) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1217] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1269] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117401,7 +122717,7 @@ func (x *Subsetting) ProtoReflect() protoreflect.Message { // Deprecated: Use Subsetting.ProtoReflect.Descriptor instead. func (*Subsetting) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1217} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1269} } func (x *Subsetting) GetPolicy() string { @@ -117432,7 +122748,7 @@ type SuspendInstanceRequest struct { func (x *SuspendInstanceRequest) Reset() { *x = SuspendInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1218] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117445,7 +122761,7 @@ func (x *SuspendInstanceRequest) String() string { func (*SuspendInstanceRequest) ProtoMessage() {} func (x *SuspendInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1218] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1270] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117458,7 +122774,7 @@ func (x *SuspendInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SuspendInstanceRequest.ProtoReflect.Descriptor instead. func (*SuspendInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1218} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1270} } func (x *SuspendInstanceRequest) GetDiscardLocalSsd() bool { @@ -117513,7 +122829,7 @@ type SwitchToCustomModeNetworkRequest struct { func (x *SwitchToCustomModeNetworkRequest) Reset() { *x = SwitchToCustomModeNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1219] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117526,7 +122842,7 @@ func (x *SwitchToCustomModeNetworkRequest) String() string { func (*SwitchToCustomModeNetworkRequest) ProtoMessage() {} func (x *SwitchToCustomModeNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1219] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1271] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117539,7 +122855,7 @@ func (x *SwitchToCustomModeNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SwitchToCustomModeNetworkRequest.ProtoReflect.Descriptor instead. func (*SwitchToCustomModeNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1219} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1271} } func (x *SwitchToCustomModeNetworkRequest) GetNetwork() string { @@ -117587,7 +122903,7 @@ type TCPHealthCheck struct { func (x *TCPHealthCheck) Reset() { *x = TCPHealthCheck{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1220] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117600,7 +122916,7 @@ func (x *TCPHealthCheck) String() string { func (*TCPHealthCheck) ProtoMessage() {} func (x *TCPHealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1220] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1272] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117613,7 +122929,7 @@ func (x *TCPHealthCheck) ProtoReflect() protoreflect.Message { // Deprecated: Use TCPHealthCheck.ProtoReflect.Descriptor instead. func (*TCPHealthCheck) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1220} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1272} } func (x *TCPHealthCheck) GetPort() int32 { @@ -117673,7 +122989,7 @@ type Tags struct { func (x *Tags) Reset() { *x = Tags{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1221] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117686,7 +123002,7 @@ func (x *Tags) String() string { func (*Tags) ProtoMessage() {} func (x *Tags) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1221] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1273] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117699,7 +123015,7 @@ func (x *Tags) ProtoReflect() protoreflect.Message { // Deprecated: Use Tags.ProtoReflect.Descriptor instead. func (*Tags) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1221} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1273} } func (x *Tags) GetFingerprint() string { @@ -117747,7 +123063,7 @@ type TargetGrpcProxy struct { func (x *TargetGrpcProxy) Reset() { *x = TargetGrpcProxy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1222] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117760,7 +123076,7 @@ func (x *TargetGrpcProxy) String() string { func (*TargetGrpcProxy) ProtoMessage() {} func (x *TargetGrpcProxy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1222] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1274] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117773,7 +123089,7 @@ func (x *TargetGrpcProxy) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetGrpcProxy.ProtoReflect.Descriptor instead. func (*TargetGrpcProxy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1222} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1274} } func (x *TargetGrpcProxy) GetCreationTimestamp() string { @@ -117868,7 +123184,7 @@ type TargetGrpcProxyList struct { func (x *TargetGrpcProxyList) Reset() { *x = TargetGrpcProxyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1223] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117881,7 +123197,7 @@ func (x *TargetGrpcProxyList) String() string { func (*TargetGrpcProxyList) ProtoMessage() {} func (x *TargetGrpcProxyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1223] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1275] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117894,7 +123210,7 @@ func (x *TargetGrpcProxyList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetGrpcProxyList.ProtoReflect.Descriptor instead. func (*TargetGrpcProxyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1223} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1275} } func (x *TargetGrpcProxyList) GetId() string { @@ -117953,7 +123269,7 @@ type TargetHttpProxiesScopedList struct { func (x *TargetHttpProxiesScopedList) Reset() { *x = TargetHttpProxiesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1224] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -117966,7 +123282,7 @@ func (x *TargetHttpProxiesScopedList) String() string { func (*TargetHttpProxiesScopedList) ProtoMessage() {} func (x *TargetHttpProxiesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1224] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1276] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -117979,7 +123295,7 @@ func (x *TargetHttpProxiesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpProxiesScopedList.ProtoReflect.Descriptor instead. func (*TargetHttpProxiesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1224} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1276} } func (x *TargetHttpProxiesScopedList) GetTargetHttpProxies() []*TargetHttpProxy { @@ -117996,7 +123312,7 @@ func (x *TargetHttpProxiesScopedList) GetWarning() *Warning { return nil } -// Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpProxies) A target HTTP proxy is a component of GCP HTTP load balancers. * targetHttpProxies are used by external HTTP load balancers and Traffic Director. * regionTargetHttpProxies are used by internal HTTP load balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. +// Represents a Target HTTP Proxy resource. Google Compute Engine has two Target HTTP Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpProxies) A target HTTP proxy is a component of Google Cloud HTTP load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTP proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. type TargetHttpProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -118008,7 +123324,7 @@ type TargetHttpProxy struct { Description *string `protobuf:"bytes,422937596,opt,name=description,proto3,oneof" json:"description,omitempty"` // Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpProxy. An up-to-date fingerprint must be provided in order to patch/update the TargetHttpProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpProxy. Fingerprint *string `protobuf:"bytes,234678500,opt,name=fingerprint,proto3,oneof" json:"fingerprint,omitempty"` - // Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly. + // Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported. HttpKeepAliveTimeoutSec *int32 `protobuf:"varint,447326046,opt,name=http_keep_alive_timeout_sec,json=httpKeepAliveTimeoutSec,proto3,oneof" json:"http_keep_alive_timeout_sec,omitempty"` // [Output Only] The unique identifier for the resource. This identifier is defined by the server. Id *uint64 `protobuf:"varint,3355,opt,name=id,proto3,oneof" json:"id,omitempty"` @@ -118029,7 +123345,7 @@ type TargetHttpProxy struct { func (x *TargetHttpProxy) Reset() { *x = TargetHttpProxy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1225] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118042,7 +123358,7 @@ func (x *TargetHttpProxy) String() string { func (*TargetHttpProxy) ProtoMessage() {} func (x *TargetHttpProxy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1225] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1277] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118055,7 +123371,7 @@ func (x *TargetHttpProxy) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpProxy.ProtoReflect.Descriptor instead. func (*TargetHttpProxy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1225} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1277} } func (x *TargetHttpProxy) GetCreationTimestamp() string { @@ -118157,7 +123473,7 @@ type TargetHttpProxyAggregatedList struct { func (x *TargetHttpProxyAggregatedList) Reset() { *x = TargetHttpProxyAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1226] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118170,7 +123486,7 @@ func (x *TargetHttpProxyAggregatedList) String() string { func (*TargetHttpProxyAggregatedList) ProtoMessage() {} func (x *TargetHttpProxyAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1226] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1278] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118183,7 +123499,7 @@ func (x *TargetHttpProxyAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpProxyAggregatedList.ProtoReflect.Descriptor instead. func (*TargetHttpProxyAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1226} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1278} } func (x *TargetHttpProxyAggregatedList) GetId() string { @@ -118251,7 +123567,7 @@ type TargetHttpProxyList struct { func (x *TargetHttpProxyList) Reset() { *x = TargetHttpProxyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1227] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118264,7 +123580,7 @@ func (x *TargetHttpProxyList) String() string { func (*TargetHttpProxyList) ProtoMessage() {} func (x *TargetHttpProxyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1227] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1279] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118277,7 +123593,7 @@ func (x *TargetHttpProxyList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpProxyList.ProtoReflect.Descriptor instead. func (*TargetHttpProxyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1227} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1279} } func (x *TargetHttpProxyList) GetId() string { @@ -118336,7 +123652,7 @@ type TargetHttpsProxiesScopedList struct { func (x *TargetHttpsProxiesScopedList) Reset() { *x = TargetHttpsProxiesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1228] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118349,7 +123665,7 @@ func (x *TargetHttpsProxiesScopedList) String() string { func (*TargetHttpsProxiesScopedList) ProtoMessage() {} func (x *TargetHttpsProxiesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1228] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1280] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118362,7 +123678,7 @@ func (x *TargetHttpsProxiesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpsProxiesScopedList.ProtoReflect.Descriptor instead. func (*TargetHttpsProxiesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1228} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1280} } func (x *TargetHttpsProxiesScopedList) GetTargetHttpsProxies() []*TargetHttpsProxy { @@ -118391,7 +123707,7 @@ type TargetHttpsProxiesSetCertificateMapRequest struct { func (x *TargetHttpsProxiesSetCertificateMapRequest) Reset() { *x = TargetHttpsProxiesSetCertificateMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1229] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118404,7 +123720,7 @@ func (x *TargetHttpsProxiesSetCertificateMapRequest) String() string { func (*TargetHttpsProxiesSetCertificateMapRequest) ProtoMessage() {} func (x *TargetHttpsProxiesSetCertificateMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1229] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1281] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118417,7 +123733,7 @@ func (x *TargetHttpsProxiesSetCertificateMapRequest) ProtoReflect() protoreflect // Deprecated: Use TargetHttpsProxiesSetCertificateMapRequest.ProtoReflect.Descriptor instead. func (*TargetHttpsProxiesSetCertificateMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1229} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1281} } func (x *TargetHttpsProxiesSetCertificateMapRequest) GetCertificateMap() string { @@ -118440,7 +123756,7 @@ type TargetHttpsProxiesSetQuicOverrideRequest struct { func (x *TargetHttpsProxiesSetQuicOverrideRequest) Reset() { *x = TargetHttpsProxiesSetQuicOverrideRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1230] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118453,7 +123769,7 @@ func (x *TargetHttpsProxiesSetQuicOverrideRequest) String() string { func (*TargetHttpsProxiesSetQuicOverrideRequest) ProtoMessage() {} func (x *TargetHttpsProxiesSetQuicOverrideRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1230] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1282] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118466,7 +123782,7 @@ func (x *TargetHttpsProxiesSetQuicOverrideRequest) ProtoReflect() protoreflect.M // Deprecated: Use TargetHttpsProxiesSetQuicOverrideRequest.ProtoReflect.Descriptor instead. func (*TargetHttpsProxiesSetQuicOverrideRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1230} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1282} } func (x *TargetHttpsProxiesSetQuicOverrideRequest) GetQuicOverride() string { @@ -118488,7 +123804,7 @@ type TargetHttpsProxiesSetSslCertificatesRequest struct { func (x *TargetHttpsProxiesSetSslCertificatesRequest) Reset() { *x = TargetHttpsProxiesSetSslCertificatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1231] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118501,7 +123817,7 @@ func (x *TargetHttpsProxiesSetSslCertificatesRequest) String() string { func (*TargetHttpsProxiesSetSslCertificatesRequest) ProtoMessage() {} func (x *TargetHttpsProxiesSetSslCertificatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1231] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1283] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118514,7 +123830,7 @@ func (x *TargetHttpsProxiesSetSslCertificatesRequest) ProtoReflect() protoreflec // Deprecated: Use TargetHttpsProxiesSetSslCertificatesRequest.ProtoReflect.Descriptor instead. func (*TargetHttpsProxiesSetSslCertificatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1231} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1283} } func (x *TargetHttpsProxiesSetSslCertificatesRequest) GetSslCertificates() []string { @@ -118524,7 +123840,7 @@ func (x *TargetHttpsProxiesSetSslCertificatesRequest) GetSslCertificates() []str return nil } -// Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpsProxies are used by external HTTPS load balancers. * regionTargetHttpsProxies are used by internal HTTPS load balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. +// Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. type TargetHttpsProxy struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -118540,7 +123856,7 @@ type TargetHttpsProxy struct { Description *string `protobuf:"bytes,422937596,opt,name=description,proto3,oneof" json:"description,omitempty"` // Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a TargetHttpsProxy. An up-to-date fingerprint must be provided in order to patch the TargetHttpsProxy; otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the TargetHttpsProxy. Fingerprint *string `protobuf:"bytes,234678500,opt,name=fingerprint,proto3,oneof" json:"fingerprint,omitempty"` - // Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For Global external HTTP(S) load balancer, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For Global external HTTP(S) load balancer (classic), this option is not available publicly. + // Specifies how long to keep a connection open, after completing a response, while there is no matching traffic (in seconds). If an HTTP keep-alive is not specified, a default value (610 seconds) will be used. For global external Application Load Balancers, the minimum allowed value is 5 seconds and the maximum allowed value is 1200 seconds. For classic Application Load Balancers, this option is not supported. HttpKeepAliveTimeoutSec *int32 `protobuf:"varint,447326046,opt,name=http_keep_alive_timeout_sec,json=httpKeepAliveTimeoutSec,proto3,oneof" json:"http_keep_alive_timeout_sec,omitempty"` // [Output Only] The unique identifier for the resource. This identifier is defined by the server. Id *uint64 `protobuf:"varint,3355,opt,name=id,proto3,oneof" json:"id,omitempty"` @@ -118570,7 +123886,7 @@ type TargetHttpsProxy struct { func (x *TargetHttpsProxy) Reset() { *x = TargetHttpsProxy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1232] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118583,7 +123899,7 @@ func (x *TargetHttpsProxy) String() string { func (*TargetHttpsProxy) ProtoMessage() {} func (x *TargetHttpsProxy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1232] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1284] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118596,7 +123912,7 @@ func (x *TargetHttpsProxy) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpsProxy.ProtoReflect.Descriptor instead. func (*TargetHttpsProxy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1232} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1284} } func (x *TargetHttpsProxy) GetAuthorizationPolicy() string { @@ -118742,7 +124058,7 @@ type TargetHttpsProxyAggregatedList struct { func (x *TargetHttpsProxyAggregatedList) Reset() { *x = TargetHttpsProxyAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1233] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118755,7 +124071,7 @@ func (x *TargetHttpsProxyAggregatedList) String() string { func (*TargetHttpsProxyAggregatedList) ProtoMessage() {} func (x *TargetHttpsProxyAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1233] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1285] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118768,7 +124084,7 @@ func (x *TargetHttpsProxyAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpsProxyAggregatedList.ProtoReflect.Descriptor instead. func (*TargetHttpsProxyAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1233} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1285} } func (x *TargetHttpsProxyAggregatedList) GetId() string { @@ -118843,7 +124159,7 @@ type TargetHttpsProxyList struct { func (x *TargetHttpsProxyList) Reset() { *x = TargetHttpsProxyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1234] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118856,7 +124172,7 @@ func (x *TargetHttpsProxyList) String() string { func (*TargetHttpsProxyList) ProtoMessage() {} func (x *TargetHttpsProxyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1234] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1286] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118869,7 +124185,7 @@ func (x *TargetHttpsProxyList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetHttpsProxyList.ProtoReflect.Descriptor instead. func (*TargetHttpsProxyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1234} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1286} } func (x *TargetHttpsProxyList) GetId() string { @@ -118937,6 +124253,8 @@ type TargetInstance struct { NatPolicy *string `protobuf:"bytes,509780496,opt,name=nat_policy,json=natPolicy,proto3,oneof" json:"nat_policy,omitempty"` // The URL of the network this target instance uses to forward traffic. If not specified, the traffic will be forwarded to the network that the default network interface belongs to. Network *string `protobuf:"bytes,232872494,opt,name=network,proto3,oneof" json:"network,omitempty"` + // [Output Only] The resource URL for the security policy associated with this target instance. + SecurityPolicy *string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3,oneof" json:"security_policy,omitempty"` // [Output Only] Server-defined URL for the resource. SelfLink *string `protobuf:"bytes,456214797,opt,name=self_link,json=selfLink,proto3,oneof" json:"self_link,omitempty"` // [Output Only] URL of the zone where the target instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body. @@ -118946,7 +124264,7 @@ type TargetInstance struct { func (x *TargetInstance) Reset() { *x = TargetInstance{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1235] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -118959,7 +124277,7 @@ func (x *TargetInstance) String() string { func (*TargetInstance) ProtoMessage() {} func (x *TargetInstance) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1235] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1287] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118972,7 +124290,7 @@ func (x *TargetInstance) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetInstance.ProtoReflect.Descriptor instead. func (*TargetInstance) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1235} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1287} } func (x *TargetInstance) GetCreationTimestamp() string { @@ -119031,6 +124349,13 @@ func (x *TargetInstance) GetNetwork() string { return "" } +func (x *TargetInstance) GetSecurityPolicy() string { + if x != nil && x.SecurityPolicy != nil { + return *x.SecurityPolicy + } + return "" +} + func (x *TargetInstance) GetSelfLink() string { if x != nil && x.SelfLink != nil { return *x.SelfLink @@ -119069,7 +124394,7 @@ type TargetInstanceAggregatedList struct { func (x *TargetInstanceAggregatedList) Reset() { *x = TargetInstanceAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1236] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119082,7 +124407,7 @@ func (x *TargetInstanceAggregatedList) String() string { func (*TargetInstanceAggregatedList) ProtoMessage() {} func (x *TargetInstanceAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1236] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1288] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119095,7 +124420,7 @@ func (x *TargetInstanceAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetInstanceAggregatedList.ProtoReflect.Descriptor instead. func (*TargetInstanceAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1236} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1288} } func (x *TargetInstanceAggregatedList) GetId() string { @@ -119170,7 +124495,7 @@ type TargetInstanceList struct { func (x *TargetInstanceList) Reset() { *x = TargetInstanceList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1237] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119183,7 +124508,7 @@ func (x *TargetInstanceList) String() string { func (*TargetInstanceList) ProtoMessage() {} func (x *TargetInstanceList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1237] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1289] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119196,7 +124521,7 @@ func (x *TargetInstanceList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetInstanceList.ProtoReflect.Descriptor instead. func (*TargetInstanceList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1237} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1289} } func (x *TargetInstanceList) GetId() string { @@ -119255,7 +124580,7 @@ type TargetInstancesScopedList struct { func (x *TargetInstancesScopedList) Reset() { *x = TargetInstancesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1238] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119268,7 +124593,7 @@ func (x *TargetInstancesScopedList) String() string { func (*TargetInstancesScopedList) ProtoMessage() {} func (x *TargetInstancesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1238] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1290] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119281,7 +124606,7 @@ func (x *TargetInstancesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetInstancesScopedList.ProtoReflect.Descriptor instead. func (*TargetInstancesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1238} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1290} } func (x *TargetInstancesScopedList) GetTargetInstances() []*TargetInstance { @@ -119324,6 +124649,8 @@ type TargetPool struct { Name *string `protobuf:"bytes,3373707,opt,name=name,proto3,oneof" json:"name,omitempty"` // [Output Only] URL of the region where the target pool resides. Region *string `protobuf:"bytes,138946292,opt,name=region,proto3,oneof" json:"region,omitempty"` + // [Output Only] The resource URL for the security policy associated with this target pool. + SecurityPolicy *string `protobuf:"bytes,171082513,opt,name=security_policy,json=securityPolicy,proto3,oneof" json:"security_policy,omitempty"` // [Output Only] Server-defined URL for the resource. SelfLink *string `protobuf:"bytes,456214797,opt,name=self_link,json=selfLink,proto3,oneof" json:"self_link,omitempty"` // Session affinity option, must be one of the following values: NONE: Connections from the same client IP may go to any instance in the pool. CLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy. CLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy. @@ -119334,7 +124661,7 @@ type TargetPool struct { func (x *TargetPool) Reset() { *x = TargetPool{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1239] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119347,7 +124674,7 @@ func (x *TargetPool) String() string { func (*TargetPool) ProtoMessage() {} func (x *TargetPool) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1239] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1291] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119360,7 +124687,7 @@ func (x *TargetPool) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPool.ProtoReflect.Descriptor instead. func (*TargetPool) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1239} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1291} } func (x *TargetPool) GetBackupPool() string { @@ -119433,6 +124760,13 @@ func (x *TargetPool) GetRegion() string { return "" } +func (x *TargetPool) GetSecurityPolicy() string { + if x != nil && x.SecurityPolicy != nil { + return *x.SecurityPolicy + } + return "" +} + func (x *TargetPool) GetSelfLink() string { if x != nil && x.SelfLink != nil { return *x.SelfLink @@ -119471,7 +124805,7 @@ type TargetPoolAggregatedList struct { func (x *TargetPoolAggregatedList) Reset() { *x = TargetPoolAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1240] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119484,7 +124818,7 @@ func (x *TargetPoolAggregatedList) String() string { func (*TargetPoolAggregatedList) ProtoMessage() {} func (x *TargetPoolAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1240] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1292] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119497,7 +124831,7 @@ func (x *TargetPoolAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPoolAggregatedList.ProtoReflect.Descriptor instead. func (*TargetPoolAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1240} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1292} } func (x *TargetPoolAggregatedList) GetId() string { @@ -119562,7 +124896,7 @@ type TargetPoolInstanceHealth struct { func (x *TargetPoolInstanceHealth) Reset() { *x = TargetPoolInstanceHealth{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1241] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119575,7 +124909,7 @@ func (x *TargetPoolInstanceHealth) String() string { func (*TargetPoolInstanceHealth) ProtoMessage() {} func (x *TargetPoolInstanceHealth) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1241] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1293] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119588,7 +124922,7 @@ func (x *TargetPoolInstanceHealth) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPoolInstanceHealth.ProtoReflect.Descriptor instead. func (*TargetPoolInstanceHealth) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1241} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1293} } func (x *TargetPoolInstanceHealth) GetHealthStatus() []*HealthStatus { @@ -119628,7 +124962,7 @@ type TargetPoolList struct { func (x *TargetPoolList) Reset() { *x = TargetPoolList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1242] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119641,7 +124975,7 @@ func (x *TargetPoolList) String() string { func (*TargetPoolList) ProtoMessage() {} func (x *TargetPoolList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1242] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1294] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119654,7 +124988,7 @@ func (x *TargetPoolList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPoolList.ProtoReflect.Descriptor instead. func (*TargetPoolList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1242} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1294} } func (x *TargetPoolList) GetId() string { @@ -119711,7 +125045,7 @@ type TargetPoolsAddHealthCheckRequest struct { func (x *TargetPoolsAddHealthCheckRequest) Reset() { *x = TargetPoolsAddHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1243] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119724,7 +125058,7 @@ func (x *TargetPoolsAddHealthCheckRequest) String() string { func (*TargetPoolsAddHealthCheckRequest) ProtoMessage() {} func (x *TargetPoolsAddHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1243] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1295] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119737,7 +125071,7 @@ func (x *TargetPoolsAddHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPoolsAddHealthCheckRequest.ProtoReflect.Descriptor instead. func (*TargetPoolsAddHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1243} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1295} } func (x *TargetPoolsAddHealthCheckRequest) GetHealthChecks() []*HealthCheckReference { @@ -119759,7 +125093,7 @@ type TargetPoolsAddInstanceRequest struct { func (x *TargetPoolsAddInstanceRequest) Reset() { *x = TargetPoolsAddInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1244] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119772,7 +125106,7 @@ func (x *TargetPoolsAddInstanceRequest) String() string { func (*TargetPoolsAddInstanceRequest) ProtoMessage() {} func (x *TargetPoolsAddInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1244] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1296] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119785,7 +125119,7 @@ func (x *TargetPoolsAddInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPoolsAddInstanceRequest.ProtoReflect.Descriptor instead. func (*TargetPoolsAddInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1244} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1296} } func (x *TargetPoolsAddInstanceRequest) GetInstances() []*InstanceReference { @@ -119807,7 +125141,7 @@ type TargetPoolsRemoveHealthCheckRequest struct { func (x *TargetPoolsRemoveHealthCheckRequest) Reset() { *x = TargetPoolsRemoveHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1245] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119820,7 +125154,7 @@ func (x *TargetPoolsRemoveHealthCheckRequest) String() string { func (*TargetPoolsRemoveHealthCheckRequest) ProtoMessage() {} func (x *TargetPoolsRemoveHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1245] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1297] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119833,7 +125167,7 @@ func (x *TargetPoolsRemoveHealthCheckRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use TargetPoolsRemoveHealthCheckRequest.ProtoReflect.Descriptor instead. func (*TargetPoolsRemoveHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1245} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1297} } func (x *TargetPoolsRemoveHealthCheckRequest) GetHealthChecks() []*HealthCheckReference { @@ -119855,7 +125189,7 @@ type TargetPoolsRemoveInstanceRequest struct { func (x *TargetPoolsRemoveInstanceRequest) Reset() { *x = TargetPoolsRemoveInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1246] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119868,7 +125202,7 @@ func (x *TargetPoolsRemoveInstanceRequest) String() string { func (*TargetPoolsRemoveInstanceRequest) ProtoMessage() {} func (x *TargetPoolsRemoveInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1246] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1298] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119881,7 +125215,7 @@ func (x *TargetPoolsRemoveInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPoolsRemoveInstanceRequest.ProtoReflect.Descriptor instead. func (*TargetPoolsRemoveInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1246} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1298} } func (x *TargetPoolsRemoveInstanceRequest) GetInstances() []*InstanceReference { @@ -119905,7 +125239,7 @@ type TargetPoolsScopedList struct { func (x *TargetPoolsScopedList) Reset() { *x = TargetPoolsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1247] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119918,7 +125252,7 @@ func (x *TargetPoolsScopedList) String() string { func (*TargetPoolsScopedList) ProtoMessage() {} func (x *TargetPoolsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1247] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1299] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119931,7 +125265,7 @@ func (x *TargetPoolsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetPoolsScopedList.ProtoReflect.Descriptor instead. func (*TargetPoolsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1247} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1299} } func (x *TargetPoolsScopedList) GetTargetPools() []*TargetPool { @@ -119959,7 +125293,7 @@ type TargetReference struct { func (x *TargetReference) Reset() { *x = TargetReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1248] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -119972,7 +125306,7 @@ func (x *TargetReference) String() string { func (*TargetReference) ProtoMessage() {} func (x *TargetReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1248] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1300] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -119985,7 +125319,7 @@ func (x *TargetReference) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetReference.ProtoReflect.Descriptor instead. func (*TargetReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1248} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1300} } func (x *TargetReference) GetTarget() string { @@ -120007,7 +125341,7 @@ type TargetSslProxiesSetBackendServiceRequest struct { func (x *TargetSslProxiesSetBackendServiceRequest) Reset() { *x = TargetSslProxiesSetBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1249] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120020,7 +125354,7 @@ func (x *TargetSslProxiesSetBackendServiceRequest) String() string { func (*TargetSslProxiesSetBackendServiceRequest) ProtoMessage() {} func (x *TargetSslProxiesSetBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1249] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1301] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120033,7 +125367,7 @@ func (x *TargetSslProxiesSetBackendServiceRequest) ProtoReflect() protoreflect.M // Deprecated: Use TargetSslProxiesSetBackendServiceRequest.ProtoReflect.Descriptor instead. func (*TargetSslProxiesSetBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1249} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1301} } func (x *TargetSslProxiesSetBackendServiceRequest) GetService() string { @@ -120055,7 +125389,7 @@ type TargetSslProxiesSetCertificateMapRequest struct { func (x *TargetSslProxiesSetCertificateMapRequest) Reset() { *x = TargetSslProxiesSetCertificateMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1250] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120068,7 +125402,7 @@ func (x *TargetSslProxiesSetCertificateMapRequest) String() string { func (*TargetSslProxiesSetCertificateMapRequest) ProtoMessage() {} func (x *TargetSslProxiesSetCertificateMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1250] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1302] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120081,7 +125415,7 @@ func (x *TargetSslProxiesSetCertificateMapRequest) ProtoReflect() protoreflect.M // Deprecated: Use TargetSslProxiesSetCertificateMapRequest.ProtoReflect.Descriptor instead. func (*TargetSslProxiesSetCertificateMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1250} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1302} } func (x *TargetSslProxiesSetCertificateMapRequest) GetCertificateMap() string { @@ -120104,7 +125438,7 @@ type TargetSslProxiesSetProxyHeaderRequest struct { func (x *TargetSslProxiesSetProxyHeaderRequest) Reset() { *x = TargetSslProxiesSetProxyHeaderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1251] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120117,7 +125451,7 @@ func (x *TargetSslProxiesSetProxyHeaderRequest) String() string { func (*TargetSslProxiesSetProxyHeaderRequest) ProtoMessage() {} func (x *TargetSslProxiesSetProxyHeaderRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1251] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1303] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120130,7 +125464,7 @@ func (x *TargetSslProxiesSetProxyHeaderRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use TargetSslProxiesSetProxyHeaderRequest.ProtoReflect.Descriptor instead. func (*TargetSslProxiesSetProxyHeaderRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1251} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1303} } func (x *TargetSslProxiesSetProxyHeaderRequest) GetProxyHeader() string { @@ -120152,7 +125486,7 @@ type TargetSslProxiesSetSslCertificatesRequest struct { func (x *TargetSslProxiesSetSslCertificatesRequest) Reset() { *x = TargetSslProxiesSetSslCertificatesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1252] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120165,7 +125499,7 @@ func (x *TargetSslProxiesSetSslCertificatesRequest) String() string { func (*TargetSslProxiesSetSslCertificatesRequest) ProtoMessage() {} func (x *TargetSslProxiesSetSslCertificatesRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1252] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1304] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120178,7 +125512,7 @@ func (x *TargetSslProxiesSetSslCertificatesRequest) ProtoReflect() protoreflect. // Deprecated: Use TargetSslProxiesSetSslCertificatesRequest.ProtoReflect.Descriptor instead. func (*TargetSslProxiesSetSslCertificatesRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1252} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1304} } func (x *TargetSslProxiesSetSslCertificatesRequest) GetSslCertificates() []string { @@ -120222,7 +125556,7 @@ type TargetSslProxy struct { func (x *TargetSslProxy) Reset() { *x = TargetSslProxy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1253] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120235,7 +125569,7 @@ func (x *TargetSslProxy) String() string { func (*TargetSslProxy) ProtoMessage() {} func (x *TargetSslProxy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1253] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1305] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120248,7 +125582,7 @@ func (x *TargetSslProxy) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetSslProxy.ProtoReflect.Descriptor instead. func (*TargetSslProxy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1253} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1305} } func (x *TargetSslProxy) GetCertificateMap() string { @@ -120351,7 +125685,7 @@ type TargetSslProxyList struct { func (x *TargetSslProxyList) Reset() { *x = TargetSslProxyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1254] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120364,7 +125698,7 @@ func (x *TargetSslProxyList) String() string { func (*TargetSslProxyList) ProtoMessage() {} func (x *TargetSslProxyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1254] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1306] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120377,7 +125711,7 @@ func (x *TargetSslProxyList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetSslProxyList.ProtoReflect.Descriptor instead. func (*TargetSslProxyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1254} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1306} } func (x *TargetSslProxyList) GetId() string { @@ -120436,7 +125770,7 @@ type TargetTcpProxiesScopedList struct { func (x *TargetTcpProxiesScopedList) Reset() { *x = TargetTcpProxiesScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1255] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120449,7 +125783,7 @@ func (x *TargetTcpProxiesScopedList) String() string { func (*TargetTcpProxiesScopedList) ProtoMessage() {} func (x *TargetTcpProxiesScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1255] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1307] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120462,7 +125796,7 @@ func (x *TargetTcpProxiesScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetTcpProxiesScopedList.ProtoReflect.Descriptor instead. func (*TargetTcpProxiesScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1255} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1307} } func (x *TargetTcpProxiesScopedList) GetTargetTcpProxies() []*TargetTcpProxy { @@ -120491,7 +125825,7 @@ type TargetTcpProxiesSetBackendServiceRequest struct { func (x *TargetTcpProxiesSetBackendServiceRequest) Reset() { *x = TargetTcpProxiesSetBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1256] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120504,7 +125838,7 @@ func (x *TargetTcpProxiesSetBackendServiceRequest) String() string { func (*TargetTcpProxiesSetBackendServiceRequest) ProtoMessage() {} func (x *TargetTcpProxiesSetBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1256] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1308] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120517,7 +125851,7 @@ func (x *TargetTcpProxiesSetBackendServiceRequest) ProtoReflect() protoreflect.M // Deprecated: Use TargetTcpProxiesSetBackendServiceRequest.ProtoReflect.Descriptor instead. func (*TargetTcpProxiesSetBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1256} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1308} } func (x *TargetTcpProxiesSetBackendServiceRequest) GetService() string { @@ -120540,7 +125874,7 @@ type TargetTcpProxiesSetProxyHeaderRequest struct { func (x *TargetTcpProxiesSetProxyHeaderRequest) Reset() { *x = TargetTcpProxiesSetProxyHeaderRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1257] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120553,7 +125887,7 @@ func (x *TargetTcpProxiesSetProxyHeaderRequest) String() string { func (*TargetTcpProxiesSetProxyHeaderRequest) ProtoMessage() {} func (x *TargetTcpProxiesSetProxyHeaderRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1257] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1309] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120566,7 +125900,7 @@ func (x *TargetTcpProxiesSetProxyHeaderRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use TargetTcpProxiesSetProxyHeaderRequest.ProtoReflect.Descriptor instead. func (*TargetTcpProxiesSetProxyHeaderRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1257} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1309} } func (x *TargetTcpProxiesSetProxyHeaderRequest) GetProxyHeader() string { @@ -120608,7 +125942,7 @@ type TargetTcpProxy struct { func (x *TargetTcpProxy) Reset() { *x = TargetTcpProxy{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1258] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120621,7 +125955,7 @@ func (x *TargetTcpProxy) String() string { func (*TargetTcpProxy) ProtoMessage() {} func (x *TargetTcpProxy) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1258] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1310] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120634,7 +125968,7 @@ func (x *TargetTcpProxy) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetTcpProxy.ProtoReflect.Descriptor instead. func (*TargetTcpProxy) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1258} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1310} } func (x *TargetTcpProxy) GetCreationTimestamp() string { @@ -120731,7 +126065,7 @@ type TargetTcpProxyAggregatedList struct { func (x *TargetTcpProxyAggregatedList) Reset() { *x = TargetTcpProxyAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1259] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120744,7 +126078,7 @@ func (x *TargetTcpProxyAggregatedList) String() string { func (*TargetTcpProxyAggregatedList) ProtoMessage() {} func (x *TargetTcpProxyAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1259] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1311] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120757,7 +126091,7 @@ func (x *TargetTcpProxyAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetTcpProxyAggregatedList.ProtoReflect.Descriptor instead. func (*TargetTcpProxyAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1259} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1311} } func (x *TargetTcpProxyAggregatedList) GetId() string { @@ -120832,7 +126166,7 @@ type TargetTcpProxyList struct { func (x *TargetTcpProxyList) Reset() { *x = TargetTcpProxyList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1260] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120845,7 +126179,7 @@ func (x *TargetTcpProxyList) String() string { func (*TargetTcpProxyList) ProtoMessage() {} func (x *TargetTcpProxyList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1260] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1312] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120858,7 +126192,7 @@ func (x *TargetTcpProxyList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetTcpProxyList.ProtoReflect.Descriptor instead. func (*TargetTcpProxyList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1260} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1312} } func (x *TargetTcpProxyList) GetId() string { @@ -120941,7 +126275,7 @@ type TargetVpnGateway struct { func (x *TargetVpnGateway) Reset() { *x = TargetVpnGateway{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1261] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -120954,7 +126288,7 @@ func (x *TargetVpnGateway) String() string { func (*TargetVpnGateway) ProtoMessage() {} func (x *TargetVpnGateway) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1261] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1313] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -120967,7 +126301,7 @@ func (x *TargetVpnGateway) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetVpnGateway.ProtoReflect.Descriptor instead. func (*TargetVpnGateway) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1261} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1313} } func (x *TargetVpnGateway) GetCreationTimestamp() string { @@ -121085,7 +126419,7 @@ type TargetVpnGatewayAggregatedList struct { func (x *TargetVpnGatewayAggregatedList) Reset() { *x = TargetVpnGatewayAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1262] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121098,7 +126432,7 @@ func (x *TargetVpnGatewayAggregatedList) String() string { func (*TargetVpnGatewayAggregatedList) ProtoMessage() {} func (x *TargetVpnGatewayAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1262] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1314] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121111,7 +126445,7 @@ func (x *TargetVpnGatewayAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetVpnGatewayAggregatedList.ProtoReflect.Descriptor instead. func (*TargetVpnGatewayAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1262} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1314} } func (x *TargetVpnGatewayAggregatedList) GetId() string { @@ -121186,7 +126520,7 @@ type TargetVpnGatewayList struct { func (x *TargetVpnGatewayList) Reset() { *x = TargetVpnGatewayList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1263] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121199,7 +126533,7 @@ func (x *TargetVpnGatewayList) String() string { func (*TargetVpnGatewayList) ProtoMessage() {} func (x *TargetVpnGatewayList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1263] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1315] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121212,7 +126546,7 @@ func (x *TargetVpnGatewayList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetVpnGatewayList.ProtoReflect.Descriptor instead. func (*TargetVpnGatewayList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1263} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1315} } func (x *TargetVpnGatewayList) GetId() string { @@ -121271,7 +126605,7 @@ type TargetVpnGatewaysScopedList struct { func (x *TargetVpnGatewaysScopedList) Reset() { *x = TargetVpnGatewaysScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1264] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121284,7 +126618,7 @@ func (x *TargetVpnGatewaysScopedList) String() string { func (*TargetVpnGatewaysScopedList) ProtoMessage() {} func (x *TargetVpnGatewaysScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1264] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1316] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121297,7 +126631,7 @@ func (x *TargetVpnGatewaysScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use TargetVpnGatewaysScopedList.ProtoReflect.Descriptor instead. func (*TargetVpnGatewaysScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1264} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1316} } func (x *TargetVpnGatewaysScopedList) GetTargetVpnGateways() []*TargetVpnGateway { @@ -121342,7 +126676,7 @@ type TestFailure struct { func (x *TestFailure) Reset() { *x = TestFailure{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1265] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121355,7 +126689,7 @@ func (x *TestFailure) String() string { func (*TestFailure) ProtoMessage() {} func (x *TestFailure) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1265] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1317] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121368,7 +126702,7 @@ func (x *TestFailure) ProtoReflect() protoreflect.Message { // Deprecated: Use TestFailure.ProtoReflect.Descriptor instead. func (*TestFailure) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1265} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1317} } func (x *TestFailure) GetActualOutputUrl() string { @@ -121434,6 +126768,140 @@ func (x *TestFailure) GetPath() string { return "" } +// A request message for BackendBuckets.TestIamPermissions. See the method description for details. +type TestIamPermissionsBackendBucketRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name or id of the resource for this request. + Resource string `protobuf:"bytes,195806222,opt,name=resource,proto3" json:"resource,omitempty"` + // The body resource for this request + TestPermissionsRequestResource *TestPermissionsRequest `protobuf:"bytes,439214758,opt,name=test_permissions_request_resource,json=testPermissionsRequestResource,proto3" json:"test_permissions_request_resource,omitempty"` +} + +func (x *TestIamPermissionsBackendBucketRequest) Reset() { + *x = TestIamPermissionsBackendBucketRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1318] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsBackendBucketRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsBackendBucketRequest) ProtoMessage() {} + +func (x *TestIamPermissionsBackendBucketRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1318] + 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 TestIamPermissionsBackendBucketRequest.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsBackendBucketRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1318} +} + +func (x *TestIamPermissionsBackendBucketRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *TestIamPermissionsBackendBucketRequest) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *TestIamPermissionsBackendBucketRequest) GetTestPermissionsRequestResource() *TestPermissionsRequest { + if x != nil { + return x.TestPermissionsRequestResource + } + return nil +} + +// A request message for BackendServices.TestIamPermissions. See the method description for details. +type TestIamPermissionsBackendServiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // Name or id of the resource for this request. + Resource string `protobuf:"bytes,195806222,opt,name=resource,proto3" json:"resource,omitempty"` + // The body resource for this request + TestPermissionsRequestResource *TestPermissionsRequest `protobuf:"bytes,439214758,opt,name=test_permissions_request_resource,json=testPermissionsRequestResource,proto3" json:"test_permissions_request_resource,omitempty"` +} + +func (x *TestIamPermissionsBackendServiceRequest) Reset() { + *x = TestIamPermissionsBackendServiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1319] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsBackendServiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsBackendServiceRequest) ProtoMessage() {} + +func (x *TestIamPermissionsBackendServiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1319] + 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 TestIamPermissionsBackendServiceRequest.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsBackendServiceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1319} +} + +func (x *TestIamPermissionsBackendServiceRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *TestIamPermissionsBackendServiceRequest) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *TestIamPermissionsBackendServiceRequest) GetTestPermissionsRequestResource() *TestPermissionsRequest { + if x != nil { + return x.TestPermissionsRequestResource + } + return nil +} + // A request message for Disks.TestIamPermissions. See the method description for details. type TestIamPermissionsDiskRequest struct { state protoimpl.MessageState @@ -121453,7 +126921,7 @@ type TestIamPermissionsDiskRequest struct { func (x *TestIamPermissionsDiskRequest) Reset() { *x = TestIamPermissionsDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1266] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121466,7 +126934,7 @@ func (x *TestIamPermissionsDiskRequest) String() string { func (*TestIamPermissionsDiskRequest) ProtoMessage() {} func (x *TestIamPermissionsDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1266] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1320] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121479,7 +126947,7 @@ func (x *TestIamPermissionsDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TestIamPermissionsDiskRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1266} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1320} } func (x *TestIamPermissionsDiskRequest) GetProject() string { @@ -121527,7 +126995,7 @@ type TestIamPermissionsExternalVpnGatewayRequest struct { func (x *TestIamPermissionsExternalVpnGatewayRequest) Reset() { *x = TestIamPermissionsExternalVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1267] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121540,7 +127008,7 @@ func (x *TestIamPermissionsExternalVpnGatewayRequest) String() string { func (*TestIamPermissionsExternalVpnGatewayRequest) ProtoMessage() {} func (x *TestIamPermissionsExternalVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1267] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1321] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121553,7 +127021,7 @@ func (x *TestIamPermissionsExternalVpnGatewayRequest) ProtoReflect() protoreflec // Deprecated: Use TestIamPermissionsExternalVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsExternalVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1267} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1321} } func (x *TestIamPermissionsExternalVpnGatewayRequest) GetProject() string { @@ -121592,7 +127060,7 @@ type TestIamPermissionsFirewallPolicyRequest struct { func (x *TestIamPermissionsFirewallPolicyRequest) Reset() { *x = TestIamPermissionsFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1268] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121605,7 +127073,7 @@ func (x *TestIamPermissionsFirewallPolicyRequest) String() string { func (*TestIamPermissionsFirewallPolicyRequest) ProtoMessage() {} func (x *TestIamPermissionsFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1268] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1322] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121618,7 +127086,7 @@ func (x *TestIamPermissionsFirewallPolicyRequest) ProtoReflect() protoreflect.Me // Deprecated: Use TestIamPermissionsFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1268} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1322} } func (x *TestIamPermissionsFirewallPolicyRequest) GetResource() string { @@ -121652,7 +127120,7 @@ type TestIamPermissionsImageRequest struct { func (x *TestIamPermissionsImageRequest) Reset() { *x = TestIamPermissionsImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1269] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121665,7 +127133,7 @@ func (x *TestIamPermissionsImageRequest) String() string { func (*TestIamPermissionsImageRequest) ProtoMessage() {} func (x *TestIamPermissionsImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1269] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1323] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121678,7 +127146,7 @@ func (x *TestIamPermissionsImageRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TestIamPermissionsImageRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1269} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1323} } func (x *TestIamPermissionsImageRequest) GetProject() string { @@ -121721,7 +127189,7 @@ type TestIamPermissionsInstanceRequest struct { func (x *TestIamPermissionsInstanceRequest) Reset() { *x = TestIamPermissionsInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1270] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121734,7 +127202,7 @@ func (x *TestIamPermissionsInstanceRequest) String() string { func (*TestIamPermissionsInstanceRequest) ProtoMessage() {} func (x *TestIamPermissionsInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1270] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1324] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121747,7 +127215,7 @@ func (x *TestIamPermissionsInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use TestIamPermissionsInstanceRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1270} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1324} } func (x *TestIamPermissionsInstanceRequest) GetProject() string { @@ -121795,7 +127263,7 @@ type TestIamPermissionsInstanceTemplateRequest struct { func (x *TestIamPermissionsInstanceTemplateRequest) Reset() { *x = TestIamPermissionsInstanceTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1271] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121808,7 +127276,7 @@ func (x *TestIamPermissionsInstanceTemplateRequest) String() string { func (*TestIamPermissionsInstanceTemplateRequest) ProtoMessage() {} func (x *TestIamPermissionsInstanceTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1271] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1325] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121821,7 +127289,7 @@ func (x *TestIamPermissionsInstanceTemplateRequest) ProtoReflect() protoreflect. // Deprecated: Use TestIamPermissionsInstanceTemplateRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsInstanceTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1271} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1325} } func (x *TestIamPermissionsInstanceTemplateRequest) GetProject() string { @@ -121862,7 +127330,7 @@ type TestIamPermissionsLicenseCodeRequest struct { func (x *TestIamPermissionsLicenseCodeRequest) Reset() { *x = TestIamPermissionsLicenseCodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1272] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121875,7 +127343,7 @@ func (x *TestIamPermissionsLicenseCodeRequest) String() string { func (*TestIamPermissionsLicenseCodeRequest) ProtoMessage() {} func (x *TestIamPermissionsLicenseCodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1272] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1326] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121888,7 +127356,7 @@ func (x *TestIamPermissionsLicenseCodeRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use TestIamPermissionsLicenseCodeRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsLicenseCodeRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1272} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1326} } func (x *TestIamPermissionsLicenseCodeRequest) GetProject() string { @@ -121929,7 +127397,7 @@ type TestIamPermissionsLicenseRequest struct { func (x *TestIamPermissionsLicenseRequest) Reset() { *x = TestIamPermissionsLicenseRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1273] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -121942,7 +127410,7 @@ func (x *TestIamPermissionsLicenseRequest) String() string { func (*TestIamPermissionsLicenseRequest) ProtoMessage() {} func (x *TestIamPermissionsLicenseRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1273] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1327] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -121955,7 +127423,7 @@ func (x *TestIamPermissionsLicenseRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TestIamPermissionsLicenseRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsLicenseRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1273} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1327} } func (x *TestIamPermissionsLicenseRequest) GetProject() string { @@ -121996,7 +127464,7 @@ type TestIamPermissionsMachineImageRequest struct { func (x *TestIamPermissionsMachineImageRequest) Reset() { *x = TestIamPermissionsMachineImageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1274] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122009,7 +127477,7 @@ func (x *TestIamPermissionsMachineImageRequest) String() string { func (*TestIamPermissionsMachineImageRequest) ProtoMessage() {} func (x *TestIamPermissionsMachineImageRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1274] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1328] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122022,7 +127490,7 @@ func (x *TestIamPermissionsMachineImageRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use TestIamPermissionsMachineImageRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsMachineImageRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1274} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1328} } func (x *TestIamPermissionsMachineImageRequest) GetProject() string { @@ -122065,7 +127533,7 @@ type TestIamPermissionsNetworkAttachmentRequest struct { func (x *TestIamPermissionsNetworkAttachmentRequest) Reset() { *x = TestIamPermissionsNetworkAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1275] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122078,7 +127546,7 @@ func (x *TestIamPermissionsNetworkAttachmentRequest) String() string { func (*TestIamPermissionsNetworkAttachmentRequest) ProtoMessage() {} func (x *TestIamPermissionsNetworkAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1275] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1329] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122091,7 +127559,7 @@ func (x *TestIamPermissionsNetworkAttachmentRequest) ProtoReflect() protoreflect // Deprecated: Use TestIamPermissionsNetworkAttachmentRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsNetworkAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1275} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1329} } func (x *TestIamPermissionsNetworkAttachmentRequest) GetProject() string { @@ -122141,7 +127609,7 @@ type TestIamPermissionsNetworkEndpointGroupRequest struct { func (x *TestIamPermissionsNetworkEndpointGroupRequest) Reset() { *x = TestIamPermissionsNetworkEndpointGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1276] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122154,7 +127622,7 @@ func (x *TestIamPermissionsNetworkEndpointGroupRequest) String() string { func (*TestIamPermissionsNetworkEndpointGroupRequest) ProtoMessage() {} func (x *TestIamPermissionsNetworkEndpointGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1276] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1330] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122167,7 +127635,7 @@ func (x *TestIamPermissionsNetworkEndpointGroupRequest) ProtoReflect() protorefl // Deprecated: Use TestIamPermissionsNetworkEndpointGroupRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsNetworkEndpointGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1276} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1330} } func (x *TestIamPermissionsNetworkEndpointGroupRequest) GetProject() string { @@ -122215,7 +127683,7 @@ type TestIamPermissionsNetworkFirewallPolicyRequest struct { func (x *TestIamPermissionsNetworkFirewallPolicyRequest) Reset() { *x = TestIamPermissionsNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1277] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122228,7 +127696,7 @@ func (x *TestIamPermissionsNetworkFirewallPolicyRequest) String() string { func (*TestIamPermissionsNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *TestIamPermissionsNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1277] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1331] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122241,7 +127709,7 @@ func (x *TestIamPermissionsNetworkFirewallPolicyRequest) ProtoReflect() protoref // Deprecated: Use TestIamPermissionsNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1277} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1331} } func (x *TestIamPermissionsNetworkFirewallPolicyRequest) GetProject() string { @@ -122284,7 +127752,7 @@ type TestIamPermissionsNodeGroupRequest struct { func (x *TestIamPermissionsNodeGroupRequest) Reset() { *x = TestIamPermissionsNodeGroupRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1278] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1332] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122297,7 +127765,7 @@ func (x *TestIamPermissionsNodeGroupRequest) String() string { func (*TestIamPermissionsNodeGroupRequest) ProtoMessage() {} func (x *TestIamPermissionsNodeGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1278] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1332] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122310,7 +127778,7 @@ func (x *TestIamPermissionsNodeGroupRequest) ProtoReflect() protoreflect.Message // Deprecated: Use TestIamPermissionsNodeGroupRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsNodeGroupRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1278} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1332} } func (x *TestIamPermissionsNodeGroupRequest) GetProject() string { @@ -122360,7 +127828,7 @@ type TestIamPermissionsNodeTemplateRequest struct { func (x *TestIamPermissionsNodeTemplateRequest) Reset() { *x = TestIamPermissionsNodeTemplateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1279] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1333] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122373,7 +127841,7 @@ func (x *TestIamPermissionsNodeTemplateRequest) String() string { func (*TestIamPermissionsNodeTemplateRequest) ProtoMessage() {} func (x *TestIamPermissionsNodeTemplateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1279] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1333] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122386,7 +127854,7 @@ func (x *TestIamPermissionsNodeTemplateRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use TestIamPermissionsNodeTemplateRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsNodeTemplateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1279} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1333} } func (x *TestIamPermissionsNodeTemplateRequest) GetProject() string { @@ -122436,7 +127904,7 @@ type TestIamPermissionsPacketMirroringRequest struct { func (x *TestIamPermissionsPacketMirroringRequest) Reset() { *x = TestIamPermissionsPacketMirroringRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1280] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1334] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122449,7 +127917,7 @@ func (x *TestIamPermissionsPacketMirroringRequest) String() string { func (*TestIamPermissionsPacketMirroringRequest) ProtoMessage() {} func (x *TestIamPermissionsPacketMirroringRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1280] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1334] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122462,7 +127930,7 @@ func (x *TestIamPermissionsPacketMirroringRequest) ProtoReflect() protoreflect.M // Deprecated: Use TestIamPermissionsPacketMirroringRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsPacketMirroringRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1280} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1334} } func (x *TestIamPermissionsPacketMirroringRequest) GetProject() string { @@ -122493,6 +127961,82 @@ func (x *TestIamPermissionsPacketMirroringRequest) GetTestPermissionsRequestReso return nil } +// A request message for RegionBackendServices.TestIamPermissions. See the method description for details. +type TestIamPermissionsRegionBackendServiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the region for this request. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // Name or id of the resource for this request. + Resource string `protobuf:"bytes,195806222,opt,name=resource,proto3" json:"resource,omitempty"` + // The body resource for this request + TestPermissionsRequestResource *TestPermissionsRequest `protobuf:"bytes,439214758,opt,name=test_permissions_request_resource,json=testPermissionsRequestResource,proto3" json:"test_permissions_request_resource,omitempty"` +} + +func (x *TestIamPermissionsRegionBackendServiceRequest) Reset() { + *x = TestIamPermissionsRegionBackendServiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1335] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsRegionBackendServiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsRegionBackendServiceRequest) ProtoMessage() {} + +func (x *TestIamPermissionsRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1335] + 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 TestIamPermissionsRegionBackendServiceRequest.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsRegionBackendServiceRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1335} +} + +func (x *TestIamPermissionsRegionBackendServiceRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *TestIamPermissionsRegionBackendServiceRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *TestIamPermissionsRegionBackendServiceRequest) GetResource() string { + if x != nil { + return x.Resource + } + return "" +} + +func (x *TestIamPermissionsRegionBackendServiceRequest) GetTestPermissionsRequestResource() *TestPermissionsRequest { + if x != nil { + return x.TestPermissionsRequestResource + } + return nil +} + // A request message for RegionDisks.TestIamPermissions. See the method description for details. type TestIamPermissionsRegionDiskRequest struct { state protoimpl.MessageState @@ -122512,7 +128056,7 @@ type TestIamPermissionsRegionDiskRequest struct { func (x *TestIamPermissionsRegionDiskRequest) Reset() { *x = TestIamPermissionsRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1281] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1336] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122525,7 +128069,7 @@ func (x *TestIamPermissionsRegionDiskRequest) String() string { func (*TestIamPermissionsRegionDiskRequest) ProtoMessage() {} func (x *TestIamPermissionsRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1281] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1336] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122538,7 +128082,7 @@ func (x *TestIamPermissionsRegionDiskRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use TestIamPermissionsRegionDiskRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1281} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1336} } func (x *TestIamPermissionsRegionDiskRequest) GetProject() string { @@ -122588,7 +128132,7 @@ type TestIamPermissionsRegionNetworkFirewallPolicyRequest struct { func (x *TestIamPermissionsRegionNetworkFirewallPolicyRequest) Reset() { *x = TestIamPermissionsRegionNetworkFirewallPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1282] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1337] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122601,7 +128145,7 @@ func (x *TestIamPermissionsRegionNetworkFirewallPolicyRequest) String() string { func (*TestIamPermissionsRegionNetworkFirewallPolicyRequest) ProtoMessage() {} func (x *TestIamPermissionsRegionNetworkFirewallPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1282] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1337] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122614,7 +128158,7 @@ func (x *TestIamPermissionsRegionNetworkFirewallPolicyRequest) ProtoReflect() pr // Deprecated: Use TestIamPermissionsRegionNetworkFirewallPolicyRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsRegionNetworkFirewallPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1282} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1337} } func (x *TestIamPermissionsRegionNetworkFirewallPolicyRequest) GetProject() string { @@ -122664,7 +128208,7 @@ type TestIamPermissionsReservationRequest struct { func (x *TestIamPermissionsReservationRequest) Reset() { *x = TestIamPermissionsReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1283] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1338] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122677,7 +128221,7 @@ func (x *TestIamPermissionsReservationRequest) String() string { func (*TestIamPermissionsReservationRequest) ProtoMessage() {} func (x *TestIamPermissionsReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1283] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1338] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122690,7 +128234,7 @@ func (x *TestIamPermissionsReservationRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use TestIamPermissionsReservationRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1283} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1338} } func (x *TestIamPermissionsReservationRequest) GetProject() string { @@ -122740,7 +128284,7 @@ type TestIamPermissionsResourcePolicyRequest struct { func (x *TestIamPermissionsResourcePolicyRequest) Reset() { *x = TestIamPermissionsResourcePolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1284] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1339] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122753,7 +128297,7 @@ func (x *TestIamPermissionsResourcePolicyRequest) String() string { func (*TestIamPermissionsResourcePolicyRequest) ProtoMessage() {} func (x *TestIamPermissionsResourcePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1284] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1339] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122766,7 +128310,7 @@ func (x *TestIamPermissionsResourcePolicyRequest) ProtoReflect() protoreflect.Me // Deprecated: Use TestIamPermissionsResourcePolicyRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsResourcePolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1284} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1339} } func (x *TestIamPermissionsResourcePolicyRequest) GetProject() string { @@ -122816,7 +128360,7 @@ type TestIamPermissionsServiceAttachmentRequest struct { func (x *TestIamPermissionsServiceAttachmentRequest) Reset() { *x = TestIamPermissionsServiceAttachmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1285] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1340] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122829,7 +128373,7 @@ func (x *TestIamPermissionsServiceAttachmentRequest) String() string { func (*TestIamPermissionsServiceAttachmentRequest) ProtoMessage() {} func (x *TestIamPermissionsServiceAttachmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1285] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1340] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122842,7 +128386,7 @@ func (x *TestIamPermissionsServiceAttachmentRequest) ProtoReflect() protoreflect // Deprecated: Use TestIamPermissionsServiceAttachmentRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsServiceAttachmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1285} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1340} } func (x *TestIamPermissionsServiceAttachmentRequest) GetProject() string { @@ -122890,7 +128434,7 @@ type TestIamPermissionsSnapshotRequest struct { func (x *TestIamPermissionsSnapshotRequest) Reset() { *x = TestIamPermissionsSnapshotRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1286] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1341] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122903,7 +128447,7 @@ func (x *TestIamPermissionsSnapshotRequest) String() string { func (*TestIamPermissionsSnapshotRequest) ProtoMessage() {} func (x *TestIamPermissionsSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1286] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1341] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122916,7 +128460,7 @@ func (x *TestIamPermissionsSnapshotRequest) ProtoReflect() protoreflect.Message // Deprecated: Use TestIamPermissionsSnapshotRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsSnapshotRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1286} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1341} } func (x *TestIamPermissionsSnapshotRequest) GetProject() string { @@ -122959,7 +128503,7 @@ type TestIamPermissionsSubnetworkRequest struct { func (x *TestIamPermissionsSubnetworkRequest) Reset() { *x = TestIamPermissionsSubnetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1287] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1342] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122972,7 +128516,7 @@ func (x *TestIamPermissionsSubnetworkRequest) String() string { func (*TestIamPermissionsSubnetworkRequest) ProtoMessage() {} func (x *TestIamPermissionsSubnetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1287] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1342] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -122985,7 +128529,7 @@ func (x *TestIamPermissionsSubnetworkRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use TestIamPermissionsSubnetworkRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsSubnetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1287} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1342} } func (x *TestIamPermissionsSubnetworkRequest) GetProject() string { @@ -123035,7 +128579,7 @@ type TestIamPermissionsVpnGatewayRequest struct { func (x *TestIamPermissionsVpnGatewayRequest) Reset() { *x = TestIamPermissionsVpnGatewayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1288] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1343] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123048,7 +128592,7 @@ func (x *TestIamPermissionsVpnGatewayRequest) String() string { func (*TestIamPermissionsVpnGatewayRequest) ProtoMessage() {} func (x *TestIamPermissionsVpnGatewayRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1288] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1343] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123061,7 +128605,7 @@ func (x *TestIamPermissionsVpnGatewayRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use TestIamPermissionsVpnGatewayRequest.ProtoReflect.Descriptor instead. func (*TestIamPermissionsVpnGatewayRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1288} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1343} } func (x *TestIamPermissionsVpnGatewayRequest) GetProject() string { @@ -123104,7 +128648,7 @@ type TestPermissionsRequest struct { func (x *TestPermissionsRequest) Reset() { *x = TestPermissionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1289] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1344] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123117,7 +128661,7 @@ func (x *TestPermissionsRequest) String() string { func (*TestPermissionsRequest) ProtoMessage() {} func (x *TestPermissionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1289] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1344] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123130,7 +128674,7 @@ func (x *TestPermissionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TestPermissionsRequest.ProtoReflect.Descriptor instead. func (*TestPermissionsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1289} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1344} } func (x *TestPermissionsRequest) GetPermissions() []string { @@ -123152,7 +128696,7 @@ type TestPermissionsResponse struct { func (x *TestPermissionsResponse) Reset() { *x = TestPermissionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1290] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1345] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123165,7 +128709,7 @@ func (x *TestPermissionsResponse) String() string { func (*TestPermissionsResponse) ProtoMessage() {} func (x *TestPermissionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1290] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1345] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123178,7 +128722,7 @@ func (x *TestPermissionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TestPermissionsResponse.ProtoReflect.Descriptor instead. func (*TestPermissionsResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1290} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1345} } func (x *TestPermissionsResponse) GetPermissions() []string { @@ -123200,7 +128744,7 @@ type Uint128 struct { func (x *Uint128) Reset() { *x = Uint128{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1291] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1346] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123213,7 +128757,7 @@ func (x *Uint128) String() string { func (*Uint128) ProtoMessage() {} func (x *Uint128) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1291] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1346] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123226,7 +128770,7 @@ func (x *Uint128) ProtoReflect() protoreflect.Message { // Deprecated: Use Uint128.ProtoReflect.Descriptor instead. func (*Uint128) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1291} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1346} } func (x *Uint128) GetHigh() uint64 { @@ -123243,6 +128787,101 @@ func (x *Uint128) GetLow() uint64 { return 0 } +// Upcoming Maintenance notification information. +type UpcomingMaintenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Indicates if the maintenance can be customer triggered. + CanReschedule *bool `protobuf:"varint,95981977,opt,name=can_reschedule,json=canReschedule,proto3,oneof" json:"can_reschedule,omitempty"` + // The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format. + LatestWindowStartTime *string `protobuf:"bytes,128032129,opt,name=latest_window_start_time,json=latestWindowStartTime,proto3,oneof" json:"latest_window_start_time,omitempty"` + // Check the MaintenanceStatus enum for the list of possible values. + MaintenanceStatus *string `protobuf:"bytes,81645214,opt,name=maintenance_status,json=maintenanceStatus,proto3,oneof" json:"maintenance_status,omitempty"` + // Defines the type of maintenance. + // Check the Type enum for the list of possible values. + Type *string `protobuf:"bytes,3575610,opt,name=type,proto3,oneof" json:"type,omitempty"` + // The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format. + WindowEndTime *string `protobuf:"bytes,271816480,opt,name=window_end_time,json=windowEndTime,proto3,oneof" json:"window_end_time,omitempty"` + // The current start time of the maintenance window. This timestamp value is in RFC3339 text format. + WindowStartTime *string `protobuf:"bytes,473061433,opt,name=window_start_time,json=windowStartTime,proto3,oneof" json:"window_start_time,omitempty"` +} + +func (x *UpcomingMaintenance) Reset() { + *x = UpcomingMaintenance{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1347] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpcomingMaintenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpcomingMaintenance) ProtoMessage() {} + +func (x *UpcomingMaintenance) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1347] + 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 UpcomingMaintenance.ProtoReflect.Descriptor instead. +func (*UpcomingMaintenance) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1347} +} + +func (x *UpcomingMaintenance) GetCanReschedule() bool { + if x != nil && x.CanReschedule != nil { + return *x.CanReschedule + } + return false +} + +func (x *UpcomingMaintenance) GetLatestWindowStartTime() string { + if x != nil && x.LatestWindowStartTime != nil { + return *x.LatestWindowStartTime + } + return "" +} + +func (x *UpcomingMaintenance) GetMaintenanceStatus() string { + if x != nil && x.MaintenanceStatus != nil { + return *x.MaintenanceStatus + } + return "" +} + +func (x *UpcomingMaintenance) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} + +func (x *UpcomingMaintenance) GetWindowEndTime() string { + if x != nil && x.WindowEndTime != nil { + return *x.WindowEndTime + } + return "" +} + +func (x *UpcomingMaintenance) GetWindowStartTime() string { + if x != nil && x.WindowStartTime != nil { + return *x.WindowStartTime + } + return "" +} + // A request message for Instances.UpdateAccessConfig. See the method description for details. type UpdateAccessConfigInstanceRequest struct { state protoimpl.MessageState @@ -123266,7 +128905,7 @@ type UpdateAccessConfigInstanceRequest struct { func (x *UpdateAccessConfigInstanceRequest) Reset() { *x = UpdateAccessConfigInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1292] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1348] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123279,7 +128918,7 @@ func (x *UpdateAccessConfigInstanceRequest) String() string { func (*UpdateAccessConfigInstanceRequest) ProtoMessage() {} func (x *UpdateAccessConfigInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1292] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1348] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123292,7 +128931,7 @@ func (x *UpdateAccessConfigInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateAccessConfigInstanceRequest.ProtoReflect.Descriptor instead. func (*UpdateAccessConfigInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1292} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1348} } func (x *UpdateAccessConfigInstanceRequest) GetAccessConfigResource() *AccessConfig { @@ -123358,7 +128997,7 @@ type UpdateAutoscalerRequest struct { func (x *UpdateAutoscalerRequest) Reset() { *x = UpdateAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1293] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1349] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123371,7 +129010,7 @@ func (x *UpdateAutoscalerRequest) String() string { func (*UpdateAutoscalerRequest) ProtoMessage() {} func (x *UpdateAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1293] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1349] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123384,7 +129023,7 @@ func (x *UpdateAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAutoscalerRequest.ProtoReflect.Descriptor instead. func (*UpdateAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1293} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1349} } func (x *UpdateAutoscalerRequest) GetAutoscaler() string { @@ -123441,7 +129080,7 @@ type UpdateBackendBucketRequest struct { func (x *UpdateBackendBucketRequest) Reset() { *x = UpdateBackendBucketRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1294] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1350] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123454,7 +129093,7 @@ func (x *UpdateBackendBucketRequest) String() string { func (*UpdateBackendBucketRequest) ProtoMessage() {} func (x *UpdateBackendBucketRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1294] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1350] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123467,7 +129106,7 @@ func (x *UpdateBackendBucketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBackendBucketRequest.ProtoReflect.Descriptor instead. func (*UpdateBackendBucketRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1294} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1350} } func (x *UpdateBackendBucketRequest) GetBackendBucket() string { @@ -123517,7 +129156,7 @@ type UpdateBackendServiceRequest struct { func (x *UpdateBackendServiceRequest) Reset() { *x = UpdateBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1295] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1351] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123530,7 +129169,7 @@ func (x *UpdateBackendServiceRequest) String() string { func (*UpdateBackendServiceRequest) ProtoMessage() {} func (x *UpdateBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1295] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1351] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123543,7 +129182,7 @@ func (x *UpdateBackendServiceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateBackendServiceRequest.ProtoReflect.Descriptor instead. func (*UpdateBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1295} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1351} } func (x *UpdateBackendServiceRequest) GetBackendService() string { @@ -123598,7 +129237,7 @@ type UpdateDiskRequest struct { func (x *UpdateDiskRequest) Reset() { *x = UpdateDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1296] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1352] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123611,7 +129250,7 @@ func (x *UpdateDiskRequest) String() string { func (*UpdateDiskRequest) ProtoMessage() {} func (x *UpdateDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1296] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1352] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123624,7 +129263,7 @@ func (x *UpdateDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDiskRequest.ProtoReflect.Descriptor instead. func (*UpdateDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1296} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1352} } func (x *UpdateDiskRequest) GetDisk() string { @@ -123697,7 +129336,7 @@ type UpdateDisplayDeviceInstanceRequest struct { func (x *UpdateDisplayDeviceInstanceRequest) Reset() { *x = UpdateDisplayDeviceInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1297] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1353] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123710,7 +129349,7 @@ func (x *UpdateDisplayDeviceInstanceRequest) String() string { func (*UpdateDisplayDeviceInstanceRequest) ProtoMessage() {} func (x *UpdateDisplayDeviceInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1297] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1353] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123723,7 +129362,7 @@ func (x *UpdateDisplayDeviceInstanceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateDisplayDeviceInstanceRequest.ProtoReflect.Descriptor instead. func (*UpdateDisplayDeviceInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1297} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1353} } func (x *UpdateDisplayDeviceInstanceRequest) GetDisplayDeviceResource() *DisplayDevice { @@ -123780,7 +129419,7 @@ type UpdateFirewallRequest struct { func (x *UpdateFirewallRequest) Reset() { *x = UpdateFirewallRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1298] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1354] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123793,7 +129432,7 @@ func (x *UpdateFirewallRequest) String() string { func (*UpdateFirewallRequest) ProtoMessage() {} func (x *UpdateFirewallRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1298] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1354] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123806,7 +129445,7 @@ func (x *UpdateFirewallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateFirewallRequest.ProtoReflect.Descriptor instead. func (*UpdateFirewallRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1298} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1354} } func (x *UpdateFirewallRequest) GetFirewall() string { @@ -123856,7 +129495,7 @@ type UpdateHealthCheckRequest struct { func (x *UpdateHealthCheckRequest) Reset() { *x = UpdateHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1299] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1355] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123869,7 +129508,7 @@ func (x *UpdateHealthCheckRequest) String() string { func (*UpdateHealthCheckRequest) ProtoMessage() {} func (x *UpdateHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1299] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1355] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123882,7 +129521,7 @@ func (x *UpdateHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateHealthCheckRequest.ProtoReflect.Descriptor instead. func (*UpdateHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1299} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1355} } func (x *UpdateHealthCheckRequest) GetHealthCheck() string { @@ -123940,7 +129579,7 @@ type UpdateInstanceRequest struct { func (x *UpdateInstanceRequest) Reset() { *x = UpdateInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1300] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1356] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -123953,7 +129592,7 @@ func (x *UpdateInstanceRequest) String() string { func (*UpdateInstanceRequest) ProtoMessage() {} func (x *UpdateInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1300] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1356] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -123966,7 +129605,7 @@ func (x *UpdateInstanceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateInstanceRequest.ProtoReflect.Descriptor instead. func (*UpdateInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1300} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1356} } func (x *UpdateInstanceRequest) GetInstance() string { @@ -124041,7 +129680,7 @@ type UpdateNetworkInterfaceInstanceRequest struct { func (x *UpdateNetworkInterfaceInstanceRequest) Reset() { *x = UpdateNetworkInterfaceInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1301] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1357] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124054,7 +129693,7 @@ func (x *UpdateNetworkInterfaceInstanceRequest) String() string { func (*UpdateNetworkInterfaceInstanceRequest) ProtoMessage() {} func (x *UpdateNetworkInterfaceInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1301] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1357] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124067,7 +129706,7 @@ func (x *UpdateNetworkInterfaceInstanceRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use UpdateNetworkInterfaceInstanceRequest.ProtoReflect.Descriptor instead. func (*UpdateNetworkInterfaceInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1301} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1357} } func (x *UpdateNetworkInterfaceInstanceRequest) GetInstance() string { @@ -124131,7 +129770,7 @@ type UpdatePeeringNetworkRequest struct { func (x *UpdatePeeringNetworkRequest) Reset() { *x = UpdatePeeringNetworkRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1302] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1358] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124144,7 +129783,7 @@ func (x *UpdatePeeringNetworkRequest) String() string { func (*UpdatePeeringNetworkRequest) ProtoMessage() {} func (x *UpdatePeeringNetworkRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1302] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1358] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124157,7 +129796,7 @@ func (x *UpdatePeeringNetworkRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdatePeeringNetworkRequest.ProtoReflect.Descriptor instead. func (*UpdatePeeringNetworkRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1302} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1358} } func (x *UpdatePeeringNetworkRequest) GetNetwork() string { @@ -124209,7 +129848,7 @@ type UpdatePerInstanceConfigsInstanceGroupManagerRequest struct { func (x *UpdatePerInstanceConfigsInstanceGroupManagerRequest) Reset() { *x = UpdatePerInstanceConfigsInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1303] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1359] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124222,7 +129861,7 @@ func (x *UpdatePerInstanceConfigsInstanceGroupManagerRequest) String() string { func (*UpdatePerInstanceConfigsInstanceGroupManagerRequest) ProtoMessage() {} func (x *UpdatePerInstanceConfigsInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1303] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1359] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124235,7 +129874,7 @@ func (x *UpdatePerInstanceConfigsInstanceGroupManagerRequest) ProtoReflect() pro // Deprecated: Use UpdatePerInstanceConfigsInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*UpdatePerInstanceConfigsInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1303} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1359} } func (x *UpdatePerInstanceConfigsInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -124294,7 +129933,7 @@ type UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest struct { func (x *UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) Reset() { *x = UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1304] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1360] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124307,7 +129946,7 @@ func (x *UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) String() str func (*UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoMessage() {} func (x *UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1304] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1360] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124320,7 +129959,7 @@ func (x *UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) ProtoReflect // Deprecated: Use UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest.ProtoReflect.Descriptor instead. func (*UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1304} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1360} } func (x *UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest) GetInstanceGroupManager() string { @@ -124379,7 +130018,7 @@ type UpdateRegionAutoscalerRequest struct { func (x *UpdateRegionAutoscalerRequest) Reset() { *x = UpdateRegionAutoscalerRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1305] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1361] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124392,7 +130031,7 @@ func (x *UpdateRegionAutoscalerRequest) String() string { func (*UpdateRegionAutoscalerRequest) ProtoMessage() {} func (x *UpdateRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1305] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1361] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124405,7 +130044,7 @@ func (x *UpdateRegionAutoscalerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRegionAutoscalerRequest.ProtoReflect.Descriptor instead. func (*UpdateRegionAutoscalerRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1305} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1361} } func (x *UpdateRegionAutoscalerRequest) GetAutoscaler() string { @@ -124464,7 +130103,7 @@ type UpdateRegionBackendServiceRequest struct { func (x *UpdateRegionBackendServiceRequest) Reset() { *x = UpdateRegionBackendServiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1306] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1362] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124477,7 +130116,7 @@ func (x *UpdateRegionBackendServiceRequest) String() string { func (*UpdateRegionBackendServiceRequest) ProtoMessage() {} func (x *UpdateRegionBackendServiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1306] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1362] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124490,7 +130129,7 @@ func (x *UpdateRegionBackendServiceRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateRegionBackendServiceRequest.ProtoReflect.Descriptor instead. func (*UpdateRegionBackendServiceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1306} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1362} } func (x *UpdateRegionBackendServiceRequest) GetBackendService() string { @@ -124552,7 +130191,7 @@ type UpdateRegionCommitmentRequest struct { func (x *UpdateRegionCommitmentRequest) Reset() { *x = UpdateRegionCommitmentRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1307] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1363] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124565,7 +130204,7 @@ func (x *UpdateRegionCommitmentRequest) String() string { func (*UpdateRegionCommitmentRequest) ProtoMessage() {} func (x *UpdateRegionCommitmentRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1307] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1363] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124578,7 +130217,7 @@ func (x *UpdateRegionCommitmentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRegionCommitmentRequest.ProtoReflect.Descriptor instead. func (*UpdateRegionCommitmentRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1307} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1363} } func (x *UpdateRegionCommitmentRequest) GetCommitment() string { @@ -124654,7 +130293,7 @@ type UpdateRegionDiskRequest struct { func (x *UpdateRegionDiskRequest) Reset() { *x = UpdateRegionDiskRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1308] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1364] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124667,7 +130306,7 @@ func (x *UpdateRegionDiskRequest) String() string { func (*UpdateRegionDiskRequest) ProtoMessage() {} func (x *UpdateRegionDiskRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1308] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1364] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124680,7 +130319,7 @@ func (x *UpdateRegionDiskRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRegionDiskRequest.ProtoReflect.Descriptor instead. func (*UpdateRegionDiskRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1308} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1364} } func (x *UpdateRegionDiskRequest) GetDisk() string { @@ -124753,7 +130392,7 @@ type UpdateRegionHealthCheckRequest struct { func (x *UpdateRegionHealthCheckRequest) Reset() { *x = UpdateRegionHealthCheckRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1309] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1365] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124766,7 +130405,7 @@ func (x *UpdateRegionHealthCheckRequest) String() string { func (*UpdateRegionHealthCheckRequest) ProtoMessage() {} func (x *UpdateRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1309] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1365] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124779,7 +130418,7 @@ func (x *UpdateRegionHealthCheckRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRegionHealthCheckRequest.ProtoReflect.Descriptor instead. func (*UpdateRegionHealthCheckRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1309} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1365} } func (x *UpdateRegionHealthCheckRequest) GetHealthCheck() string { @@ -124838,7 +130477,7 @@ type UpdateRegionUrlMapRequest struct { func (x *UpdateRegionUrlMapRequest) Reset() { *x = UpdateRegionUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1310] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1366] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124851,7 +130490,7 @@ func (x *UpdateRegionUrlMapRequest) String() string { func (*UpdateRegionUrlMapRequest) ProtoMessage() {} func (x *UpdateRegionUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1310] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1366] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124864,7 +130503,7 @@ func (x *UpdateRegionUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRegionUrlMapRequest.ProtoReflect.Descriptor instead. func (*UpdateRegionUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1310} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1366} } func (x *UpdateRegionUrlMapRequest) GetProject() string { @@ -124926,7 +130565,7 @@ type UpdateReservationRequest struct { func (x *UpdateReservationRequest) Reset() { *x = UpdateReservationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1311] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1367] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -124939,7 +130578,7 @@ func (x *UpdateReservationRequest) String() string { func (*UpdateReservationRequest) ProtoMessage() {} func (x *UpdateReservationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1311] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1367] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -124952,7 +130591,7 @@ func (x *UpdateReservationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateReservationRequest.ProtoReflect.Descriptor instead. func (*UpdateReservationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1311} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1367} } func (x *UpdateReservationRequest) GetPaths() string { @@ -125025,7 +130664,7 @@ type UpdateRouterRequest struct { func (x *UpdateRouterRequest) Reset() { *x = UpdateRouterRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1312] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1368] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125038,7 +130677,7 @@ func (x *UpdateRouterRequest) String() string { func (*UpdateRouterRequest) ProtoMessage() {} func (x *UpdateRouterRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1312] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1368] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125051,7 +130690,7 @@ func (x *UpdateRouterRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRouterRequest.ProtoReflect.Descriptor instead. func (*UpdateRouterRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1312} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1368} } func (x *UpdateRouterRequest) GetProject() string { @@ -125110,7 +130749,7 @@ type UpdateShieldedInstanceConfigInstanceRequest struct { func (x *UpdateShieldedInstanceConfigInstanceRequest) Reset() { *x = UpdateShieldedInstanceConfigInstanceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1313] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1369] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125123,7 +130762,7 @@ func (x *UpdateShieldedInstanceConfigInstanceRequest) String() string { func (*UpdateShieldedInstanceConfigInstanceRequest) ProtoMessage() {} func (x *UpdateShieldedInstanceConfigInstanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1313] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1369] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125136,7 +130775,7 @@ func (x *UpdateShieldedInstanceConfigInstanceRequest) ProtoReflect() protoreflec // Deprecated: Use UpdateShieldedInstanceConfigInstanceRequest.ProtoReflect.Descriptor instead. func (*UpdateShieldedInstanceConfigInstanceRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1313} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1369} } func (x *UpdateShieldedInstanceConfigInstanceRequest) GetInstance() string { @@ -125193,7 +130832,7 @@ type UpdateUrlMapRequest struct { func (x *UpdateUrlMapRequest) Reset() { *x = UpdateUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1314] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1370] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125206,7 +130845,7 @@ func (x *UpdateUrlMapRequest) String() string { func (*UpdateUrlMapRequest) ProtoMessage() {} func (x *UpdateUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1314] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1370] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125219,7 +130858,7 @@ func (x *UpdateUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateUrlMapRequest.ProtoReflect.Descriptor instead. func (*UpdateUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1314} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1370} } func (x *UpdateUrlMapRequest) GetProject() string { @@ -125250,7 +130889,7 @@ func (x *UpdateUrlMapRequest) GetUrlMapResource() *UrlMap { return nil } -// Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by external HTTP(S) load balancers and Traffic Director. * regionUrlMaps are used by internal HTTP(S) load balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. +// Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. type UrlMap struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -125258,7 +130897,7 @@ type UrlMap struct { // [Output Only] Creation timestamp in RFC3339 text format. CreationTimestamp *string `protobuf:"bytes,30525366,opt,name=creation_timestamp,json=creationTimestamp,proto3,oneof" json:"creation_timestamp,omitempty"` - // defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for Classic external HTTP(S) load balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + // defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. DefaultRouteAction *HttpRouteAction `protobuf:"bytes,378919466,opt,name=default_route_action,json=defaultRouteAction,proto3,oneof" json:"default_route_action,omitempty"` // The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of defaultService, defaultUrlRedirect , or defaultRouteAction.weightedBackendService must be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. DefaultService *string `protobuf:"bytes,370242231,opt,name=default_service,json=defaultService,proto3,oneof" json:"default_service,omitempty"` @@ -125291,7 +130930,7 @@ type UrlMap struct { func (x *UrlMap) Reset() { *x = UrlMap{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1315] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1371] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125304,7 +130943,7 @@ func (x *UrlMap) String() string { func (*UrlMap) ProtoMessage() {} func (x *UrlMap) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1315] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1371] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125317,7 +130956,7 @@ func (x *UrlMap) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMap.ProtoReflect.Descriptor instead. func (*UrlMap) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1315} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1371} } func (x *UrlMap) GetCreationTimestamp() string { @@ -125448,7 +131087,7 @@ type UrlMapList struct { func (x *UrlMapList) Reset() { *x = UrlMapList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1316] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1372] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125461,7 +131100,7 @@ func (x *UrlMapList) String() string { func (*UrlMapList) ProtoMessage() {} func (x *UrlMapList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1316] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1372] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125474,7 +131113,7 @@ func (x *UrlMapList) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapList.ProtoReflect.Descriptor instead. func (*UrlMapList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1316} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1372} } func (x *UrlMapList) GetId() string { @@ -125530,7 +131169,7 @@ type UrlMapReference struct { func (x *UrlMapReference) Reset() { *x = UrlMapReference{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1317] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1373] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125543,7 +131182,7 @@ func (x *UrlMapReference) String() string { func (*UrlMapReference) ProtoMessage() {} func (x *UrlMapReference) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1317] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1373] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125556,7 +131195,7 @@ func (x *UrlMapReference) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapReference.ProtoReflect.Descriptor instead. func (*UrlMapReference) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1317} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1373} } func (x *UrlMapReference) GetUrlMap() string { @@ -125591,7 +131230,7 @@ type UrlMapTest struct { func (x *UrlMapTest) Reset() { *x = UrlMapTest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1318] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1374] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125604,7 +131243,7 @@ func (x *UrlMapTest) String() string { func (*UrlMapTest) ProtoMessage() {} func (x *UrlMapTest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1318] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1374] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125617,7 +131256,7 @@ func (x *UrlMapTest) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapTest.ProtoReflect.Descriptor instead. func (*UrlMapTest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1318} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1374} } func (x *UrlMapTest) GetDescription() string { @@ -125684,7 +131323,7 @@ type UrlMapTestHeader struct { func (x *UrlMapTestHeader) Reset() { *x = UrlMapTestHeader{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1319] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1375] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125697,7 +131336,7 @@ func (x *UrlMapTestHeader) String() string { func (*UrlMapTestHeader) ProtoMessage() {} func (x *UrlMapTestHeader) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1319] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1375] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125710,7 +131349,7 @@ func (x *UrlMapTestHeader) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapTestHeader.ProtoReflect.Descriptor instead. func (*UrlMapTestHeader) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1319} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1375} } func (x *UrlMapTestHeader) GetName() string { @@ -125744,7 +131383,7 @@ type UrlMapValidationResult struct { func (x *UrlMapValidationResult) Reset() { *x = UrlMapValidationResult{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1320] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1376] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125757,7 +131396,7 @@ func (x *UrlMapValidationResult) String() string { func (*UrlMapValidationResult) ProtoMessage() {} func (x *UrlMapValidationResult) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1320] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1376] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125770,7 +131409,7 @@ func (x *UrlMapValidationResult) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapValidationResult.ProtoReflect.Descriptor instead. func (*UrlMapValidationResult) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1320} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1376} } func (x *UrlMapValidationResult) GetLoadErrors() []string { @@ -125825,7 +131464,7 @@ type UrlMapsAggregatedList struct { func (x *UrlMapsAggregatedList) Reset() { *x = UrlMapsAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1321] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1377] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125838,7 +131477,7 @@ func (x *UrlMapsAggregatedList) String() string { func (*UrlMapsAggregatedList) ProtoMessage() {} func (x *UrlMapsAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1321] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1377] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125851,7 +131490,7 @@ func (x *UrlMapsAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapsAggregatedList.ProtoReflect.Descriptor instead. func (*UrlMapsAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1321} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1377} } func (x *UrlMapsAggregatedList) GetId() string { @@ -125917,7 +131556,7 @@ type UrlMapsScopedList struct { func (x *UrlMapsScopedList) Reset() { *x = UrlMapsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1322] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1378] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125930,7 +131569,7 @@ func (x *UrlMapsScopedList) String() string { func (*UrlMapsScopedList) ProtoMessage() {} func (x *UrlMapsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1322] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1378] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -125943,7 +131582,7 @@ func (x *UrlMapsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapsScopedList.ProtoReflect.Descriptor instead. func (*UrlMapsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1322} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1378} } func (x *UrlMapsScopedList) GetUrlMaps() []*UrlMap { @@ -125965,7 +131604,7 @@ type UrlMapsValidateRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for HTTP/HTTPS External Global Load Balancer with Advanced Traffic Management. Use EXTERNAL for Classic HTTP/HTTPS External Global Load Balancer. Other load balancer types are not supported. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references. + // Specifies the load balancer type(s) this validation request is for. Use EXTERNAL_MANAGED for global external Application Load Balancers and regional external Application Load Balancers. Use EXTERNAL for classic Application Load Balancers. Use INTERNAL_MANAGED for internal Application Load Balancers. For more information, refer to Choosing a load balancer. If unspecified, the load balancing scheme will be inferred from the backend service resources this URL map references. If that can not be inferred (for example, this URL map only references backend buckets, or this Url map is for rewrites and redirects only and doesn't reference any backends), EXTERNAL will be used as the default type. If specified, the scheme(s) must not conflict with the load balancing scheme of the backend service resources this Url map references. // Check the LoadBalancingSchemes enum for the list of possible values. LoadBalancingSchemes []string `protobuf:"bytes,6308527,rep,name=load_balancing_schemes,json=loadBalancingSchemes,proto3" json:"load_balancing_schemes,omitempty"` // Content of the UrlMap to be validated. @@ -125975,7 +131614,7 @@ type UrlMapsValidateRequest struct { func (x *UrlMapsValidateRequest) Reset() { *x = UrlMapsValidateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1323] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1379] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -125988,7 +131627,7 @@ func (x *UrlMapsValidateRequest) String() string { func (*UrlMapsValidateRequest) ProtoMessage() {} func (x *UrlMapsValidateRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1323] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1379] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126001,7 +131640,7 @@ func (x *UrlMapsValidateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapsValidateRequest.ProtoReflect.Descriptor instead. func (*UrlMapsValidateRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1323} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1379} } func (x *UrlMapsValidateRequest) GetLoadBalancingSchemes() []string { @@ -126029,7 +131668,7 @@ type UrlMapsValidateResponse struct { func (x *UrlMapsValidateResponse) Reset() { *x = UrlMapsValidateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1324] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1380] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126042,7 +131681,7 @@ func (x *UrlMapsValidateResponse) String() string { func (*UrlMapsValidateResponse) ProtoMessage() {} func (x *UrlMapsValidateResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1324] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1380] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126055,7 +131694,7 @@ func (x *UrlMapsValidateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlMapsValidateResponse.ProtoReflect.Descriptor instead. func (*UrlMapsValidateResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1324} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1380} } func (x *UrlMapsValidateResponse) GetResult() *UrlMapValidationResult { @@ -126075,14 +131714,14 @@ type UrlRewrite struct { HostRewrite *string `protobuf:"bytes,159819253,opt,name=host_rewrite,json=hostRewrite,proto3,oneof" json:"host_rewrite,omitempty"` // Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite. The value must be from 1 to 1024 characters. PathPrefixRewrite *string `protobuf:"bytes,41186361,opt,name=path_prefix_rewrite,json=pathPrefixRewrite,proto3,oneof" json:"path_prefix_rewrite,omitempty"` - // If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified. + // If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax. A corresponding path_template_match must be specified. Any template variables must exist in the path_template_match field. - -At least one variable must be specified in the path_template_match field - You can omit variables from the rewritten URL - The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}. For example, a path_template_match of /static/{format=**} could be rewritten as /static/content/{format} to prefix /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be rewritten as /content/{format}/{country}/{suffix}. At least one non-empty routeRules[].matchRules[].path_template_match is required. Only one of path_prefix_rewrite or path_template_rewrite may be specified. PathTemplateRewrite *string `protobuf:"bytes,423409569,opt,name=path_template_rewrite,json=pathTemplateRewrite,proto3,oneof" json:"path_template_rewrite,omitempty"` } func (x *UrlRewrite) Reset() { *x = UrlRewrite{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1325] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1381] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126095,7 +131734,7 @@ func (x *UrlRewrite) String() string { func (*UrlRewrite) ProtoMessage() {} func (x *UrlRewrite) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1325] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1381] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126108,7 +131747,7 @@ func (x *UrlRewrite) ProtoReflect() protoreflect.Message { // Deprecated: Use UrlRewrite.ProtoReflect.Descriptor instead. func (*UrlRewrite) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1325} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1381} } func (x *UrlRewrite) GetHostRewrite() string { @@ -126167,7 +131806,7 @@ type UsableSubnetwork struct { func (x *UsableSubnetwork) Reset() { *x = UsableSubnetwork{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1326] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1382] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126180,7 +131819,7 @@ func (x *UsableSubnetwork) String() string { func (*UsableSubnetwork) ProtoMessage() {} func (x *UsableSubnetwork) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1326] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1382] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126193,7 +131832,7 @@ func (x *UsableSubnetwork) ProtoReflect() protoreflect.Message { // Deprecated: Use UsableSubnetwork.ProtoReflect.Descriptor instead. func (*UsableSubnetwork) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1326} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1382} } func (x *UsableSubnetwork) GetExternalIpv6Prefix() string { @@ -126281,7 +131920,7 @@ type UsableSubnetworkSecondaryRange struct { func (x *UsableSubnetworkSecondaryRange) Reset() { *x = UsableSubnetworkSecondaryRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1327] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1383] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126294,7 +131933,7 @@ func (x *UsableSubnetworkSecondaryRange) String() string { func (*UsableSubnetworkSecondaryRange) ProtoMessage() {} func (x *UsableSubnetworkSecondaryRange) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1327] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1383] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126307,7 +131946,7 @@ func (x *UsableSubnetworkSecondaryRange) ProtoReflect() protoreflect.Message { // Deprecated: Use UsableSubnetworkSecondaryRange.ProtoReflect.Descriptor instead. func (*UsableSubnetworkSecondaryRange) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1327} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1383} } func (x *UsableSubnetworkSecondaryRange) GetIpCidrRange() string { @@ -126346,7 +131985,7 @@ type UsableSubnetworksAggregatedList struct { func (x *UsableSubnetworksAggregatedList) Reset() { *x = UsableSubnetworksAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1328] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1384] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126359,7 +131998,7 @@ func (x *UsableSubnetworksAggregatedList) String() string { func (*UsableSubnetworksAggregatedList) ProtoMessage() {} func (x *UsableSubnetworksAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1328] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1384] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126372,7 +132011,7 @@ func (x *UsableSubnetworksAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use UsableSubnetworksAggregatedList.ProtoReflect.Descriptor instead. func (*UsableSubnetworksAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1328} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1384} } func (x *UsableSubnetworksAggregatedList) GetId() string { @@ -126432,7 +132071,7 @@ type UsageExportLocation struct { func (x *UsageExportLocation) Reset() { *x = UsageExportLocation{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1329] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1385] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126445,7 +132084,7 @@ func (x *UsageExportLocation) String() string { func (*UsageExportLocation) ProtoMessage() {} func (x *UsageExportLocation) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1329] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1385] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126458,7 +132097,7 @@ func (x *UsageExportLocation) ProtoReflect() protoreflect.Message { // Deprecated: Use UsageExportLocation.ProtoReflect.Descriptor instead. func (*UsageExportLocation) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1329} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1385} } func (x *UsageExportLocation) GetBucketName() string { @@ -126494,7 +132133,7 @@ type ValidateRegionUrlMapRequest struct { func (x *ValidateRegionUrlMapRequest) Reset() { *x = ValidateRegionUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1330] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1386] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126507,7 +132146,7 @@ func (x *ValidateRegionUrlMapRequest) String() string { func (*ValidateRegionUrlMapRequest) ProtoMessage() {} func (x *ValidateRegionUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1330] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1386] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126520,7 +132159,7 @@ func (x *ValidateRegionUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateRegionUrlMapRequest.ProtoReflect.Descriptor instead. func (*ValidateRegionUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1330} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1386} } func (x *ValidateRegionUrlMapRequest) GetProject() string { @@ -126568,7 +132207,7 @@ type ValidateUrlMapRequest struct { func (x *ValidateUrlMapRequest) Reset() { *x = ValidateUrlMapRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1331] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1387] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126581,7 +132220,7 @@ func (x *ValidateUrlMapRequest) String() string { func (*ValidateUrlMapRequest) ProtoMessage() {} func (x *ValidateUrlMapRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1331] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1387] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126594,7 +132233,7 @@ func (x *ValidateUrlMapRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ValidateUrlMapRequest.ProtoReflect.Descriptor instead. func (*ValidateUrlMapRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1331} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1387} } func (x *ValidateUrlMapRequest) GetProject() string { @@ -126632,7 +132271,7 @@ type VmEndpointNatMappings struct { func (x *VmEndpointNatMappings) Reset() { *x = VmEndpointNatMappings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1332] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1388] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126645,7 +132284,7 @@ func (x *VmEndpointNatMappings) String() string { func (*VmEndpointNatMappings) ProtoMessage() {} func (x *VmEndpointNatMappings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1332] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1388] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126658,7 +132297,7 @@ func (x *VmEndpointNatMappings) ProtoReflect() protoreflect.Message { // Deprecated: Use VmEndpointNatMappings.ProtoReflect.Descriptor instead. func (*VmEndpointNatMappings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1332} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1388} } func (x *VmEndpointNatMappings) GetInstanceName() string { @@ -126700,7 +132339,7 @@ type VmEndpointNatMappingsInterfaceNatMappings struct { func (x *VmEndpointNatMappingsInterfaceNatMappings) Reset() { *x = VmEndpointNatMappingsInterfaceNatMappings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1333] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1389] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126713,7 +132352,7 @@ func (x *VmEndpointNatMappingsInterfaceNatMappings) String() string { func (*VmEndpointNatMappingsInterfaceNatMappings) ProtoMessage() {} func (x *VmEndpointNatMappingsInterfaceNatMappings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1333] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1389] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126726,7 +132365,7 @@ func (x *VmEndpointNatMappingsInterfaceNatMappings) ProtoReflect() protoreflect. // Deprecated: Use VmEndpointNatMappingsInterfaceNatMappings.ProtoReflect.Descriptor instead. func (*VmEndpointNatMappingsInterfaceNatMappings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1333} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1389} } func (x *VmEndpointNatMappingsInterfaceNatMappings) GetDrainNatIpPortRanges() []string { @@ -126799,7 +132438,7 @@ type VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings struct { func (x *VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings) Reset() { *x = VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1334] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1390] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126812,7 +132451,7 @@ func (x *VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings) String() stri func (*VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings) ProtoMessage() {} func (x *VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1334] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1390] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126825,7 +132464,7 @@ func (x *VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings) ProtoReflect( // Deprecated: Use VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings.ProtoReflect.Descriptor instead. func (*VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1334} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1390} } func (x *VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings) GetDrainNatIpPortRanges() []string { @@ -126886,7 +132525,7 @@ type VmEndpointNatMappingsList struct { func (x *VmEndpointNatMappingsList) Reset() { *x = VmEndpointNatMappingsList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1335] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1391] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -126899,7 +132538,7 @@ func (x *VmEndpointNatMappingsList) String() string { func (*VmEndpointNatMappingsList) ProtoMessage() {} func (x *VmEndpointNatMappingsList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1335] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1391] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -126912,7 +132551,7 @@ func (x *VmEndpointNatMappingsList) ProtoReflect() protoreflect.Message { // Deprecated: Use VmEndpointNatMappingsList.ProtoReflect.Descriptor instead. func (*VmEndpointNatMappingsList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1335} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1391} } func (x *VmEndpointNatMappingsList) GetId() string { @@ -126993,7 +132632,7 @@ type VpnGateway struct { func (x *VpnGateway) Reset() { *x = VpnGateway{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1336] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1392] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127006,7 +132645,7 @@ func (x *VpnGateway) String() string { func (*VpnGateway) ProtoMessage() {} func (x *VpnGateway) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1336] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1392] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127019,7 +132658,7 @@ func (x *VpnGateway) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGateway.ProtoReflect.Descriptor instead. func (*VpnGateway) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1336} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1392} } func (x *VpnGateway) GetCreationTimestamp() string { @@ -127130,7 +132769,7 @@ type VpnGatewayAggregatedList struct { func (x *VpnGatewayAggregatedList) Reset() { *x = VpnGatewayAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1337] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1393] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127143,7 +132782,7 @@ func (x *VpnGatewayAggregatedList) String() string { func (*VpnGatewayAggregatedList) ProtoMessage() {} func (x *VpnGatewayAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1337] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1393] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127156,7 +132795,7 @@ func (x *VpnGatewayAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewayAggregatedList.ProtoReflect.Descriptor instead. func (*VpnGatewayAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1337} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1393} } func (x *VpnGatewayAggregatedList) GetId() string { @@ -127231,7 +132870,7 @@ type VpnGatewayList struct { func (x *VpnGatewayList) Reset() { *x = VpnGatewayList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1338] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1394] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127244,7 +132883,7 @@ func (x *VpnGatewayList) String() string { func (*VpnGatewayList) ProtoMessage() {} func (x *VpnGatewayList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1338] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1394] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127257,7 +132896,7 @@ func (x *VpnGatewayList) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewayList.ProtoReflect.Descriptor instead. func (*VpnGatewayList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1338} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1394} } func (x *VpnGatewayList) GetId() string { @@ -127314,7 +132953,7 @@ type VpnGatewayStatus struct { func (x *VpnGatewayStatus) Reset() { *x = VpnGatewayStatus{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1339] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1395] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127327,7 +132966,7 @@ func (x *VpnGatewayStatus) String() string { func (*VpnGatewayStatus) ProtoMessage() {} func (x *VpnGatewayStatus) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1339] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1395] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127340,7 +132979,7 @@ func (x *VpnGatewayStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewayStatus.ProtoReflect.Descriptor instead. func (*VpnGatewayStatus) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1339} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1395} } func (x *VpnGatewayStatus) GetVpnConnections() []*VpnGatewayStatusVpnConnection { @@ -127367,7 +133006,7 @@ type VpnGatewayStatusHighAvailabilityRequirementState struct { func (x *VpnGatewayStatusHighAvailabilityRequirementState) Reset() { *x = VpnGatewayStatusHighAvailabilityRequirementState{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1340] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1396] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127380,7 +133019,7 @@ func (x *VpnGatewayStatusHighAvailabilityRequirementState) String() string { func (*VpnGatewayStatusHighAvailabilityRequirementState) ProtoMessage() {} func (x *VpnGatewayStatusHighAvailabilityRequirementState) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1340] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1396] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127393,7 +133032,7 @@ func (x *VpnGatewayStatusHighAvailabilityRequirementState) ProtoReflect() protor // Deprecated: Use VpnGatewayStatusHighAvailabilityRequirementState.ProtoReflect.Descriptor instead. func (*VpnGatewayStatusHighAvailabilityRequirementState) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1340} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1396} } func (x *VpnGatewayStatusHighAvailabilityRequirementState) GetState() string { @@ -127427,7 +133066,7 @@ type VpnGatewayStatusTunnel struct { func (x *VpnGatewayStatusTunnel) Reset() { *x = VpnGatewayStatusTunnel{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1341] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1397] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127440,7 +133079,7 @@ func (x *VpnGatewayStatusTunnel) String() string { func (*VpnGatewayStatusTunnel) ProtoMessage() {} func (x *VpnGatewayStatusTunnel) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1341] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1397] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127453,7 +133092,7 @@ func (x *VpnGatewayStatusTunnel) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewayStatusTunnel.ProtoReflect.Descriptor instead. func (*VpnGatewayStatusTunnel) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1341} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1397} } func (x *VpnGatewayStatusTunnel) GetLocalGatewayInterface() uint32 { @@ -127496,7 +133135,7 @@ type VpnGatewayStatusVpnConnection struct { func (x *VpnGatewayStatusVpnConnection) Reset() { *x = VpnGatewayStatusVpnConnection{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1342] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1398] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127509,7 +133148,7 @@ func (x *VpnGatewayStatusVpnConnection) String() string { func (*VpnGatewayStatusVpnConnection) ProtoMessage() {} func (x *VpnGatewayStatusVpnConnection) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1342] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1398] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127522,7 +133161,7 @@ func (x *VpnGatewayStatusVpnConnection) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewayStatusVpnConnection.ProtoReflect.Descriptor instead. func (*VpnGatewayStatusVpnConnection) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1342} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1398} } func (x *VpnGatewayStatusVpnConnection) GetPeerExternalGateway() string { @@ -127570,7 +133209,7 @@ type VpnGatewayVpnGatewayInterface struct { func (x *VpnGatewayVpnGatewayInterface) Reset() { *x = VpnGatewayVpnGatewayInterface{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1343] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1399] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127583,7 +133222,7 @@ func (x *VpnGatewayVpnGatewayInterface) String() string { func (*VpnGatewayVpnGatewayInterface) ProtoMessage() {} func (x *VpnGatewayVpnGatewayInterface) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1343] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1399] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127596,7 +133235,7 @@ func (x *VpnGatewayVpnGatewayInterface) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewayVpnGatewayInterface.ProtoReflect.Descriptor instead. func (*VpnGatewayVpnGatewayInterface) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1343} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1399} } func (x *VpnGatewayVpnGatewayInterface) GetId() uint32 { @@ -127631,7 +133270,7 @@ type VpnGatewaysGetStatusResponse struct { func (x *VpnGatewaysGetStatusResponse) Reset() { *x = VpnGatewaysGetStatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1344] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1400] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127644,7 +133283,7 @@ func (x *VpnGatewaysGetStatusResponse) String() string { func (*VpnGatewaysGetStatusResponse) ProtoMessage() {} func (x *VpnGatewaysGetStatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1344] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1400] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127657,7 +133296,7 @@ func (x *VpnGatewaysGetStatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewaysGetStatusResponse.ProtoReflect.Descriptor instead. func (*VpnGatewaysGetStatusResponse) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1344} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1400} } func (x *VpnGatewaysGetStatusResponse) GetResult() *VpnGatewayStatus { @@ -127681,7 +133320,7 @@ type VpnGatewaysScopedList struct { func (x *VpnGatewaysScopedList) Reset() { *x = VpnGatewaysScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1345] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1401] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127694,7 +133333,7 @@ func (x *VpnGatewaysScopedList) String() string { func (*VpnGatewaysScopedList) ProtoMessage() {} func (x *VpnGatewaysScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1345] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1401] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127707,7 +133346,7 @@ func (x *VpnGatewaysScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnGatewaysScopedList.ProtoReflect.Descriptor instead. func (*VpnGatewaysScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1345} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1401} } func (x *VpnGatewaysScopedList) GetVpnGateways() []*VpnGateway { @@ -127754,7 +133393,7 @@ type VpnTunnel struct { PeerExternalGateway *string `protobuf:"bytes,384956173,opt,name=peer_external_gateway,json=peerExternalGateway,proto3,oneof" json:"peer_external_gateway,omitempty"` // The interface ID of the external VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. Possible values are: `0`, `1`, `2`, `3`. The number of IDs in use depends on the external VPN gateway redundancy type. PeerExternalGatewayInterface *int32 `protobuf:"varint,452768391,opt,name=peer_external_gateway_interface,json=peerExternalGatewayInterface,proto3,oneof" json:"peer_external_gateway_interface,omitempty"` - // URL of the peer side HA GCP VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer GCP VPN gateway. + // URL of the peer side HA VPN gateway to which this VPN tunnel is connected. Provided by the client when the VPN tunnel is created. This field can be used when creating highly available VPN from VPC network to VPC network, the field is exclusive with the field peerExternalGateway. If provided, the VPN tunnel will automatically use the same vpnGatewayInterface ID in the peer Google Cloud VPN gateway. PeerGcpGateway *string `protobuf:"bytes,281867452,opt,name=peer_gcp_gateway,json=peerGcpGateway,proto3,oneof" json:"peer_gcp_gateway,omitempty"` // IP address of the peer VPN gateway. Only IPv4 is supported. PeerIp *string `protobuf:"bytes,383249700,opt,name=peer_ip,json=peerIp,proto3,oneof" json:"peer_ip,omitempty"` @@ -127784,7 +133423,7 @@ type VpnTunnel struct { func (x *VpnTunnel) Reset() { *x = VpnTunnel{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1346] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1402] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -127797,7 +133436,7 @@ func (x *VpnTunnel) String() string { func (*VpnTunnel) ProtoMessage() {} func (x *VpnTunnel) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1346] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1402] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -127810,7 +133449,7 @@ func (x *VpnTunnel) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnTunnel.ProtoReflect.Descriptor instead. func (*VpnTunnel) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1346} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1402} } func (x *VpnTunnel) GetCreationTimestamp() string { @@ -128005,7 +133644,7 @@ type VpnTunnelAggregatedList struct { func (x *VpnTunnelAggregatedList) Reset() { *x = VpnTunnelAggregatedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1347] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1403] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128018,7 +133657,7 @@ func (x *VpnTunnelAggregatedList) String() string { func (*VpnTunnelAggregatedList) ProtoMessage() {} func (x *VpnTunnelAggregatedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1347] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1403] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128031,7 +133670,7 @@ func (x *VpnTunnelAggregatedList) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnTunnelAggregatedList.ProtoReflect.Descriptor instead. func (*VpnTunnelAggregatedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1347} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1403} } func (x *VpnTunnelAggregatedList) GetId() string { @@ -128106,7 +133745,7 @@ type VpnTunnelList struct { func (x *VpnTunnelList) Reset() { *x = VpnTunnelList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1348] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1404] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128119,7 +133758,7 @@ func (x *VpnTunnelList) String() string { func (*VpnTunnelList) ProtoMessage() {} func (x *VpnTunnelList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1348] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1404] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128132,7 +133771,7 @@ func (x *VpnTunnelList) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnTunnelList.ProtoReflect.Descriptor instead. func (*VpnTunnelList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1348} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1404} } func (x *VpnTunnelList) GetId() string { @@ -128191,7 +133830,7 @@ type VpnTunnelsScopedList struct { func (x *VpnTunnelsScopedList) Reset() { *x = VpnTunnelsScopedList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1349] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1405] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128204,7 +133843,7 @@ func (x *VpnTunnelsScopedList) String() string { func (*VpnTunnelsScopedList) ProtoMessage() {} func (x *VpnTunnelsScopedList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1349] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1405] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128217,7 +133856,7 @@ func (x *VpnTunnelsScopedList) ProtoReflect() protoreflect.Message { // Deprecated: Use VpnTunnelsScopedList.ProtoReflect.Descriptor instead. func (*VpnTunnelsScopedList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1349} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1405} } func (x *VpnTunnelsScopedList) GetVpnTunnels() []*VpnTunnel { @@ -128250,7 +133889,7 @@ type WafExpressionSet struct { func (x *WafExpressionSet) Reset() { *x = WafExpressionSet{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1350] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1406] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128263,7 +133902,7 @@ func (x *WafExpressionSet) String() string { func (*WafExpressionSet) ProtoMessage() {} func (x *WafExpressionSet) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1350] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1406] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128276,7 +133915,7 @@ func (x *WafExpressionSet) ProtoReflect() protoreflect.Message { // Deprecated: Use WafExpressionSet.ProtoReflect.Descriptor instead. func (*WafExpressionSet) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1350} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1406} } func (x *WafExpressionSet) GetAliases() []string { @@ -128314,7 +133953,7 @@ type WafExpressionSetExpression struct { func (x *WafExpressionSetExpression) Reset() { *x = WafExpressionSetExpression{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1351] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1407] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128327,7 +133966,7 @@ func (x *WafExpressionSetExpression) String() string { func (*WafExpressionSetExpression) ProtoMessage() {} func (x *WafExpressionSetExpression) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1351] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1407] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128340,7 +133979,7 @@ func (x *WafExpressionSetExpression) ProtoReflect() protoreflect.Message { // Deprecated: Use WafExpressionSetExpression.ProtoReflect.Descriptor instead. func (*WafExpressionSetExpression) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1351} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1407} } func (x *WafExpressionSetExpression) GetId() string { @@ -128372,7 +134011,7 @@ type WaitGlobalOperationRequest struct { func (x *WaitGlobalOperationRequest) Reset() { *x = WaitGlobalOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1352] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1408] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128385,7 +134024,7 @@ func (x *WaitGlobalOperationRequest) String() string { func (*WaitGlobalOperationRequest) ProtoMessage() {} func (x *WaitGlobalOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1352] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1408] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128398,7 +134037,7 @@ func (x *WaitGlobalOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WaitGlobalOperationRequest.ProtoReflect.Descriptor instead. func (*WaitGlobalOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1352} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1408} } func (x *WaitGlobalOperationRequest) GetOperation() string { @@ -128432,7 +134071,7 @@ type WaitRegionOperationRequest struct { func (x *WaitRegionOperationRequest) Reset() { *x = WaitRegionOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1353] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1409] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128445,7 +134084,7 @@ func (x *WaitRegionOperationRequest) String() string { func (*WaitRegionOperationRequest) ProtoMessage() {} func (x *WaitRegionOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1353] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1409] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128458,7 +134097,7 @@ func (x *WaitRegionOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WaitRegionOperationRequest.ProtoReflect.Descriptor instead. func (*WaitRegionOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1353} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1409} } func (x *WaitRegionOperationRequest) GetOperation() string { @@ -128499,7 +134138,7 @@ type WaitZoneOperationRequest struct { func (x *WaitZoneOperationRequest) Reset() { *x = WaitZoneOperationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1354] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1410] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128512,7 +134151,7 @@ func (x *WaitZoneOperationRequest) String() string { func (*WaitZoneOperationRequest) ProtoMessage() {} func (x *WaitZoneOperationRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1354] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1410] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128525,7 +134164,7 @@ func (x *WaitZoneOperationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WaitZoneOperationRequest.ProtoReflect.Descriptor instead. func (*WaitZoneOperationRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1354} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1410} } func (x *WaitZoneOperationRequest) GetOperation() string { @@ -128567,7 +134206,7 @@ type Warning struct { func (x *Warning) Reset() { *x = Warning{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1355] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1411] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128580,7 +134219,7 @@ func (x *Warning) String() string { func (*Warning) ProtoMessage() {} func (x *Warning) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1355] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1411] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128593,7 +134232,7 @@ func (x *Warning) ProtoReflect() protoreflect.Message { // Deprecated: Use Warning.ProtoReflect.Descriptor instead. func (*Warning) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1355} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1411} } func (x *Warning) GetCode() string { @@ -128634,7 +134273,7 @@ type Warnings struct { func (x *Warnings) Reset() { *x = Warnings{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1356] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1412] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128647,7 +134286,7 @@ func (x *Warnings) String() string { func (*Warnings) ProtoMessage() {} func (x *Warnings) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1356] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1412] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128660,7 +134299,7 @@ func (x *Warnings) ProtoReflect() protoreflect.Message { // Deprecated: Use Warnings.ProtoReflect.Descriptor instead. func (*Warnings) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1356} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1412} } func (x *Warnings) GetCode() string { @@ -128701,7 +134340,7 @@ type WeightedBackendService struct { func (x *WeightedBackendService) Reset() { *x = WeightedBackendService{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1357] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1413] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128714,7 +134353,7 @@ func (x *WeightedBackendService) String() string { func (*WeightedBackendService) ProtoMessage() {} func (x *WeightedBackendService) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1357] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1413] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128727,7 +134366,7 @@ func (x *WeightedBackendService) ProtoReflect() protoreflect.Message { // Deprecated: Use WeightedBackendService.ProtoReflect.Descriptor instead. func (*WeightedBackendService) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1357} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1413} } func (x *WeightedBackendService) GetBackendService() string { @@ -128751,6 +134390,149 @@ func (x *WeightedBackendService) GetWeight() uint32 { return 0 } +// A request message for PublicAdvertisedPrefixes.Withdraw. See the method description for details. +type WithdrawPublicAdvertisedPrefixeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the public advertised prefix. It should comply with RFC1035. + PublicAdvertisedPrefix string `protobuf:"bytes,101874590,opt,name=public_advertised_prefix,json=publicAdvertisedPrefix,proto3" json:"public_advertised_prefix,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` +} + +func (x *WithdrawPublicAdvertisedPrefixeRequest) Reset() { + *x = WithdrawPublicAdvertisedPrefixeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1414] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WithdrawPublicAdvertisedPrefixeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WithdrawPublicAdvertisedPrefixeRequest) ProtoMessage() {} + +func (x *WithdrawPublicAdvertisedPrefixeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1414] + 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 WithdrawPublicAdvertisedPrefixeRequest.ProtoReflect.Descriptor instead. +func (*WithdrawPublicAdvertisedPrefixeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1414} +} + +func (x *WithdrawPublicAdvertisedPrefixeRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *WithdrawPublicAdvertisedPrefixeRequest) GetPublicAdvertisedPrefix() string { + if x != nil { + return x.PublicAdvertisedPrefix + } + return "" +} + +func (x *WithdrawPublicAdvertisedPrefixeRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + +// A request message for PublicDelegatedPrefixes.Withdraw. See the method description for details. +type WithdrawPublicDelegatedPrefixeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Project ID for this request. + Project string `protobuf:"bytes,227560217,opt,name=project,proto3" json:"project,omitempty"` + // The name of the public delegated prefix. It should comply with RFC1035. + PublicDelegatedPrefix string `protobuf:"bytes,204238440,opt,name=public_delegated_prefix,json=publicDelegatedPrefix,proto3" json:"public_delegated_prefix,omitempty"` + // The name of the region where the public delegated prefix is located. It should comply with RFC1035. + Region string `protobuf:"bytes,138946292,opt,name=region,proto3" json:"region,omitempty"` + // An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + RequestId *string `protobuf:"bytes,37109963,opt,name=request_id,json=requestId,proto3,oneof" json:"request_id,omitempty"` +} + +func (x *WithdrawPublicDelegatedPrefixeRequest) Reset() { + *x = WithdrawPublicDelegatedPrefixeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1415] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WithdrawPublicDelegatedPrefixeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WithdrawPublicDelegatedPrefixeRequest) ProtoMessage() {} + +func (x *WithdrawPublicDelegatedPrefixeRequest) ProtoReflect() protoreflect.Message { + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1415] + 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 WithdrawPublicDelegatedPrefixeRequest.ProtoReflect.Descriptor instead. +func (*WithdrawPublicDelegatedPrefixeRequest) Descriptor() ([]byte, []int) { + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1415} +} + +func (x *WithdrawPublicDelegatedPrefixeRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *WithdrawPublicDelegatedPrefixeRequest) GetPublicDelegatedPrefix() string { + if x != nil { + return x.PublicDelegatedPrefix + } + return "" +} + +func (x *WithdrawPublicDelegatedPrefixeRequest) GetRegion() string { + if x != nil { + return x.Region + } + return "" +} + +func (x *WithdrawPublicDelegatedPrefixeRequest) GetRequestId() string { + if x != nil && x.RequestId != nil { + return *x.RequestId + } + return "" +} + type XpnHostList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -128773,7 +134555,7 @@ type XpnHostList struct { func (x *XpnHostList) Reset() { *x = XpnHostList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1358] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1416] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128786,7 +134568,7 @@ func (x *XpnHostList) String() string { func (*XpnHostList) ProtoMessage() {} func (x *XpnHostList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1358] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1416] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128799,7 +134581,7 @@ func (x *XpnHostList) ProtoReflect() protoreflect.Message { // Deprecated: Use XpnHostList.ProtoReflect.Descriptor instead. func (*XpnHostList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1358} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1416} } func (x *XpnHostList) GetId() string { @@ -128860,7 +134642,7 @@ type XpnResourceId struct { func (x *XpnResourceId) Reset() { *x = XpnResourceId{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1359] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1417] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128873,7 +134655,7 @@ func (x *XpnResourceId) String() string { func (*XpnResourceId) ProtoMessage() {} func (x *XpnResourceId) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1359] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1417] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128886,7 +134668,7 @@ func (x *XpnResourceId) ProtoReflect() protoreflect.Message { // Deprecated: Use XpnResourceId.ProtoReflect.Descriptor instead. func (*XpnResourceId) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1359} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1417} } func (x *XpnResourceId) GetId() string { @@ -128937,7 +134719,7 @@ type Zone struct { func (x *Zone) Reset() { *x = Zone{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1360] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1418] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -128950,7 +134732,7 @@ func (x *Zone) String() string { func (*Zone) ProtoMessage() {} func (x *Zone) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1360] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1418] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -128963,7 +134745,7 @@ func (x *Zone) ProtoReflect() protoreflect.Message { // Deprecated: Use Zone.ProtoReflect.Descriptor instead. func (*Zone) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1360} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1418} } func (x *Zone) GetAvailableCpuPlatforms() []string { @@ -129066,7 +134848,7 @@ type ZoneList struct { func (x *ZoneList) Reset() { *x = ZoneList{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1361] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1419] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -129079,7 +134861,7 @@ func (x *ZoneList) String() string { func (*ZoneList) ProtoMessage() {} func (x *ZoneList) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1361] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1419] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -129092,7 +134874,7 @@ func (x *ZoneList) ProtoReflect() protoreflect.Message { // Deprecated: Use ZoneList.ProtoReflect.Descriptor instead. func (*ZoneList) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1361} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1419} } func (x *ZoneList) GetId() string { @@ -129151,7 +134933,7 @@ type ZoneSetLabelsRequest struct { func (x *ZoneSetLabelsRequest) Reset() { *x = ZoneSetLabelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1362] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1420] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -129164,7 +134946,7 @@ func (x *ZoneSetLabelsRequest) String() string { func (*ZoneSetLabelsRequest) ProtoMessage() {} func (x *ZoneSetLabelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1362] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1420] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -129177,7 +134959,7 @@ func (x *ZoneSetLabelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ZoneSetLabelsRequest.ProtoReflect.Descriptor instead. func (*ZoneSetLabelsRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1362} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1420} } func (x *ZoneSetLabelsRequest) GetLabelFingerprint() string { @@ -129210,7 +134992,7 @@ type ZoneSetPolicyRequest struct { func (x *ZoneSetPolicyRequest) Reset() { *x = ZoneSetPolicyRequest{} if protoimpl.UnsafeEnabled { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1363] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1421] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -129223,7 +135005,7 @@ func (x *ZoneSetPolicyRequest) String() string { func (*ZoneSetPolicyRequest) ProtoMessage() {} func (x *ZoneSetPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1363] + mi := &file_google_cloud_compute_v1_compute_proto_msgTypes[1421] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -129236,7 +135018,7 @@ func (x *ZoneSetPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ZoneSetPolicyRequest.ProtoReflect.Descriptor instead. func (*ZoneSetPolicyRequest) Descriptor() ([]byte, []int) { - return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1363} + return file_google_cloud_compute_v1_compute_proto_rawDescGZIP(), []int{1421} } func (x *ZoneSetPolicyRequest) GetBindings() []*Binding { @@ -129267,16 +135049,35 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbb, 0x03, 0x0a, 0x2b, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x65, 0x78, 0x74, + 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, 0x02, 0x0a, 0x0e, 0x41, 0x57, 0x53, 0x56, 0x34, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x0a, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x84, 0xe2, 0xcc, 0xdf, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0xb6, 0xe4, 0xd9, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, + 0x0a, 0x12, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x9d, 0xe1, 0xa2, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x10, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xad, 0xfc, 0xc0, 0x7e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, + 0x69, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, + 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x03, 0x0a, 0x2b, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, @@ -129460,7 +135261,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x82, 0x06, 0x0a, 0x0c, 0x41, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc7, 0x06, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0xdb, 0xd3, 0x81, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, @@ -129481,99 +135282,134 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x70, 0x74, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xff, 0xd6, 0xfb, 0x96, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x13, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x74, 0x72, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x70, 0x74, 0x72, 0x18, 0x95, 0xc0, 0xe6, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x07, 0x52, 0x0c, 0x73, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x74, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x8f, - 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1a, - 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, - 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, 0x49, - 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, 0x85, - 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, - 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, - 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, - 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, 0x45, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, 0x01, - 0x22, 0x45, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0b, - 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x9d, 0xb1, 0x8c, 0x02, - 0x12, 0x15, 0x0a, 0x0e, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, - 0x41, 0x54, 0x10, 0xdd, 0xba, 0x8c, 0x28, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x5f, 0x70, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x5f, 0x70, 0x74, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x5f, 0x70, 0x74, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, - 0xe5, 0x02, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x64, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x90, 0xff, 0xf6, - 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x14, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x11, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x70, 0x74, 0x72, 0x18, 0x95, 0xc0, 0xe6, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x08, 0x52, 0x0c, 0x73, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x50, 0x74, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, + 0x8f, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, + 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, + 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, + 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, + 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, + 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, + 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, + 0x01, 0x22, 0x45, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, + 0x0b, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x9d, 0xb1, 0x8c, + 0x02, 0x12, 0x15, 0x0a, 0x0e, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, + 0x4e, 0x41, 0x54, 0x10, 0xdd, 0xba, 0x8c, 0x28, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x5f, 0x70, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x70, 0x74, 0x72, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x65, 0x74, + 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x70, 0x74, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0xe5, 0x02, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x90, 0xff, 0xf6, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x34, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x03, 0x0a, + 0x23, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xba, 0xb8, 0xe1, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x21, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x1c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf8, 0xb0, 0xf5, 0x63, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x1a, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x03, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xba, 0xb8, 0xe1, 0x7b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x48, 0x0a, 0x1c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xf8, 0xb0, 0xf5, 0x63, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1a, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xb9, 0x03, 0x0a, 0x2a, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xba, 0xb8, 0xe1, 0x7b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x48, 0x0a, 0x1c, 0x72, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb9, 0x03, 0x0a, 0x2a, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xba, 0xb8, 0xe1, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x21, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x48, 0x0a, 0x1c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xf8, 0xb0, 0xf5, 0x63, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1a, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xe8, 0x03, 0x0a, 0x30, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xba, 0xb8, 0xe1, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x21, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x1c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf8, 0xb0, 0xf5, 0x63, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1a, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x45, @@ -129583,221 +135419,234 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe8, 0x03, 0x0a, - 0x30, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x8b, 0x01, 0x0a, 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xba, 0xb8, 0xe1, - 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x1c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf8, 0xb0, 0xf5, 0x63, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x1a, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x67, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfc, 0x02, 0x0a, + 0x1f, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0xa4, 0x01, 0x0a, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa4, 0xba, 0xc5, 0x80, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x28, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x41, + 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xef, 0x02, 0x0a, 0x1c, + 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x12, 0x9a, 0x01, 0x0a, 0x2a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xf4, 0xd3, 0xbb, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, + 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x25, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x02, + 0x0a, 0x20, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0xa6, 0x01, 0x0a, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xde, 0xba, 0xac, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x29, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, + 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xd7, 0x02, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x8d, 0x01, 0x0a, 0x26, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xb8, 0xd6, 0xcb, 0x3e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x21, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfc, 0x02, 0x0a, 0x1f, 0x41, 0x64, 0x64, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xae, 0x02, 0x0a, 0x18, 0x41, 0x64, + 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x8d, 0x01, 0x0a, 0x25, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xb5, 0x8d, 0xb3, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, + 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, + 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe4, 0x02, 0x0a, 0x1e, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0xa0, 0x01, 0x0a, 0x2c, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0xf8, 0xde, 0xec, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x27, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xfc, 0x02, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xac, 0x01, 0x0a, + 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x9b, 0xd6, 0xab, 0xe9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2b, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x12, 0xa4, 0x01, 0x0a, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xa4, 0xba, 0xc5, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, - 0x6f, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x28, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xef, 0x02, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, - 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x9a, 0x01, 0x0a, - 0x2a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x64, - 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf4, 0xd3, 0xbb, 0xcc, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x25, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x41, - 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x02, 0x0a, 0x20, 0x41, 0x64, 0x64, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, - 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xa6, 0x01, 0x0a, - 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xde, 0xba, 0xac, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0x83, 0x03, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, + 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xb3, 0x01, 0x0a, 0x33, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x8e, 0xff, 0xc1, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, + 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x2d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfe, 0x01, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x52, 0x75, + 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x76, 0x0a, 0x1d, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xdf, 0xba, 0x77, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd7, 0x02, 0x0a, 0x18, 0x41, - 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, - 0x8d, 0x01, 0x0a, 0x26, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, - 0x61, 0x64, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb8, 0xd6, 0xcb, 0x3e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, 0x6e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xae, 0x02, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x12, 0x8d, 0x01, 0x0a, 0x25, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb5, 0x8d, - 0xb3, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x21, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe4, 0x02, 0x0a, 0x1e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, - 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x64, 0x69, 0x73, 0x6b, 0x12, 0xa0, 0x01, 0x0a, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, - 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0xf8, 0xde, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x41, - 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x27, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfc, 0x02, 0x0a, - 0x22, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x30, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd6, 0xab, - 0xe9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2b, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x83, 0x03, 0x0a, 0x24, - 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xaa, 0x03, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x52, + 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x76, 0x0a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x83, 0xdf, 0xba, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, + 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x9f, 0xac, 0x97, 0x9d, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xf1, 0x81, 0xb4, 0x7f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xb3, 0x01, 0x0a, 0x33, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0xff, - 0xc1, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2d, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xfe, 0x01, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd9, 0x03, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, @@ -129809,413 +135658,375 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xaa, 0x03, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, - 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x76, 0x0a, 0x1d, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xdf, - 0xba, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0x9f, 0xac, 0x97, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, - 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0xf1, 0x81, 0xb4, 0x7f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x69, 0x6e, - 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xd9, 0x03, 0x0a, 0x29, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, - 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x76, 0x0a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x83, 0xdf, 0xba, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x9f, 0xac, 0x97, 0x9d, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x18, 0xf1, 0x81, 0xb4, 0x7f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0b, - 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb3, 0x02, 0x0a, 0x1c, - 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x77, 0x0a, 0x1d, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc3, 0xba, 0x82, 0xc0, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x22, 0x9d, 0x02, 0x0a, 0x23, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, - 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x17, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xa3, 0x9b, 0xda, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x24, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, - 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, - 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x0c, + 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x9f, 0xac, 0x97, + 0x9d, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xf1, 0x81, 0xb4, 0x7f, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x65, 0x0a, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xa3, 0x9b, 0xda, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc9, 0x0e, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, - 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0xa5, 0x89, 0x84, 0x7e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xc0, 0xf3, 0xd2, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x05, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x34, 0x0a, 0x12, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xcc, 0xfe, 0xbe, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x10, 0x69, 0x70, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, - 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x08, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, - 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xe2, 0x02, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x77, 0x0a, + 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc3, + 0xba, 0x82, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, + 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xb3, 0x02, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, + 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x77, 0x0a, 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xc3, 0xba, 0x82, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x1a, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0d, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, + 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x9d, 0x02, 0x0a, 0x23, + 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, + 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x81, 0xa3, 0x9b, 0xda, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0a, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2a, - 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xd3, - 0xba, 0xdb, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0xb3, 0xba, 0xa3, 0xd8, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, - 0x6f, 0x73, 0x65, 0x18, 0x9e, 0xfa, 0xef, 0x96, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, - 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, + 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x24, + 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x17, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xa3, 0x9b, 0xda, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, + 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x73, 0x69, 0x67, 0x6e, + 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xc9, 0x0e, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xa5, + 0x89, 0x84, 0x7e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0xc0, 0xf3, 0xd2, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x09, 0x69, 0x70, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x69, 0x70, 0x76, + 0x36, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0xcc, 0xfe, 0xbe, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x10, 0x69, 0x70, 0x76, 0x36, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x10, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x48, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xd3, 0xba, 0xdb, 0xf6, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0xb3, 0xba, 0xa3, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x0c, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, + 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x9e, 0xfa, + 0xef, 0x96, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x88, 0x9c, + 0x9a, 0x35, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, + 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xe2, 0xee, 0xdb, 0x19, 0x22, + 0x5b, 0x0a, 0x09, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x5f, 0x56, 0x45, 0x52, + 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x85, + 0xcc, 0x89, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x87, 0xcc, 0x89, 0x01, + 0x12, 0x1a, 0x0a, 0x13, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, + 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x90, 0xcf, 0xb5, 0x0a, 0x22, 0x4b, 0x0a, 0x10, + 0x49, 0x70, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, + 0x56, 0x36, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x45, 0x54, 0x4c, 0x42, 0x10, 0xb3, 0x97, 0xaf, 0x23, + 0x12, 0x07, 0x0a, 0x02, 0x56, 0x4d, 0x10, 0xb7, 0x15, 0x22, 0x8f, 0x01, 0x0a, 0x0b, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, + 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, + 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, + 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, + 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, + 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, 0x01, 0x22, 0xe2, 0x01, 0x0a, 0x07, + 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x14, + 0x0a, 0x0c, 0x44, 0x4e, 0x53, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x52, 0x10, 0xfc, + 0xdc, 0x83, 0xe3, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x47, 0x43, 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x50, + 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xab, 0xc4, 0xf5, 0x6d, 0x12, 0x1a, 0x0a, 0x12, 0x49, 0x50, 0x53, + 0x45, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, + 0x83, 0xd2, 0xaa, 0xa2, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4e, 0x41, 0x54, 0x5f, 0x41, 0x55, 0x54, + 0x4f, 0x10, 0xad, 0xb4, 0x85, 0x4e, 0x12, 0x1e, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, + 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x10, 0xc4, 0xf4, 0xf9, 0x16, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, + 0x4c, 0x45, 0x53, 0x53, 0x10, 0xdc, 0xc6, 0xfd, 0x80, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x53, 0x48, + 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, + 0x52, 0x5f, 0x56, 0x49, 0x50, 0x10, 0xd4, 0xd3, 0xb3, 0x8c, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x56, + 0x50, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x10, 0xaa, 0xf3, 0x8e, 0xbf, 0x01, + 0x22, 0x52, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, + 0x12, 0x0d, 0x0a, 0x06, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0xcd, 0xce, 0xa5, 0x08, 0x12, + 0x10, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0xa8, 0xf6, 0x8d, 0xce, + 0x01, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x10, 0xd9, + 0xf4, 0xaf, 0xf5, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x84, 0x04, 0x0a, 0x15, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0f, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x0a, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x18, 0x88, 0x9c, 0x9a, 0x35, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, - 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, - 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x12, 0x17, 0x0a, 0x10, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x10, 0xe2, 0xee, 0xdb, 0x19, 0x22, 0x5b, 0x0a, 0x09, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x49, 0x50, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, - 0x49, 0x50, 0x56, 0x34, 0x10, 0x85, 0xcc, 0x89, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, - 0x36, 0x10, 0x87, 0xcc, 0x89, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x90, 0xcf, - 0xb5, 0x0a, 0x22, 0x4b, 0x0a, 0x10, 0x49, 0x70, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x45, 0x54, 0x4c, - 0x42, 0x10, 0xb3, 0x97, 0xaf, 0x23, 0x12, 0x07, 0x0a, 0x02, 0x56, 0x4d, 0x10, 0xb7, 0x15, 0x22, - 0x8f, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, - 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, - 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, - 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, - 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, - 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, - 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, - 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, - 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, - 0x01, 0x22, 0xe2, 0x01, 0x0a, 0x07, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x15, 0x0a, - 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, - 0x53, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0c, 0x44, 0x4e, 0x53, 0x5f, 0x52, 0x45, 0x53, 0x4f, - 0x4c, 0x56, 0x45, 0x52, 0x10, 0xfc, 0xdc, 0x83, 0xe3, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x47, 0x43, - 0x45, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x10, 0xab, 0xc4, 0xf5, 0x6d, 0x12, - 0x1a, 0x0a, 0x12, 0x49, 0x50, 0x53, 0x45, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x83, 0xd2, 0xaa, 0xa2, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4e, - 0x41, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x10, 0xad, 0xb4, 0x85, 0x4e, 0x12, 0x1e, 0x0a, 0x17, - 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, - 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0xc4, 0xf4, 0xf9, 0x16, 0x12, 0x12, 0x0a, 0x0a, - 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4c, 0x45, 0x53, 0x53, 0x10, 0xdc, 0xc6, 0xfd, 0x80, 0x01, - 0x12, 0x1f, 0x0a, 0x17, 0x53, 0x48, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x42, - 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x56, 0x49, 0x50, 0x10, 0xd4, 0xd3, 0xb3, 0x8c, - 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x56, 0x50, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0xaa, 0xf3, 0x8e, 0xbf, 0x01, 0x22, 0x52, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x06, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, - 0x10, 0xcd, 0xce, 0xa5, 0x08, 0x12, 0x10, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, - 0x44, 0x10, 0xa8, 0xf6, 0x8d, 0xce, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x49, 0x4e, 0x47, 0x10, 0xd9, 0xf4, 0xaf, 0xf5, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x22, 0x84, 0x04, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x52, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x1a, 0x66, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x01, - 0x0a, 0x13, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x18, 0xa2, 0xf7, 0x81, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xf3, 0x02, 0x0a, 0x17, 0x41, 0x64, - 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x48, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x85, 0xcb, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x69, - 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x3d, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x65, 0x66, 0x69, 0x5f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0xa4, 0xb1, 0xbf, 0x9f, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x65, 0x66, - 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x31, - 0x0a, 0x10, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x72, 0x65, 0x18, 0xd7, 0xda, 0x91, 0xa8, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0e, - 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x34, 0x0a, 0x12, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x72, - 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xdc, 0xf4, 0x8f, 0x5c, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x03, 0x52, 0x10, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x65, 0x6e, 0x61, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, + 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x66, 0x0a, 0x0a, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa9, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x42, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0xa2, 0xf7, 0x81, + 0xa1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0xf3, 0x02, 0x0a, 0x17, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, + 0x48, 0x0a, 0x1c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x85, 0xcb, 0xf7, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x65, 0x66, 0x69, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x69, 0x6e, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0xbc, 0x03, 0x0a, 0x25, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x18, 0xa4, 0xb1, 0xbf, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x65, 0x66, 0x69, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x65, + 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x18, 0xd7, 0xda, 0x91, + 0xa8, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0e, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, + 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x76, + 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0xdc, 0xf4, 0x8f, 0x5c, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x10, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x72, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x65, + 0x66, 0x69, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x63, + 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x96, 0x04, 0x0a, 0x25, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, + 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, + 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, - 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb5, - 0x03, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, - 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, - 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, - 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb7, 0x03, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x22, 0x8f, 0x04, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, + 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, + 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, + 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, - 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, - 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xbb, 0x03, 0x0a, 0x24, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x91, 0x04, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, @@ -130234,15 +136045,21 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, - 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb5, - 0x03, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x04, 0x0a, 0x24, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, @@ -130261,43 +136078,21 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb1, 0x03, 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, - 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, - 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, - 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, - 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, - 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbb, 0x03, 0x0a, 0x24, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, + 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x22, 0x8f, 0x04, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, @@ -130316,72 +136111,21 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbc, 0x03, 0x0a, 0x25, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, - 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, - 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb8, 0x03, 0x0a, 0x21, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, - 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0xc1, 0x03, 0x0a, 0x2a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x22, 0x8b, 0x04, 0x0a, 0x1a, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, @@ -130400,100 +136144,156 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, + 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x22, 0x95, 0x04, 0x0a, 0x24, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, + 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x96, 0x04, 0x0a, 0x25, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, + 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, + 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xba, 0x03, 0x0a, 0x23, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, - 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, - 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0xbd, 0x03, 0x0a, 0x26, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, - 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, - 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0xb5, 0x03, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, - 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, - 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, - 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x22, 0x92, 0x04, 0x0a, 0x21, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, + 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, + 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc3, 0x03, 0x0a, 0x2c, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x9b, 0x04, 0x0a, 0x2a, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, + 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, + 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, + 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x94, 0x04, 0x0a, 0x23, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, @@ -130512,43 +136312,88 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xb8, 0x03, 0x0a, 0x21, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, - 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, - 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, - 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x97, 0x04, 0x0a, 0x26, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, + 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, + 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8f, 0x04, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, + 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, + 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbe, 0x03, 0x0a, - 0x27, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x9d, 0x04, 0x0a, 0x2c, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, @@ -130568,211 +136413,54 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc7, 0x03, - 0x0a, 0x30, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, - 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, - 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc1, 0x03, 0x0a, 0x2a, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, - 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, - 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, - 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x1f, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, + 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x92, 0x04, 0x0a, 0x21, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, + 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, + 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0xb9, 0x03, 0x0a, 0x22, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, - 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, - 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xb5, 0x03, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, - 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, - 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbc, 0x03, 0x0a, 0x25, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, - 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, - 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc3, 0x03, 0x0a, 0x2c, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, - 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, - 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbd, 0x03, - 0x0a, 0x26, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, + 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, + 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x98, 0x04, 0x0a, + 0x27, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, @@ -130792,15 +136480,122 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb8, 0x03, - 0x0a, 0x21, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, + 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xa1, 0x04, 0x0a, 0x30, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, + 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, + 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, + 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x9b, 0x04, 0x0a, 0x2a, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, + 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x90, 0x04, 0x0a, 0x1f, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, + 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, + 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, + 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, + 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x93, 0x04, 0x0a, + 0x22, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, @@ -130819,43 +136614,122 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbc, 0x03, 0x0a, 0x25, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, - 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, - 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb3, 0x03, 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x22, 0x8f, 0x04, 0x0a, 0x1e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, + 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, + 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, + 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0x96, 0x04, 0x0a, 0x25, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, + 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x9d, 0x04, + 0x0a, 0x2c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, + 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x97, 0x04, + 0x0a, 0x26, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, @@ -130875,71 +136749,54 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbc, 0x03, - 0x0a, 0x25, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, - 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, - 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, - 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, + 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbe, 0x03, 0x0a, - 0x27, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, - 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, - 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbb, 0x03, - 0x0a, 0x24, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x92, 0x04, 0x0a, 0x21, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, + 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, + 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, + 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, + 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x96, 0x04, 0x0a, + 0x25, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, @@ -130959,43 +136816,88 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb7, 0x03, 0x0a, 0x20, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, - 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb7, 0x03, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, + 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8d, 0x04, 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, + 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, + 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x96, 0x04, 0x0a, 0x25, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, + 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x98, + 0x04, 0x0a, 0x27, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, @@ -131014,16 +136916,88 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, - 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0xbd, 0x03, 0x0a, 0x26, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, + 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, 0x04, 0x0a, 0x24, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, + 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, + 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x22, 0x91, 0x04, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, + 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, + 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x91, 0x04, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, @@ -131042,16 +137016,122 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, - 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0xbe, 0x03, 0x0a, 0x27, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, + 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x97, 0x04, 0x0a, 0x26, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, + 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x22, 0x98, 0x04, 0x0a, 0x27, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, + 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x95, + 0x04, 0x0a, 0x24, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, + 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, + 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x91, 0x04, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, @@ -131070,152 +137150,119 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xbb, 0x03, 0x0a, 0x24, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, - 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb7, - 0x03, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, - 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, - 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, + 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x96, 0x04, 0x0a, 0x25, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, + 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbc, 0x03, 0x0a, 0x25, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, - 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, - 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbd, 0x03, 0x0a, 0x26, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, - 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, - 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb3, 0x03, 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, - 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, - 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb7, 0x03, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x22, 0x97, 0x04, 0x0a, 0x26, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, + 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8d, 0x04, + 0x0a, 0x1c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, + 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x91, 0x04, 0x0a, 0x20, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, @@ -131236,1875 +137283,1874 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb6, 0x03, 0x0a, 0x1f, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, + 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x22, 0x90, 0x04, 0x0a, 0x1f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, + 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, + 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, + 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xf9, 0xab, 0x85, 0x97, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x18, 0xf4, 0xe1, 0xcc, 0xba, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, - 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, - 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, - 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, - 0x15, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xbe, 0xb2, 0x81, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, - 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x18, 0x0a, 0x16, - 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x17, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x5f, 0x73, 0x6b, 0x75, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xef, 0xff, 0xc8, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x00, 0x52, 0x15, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x6b, 0x75, 0x41, - 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, - 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x6b, 0x75, 0x5f, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x2d, 0x41, 0x6c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, - 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x1b, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0xfa, 0xef, 0x82, 0x35, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, - 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x46, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x22, 0xa3, 0x01, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x49, 0x70, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xbe, 0xb2, 0x81, 0xb9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x17, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x6b, 0x75, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xef, 0xff, 0xc8, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x53, 0x6b, 0x75, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x6b, + 0x75, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, + 0x2d, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x53, 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, + 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0xfa, 0xef, + 0x82, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x5f, 0x69, 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x46, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, + 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, + 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, + 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xb9, 0xda, 0xd5, 0xef, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, + 0x01, 0x01, 0x22, 0x3e, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, + 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x56, 0x4d, 0x45, + 0x10, 0xe0, 0x82, 0x93, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, 0x53, 0x49, 0x10, 0xa6, 0x81, + 0x9b, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x22, 0xe1, 0x03, 0x0a, 0x39, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x29, 0x0a, 0x0c, - 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, - 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, - 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x18, 0xb9, 0xda, 0xd5, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x3e, - 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, - 0x43, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x56, 0x4d, 0x45, 0x10, 0xe0, 0x82, 0x93, - 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, 0x53, 0x49, 0x10, 0xa6, 0x81, 0x9b, 0x01, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0xe1, 0x03, - 0x0a, 0x39, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x12, 0x67, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x0a, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x73, 0x18, 0xc3, 0x8e, 0xd3, 0x6d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x5d, 0x0a, 0x12, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, + 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x81, + 0x01, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x73, 0x18, 0xc3, 0x8e, + 0xd3, 0x6d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, + 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, + 0x69, 0x6e, 0x74, 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6d, + 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0xf7, 0x9b, 0xea, 0x73, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, + 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xcc, 0x03, 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x73, + 0x73, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xcd, 0xf8, 0x8a, 0x86, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x8f, 0xa2, 0x9d, 0x2d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xbd, 0xab, 0xa6, 0xeb, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x9d, 0x9e, 0xd8, 0x66, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, - 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, - 0x69, 0x73, 0x6b, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x73, 0x12, 0x2c, - 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, - 0xd1, 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, - 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xf7, 0x9b, 0xea, 0x73, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x22, 0xcc, 0x03, 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x73, 0x73, 0x75, 0x72, 0x65, - 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xcd, 0xf8, 0x8a, 0x86, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x8f, 0xa2, - 0x9d, 0x2d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0xbd, 0xab, 0xa6, 0xeb, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0a, - 0x69, 0x6e, 0x55, 0x73, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x8b, 0x01, - 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x9d, 0x9e, 0xd8, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x52, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x41, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x48, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x18, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xc0, 0xc3, 0xc1, 0x9e, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, - 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x22, 0x5e, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x0c, 0x49, - 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xbd, 0xf6, 0xde, 0xe8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, - 0x92, 0xf0, 0xf9, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, - 0x22, 0xff, 0x02, 0x0a, 0x32, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, + 0x4b, 0x55, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x03, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x41, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xc0, 0xc3, 0xc1, 0x9e, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x73, 0x73, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x22, 0x5e, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, + 0x29, 0x0a, 0x0c, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, + 0xbd, 0xf6, 0xde, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x50, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x18, 0x92, 0xf0, 0xf9, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xcc, 0x01, 0x0a, 0x26, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x25, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x02, 0x0a, 0x32, 0x41, 0x70, 0x70, + 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xbb, 0x01, + 0x0a, 0x36, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd3, 0xf6, 0xce, 0x7b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x9e, 0x03, 0x0a, 0x38, 0x41, + 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xbb, 0x01, 0x0a, 0x36, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xd3, 0xf6, 0xce, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x22, 0x9e, 0x03, 0x0a, 0x38, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xce, 0x01, 0x0a, 0x3d, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfe, 0xe9, 0xad, + 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x36, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, + 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe5, 0x02, 0x0a, 0x19, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x16, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x95, 0x92, 0x9a, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, + 0x69, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, + 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x99, + 0xa4, 0x89, 0x44, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0xce, 0x01, 0x0a, 0x3d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xfe, 0xe9, 0xad, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x37, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0xd7, 0x01, 0x0a, 0x40, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xeb, 0xa1, 0xd1, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x36, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0xe5, 0x02, 0x0a, 0x19, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, - 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x63, 0x0a, 0x16, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x95, 0x92, 0x9a, 0x2b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x14, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x99, 0xa4, 0x89, 0x44, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x88, 0x01, - 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, - 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbd, 0x03, 0x0a, 0x31, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0xc3, 0x01, 0x0a, 0x39, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x87, 0xb5, + 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x33, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x37, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xd7, 0x01, 0x0a, 0x40, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xeb, 0xa1, 0xd1, - 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xbd, 0x03, 0x0a, 0x31, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xc3, 0x01, 0x0a, 0x39, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x87, 0xb5, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xde, 0x03, 0x0a, 0x37, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd8, 0x01, 0x0a, 0x40, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xfc, 0xf9, 0xdd, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xb7, 0x0c, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, - 0x69, 0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x18, 0xd3, 0xd2, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, - 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x75, 0x74, - 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x62, 0x6f, - 0x6f, 0x74, 0x18, 0xf2, 0xf5, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x04, 0x62, - 0x6f, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd4, 0xb5, 0x9a, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, - 0x48, 0x04, 0x52, 0x11, 0x64, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x18, 0x99, 0xa4, 0x89, 0x44, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0b, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x56, - 0x0a, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x18, 0xd1, 0xe0, 0xe7, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0xd2, 0xd1, 0xec, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x95, 0x92, 0xb8, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xb9, 0xda, - 0xd5, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, - 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, 0xcc, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x28, 0x0a, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xd9, - 0xa9, 0xa1, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0a, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x1f, 0x73, 0x68, 0x69, - 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x83, 0xc4, 0xdc, - 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb7, 0x0c, 0x0a, 0x0c, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x0c, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0xd3, 0xd2, 0xb1, + 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, + 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, + 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xf2, 0xf5, 0xb8, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd4, + 0xb5, 0x9a, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x04, 0x52, 0x11, 0x64, 0x69, 0x73, + 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, + 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x0a, 0x64, + 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x99, 0xa4, 0x89, + 0x44, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xd1, 0xe0, 0xe7, + 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x48, 0x0d, 0x52, 0x1c, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, - 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, - 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, - 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, - 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x3e, 0x0a, - 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, - 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x56, 0x4d, 0x45, 0x10, 0xe0, 0x82, 0x93, 0x01, - 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, 0x53, 0x49, 0x10, 0xa6, 0x81, 0x9b, 0x01, 0x22, 0x3f, 0x0a, - 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x52, 0x45, 0x41, - 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xb5, 0x99, 0xec, 0x2b, 0x12, 0x11, 0x0a, 0x0a, 0x52, - 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xd6, 0x97, 0xe4, 0x52, 0x22, 0x5f, - 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x1c, 0x44, 0x49, 0x53, 0x4b, 0x5f, - 0x53, 0x41, 0x56, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xcf, 0xbf, 0xca, 0xba, 0x01, 0x12, 0x10, 0x0a, - 0x09, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0xf8, 0xd6, 0x98, 0x79, 0x22, - 0x3f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x50, - 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x97, 0xf5, 0xd5, 0xdb, 0x01, 0x12, - 0x0f, 0x0a, 0x07, 0x53, 0x43, 0x52, 0x41, 0x54, 0x43, 0x48, 0x10, 0xda, 0xfd, 0xf0, 0xec, 0x01, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x5f, 0x67, 0x62, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, - 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb9, 0x0d, 0x0a, - 0x1c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2b, 0x0a, - 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0xd3, 0xd2, - 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0xed, 0xbf, 0xa0, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x64, - 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, - 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x64, - 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, + 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, + 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, + 0x1c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0xd2, 0xd1, 0xec, 0x2f, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x07, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, + 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x18, 0x95, 0x92, 0xb8, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, + 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x48, 0x08, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xb9, 0xda, 0xd5, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0a, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x61, 0x76, 0x65, + 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xd9, 0xa9, 0xa1, 0xc4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0c, 0x52, 0x0a, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x1f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x83, 0xc4, 0xdc, 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, - 0x64, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8c, 0xd8, - 0xc4, 0x60, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6f, 0x70, 0x73, 0x18, - 0xd4, 0xbd, 0x87, 0x59, 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x49, 0x6f, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, - 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x68, - 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, 0x95, 0xbe, 0x88, 0xfb, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x07, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, - 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, - 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, - 0x80, 0xb8, 0x8c, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, - 0x18, 0xfc, 0x9b, 0x8b, 0xb4, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, - 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, - 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, - 0x29, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, - 0xb7, 0xe8, 0x86, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x1b, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xab, 0x91, 0xf5, 0xb5, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x4b, 0x65, 0x79, 0x48, 0x09, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0xe8, 0x9a, 0x8e, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, - 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x1e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xda, 0x8e, 0xe7, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, - 0x0b, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, - 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, - 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, - 0x12, 0x20, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, - 0xbc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, - 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, - 0x22, 0x8a, 0x01, 0x0a, 0x0e, 0x4f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0d, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, - 0x44, 0x49, 0x53, 0x4b, 0x10, 0xed, 0x9d, 0xf6, 0xeb, 0x01, 0x12, 0x27, 0x0a, 0x1f, 0x52, 0x45, - 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x49, 0x46, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x80, 0x8a, - 0xea, 0xbd, 0x01, 0x12, 0x18, 0x0a, 0x11, 0x55, 0x53, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, - 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x10, 0xf9, 0xe5, 0xf9, 0x6e, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, - 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, - 0x5f, 0x69, 0x6f, 0x70, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xc3, 0x01, 0x0a, 0x0b, 0x41, 0x75, 0x64, - 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x75, 0x64, 0x69, - 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x92, 0xea, - 0xf2, 0xe8, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0d, 0x52, 0x1c, 0x73, + 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0e, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0f, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, + 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, + 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, + 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, + 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x3e, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, + 0x4e, 0x56, 0x4d, 0x45, 0x10, 0xe0, 0x82, 0x93, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, 0x53, + 0x49, 0x10, 0xa6, 0x81, 0x9b, 0x01, 0x22, 0x3f, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, + 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, + 0xb5, 0x99, 0xec, 0x2b, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, + 0x54, 0x45, 0x10, 0xd6, 0x97, 0xe4, 0x52, 0x22, 0x5f, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, + 0x12, 0x24, 0x0a, 0x1c, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x53, 0x41, 0x56, 0x45, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0xcf, 0xbf, 0xca, 0xba, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x50, 0x52, 0x45, 0x53, 0x45, 0x52, + 0x56, 0x45, 0x44, 0x10, 0xf8, 0xd6, 0x98, 0x79, 0x22, 0x3f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, + 0x4e, 0x54, 0x10, 0x97, 0xf5, 0xd5, 0xdb, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x43, 0x52, 0x41, + 0x54, 0x43, 0x48, 0x10, 0xda, 0xfd, 0xf0, 0xec, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x62, + 0x6f, 0x6f, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x22, 0x0a, + 0x20, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb9, 0x0d, 0x0a, 0x1c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, + 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0xd3, 0xd2, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, + 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xed, 0xbf, 0xa0, 0x2c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, + 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, + 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, + 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x0f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x12, 0x2c, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x98, 0xdd, 0xf5, 0x6e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, - 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xc5, - 0x02, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x2c, 0x0a, 0x10, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x98, 0xdd, 0xf5, 0x6e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, - 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, - 0x3e, 0x0a, 0x17, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, - 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0x8f, 0xb9, 0x21, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x69, - 0x6c, 0x64, 0x45, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd5, 0x9e, 0x9c, 0xc0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, - 0x88, 0x01, 0x01, 0x22, 0x78, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, - 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, - 0x52, 0x45, 0x41, 0x44, 0x10, 0xa6, 0xc9, 0xbe, 0x3d, 0x12, 0x11, 0x0a, 0x09, 0x44, 0x41, 0x54, - 0x41, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x8b, 0xba, 0xc5, 0x91, 0x01, 0x12, 0x12, 0x0a, 0x0a, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xea, 0x85, 0x9b, 0xa2, 0x01, - 0x12, 0x1b, 0x0a, 0x14, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xcd, 0xca, 0xd7, 0x49, 0x42, 0x1a, 0x0a, - 0x18, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x65, - 0x78, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, - 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x88, 0x02, 0x0a, 0x1b, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xaa, 0x97, 0xe7, 0xfa, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0xa2, 0x01, 0x0a, 0x0e, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x41, 0x44, - 0x4d, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0xa6, 0xc9, 0xbe, 0x3d, 0x12, 0x12, 0x0a, - 0x0b, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xaf, 0xdd, 0xc5, - 0x74, 0x12, 0x11, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x8b, - 0xba, 0xc5, 0x91, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x57, 0x52, 0x49, - 0x54, 0x45, 0x10, 0xea, 0x85, 0x9b, 0xa2, 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x50, 0x45, 0x52, 0x4d, - 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x82, 0xcc, 0xfa, 0xd1, 0x01, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x22, 0xcb, 0x08, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, - 0x12, 0x61, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd9, 0xe0, 0xea, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, - 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x11, 0x61, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, - 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xe5, 0xf6, 0xfd, 0x7a, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, - 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x17, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, - 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0xe2, 0xab, 0x97, 0xde, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, - 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x73, 0x63, 0x61, - 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0xf5, 0xad, 0xa1, 0xad, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, - 0x01, 0x1a, 0x78, 0x0a, 0x1a, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x69, - 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0c, 0x0a, - 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xe8, 0xb3, 0xcb, 0x1f, 0x12, 0x0e, 0x0a, 0x07, 0x50, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, - 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, - 0x8c, 0x04, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0xd2, + 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8c, 0xd8, 0xc4, 0x60, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x0e, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6f, 0x70, 0x73, 0x18, 0xd4, 0xbd, 0x87, 0x59, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x06, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, + 0x49, 0x6f, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, + 0x74, 0x18, 0x95, 0xbe, 0x88, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, 0x52, 0x15, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, + 0x68, 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x80, 0xb8, 0x8c, 0x17, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, + 0x86, 0x01, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xfc, 0x9b, 0x8b, 0xb4, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, + 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xb7, 0xe8, 0x86, 0x18, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x08, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0xab, 0x91, 0xf5, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x09, 0x52, 0x18, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0xe8, + 0x9a, 0x8e, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x1e, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xda, + 0x8e, 0xe7, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x0b, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, + 0x0c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, + 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x41, 0x52, 0x43, + 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x41, + 0x52, 0x4d, 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x38, 0x36, + 0x5f, 0x36, 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x0e, 0x4f, 0x6e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x5f, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x45, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0d, + 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x10, 0xed, 0x9d, + 0xf6, 0xeb, 0x01, 0x12, 0x27, 0x0a, 0x1f, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, + 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x49, 0x46, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x43, + 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x80, 0x8a, 0xea, 0xbd, 0x01, 0x12, 0x18, 0x0a, 0x11, + 0x55, 0x53, 0x45, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x49, 0x53, + 0x4b, 0x10, 0xf9, 0xe5, 0xf9, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6f, 0x70, 0x73, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, + 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x21, + 0x0a, 0x1f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, + 0x79, 0x22, 0xc3, 0x01, 0x0a, 0x0b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x57, 0x0a, 0x11, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x92, 0xea, 0xf2, 0xe8, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, + 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x61, 0x75, 0x64, 0x69, 0x74, + 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x10, 0x65, 0x78, + 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x98, + 0xdd, 0xf5, 0x6e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xc5, 0x02, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x10, 0x65, 0x78, + 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x98, + 0xdd, 0xf5, 0x6e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x65, + 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x3e, 0x0a, 0x17, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0x8f, 0xb9, 0x21, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x15, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x64, 0x45, 0x78, 0x65, 0x6d, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xd5, 0x9e, 0x9c, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x78, 0x0a, 0x07, + 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, + 0x11, 0x0a, 0x0a, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0xa6, 0xc9, + 0xbe, 0x3d, 0x12, 0x11, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, + 0x8b, 0xba, 0xc5, 0x91, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x57, 0x52, + 0x49, 0x54, 0x45, 0x10, 0xea, 0x85, 0x9b, 0xa2, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x4c, 0x4f, 0x47, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0xcd, 0xca, 0xd7, 0x49, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x88, 0x02, 0x0a, 0x1b, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x30, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0xaa, 0x97, 0xe7, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x22, 0xa2, 0x01, 0x0a, 0x0e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x41, + 0x44, 0x10, 0xa6, 0xc9, 0xbe, 0x3d, 0x12, 0x12, 0x0a, 0x0b, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, + 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xaf, 0xdd, 0xc5, 0x74, 0x12, 0x11, 0x0a, 0x09, 0x44, 0x41, + 0x54, 0x41, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x8b, 0xba, 0xc5, 0x91, 0x01, 0x12, 0x12, 0x0a, + 0x0a, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xea, 0x85, 0x9b, 0xa2, + 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x50, 0x45, 0x52, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x82, 0xcc, 0xfa, 0xd1, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcb, 0x08, 0x0a, 0x0a, 0x41, + 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x61, 0x0a, 0x12, 0x61, 0x75, 0x74, + 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0xd9, 0xe0, 0xea, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, + 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0xe5, 0xf6, 0xfd, 0x7a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x7a, 0x0a, 0x17, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xe2, 0xab, 0x97, 0xde, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, - 0x02, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xda, 0x06, 0x0a, 0x17, 0x41, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x88, 0x01, 0x01, 0x22, 0xea, 0x05, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, - 0x00, 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, - 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xe5, 0x90, 0x8d, - 0xc1, 0x01, 0x12, 0x25, 0x0a, 0x1e, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, - 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, - 0x58, 0x49, 0x53, 0x54, 0x10, 0x9a, 0x9a, 0xa3, 0x5b, 0x12, 0x20, 0x0a, 0x1a, 0x43, 0x41, 0x50, - 0x50, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x52, - 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x53, 0x10, 0xd9, 0xd3, 0x1f, 0x12, 0x2c, 0x0a, 0x24, 0x43, - 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x50, 0x41, - 0x52, 0x53, 0x45, 0x10, 0xb3, 0xb4, 0xee, 0x9c, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x43, 0x55, 0x53, - 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x10, 0xd6, 0xb9, 0xbd, 0x61, 0x12, 0x15, 0x0a, 0x0e, 0x4d, 0x49, 0x4e, 0x5f, 0x45, - 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0xf1, 0x99, 0xac, 0x01, 0x12, 0x28, - 0x0a, 0x21, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, - 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x49, - 0x4e, 0x54, 0x53, 0x10, 0xde, 0xa9, 0x9f, 0x2d, 0x12, 0x2a, 0x0a, 0x22, 0x4d, 0x49, 0x53, 0x53, - 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, - 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x10, 0xd2, - 0xa8, 0x8f, 0xf3, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x46, 0x46, - 0x10, 0xb3, 0x91, 0xa4, 0x4e, 0x12, 0x1a, 0x0a, 0x13, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, - 0x4c, 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xe2, 0xb7, 0xea, - 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x55, - 0x50, 0x10, 0xf2, 0xda, 0x92, 0x30, 0x12, 0x24, 0x0a, 0x1d, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x54, - 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, - 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0xdd, 0xcb, 0xb8, 0x48, 0x12, 0x22, 0x0a, 0x1a, - 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, - 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xbf, 0xaf, 0x9b, 0xc0, 0x01, - 0x12, 0x20, 0x0a, 0x18, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x4f, 0x55, 0x54, 0x10, 0xfe, 0xc9, 0x88, - 0xfc, 0x01, 0x12, 0x24, 0x0a, 0x1d, 0x53, 0x43, 0x41, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x41, - 0x52, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, - 0x49, 0x53, 0x54, 0x10, 0x9b, 0x93, 0xbd, 0x3a, 0x12, 0x36, 0x0a, 0x2f, 0x53, 0x43, 0x48, 0x45, - 0x44, 0x55, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x5f, - 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x55, 0x54, - 0x4f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x58, 0x10, 0xc2, 0xeb, 0xfa, 0x0d, - 0x12, 0x34, 0x0a, 0x2c, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, - 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, - 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x4e, - 0x10, 0xb5, 0xc6, 0xf5, 0xbd, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0xaa, 0xf0, 0xc4, 0xce, 0x01, 0x12, 0x39, 0x0a, 0x31, 0x55, 0x4e, 0x53, 0x55, 0x50, - 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, - 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x43, - 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xd1, 0x96, 0xe1, - 0x9d, 0x01, 0x12, 0x1d, 0x0a, 0x16, 0x5a, 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x4f, 0x55, 0x54, 0x10, 0xb6, 0xcf, 0x9d, - 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x18, - 0xfc, 0xb8, 0x8c, 0xde, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, + 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x5b, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0xf5, 0xad, 0xa1, 0xad, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, + 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1e, + 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0a, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0b, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x78, 0x0a, 0x1a, 0x53, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x0b, - 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, + 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, + 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0xe8, 0xb3, 0xcb, 0x1f, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0xf7, 0xaa, 0xf0, 0x10, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x8c, 0x04, 0x0a, 0x18, 0x41, 0x75, 0x74, + 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x96, 0x09, 0x0a, 0x11, - 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x37, 0x0a, 0x14, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x9a, 0x87, 0xad, 0x33, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x50, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x0f, 0x63, 0x70, - 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8b, 0xa4, - 0xe3, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x43, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x01, 0x52, 0x0e, 0x63, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf2, 0xfd, 0xf6, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, + 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, + 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, - 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, - 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x1a, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x75, - 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe3, 0xd1, 0xf5, 0xcc, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x69, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x18, 0x6c, 0x6f, 0x61, 0x64, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6e, - 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0xcf, 0x94, 0xdc, 0x1d, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6d, 0x69, 0x6e, - 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0xa1, 0xf8, - 0xa1, 0xff, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x4e, 0x75, - 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, - 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6b, 0x0a, 0x10, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0xd8, 0xbc, 0xce, - 0xfb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x48, 0x06, 0x52, 0x0e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x71, 0x0a, 0x11, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, - 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x84, 0xf4, 0xbc, 0xa9, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x7e, 0x0a, 0x15, 0x53, 0x63, 0x61, 0x6c, - 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x4f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x6c, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x6f, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, + 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, + 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x22, 0xda, 0x06, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0xea, 0x05, + 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x4c, + 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x48, 0x45, + 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xe5, 0x90, 0x8d, 0xc1, 0x01, 0x12, 0x25, 0x0a, 0x1e, 0x42, + 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x44, + 0x4f, 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x9a, 0x9a, + 0xa3, 0x5b, 0x12, 0x20, 0x0a, 0x1a, 0x43, 0x41, 0x50, 0x50, 0x45, 0x44, 0x5f, 0x41, 0x54, 0x5f, + 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x55, 0x4d, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x53, + 0x10, 0xd9, 0xd3, 0x1f, 0x12, 0x2c, 0x0a, 0x24, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, + 0x45, 0x54, 0x52, 0x49, 0x43, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, + 0x53, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x50, 0x41, 0x52, 0x53, 0x45, 0x10, 0xb3, 0xb4, 0xee, + 0x9c, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, + 0x52, 0x49, 0x43, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd6, 0xb9, 0xbd, 0x61, + 0x12, 0x15, 0x0a, 0x0e, 0x4d, 0x49, 0x4e, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x4d, + 0x41, 0x58, 0x10, 0xf1, 0x99, 0xac, 0x01, 0x12, 0x28, 0x0a, 0x21, 0x4d, 0x49, 0x53, 0x53, 0x49, + 0x4e, 0x47, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x10, 0xde, 0xa9, 0x9f, + 0x2d, 0x12, 0x2a, 0x0a, 0x22, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x41, + 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x53, 0x10, 0xd2, 0xa8, 0x8f, 0xf3, 0x01, 0x12, 0x0f, 0x0a, + 0x08, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x46, 0x46, 0x10, 0xb3, 0x91, 0xa4, 0x4e, 0x12, 0x1a, + 0x0a, 0x13, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4c, + 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xe2, 0xb7, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x55, 0x50, 0x10, 0xf2, 0xda, 0x92, 0x30, 0x12, + 0x24, 0x0a, 0x1d, 0x4d, 0x4f, 0x52, 0x45, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x4e, 0x45, + 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x10, 0xdd, 0xcb, 0xb8, 0x48, 0x12, 0x22, 0x0a, 0x1a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x4e, 0x4f, + 0x55, 0x47, 0x48, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0xbf, 0xaf, 0x9b, 0xc0, 0x01, 0x12, 0x20, 0x0a, 0x18, 0x52, 0x45, 0x47, + 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x4f, + 0x43, 0x4b, 0x4f, 0x55, 0x54, 0x10, 0xfe, 0xc9, 0x88, 0xfc, 0x01, 0x12, 0x24, 0x0a, 0x1d, 0x53, + 0x43, 0x41, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x44, 0x4f, + 0x45, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x9b, 0x93, 0xbd, + 0x3a, 0x12, 0x36, 0x0a, 0x2f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x5f, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, + 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, + 0x5f, 0x4d, 0x41, 0x58, 0x10, 0xc2, 0xeb, 0xfa, 0x0d, 0x12, 0x34, 0x0a, 0x2c, 0x53, 0x43, 0x48, + 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, + 0x5f, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x53, + 0x43, 0x41, 0x4c, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xb5, 0xc6, 0xf5, 0xbd, 0x01, 0x12, + 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xaa, 0xf0, 0xc4, 0xce, 0x01, + 0x12, 0x39, 0x0a, 0x31, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x5f, + 0x4d, 0x41, 0x58, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, + 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xd1, 0x96, 0xe1, 0x9d, 0x01, 0x12, 0x1d, 0x0a, 0x16, 0x5a, + 0x4f, 0x4e, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x4f, + 0x43, 0x4b, 0x4f, 0x55, 0x54, 0x10, 0xb6, 0xcf, 0x9d, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0xb2, 0x01, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x75, 0x74, + 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x18, 0xfc, 0xb8, 0x8c, 0xde, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, - 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, - 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0xcf, 0xe2, 0x04, 0x12, - 0x07, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0xdf, 0x13, 0x12, 0x15, 0x0a, 0x0e, 0x4f, 0x4e, 0x4c, 0x59, - 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc6, 0xf3, 0xe8, 0x48, 0x12, - 0x0f, 0x0a, 0x07, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x55, 0x50, 0x10, 0x8e, 0xd0, 0xfc, 0xe3, 0x01, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x63, 0x6f, 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x70, - 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, - 0x1b, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, - 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x22, 0x9b, 0x02, 0x0a, 0x1f, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, - 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x70, 0x75, 0x55, 0x74, 0x69, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x64, - 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0xc1, 0x97, - 0x89, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x96, 0x09, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x37, 0x0a, 0x14, 0x63, 0x6f, + 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, + 0x65, 0x63, 0x18, 0x9a, 0x87, 0xad, 0x33, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x11, 0x63, + 0x6f, 0x6f, 0x6c, 0x44, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, + 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x0f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8b, 0xa4, 0xe3, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, + 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x70, 0x75, 0x55, + 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0e, 0x63, 0x70, + 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x82, 0x01, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf2, + 0xfd, 0xf6, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, + 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x1a, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xe3, 0xd1, 0xf5, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x02, 0x52, 0x18, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, + 0x6e, 0x67, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x30, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x73, 0x18, 0xcf, 0x94, 0xdc, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, + 0x0e, 0x6d, 0x61, 0x78, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0xa1, 0xf8, 0xa1, 0xff, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x04, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, + 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x6b, 0x0a, 0x10, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0xd8, 0xbc, 0xce, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x65, + 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x48, 0x06, 0x52, 0x0e, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x71, + 0x0a, 0x11, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x84, 0xf4, 0xbc, 0xa9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, + 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x10, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x73, 0x1a, 0x7e, 0x0a, 0x15, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4f, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x56, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x03, 0x4f, 0x46, 0x46, 0x10, 0xcf, 0xe2, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0xdf, + 0x13, 0x12, 0x15, 0x0a, 0x0e, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x5f, + 0x4f, 0x55, 0x54, 0x10, 0xc6, 0xf3, 0xe8, 0x48, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x4e, 0x4c, 0x59, + 0x5f, 0x55, 0x50, 0x10, 0x8e, 0xd0, 0xfc, 0xe3, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x63, 0x6f, + 0x6f, 0x6c, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, + 0x65, 0x63, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x75, + 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, + 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x22, 0x9b, 0x02, + 0x0a, 0x1f, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x43, 0x70, 0x75, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x34, 0x0a, 0x11, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0xc1, 0x97, 0x89, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x10, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x75, 0x74, 0x69, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0xce, 0xec, + 0xf9, 0x66, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x11, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x22, 0x5e, + 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, + 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, + 0x12, 0x1c, 0x0a, 0x15, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x5f, 0x41, 0x56, 0x41, + 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0xfd, 0xe6, 0xc5, 0x05, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x93, 0x04, 0x0a, 0x28, + 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x55, 0x74, 0x69, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x18, 0xb0, 0xeb, 0x97, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1a, 0x73, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xc0, 0xcc, 0xd8, 0xf0, 0x01, 0x20, 0x01, + 0x28, 0x01, 0x48, 0x02, 0x52, 0x18, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x35, 0x0a, 0x12, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0xce, 0xec, 0xf9, 0x66, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x03, 0x52, 0x11, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x17, 0x75, 0x74, 0x69, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x8b, 0xa5, 0x9a, 0xa2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, + 0x15, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x15, 0x55, 0x74, 0x69, + 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x55, 0x54, 0x49, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47, + 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x10, 0x44, 0x45, 0x4c, + 0x54, 0x41, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x9d, 0xbd, + 0xd8, 0x29, 0x12, 0x17, 0x0a, 0x10, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x50, 0x45, 0x52, 0x5f, + 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0xfd, 0xf9, 0xd6, 0x79, 0x12, 0x0c, 0x0a, 0x05, 0x47, + 0x41, 0x55, 0x47, 0x45, 0x10, 0xd9, 0xb1, 0x9d, 0x20, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, + 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x79, 0x0a, 0x29, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x69, 0x6e, 0x67, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x12, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x18, 0xce, 0xec, 0xf9, 0x66, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, + 0x72, 0x67, 0x65, 0x74, 0x18, 0xce, 0xec, 0xf9, 0x66, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x11, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x88, 0x01, 0x01, 0x22, 0x5e, 0x0a, 0x10, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x44, 0x49, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, - 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x4f, 0x50, 0x54, 0x49, 0x4d, - 0x49, 0x5a, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x10, 0xfd, 0xe6, 0xc5, 0x05, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x22, 0x93, 0x04, 0x0a, 0x28, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x1f, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0xb0, 0xeb, 0x97, 0xfe, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x88, 0x01, - 0x01, 0x12, 0x45, 0x0a, 0x1a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0xc0, 0xcc, 0xd8, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x18, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x75, 0x74, 0x69, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0xce, - 0xec, 0xf9, 0x66, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x11, 0x75, 0x74, 0x69, 0x6c, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x3f, 0x0a, 0x17, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x8b, 0xa5, 0x9a, 0xa2, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x15, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, - 0x22, 0x7e, 0x0a, 0x15, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x55, 0x54, 0x49, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, - 0x12, 0x17, 0x0a, 0x10, 0x44, 0x45, 0x4c, 0x54, 0x41, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x4d, 0x49, - 0x4e, 0x55, 0x54, 0x45, 0x10, 0x9d, 0xbd, 0xd8, 0x29, 0x12, 0x17, 0x0a, 0x10, 0x44, 0x45, 0x4c, - 0x54, 0x41, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x10, 0xfd, 0xf9, - 0xd6, 0x79, 0x12, 0x0c, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47, 0x45, 0x10, 0xd9, 0xb1, 0x9d, 0x20, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x1a, 0x0a, 0x18, - 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x79, 0x0a, 0x29, 0x41, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x61, - 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x12, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0xce, 0xec, 0xf9, 0x66, - 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x11, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x22, 0xe6, 0x01, 0x0a, 0x1f, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x49, 0x6e, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x64, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x73, + 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0xe6, 0x01, 0x0a, + 0x1f, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x49, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x12, 0x64, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0xeb, 0xd5, 0x95, 0x56, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13, + 0x6d, 0x61, 0x78, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xb4, 0x80, 0xae, 0x11, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x01, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x73, 0x18, 0xeb, 0xd5, 0x95, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x64, - 0x49, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0xb4, 0x80, 0xae, 0x11, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0d, 0x74, 0x69, 0x6d, - 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, - 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x63, 0x22, 0x87, 0x03, 0x0a, - 0x20, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0xa6, 0x9e, 0xa1, 0x65, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, - 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0xae, 0x9d, 0xa5, 0xae, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x03, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x97, 0xa5, 0x9a, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x04, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xde, 0x83, 0xc9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x63, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xc2, 0x07, 0x0a, 0x07, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x89, 0xcb, 0x96, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0x8d, 0xc7, 0xd4, 0x96, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, - 0x01, 0x52, 0x0e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x18, 0xf2, 0xa9, 0x9d, 0x42, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xff, 0xec, 0x83, - 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xfa, 0xd5, 0xe1, 0x34, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, - 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x9c, 0xe7, 0xb6, 0x67, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x19, 0x6d, - 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1c, 0x6d, + 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 0x5f, 0x73, 0x65, 0x63, 0x22, 0x87, 0x03, 0x0a, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x69, + 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xa6, 0x9e, 0xa1, 0x65, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0xae, + 0x9d, 0xa5, 0xae, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x97, + 0xa5, 0x9a, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xde, 0x83, 0xc9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, + 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, + 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, + 0xc2, 0x07, 0x0a, 0x07, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x0e, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x89, 0xcb, + 0x96, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x63, + 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0x8d, + 0xc7, 0xd4, 0x96, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x0e, 0x63, 0x61, 0x70, 0x61, + 0x63, 0x69, 0x74, 0x79, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, + 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, + 0x6f, 0x76, 0x65, 0x72, 0x18, 0xf2, 0xa9, 0x9d, 0x42, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, + 0x08, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xff, 0xec, 0x83, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, + 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xfa, 0xd5, + 0xe1, 0x34, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x9c, 0xd5, 0xf4, 0x31, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0xdb, 0xbd, 0xc8, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x07, 0x6d, 0x61, - 0x78, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0xdb, 0xaa, 0xf4, 0x3d, 0x20, 0x01, 0x28, 0x02, 0x48, 0x09, 0x52, 0x12, 0x6d, 0x61, - 0x78, 0x52, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xdb, 0x98, 0xb2, - 0x08, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x65, - 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, - 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0xc7, 0xf7, 0xd4, 0x46, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0e, 0x6d, 0x61, - 0x78, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, - 0x61, 0x0a, 0x0d, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x41, - 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x11, - 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xde, 0xd5, 0xb9, - 0x75, 0x12, 0x0b, 0x0a, 0x04, 0x52, 0x41, 0x54, 0x45, 0x10, 0xe0, 0x89, 0x99, 0x01, 0x12, 0x12, - 0x0a, 0x0b, 0x55, 0x54, 0x49, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x82, 0x84, - 0xef, 0x4a, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x61, 0x74, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x18, 0x0a, - 0x16, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x06, 0x0a, 0x0d, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, - 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc0, 0x97, 0x9e, - 0x87, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x0a, 0x63, 0x64, 0x6e, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x84, 0x8b, 0x84, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x9c, 0xe7, 0xb6, 0x67, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x65, 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x9c, 0xd5, 0xf4, 0x31, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, + 0x19, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, + 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, + 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xdb, 0xbd, 0xc8, 0xc2, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x39, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, + 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0xdb, 0xaa, 0xf4, 0x3d, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x09, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x65, 0x50, 0x65, + 0x72, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x15, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xdb, 0x98, 0xb2, 0x08, 0x20, 0x01, 0x28, 0x02, 0x48, 0x0a, + 0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x75, + 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc7, 0xf7, 0xd4, 0x46, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x0b, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x61, 0x0a, 0x0d, 0x42, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xde, 0xd5, 0xb9, 0x75, 0x12, 0x0b, 0x0a, 0x04, 0x52, 0x41, + 0x54, 0x45, 0x10, 0xe0, 0x89, 0x99, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x55, 0x54, 0x49, 0x4c, 0x49, + 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x82, 0x84, 0xef, 0x4a, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x1f, 0x0a, + 0x1d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x1f, + 0x0a, 0x1d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x18, 0x0a, 0x16, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x06, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc0, 0x97, 0x9e, 0x87, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x56, 0x0a, 0x0a, 0x63, 0x64, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x84, + 0x8b, 0x84, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, + 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x09, 0x63, 0x64, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xdc, 0x91, 0xc6, + 0x2d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, + 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x96, 0xc1, + 0xe5, 0xb8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, + 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x65, 0x64, 0x67, + 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x8f, 0xd9, 0xc8, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x12, 0x65, 0x64, + 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x64, + 0x6e, 0x18, 0xf1, 0xb6, 0xf5, 0x86, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x09, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x64, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x22, + 0x55, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, + 0x8b, 0x84, 0xe9, 0x4e, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, + 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x64, 0x6e, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x64, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x22, 0x9a, 0x09, 0x0a, 0x16, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x93, 0x01, 0x0a, 0x1f, + 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, + 0xca, 0xbd, 0xeb, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x52, 0x1b, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x12, 0x6f, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xef, 0xd7, 0xf8, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, - 0x01, 0x52, 0x09, 0x63, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x31, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0xdc, 0x91, 0xc6, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, - 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x88, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, + 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0xc0, 0xc8, 0xe2, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0xf8, 0x8e, 0xec, 0x0d, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x02, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, + 0xee, 0xfd, 0xe6, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6d, 0x61, 0x78, + 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x91, 0x89, 0xd5, 0x92, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, + 0x52, 0x06, 0x6d, 0x61, 0x78, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x10, 0x6e, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, + 0xb5, 0xc3, 0xa2, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0f, 0x6e, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, + 0x7f, 0x0a, 0x17, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xfc, 0xb5, 0x8a, 0x4a, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x6e, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x36, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, 0x6c, + 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x18, 0xd4, 0x84, 0x88, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x06, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x61, 0x6c, 0x65, + 0x73, 0x63, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x18, 0xdb, 0xf7, + 0xed, 0x70, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x57, + 0x68, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1c, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xc6, 0xa8, 0xb9, + 0x80, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x08, 0x52, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x55, 0x72, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, + 0x63, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, + 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xb5, 0xed, 0xa7, + 0xb1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, + 0x6c, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, + 0x00, 0x12, 0x18, 0x0a, 0x10, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0xe9, 0x97, 0xa5, 0xa9, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x46, + 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0xb0, + 0xdd, 0xe0, 0xe7, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, + 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xc8, 0xb7, 0xe8, 0xb5, 0x01, + 0x12, 0x19, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x48, + 0x45, 0x41, 0x44, 0x45, 0x52, 0x53, 0x10, 0xa5, 0x92, 0xb4, 0x1a, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, 0x6c, + 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x42, 0x1f, 0x0a, 0x1d, + 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x22, 0x6b, 0x0a, + 0x30, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x24, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x33, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x86, 0xfa, 0x97, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x74, 0x74, + 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0xb0, 0xd8, 0x81, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, + 0x74, 0x22, 0x73, 0x0a, 0x2b, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, + 0x74, 0x74, 0x6c, 0x18, 0xec, 0x83, 0x07, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x03, 0x74, + 0x74, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x74, 0x74, 0x6c, 0x22, 0xde, 0x02, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xde, 0x20, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x17, 0x61, 0x66, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x74, 0x74, + 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x9a, 0xe9, 0xb6, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x00, 0x52, 0x14, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x54, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0xdf, 0x98, 0xcb, 0xf3, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x57, 0x0a, 0x0a, + 0x63, 0x64, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x84, 0x8b, 0x84, 0x66, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x09, 0x63, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x10, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, + 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x18, 0x9d, 0xc7, 0xf4, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, + 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x48, 0x02, 0x52, + 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xdc, 0x91, 0xc6, 0x2d, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, + 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xab, 0x8e, + 0xef, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, + 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd9, 0xe0, 0xd4, + 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x05, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6b, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x9b, 0xa5, 0x37, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x06, 0x52, + 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x96, 0xc1, 0xe5, 0xb8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x38, 0x0a, 0x14, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x8f, 0xd9, 0xc8, 0x13, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x05, 0x52, 0x12, 0x65, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x64, 0x6e, 0x18, 0xf1, 0xb6, 0xf5, 0x86, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x06, 0x52, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x64, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x07, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x55, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x41, 0x55, 0x54, - 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x8b, 0x84, 0xe9, 0x4e, 0x12, 0x10, 0x0a, 0x08, 0x44, - 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x63, 0x64, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x64, 0x67, + 0x09, 0x48, 0x07, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x16, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x18, 0x88, 0xd2, 0xab, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x96, 0xc1, + 0xe5, 0xb8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, + 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x64, 0x6e, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x9a, 0x09, 0x0a, 0x16, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x93, 0x01, 0x0a, 0x1f, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0xca, 0xbd, 0xeb, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x1b, 0x62, 0x79, 0x70, - 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x6f, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xef, 0xd7, 0xf8, - 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x61, 0x63, - 0x68, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xc0, 0xc8, 0xe2, 0x0d, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0xf8, - 0x8e, 0xec, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0xee, 0xfd, 0xe6, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x03, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x91, 0x89, 0xd5, 0x92, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x54, 0x74, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x32, 0x0a, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0xb5, 0xc3, 0xa2, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x05, 0x52, 0x0f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x7f, 0x0a, 0x17, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0xfc, 0xb5, 0x8a, 0x4a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, + 0x79, 0x18, 0x8f, 0xd9, 0xc8, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x12, 0x65, 0x64, + 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x5f, + 0x64, 0x5f, 0x6e, 0x18, 0xbb, 0xc7, 0xc7, 0x77, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x09, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x44, 0x4e, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x0f, + 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0x9f, 0xf2, 0xb0, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, + 0x0b, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0b, + 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, + 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x43, 0x0a, 0x03, 0x69, 0x61, 0x70, 0x18, 0xd8, + 0xac, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, + 0x41, 0x50, 0x48, 0x0d, 0x52, 0x03, 0x69, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0e, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, + 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, + 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0xc4, 0x8c, 0xc2, 0xad, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x10, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, + 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x7d, 0x0a, 0x14, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x9d, 0xf2, 0x9c, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, + 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x12, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0xbf, 0xf8, 0xd5, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x10, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x58, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x9d, + 0xd1, 0xc1, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x12, 0x52, 0x09, 0x6c, 0x6f, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x13, 0x6d, 0x61, + 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x98, 0xa5, 0xa5, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x15, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x18, 0xd4, 0x84, - 0x88, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x32, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x6c, 0x65, 0x18, 0xdb, 0xf7, 0xed, 0x70, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, - 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x6c, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, - 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0xc6, 0xa8, 0xb9, 0x80, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x08, 0x52, - 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, - 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x14, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0xb5, 0xed, 0xa7, 0xb1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x18, - 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x43, 0x48, - 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x10, 0x43, 0x41, 0x43, 0x48, - 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0xe9, 0x97, 0xa5, - 0xa9, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, - 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0xb0, 0xdd, 0xe0, 0xe7, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x10, 0xc8, 0xb7, 0xe8, 0xb5, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x5f, 0x4f, - 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x53, 0x10, 0xa5, 0x92, - 0xb4, 0x1a, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x74, - 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x42, 0x14, 0x0a, - 0x12, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x6c, 0x65, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, - 0x72, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x65, 0x63, 0x22, 0x6b, 0x0a, 0x30, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x79, - 0x70, 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x94, 0x01, 0x0a, 0x24, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x0a, 0x14, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x18, 0x86, 0xfa, 0x97, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, - 0x37, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, - 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xb0, 0xd8, 0x81, 0x19, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, - 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x73, 0x0a, 0x2b, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0xec, 0x83, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x01, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x74, 0x6c, 0x22, 0xde, 0x02, - 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x13, 0x52, + 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x18, 0xa4, 0xd6, 0x87, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x14, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, + 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x11, + 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0xbe, 0xcc, 0x8c, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x16, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, + 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x17, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x18, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x98, 0x9d, 0xaa, 0x28, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1b, + 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xc2, 0xbc, 0x9e, 0xe4, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x1c, 0x52, + 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, 0x08, 0x73, + 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x10, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xd8, + 0x91, 0xd9, 0x3f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x10, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0xb1, 0xc1, 0x99, + 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1e, 0x52, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0a, + 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x90, 0x90, 0xdb, 0xd6, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x48, 0x1f, 0x52, 0x0a, 0x73, 0x75, 0x62, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xf3, 0xc0, 0x92, 0x26, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x20, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, + 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x99, + 0xa0, 0xd2, 0xb9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x55, 0x73, 0x65, 0x64, 0x42, 0x79, 0x52, 0x06, 0x75, 0x73, 0x65, 0x64, 0x42, 0x79, 0x1a, + 0x3c, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, + 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, + 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, + 0x4d, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x09, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x8b, 0x84, + 0xe9, 0x4e, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, + 0xd4, 0xb0, 0xf6, 0x01, 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x1f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, + 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x10, + 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, + 0xfd, 0x10, 0x12, 0x18, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, + 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x8b, 0xb6, 0x92, 0xf4, 0x01, 0x12, 0x10, 0x0a, 0x08, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x12, 0x17, + 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x44, 0x10, 0xfd, 0xd7, 0xe7, 0x11, 0x12, 0x1c, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, + 0x10, 0xce, 0x97, 0xd1, 0x70, 0x12, 0x25, 0x0a, 0x1d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, + 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x10, 0xfc, 0x93, 0xa6, 0x83, 0x01, 0x22, 0xdf, 0x01, 0x0a, + 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x42, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, + 0x59, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x11, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, + 0x42, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0xb3, 0xe7, 0x95, 0x9a, 0x01, 0x12, 0x14, + 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, + 0xf9, 0xc4, 0x9c, 0x16, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0xea, + 0x97, 0xea, 0x38, 0x12, 0x1b, 0x0a, 0x14, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, + 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x80, 0xfd, 0xa5, 0x4f, + 0x12, 0x0d, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0xc3, 0xb1, 0x97, 0x7d, 0x12, + 0x11, 0x0a, 0x09, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0xbd, 0xdb, 0xaf, + 0xce, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, + 0x4e, 0x10, 0xf9, 0x86, 0xb1, 0x49, 0x12, 0x16, 0x0a, 0x0f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, + 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0x92, 0xe0, 0xc7, 0x79, 0x22, 0x8e, + 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x12, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, + 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x9e, 0x88, 0x86, 0x01, + 0x12, 0x0b, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x88, 0x81, 0x88, 0x01, 0x12, 0x0c, 0x0a, + 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0xaa, 0xa1, 0xf8, 0x20, 0x12, 0x0c, 0x0a, 0x05, 0x48, + 0x54, 0x54, 0x50, 0x53, 0x10, 0xcb, 0xa1, 0xf8, 0x20, 0x12, 0x09, 0x0a, 0x03, 0x53, 0x53, 0x4c, + 0x10, 0xec, 0x83, 0x05, 0x12, 0x09, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0xc1, 0x87, 0x05, 0x12, + 0x09, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0xa1, 0x8f, 0x05, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x22, + 0xeb, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x46, 0x46, 0x49, 0x4e, 0x49, 0x54, + 0x59, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, + 0x10, 0x9b, 0xdc, 0xe9, 0xa4, 0x01, 0x12, 0x1f, 0x0a, 0x18, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, + 0x5f, 0x49, 0x50, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x94, 0x9a, 0xcd, 0x32, 0x12, 0x1b, 0x0a, 0x14, 0x43, 0x4c, 0x49, 0x45, 0x4e, + 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, + 0xae, 0xf2, 0xdc, 0x69, 0x12, 0x16, 0x0a, 0x0f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, + 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0xa4, 0xc5, 0x89, 0x0c, 0x12, 0x18, 0x0a, 0x10, + 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, + 0x10, 0xb4, 0xce, 0xca, 0xb0, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, + 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0xa8, 0x89, 0xdc, 0x5f, 0x12, 0x13, 0x0a, 0x0b, 0x48, + 0x54, 0x54, 0x50, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xfb, 0xa3, 0x83, 0xec, 0x01, + 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x42, 0x1a, 0x0a, + 0x18, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x64, + 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x69, 0x72, + 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x5f, 0x64, 0x5f, 0x6e, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x69, 0x61, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x6c, 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x75, 0x74, 0x6c, + 0x69, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, + 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x22, 0x98, 0x04, 0x0a, 0x1c, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x59, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x92, - 0x20, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x3e, 0x0a, 0x17, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, - 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x9a, 0xe9, 0xb6, - 0xb0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x14, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x79, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x54, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x88, 0x01, - 0x01, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0xdf, 0x98, - 0xcb, 0xf3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x52, 0x08, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x73, 0x12, 0x57, 0x0a, 0x0a, 0x63, 0x64, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0x84, 0x8b, 0x84, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x09, - 0x63, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x10, - 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, - 0x18, 0x9d, 0xc7, 0xf4, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, - 0x6b, 0x65, 0x72, 0x73, 0x48, 0x02, 0x52, 0x0f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, - 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x63, 0x6f, - 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xdc, - 0x91, 0xc6, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, - 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xab, 0x8e, 0xef, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x12, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0xd9, 0xe0, 0xd4, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x05, 0x52, - 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x6b, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6b, 0x0a, 0x0f, - 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x9b, 0xa5, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, + 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x48, 0x06, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x37, 0x0a, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x88, 0xd2, 0xab, 0x0d, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x96, 0xc1, 0xe5, 0xb8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x38, 0x0a, 0x14, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x8f, 0xd9, 0xc8, 0x13, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x09, 0x52, 0x12, 0x65, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x5f, 0x64, 0x5f, 0x6e, 0x18, 0xbb, 0xc7, 0xc7, 0x77, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x44, 0x4e, - 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x9f, 0xf2, 0xb0, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x0b, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, - 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x43, - 0x0a, 0x03, 0x69, 0x61, 0x70, 0x18, 0xd8, 0xac, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x88, 0x09, 0x0a, 0x17, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x94, 0x01, 0x0a, 0x1f, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x18, 0xca, 0xbd, 0xeb, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x41, 0x50, 0x48, 0x0d, 0x52, 0x03, 0x69, 0x61, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x0e, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0xc4, - 0x8c, 0xc2, 0xad, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x7d, 0x0a, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, - 0x62, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x9d, 0xf2, 0x9c, 0x43, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x1b, 0x62, 0x79, 0x70, 0x61, 0x73, + 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x59, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xef, 0xd7, 0xf8, 0x4b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0e, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0xc0, 0xc8, 0xe2, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0xf8, 0x8e, 0xec, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x02, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0xee, + 0xfd, 0xe6, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, + 0x74, 0x74, 0x6c, 0x18, 0x91, 0x89, 0xd5, 0x92, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, + 0x06, 0x6d, 0x61, 0x78, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x10, 0x6e, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0xb5, + 0xc3, 0xa2, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0f, 0x6e, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x80, + 0x01, 0x0a, 0x17, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xfc, 0xb5, 0x8a, 0x4a, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x34, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xbf, 0xf8, 0xd5, 0x3e, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x11, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x9d, 0xd1, 0xc1, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x12, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x59, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x98, 0xa5, 0xa5, 0x1d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x13, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x09, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18, 0xa4, 0xd6, 0x87, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, - 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbe, 0xcc, 0x8c, 0xa9, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x75, 0x74, - 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x16, 0x52, - 0x10, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x17, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, - 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x18, 0x98, 0x9d, 0xaa, 0x28, 0x20, 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, - 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1b, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x11, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0xc2, 0xbc, 0x9e, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x48, 0x1c, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x1d, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x2c, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xd8, 0x91, 0xd9, 0x3f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x32, 0x0a, 0x10, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x79, 0x18, 0xb1, 0xc1, 0x99, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1e, 0x52, - 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0x90, 0x90, 0xdb, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x48, 0x1f, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0xf3, 0xc0, 0x92, 0x26, 0x20, 0x01, 0x28, 0x05, 0x48, 0x20, 0x52, 0x0a, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x55, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x52, 0x45, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x41, - 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x8b, 0x84, 0xe9, 0x4e, 0x12, 0x10, 0x0a, - 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x22, - 0xd5, 0x01, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, - 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, - 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, - 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x18, 0x0a, - 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x44, 0x10, 0x8b, 0xb6, 0x92, 0xf4, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0xfd, 0xd7, - 0xe7, 0x11, 0x12, 0x1c, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, - 0x45, 0x4c, 0x46, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0xce, 0x97, 0xd1, 0x70, - 0x12, 0x25, 0x0a, 0x1d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, - 0x45, 0x10, 0xfc, 0x93, 0xa6, 0x83, 0x01, 0x22, 0xdf, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, - 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x62, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x1c, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x4c, 0x42, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x00, 0x12, 0x19, - 0x0a, 0x11, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, 0x42, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x10, 0xb3, 0xe7, 0x95, 0x9a, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x4c, 0x45, 0x41, - 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xf9, 0xc4, 0x9c, 0x16, 0x12, - 0x0d, 0x0a, 0x06, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0xea, 0x97, 0xea, 0x38, 0x12, 0x1b, - 0x0a, 0x14, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, - 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x80, 0xfd, 0xa5, 0x4f, 0x12, 0x0d, 0x0a, 0x06, 0x52, - 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0xc3, 0xb1, 0x97, 0x7d, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x49, - 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0xbd, 0xdb, 0xaf, 0xce, 0x01, 0x12, 0x12, 0x0a, - 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0xf9, 0x86, 0xb1, - 0x49, 0x12, 0x16, 0x0a, 0x0f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x41, - 0x47, 0x4c, 0x45, 0x56, 0x10, 0x92, 0xe0, 0xc7, 0x79, 0x22, 0x8e, 0x01, 0x0a, 0x08, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x9e, 0x88, 0x86, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x48, - 0x54, 0x54, 0x50, 0x10, 0x88, 0x81, 0x88, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, - 0x32, 0x10, 0xaa, 0xa1, 0xf8, 0x20, 0x12, 0x0c, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x53, 0x10, - 0xcb, 0xa1, 0xf8, 0x20, 0x12, 0x09, 0x0a, 0x03, 0x53, 0x53, 0x4c, 0x10, 0xec, 0x83, 0x05, 0x12, - 0x09, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0xc1, 0x87, 0x05, 0x12, 0x09, 0x0a, 0x03, 0x55, 0x44, - 0x50, 0x10, 0xa1, 0x8f, 0x05, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x1e, - 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x46, 0x46, 0x49, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x00, 0x12, 0x11, - 0x0a, 0x09, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x9b, 0xdc, 0xe9, 0xa4, - 0x01, 0x12, 0x1f, 0x0a, 0x18, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x4e, - 0x4f, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x94, 0x9a, - 0xcd, 0x32, 0x12, 0x1b, 0x0a, 0x14, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0xae, 0xf2, 0xdc, 0x69, 0x12, - 0x16, 0x0a, 0x0f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x10, 0xa4, 0xc5, 0x89, 0x0c, 0x12, 0x18, 0x0a, 0x10, 0x47, 0x45, 0x4e, 0x45, 0x52, - 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xb4, 0xce, 0xca, 0xb0, - 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x46, 0x49, 0x45, 0x4c, - 0x44, 0x10, 0xa8, 0x89, 0xdc, 0x5f, 0x12, 0x13, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x43, - 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xfb, 0xa3, 0x83, 0xec, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, - 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x61, 0x66, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x5f, 0x74, 0x74, 0x6c, - 0x5f, 0x73, 0x65, 0x63, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x64, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, - 0x62, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x16, 0x0a, - 0x14, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, - 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x5f, 0x64, 0x5f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x69, 0x61, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x62, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x64, - 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, - 0x73, 0x65, 0x63, 0x22, 0x98, 0x04, 0x0a, 0x1c, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x88, - 0x09, 0x0a, 0x17, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x94, 0x01, 0x0a, 0x1f, 0x62, - 0x79, 0x70, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0xca, - 0xbd, 0xeb, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x1b, 0x62, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, - 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x59, 0x0a, 0x10, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xef, 0xd7, 0xf8, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, - 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xc0, 0xc8, 0xe2, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x74, - 0x6c, 0x18, 0xf8, 0x8e, 0xec, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x09, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x54, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0xee, 0xfd, 0xe6, 0x2f, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x54, 0x74, 0x6c, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x91, - 0x89, 0xd5, 0x92, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x54, - 0x74, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x10, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x18, 0xb5, 0xc3, 0xa2, 0xa0, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0f, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x17, 0x6e, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xfc, 0xb5, 0x8a, 0x4a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x0a, 0x12, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x69, - 0x6e, 0x67, 0x18, 0xd4, 0x84, 0x88, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x11, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x77, 0x68, - 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x18, 0xdb, 0xf7, 0xed, 0x70, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x07, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x57, 0x68, 0x69, 0x6c, 0x65, - 0x53, 0x74, 0x61, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1c, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xc6, 0xa8, 0xb9, 0x80, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x08, 0x52, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x4d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, - 0x12, 0x33, 0x0a, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xb5, 0xed, 0xa7, 0xb1, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, - 0x10, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, - 0x43, 0x10, 0xe9, 0x97, 0xa5, 0xa9, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x46, 0x4f, 0x52, 0x43, 0x45, - 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0xb0, 0xdd, 0xe0, 0xe7, 0x01, - 0x12, 0x1a, 0x0a, 0x12, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x43, 0x41, 0x43, 0x48, - 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xc8, 0xb7, 0xe8, 0xb5, 0x01, 0x12, 0x19, 0x0a, 0x12, - 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, - 0x52, 0x53, 0x10, 0xa5, 0x92, 0xb4, 0x1a, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, 0x6c, 0x65, 0x73, 0x63, 0x69, - 0x6e, 0x67, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x77, 0x68, 0x69, - 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x22, 0x6c, 0x0a, 0x31, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x27, - 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xfd, 0xc1, - 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x74, 0x0a, 0x2c, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, - 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0xec, 0x83, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x01, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x74, 0x6c, 0x22, 0xc9, 0x05, - 0x0a, 0x26, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x66, 0x0a, 0x2c, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0xf9, 0x91, 0xd8, 0x48, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x28, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x6e, 0x55, 0x6e, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x3c, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x6f, 0x6e, - 0x67, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x94, 0xe6, 0xd9, 0x0b, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, - 0x6f, 0x6e, 0x67, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x30, - 0x0a, 0x10, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, - 0x65, 0x63, 0x18, 0x88, 0xc1, 0xf4, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0e, 0x69, - 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, - 0x12, 0x2b, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x18, 0xab, 0xdc, 0xf5, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0c, 0x74, 0x72, - 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x22, 0xb0, 0x01, - 0x0a, 0x28, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x6e, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x36, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x5f, 0x42, 0x41, 0x43, 0x4b, - 0x45, 0x4e, 0x44, 0x53, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, - 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x10, 0x84, 0xe7, 0xa7, 0x12, 0x12, 0x1b, 0x0a, - 0x14, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0xcc, 0xa5, 0xa2, 0x45, 0x12, 0x14, 0x0a, 0x0d, 0x4e, 0x45, - 0x56, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x10, 0xe1, 0xa5, 0x8e, 0x42, - 0x22, 0x74, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x52, - 0x41, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x1c, 0x0a, - 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x49, 0x4e, - 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xc3, 0x83, 0xbd, 0x17, 0x12, 0x15, 0x0a, 0x0e, 0x50, - 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe0, 0xf6, - 0xcd, 0x28, 0x12, 0x12, 0x0a, 0x0b, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x10, 0xb4, 0xba, 0xea, 0x56, 0x42, 0x2f, 0x0a, 0x2d, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xc2, 0x02, 0x0a, 0x1c, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x46, 0x61, 0x69, 0x6c, - 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x56, 0x0a, 0x24, 0x64, 0x69, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x15, 0x6e, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x43, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x36, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, + 0x6c, 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x18, 0xd4, 0x84, 0x88, 0xfe, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x06, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x61, 0x6c, + 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x18, 0xdb, + 0xf7, 0xed, 0x70, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x57, 0x68, 0x69, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, + 0x1c, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xc6, 0xa8, + 0xb9, 0x80, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x08, 0x52, 0x17, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x55, 0x72, 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, + 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x14, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, + 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xb5, 0xed, + 0xa7, 0xb1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, + 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x09, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x10, 0x00, 0x12, 0x18, 0x0a, 0x10, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0xe9, 0x97, 0xa5, 0xa9, 0x01, 0x12, 0x17, 0x0a, 0x0f, + 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, + 0xb0, 0xdd, 0xe0, 0xe7, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xc8, 0xb7, 0xe8, 0xb5, + 0x01, 0x12, 0x19, 0x0a, 0x12, 0x55, 0x53, 0x45, 0x5f, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, + 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x53, 0x10, 0xa5, 0x92, 0xb4, 0x1a, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x74, 0x6c, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x74, 0x6c, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x61, + 0x6c, 0x65, 0x73, 0x63, 0x69, 0x6e, 0x67, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x5f, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x42, 0x1f, 0x0a, + 0x1d, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x63, 0x61, 0x63, + 0x68, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x22, 0x6c, + 0x0a, 0x31, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x43, 0x64, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x79, 0x70, 0x61, 0x73, 0x73, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x74, 0x0a, 0x2c, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x64, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x43, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, + 0xec, 0x83, 0x07, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x88, 0x01, + 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, + 0x74, 0x6c, 0x22, 0xc9, 0x05, 0x0a, 0x26, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x66, 0x0a, + 0x2c, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x18, 0xf9, 0x91, + 0xd8, 0x48, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x28, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x4f, + 0x6e, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, + 0x94, 0xe6, 0xd9, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x14, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x88, 0xc1, 0xf4, 0x0b, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x02, 0x52, 0x0e, 0x69, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xab, 0xdc, 0xf5, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x88, + 0x01, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x28, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x6e, 0x55, 0x6e, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x12, + 0x3a, 0x0a, 0x36, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, + 0x4e, 0x43, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, + 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x53, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x41, + 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x10, 0x84, 0xe7, + 0xa7, 0x12, 0x12, 0x1b, 0x0a, 0x14, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x46, 0x4f, + 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0xcc, 0xa5, 0xa2, 0x45, 0x12, + 0x14, 0x0a, 0x0d, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, + 0x10, 0xe1, 0xa5, 0x8e, 0x42, 0x22, 0x74, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x54, 0x52, + 0x41, 0x43, 0x4b, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0xc3, 0x83, 0xbd, 0x17, + 0x12, 0x15, 0x0a, 0x0e, 0x50, 0x45, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0xe0, 0xf6, 0xcd, 0x28, 0x12, 0x12, 0x0a, 0x0b, 0x50, 0x45, 0x52, 0x5f, 0x53, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xb4, 0xba, 0xea, 0x56, 0x42, 0x2f, 0x0a, 0x2d, 0x5f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x73, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x61, + 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x64, 0x6c, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xc2, + 0x02, 0x0a, 0x1c, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x56, 0x0a, 0x24, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, + 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x18, 0xe1, 0xcc, 0xed, 0x56, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x4f, 0x6e, 0x46, 0x61, 0x69, 0x6c, + 0x6f, 0x76, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x19, 0x64, 0x72, 0x6f, 0x70, 0x5f, + 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x69, 0x66, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x79, 0x18, 0x94, 0xcd, 0xc5, 0x35, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x16, 0x64, 0x72, 0x6f, 0x70, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x66, 0x55, 0x6e, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x66, 0x61, + 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0xfe, 0x94, 0xb4, + 0x65, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, + 0x72, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, - 0x65, 0x72, 0x18, 0xe1, 0xcc, 0xed, 0x56, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x20, 0x64, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x72, 0x61, 0x69, 0x6e, 0x4f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x41, 0x0a, 0x19, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, - 0x69, 0x63, 0x5f, 0x69, 0x66, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x18, - 0x94, 0xcd, 0xc5, 0x35, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x16, 0x64, 0x72, 0x6f, 0x70, - 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x49, 0x66, 0x55, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, - 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0xfe, 0x94, 0xb4, 0x65, 0x20, 0x01, 0x28, 0x02, - 0x48, 0x02, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x61, 0x74, 0x69, - 0x6f, 0x88, 0x01, 0x01, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69, - 0x6e, 0x5f, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x42, 0x1c, 0x0a, - 0x1a, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x69, - 0x66, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, - 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x22, 0xba, - 0x02, 0x0a, 0x19, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x68, 0x0a, 0x0b, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0xf6, 0xb5, 0x35, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x65, 0x72, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x5f, 0x69, 0x66, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x22, 0xba, 0x02, 0x0a, 0x19, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x12, 0x68, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0xa4, 0xf6, 0xb5, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb5, 0xd6, 0xba, + 0xb5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, + 0x22, 0xc2, 0x02, 0x0a, 0x11, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x49, 0x41, 0x50, 0x12, 0x1f, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0xc1, 0x96, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6f, 0x61, 0x75, 0x74, 0x68, + 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x8e, 0xde, 0x95, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x6f, 0x61, + 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x18, 0xe0, 0xe1, 0xa8, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x12, 0x6f, + 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x18, 0xe6, 0x8c, 0xeb, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x18, + 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x61, 0x75, 0x74, + 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x17, 0x0a, 0x15, + 0x5f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, + 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb5, 0xd6, 0xba, 0xb5, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc2, 0x02, 0x0a, 0x11, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x41, - 0x50, 0x12, 0x1f, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xc1, 0x96, 0x3e, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x8e, 0xde, 0x95, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0e, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0xe0, 0xe1, - 0xa8, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x12, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x45, 0x0a, 0x1b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0xe6, - 0x8c, 0xeb, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x18, 0x6f, 0x61, 0x75, 0x74, 0x68, - 0x32, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x53, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6f, 0x61, 0x75, 0x74, - 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, - 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x5f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, - 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0xc2, 0x02, 0x0a, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, - 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x81, 0x01, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc0, 0x8b, 0xa6, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, - 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, - 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x87, 0x01, 0x0a, 0x3b, 0x42, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0xaa, 0xdf, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0xa4, 0x02, 0x0a, 0x35, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe6, 0x02, 0x0a, 0x18, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x55, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, + 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x22, 0xc2, 0x02, 0x0a, 0x2f, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x81, 0x01, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc0, 0x8b, 0xa6, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x06, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x22, 0xc5, 0x01, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, - 0x41, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x11, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x5f, 0x4c, 0x42, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0xb3, 0xe7, 0x95, 0x9a, 0x01, - 0x12, 0x14, 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, - 0x54, 0x10, 0xf9, 0xc4, 0x9c, 0x16, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, - 0x10, 0xea, 0x97, 0xea, 0x38, 0x12, 0x1b, 0x0a, 0x14, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, - 0x4c, 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x80, 0xfd, - 0xa5, 0x4f, 0x12, 0x0d, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0xc3, 0xb1, 0x97, - 0x7d, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0xbd, - 0xdb, 0xaf, 0xce, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, - 0x42, 0x49, 0x4e, 0x10, 0xf9, 0x86, 0xb1, 0x49, 0x12, 0x16, 0x0a, 0x0f, 0x57, 0x45, 0x49, 0x47, - 0x48, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0x92, 0xe0, 0xc7, 0x79, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x02, 0x0a, 0x17, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0xf8, 0xc8, 0x86, 0xfc, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa2, 0x86, 0xaf, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, - 0xd5, 0x94, 0x86, 0x49, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x76, 0x0a, 0x0c, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, - 0x10, 0xf1, 0xfe, 0xa5, 0xb9, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, - 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xc3, - 0xdd, 0xb4, 0x50, 0x12, 0x1c, 0x0a, 0x14, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, - 0x4c, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xb5, 0xed, 0xb2, 0xff, - 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0x5f, - 0x0a, 0x17, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, - 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, - 0xc3, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, - 0x10, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x18, 0xa9, 0xc3, 0xa1, 0xb9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc3, 0x0b, 0x0a, 0x09, 0x42, 0x66, 0x64, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x93, - 0xc4, 0x32, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, - 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, - 0xb5, 0xaf, 0xde, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, - 0x18, 0xcb, 0xd4, 0x9b, 0x83, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x06, 0x64, 0x65, - 0x6d, 0x61, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0xa7, 0xb7, 0xf3, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x88, 0x01, 0x01, 0x12, - 0x1c, 0x0a, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0xf6, 0x82, 0xbb, 0x2e, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x05, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, - 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0xe6, 0xf5, 0xb8, 0xf0, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x05, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3c, - 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x72, 0x78, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0xd4, 0xf5, 0xb1, 0x2e, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x06, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x78, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, - 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, - 0x6d, 0x73, 0x18, 0xf4, 0xd0, 0xfb, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x0f, - 0x6d, 0x69, 0x6e, 0x52, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0xb2, 0xf7, 0xe9, 0xfa, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x08, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0xc1, 0xfb, 0x9d, 0x5b, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x09, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0xf7, - 0xb7, 0xa3, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6d, 0x79, 0x5f, 0x64, - 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xc9, 0x92, 0xc7, - 0x24, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0b, 0x52, 0x0f, 0x6d, 0x79, 0x44, 0x69, 0x73, 0x63, 0x72, - 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, - 0x6f, 0x6c, 0x6c, 0x18, 0xbf, 0xaf, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, 0x52, 0x04, - 0x70, 0x6f, 0x6c, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0xd8, 0xb9, 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0e, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x79, 0x6f, 0x75, 0x72, - 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x90, - 0xe7, 0xef, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0f, 0x52, 0x11, 0x79, 0x6f, 0x75, 0x72, - 0x44, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, - 0x22, 0xde, 0x02, 0x0a, 0x0a, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, - 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x41, - 0x47, 0x4e, 0x4f, 0x53, 0x54, 0x49, 0x43, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x15, 0x41, 0x44, 0x4d, - 0x49, 0x4e, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x4c, 0x59, 0x5f, 0x44, 0x4f, - 0x57, 0x4e, 0x10, 0xa6, 0x8e, 0x83, 0x3a, 0x12, 0x1d, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x43, 0x41, - 0x54, 0x45, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, 0x4f, 0x57, - 0x4e, 0x10, 0x8c, 0xa9, 0xbe, 0x0c, 0x12, 0x25, 0x0a, 0x1e, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f, - 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, - 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0xef, 0xf8, 0xcc, 0x40, 0x12, 0x1d, 0x0a, - 0x16, 0x44, 0x49, 0x41, 0x47, 0x4e, 0x4f, 0x53, 0x54, 0x49, 0x43, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xff, 0x84, 0x80, 0x1c, 0x12, 0x1b, 0x0a, 0x14, - 0x45, 0x43, 0x48, 0x4f, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0xea, 0xd8, 0x9d, 0x69, 0x12, 0x1d, 0x0a, 0x16, 0x46, 0x4f, 0x52, - 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x45, 0x5f, 0x52, 0x45, - 0x53, 0x45, 0x54, 0x10, 0xaa, 0xae, 0xb3, 0x09, 0x12, 0x26, 0x0a, 0x1e, 0x4e, 0x45, 0x49, 0x47, - 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x45, 0x44, 0x5f, 0x53, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xb6, 0xfe, 0xb8, 0xb2, 0x01, - 0x12, 0x14, 0x0a, 0x0d, 0x4e, 0x4f, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x4e, 0x4f, 0x53, 0x54, 0x49, - 0x43, 0x10, 0xe5, 0xc1, 0x8c, 0x6a, 0x12, 0x11, 0x0a, 0x09, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, - 0x4f, 0x57, 0x4e, 0x10, 0xfc, 0x90, 0xc9, 0x8a, 0x01, 0x12, 0x26, 0x0a, 0x1e, 0x52, 0x45, 0x56, - 0x45, 0x52, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x45, 0x4e, 0x41, 0x54, 0x45, - 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa9, 0xb5, 0xc8, 0xe4, - 0x01, 0x22, 0x6d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, - 0x11, 0x0a, 0x0a, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xb2, 0xdf, - 0xa5, 0x3d, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa2, 0xb9, 0x80, 0x01, 0x12, - 0x0b, 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x90, 0xba, 0x89, 0x01, 0x12, 0x19, 0x0a, 0x11, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x9b, 0x15, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x06, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x87, 0x01, 0x0a, 0x3b, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaa, + 0xdf, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0xa4, 0x02, 0x0a, 0x35, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x42, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x22, 0xc5, 0x01, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x41, 0x4d, + 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x11, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4c, + 0x42, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0xb3, 0xe7, 0x95, 0x9a, 0x01, 0x12, 0x14, + 0x0a, 0x0d, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, + 0xf9, 0xc4, 0x9c, 0x16, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0xea, + 0x97, 0xea, 0x38, 0x12, 0x1b, 0x0a, 0x14, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, + 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x80, 0xfd, 0xa5, 0x4f, + 0x12, 0x0d, 0x0a, 0x06, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0xc3, 0xb1, 0x97, 0x7d, 0x12, + 0x11, 0x0a, 0x09, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0xbd, 0xdb, 0xaf, + 0xce, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, + 0x4e, 0x10, 0xf9, 0x86, 0xb1, 0x49, 0x12, 0x16, 0x0a, 0x0f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, + 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0x92, 0xe0, 0xc7, 0x79, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe2, 0x02, 0x0a, 0x17, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, + 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0xf8, 0xc8, 0x86, 0xfc, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x2b, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0xa2, 0x86, 0xaf, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xd5, 0x94, + 0x86, 0x49, 0x20, 0x01, 0x28, 0x02, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x76, 0x0a, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0xf1, + 0xfe, 0xa5, 0xb9, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, + 0x41, 0x4c, 0x4c, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xc3, 0xdd, 0xb4, + 0x50, 0x12, 0x1c, 0x0a, 0x14, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, + 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xb5, 0xed, 0xb2, 0xff, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0x5f, 0x0a, 0x17, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x4a, 0x0a, + 0x14, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x55, + 0x73, 0x65, 0x64, 0x42, 0x79, 0x12, 0x24, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0xcb, 0xfe, 0xec, 0x46, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x19, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0xa9, 0xc3, 0xa1, 0xb9, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0f, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, + 0xc3, 0x0b, 0x0a, 0x09, 0x42, 0x66, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3d, 0x0a, + 0x16, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x93, 0xc4, 0x32, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x15, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x65, - 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, - 0x74, 0x69, 0x63, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6d, 0x69, 0x6e, - 0x5f, 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x5f, 0x6d, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x78, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0xb5, 0xaf, 0xde, 0x1d, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x01, 0x52, 0x17, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, + 0x6e, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0xcb, 0xd4, 0x9b, 0x83, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x06, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, + 0xa7, 0xb7, 0xf3, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x18, 0xf6, 0x82, 0xbb, 0x2e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x05, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x18, 0xe6, 0xf5, 0xb8, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x06, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x5f, + 0x65, 0x63, 0x68, 0x6f, 0x5f, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x5f, 0x6d, 0x73, 0x18, 0xd4, 0xf5, 0xb1, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x13, + 0x6d, 0x69, 0x6e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, + 0x6c, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x78, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0xf4, 0xd0, 0xfb, + 0xdc, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x52, 0x78, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, - 0x6d, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, - 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, - 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x69, - 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xb3, 0x0c, 0x0a, 0x09, - 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x1f, 0x62, 0x66, 0x64, - 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x9a, 0x9f, 0x83, - 0x68, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x1c, 0x62, 0x66, 0x64, 0x53, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0xb1, 0x80, 0x81, 0xda, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x1b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, - 0xf9, 0xd2, 0x9b, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x48, 0x02, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x66, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0xf9, - 0xe7, 0xe6, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x73, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x10, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0xfb, - 0xa1, 0x90, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xbd, 0x95, - 0x92, 0x47, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x27, 0x6e, 0x65, 0x67, 0x6f, 0x74, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, - 0x6d, 0x73, 0x18, 0x94, 0xd1, 0xb0, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x22, 0x6e, - 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x18, 0xa1, 0x81, 0xeb, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x66, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x48, - 0x06, 0x52, 0x08, 0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, - 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xa3, 0xbd, 0x8e, 0x35, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x66, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x07, 0x52, 0x08, 0x74, 0x78, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x75, 0x70, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x6d, 0x73, 0x18, 0xdd, 0xda, 0xe5, 0x3b, 0x20, 0x01, 0x28, 0x03, 0x48, 0x08, 0x52, - 0x08, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x22, 0x80, 0x01, 0x0a, - 0x1c, 0x42, 0x66, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, - 0x29, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, - 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, - 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, 0x0f, - 0x0a, 0x07, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x10, 0x87, 0xf6, 0xd7, 0xdc, 0x01, 0x22, - 0xe9, 0x02, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, - 0x74, 0x69, 0x63, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x4e, 0x4f, 0x53, 0x54, 0x49, + 0x6d, 0x73, 0x18, 0xb2, 0xf7, 0xe9, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x08, 0x52, 0x0f, + 0x6d, 0x69, 0x6e, 0x54, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, + 0x18, 0xc1, 0xfb, 0x9d, 0x5b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x09, 0x52, 0x0a, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0xf7, 0xb7, 0xa3, 0x5b, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x0a, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6d, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, + 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xc9, 0x92, 0xc7, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x0b, 0x52, 0x0f, 0x6d, 0x79, 0x44, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, + 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x18, 0xbf, 0xaf, + 0xd2, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, 0x52, 0x04, 0x70, 0x6f, 0x6c, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xb9, 0xd4, 0xa7, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, + 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x90, 0xe7, 0xef, 0xf5, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x0f, 0x52, 0x11, 0x79, 0x6f, 0x75, 0x72, 0x44, 0x69, 0x73, 0x63, 0x72, 0x69, + 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x22, 0xde, 0x02, 0x0a, 0x0a, 0x44, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x4e, 0x4f, 0x53, 0x54, 0x49, 0x43, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x15, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x4c, 0x59, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa6, 0x8e, 0x83, 0x3a, 0x12, 0x1d, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x45, 0x4e, 0x41, 0x54, 0x45, @@ -133124,282 +139170,439 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x12, 0x11, 0x0a, 0x09, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xfc, 0x90, 0xc9, 0x8a, 0x01, 0x12, 0x26, 0x0a, 0x1e, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x45, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, - 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa9, 0xb5, 0xc8, 0xe4, 0x01, 0x22, 0x78, 0x0a, 0x0a, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x4f, - 0x57, 0x4e, 0x10, 0xb2, 0xdf, 0xa5, 0x3d, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, - 0xa2, 0xb9, 0x80, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x90, 0xba, 0x89, - 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x07, 0x0a, 0x02, - 0x55, 0x50, 0x10, 0x9b, 0x15, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x42, 0x18, 0x0a, 0x16, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x2a, 0x0a, 0x28, 0x5f, - 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x78, 0x5f, 0x70, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, - 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x15, 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x6e, - 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x18, 0x9f, 0xa3, 0xe3, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, - 0x52, 0x05, 0x6e, 0x75, 0x6d, 0x52, 0x78, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6e, 0x75, - 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x9e, 0xae, - 0xff, 0x85, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x52, 0x78, - 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6e, - 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, - 0x18, 0xba, 0x8a, 0x91, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x6e, 0x75, - 0x6d, 0x52, 0x78, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x88, 0x01, 0x01, - 0x12, 0x1d, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x78, 0x18, 0xdd, 0xa3, 0xe3, 0x12, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x05, 0x6e, 0x75, 0x6d, 0x54, 0x78, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x66, 0x75, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x78, 0x22, - 0xd6, 0x01, 0x0a, 0x07, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0a, 0x62, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x95, 0xf2, 0xa9, 0xd2, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x9b, 0xda, 0xa5, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x18, 0x99, 0x92, 0xbb, 0xc4, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0xf6, - 0x80, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, - 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x15, 0x42, 0x75, 0x6c, - 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf9, 0x97, 0x8a, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, - 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x62, 0x75, 0x6c, 0x6b, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8b, - 0x01, 0x0a, 0x16, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x1f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xdd, 0xa2, 0xad, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb2, 0x02, 0x0a, - 0x19, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x26, 0x62, - 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xce, 0xc2, 0xe0, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xa3, 0x06, 0x0a, 0x1a, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x1c, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x8f, 0xa2, 0x9d, 0x2d, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x64, - 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x9d, 0x9e, 0xd8, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa9, 0xb5, 0xc8, 0xe4, 0x01, 0x22, 0x6d, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x41, 0x44, 0x4d, + 0x49, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xb2, 0xdf, 0xa5, 0x3d, 0x12, 0x0b, 0x0a, 0x04, + 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa2, 0xb9, 0x80, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x4e, 0x49, + 0x54, 0x10, 0x90, 0xba, 0x89, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xc9, 0xd0, 0xbc, 0xe0, + 0x01, 0x12, 0x07, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x9b, 0x15, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x63, 0x68, 0x6f, 0x5f, + 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x78, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, + 0x79, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x79, 0x6f, 0x75, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xb3, 0x0c, 0x0a, 0x09, 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x4d, 0x0a, 0x1f, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x9a, 0x9f, 0x83, 0x68, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x1c, 0x62, 0x66, 0x64, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6d, 0x69, + 0x63, 0x72, 0x6f, 0x73, 0x18, 0xb1, 0x80, 0x81, 0xda, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, + 0x52, 0x1b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x6a, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0xf9, 0xd2, 0x9b, 0x3f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x66, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x48, 0x02, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x18, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0xf9, 0xe7, 0xe6, 0xee, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x52, 0x16, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x18, 0xfb, 0xa1, 0x90, 0xdd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xbd, 0x95, 0x92, 0x47, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x5b, 0x0a, 0x27, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x74, 0x78, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x18, 0x94, 0xd1, 0xb0, + 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x22, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, + 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x48, + 0x0a, 0x09, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xa1, 0x81, 0xeb, 0xf0, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x66, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x06, 0x52, 0x08, 0x72, 0x78, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xa3, 0xbd, 0x8e, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x01, 0x52, 0x12, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xfc, 0xb9, 0x87, 0xde, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x02, 0x52, 0x0e, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xe2, 0xa9, 0xbf, - 0xf9, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, 0xdc, 0xa3, 0xa9, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x04, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x89, 0x01, 0x0a, 0x17, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0xfb, 0xb9, - 0xde, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, - 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xc0, 0xc3, 0xc1, 0x9e, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x1a, 0x92, 0x01, 0x0a, 0x1a, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x5e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, - 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, 0x2f, 0x42, 0x75, 0x6c, 0x6b, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xaf, 0x02, 0x0a, 0x1b, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x84, 0x01, 0x0a, 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf9, 0x97, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x66, 0x64, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x48, 0x07, 0x52, 0x08, 0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x23, 0x0a, 0x09, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0xdd, + 0xda, 0xe5, 0x3b, 0x20, 0x01, 0x28, 0x03, 0x48, 0x08, 0x52, 0x08, 0x75, 0x70, 0x74, 0x69, 0x6d, + 0x65, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x22, 0x80, 0x01, 0x0a, 0x1c, 0x42, 0x66, 0x64, 0x53, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x29, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x46, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, + 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, + 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x41, 0x53, 0x53, + 0x49, 0x56, 0x45, 0x10, 0x87, 0xf6, 0xd7, 0xdc, 0x01, 0x22, 0xe9, 0x02, 0x0a, 0x0f, 0x4c, 0x6f, + 0x63, 0x61, 0x6c, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1e, 0x0a, + 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, + 0x5f, 0x44, 0x49, 0x41, 0x47, 0x4e, 0x4f, 0x53, 0x54, 0x49, 0x43, 0x10, 0x00, 0x12, 0x1c, 0x0a, + 0x15, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x49, 0x53, 0x54, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x4c, + 0x59, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa6, 0x8e, 0x83, 0x3a, 0x12, 0x1d, 0x0a, 0x16, 0x43, + 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x45, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, + 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x8c, 0xa9, 0xbe, 0x0c, 0x12, 0x25, 0x0a, 0x1e, 0x43, 0x4f, + 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0xef, 0xf8, 0xcc, + 0x40, 0x12, 0x1d, 0x0a, 0x16, 0x44, 0x49, 0x41, 0x47, 0x4e, 0x4f, 0x53, 0x54, 0x49, 0x43, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xff, 0x84, 0x80, 0x1c, + 0x12, 0x1b, 0x0a, 0x14, 0x45, 0x43, 0x48, 0x4f, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xea, 0xd8, 0x9d, 0x69, 0x12, 0x1d, 0x0a, + 0x16, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x41, 0x4e, + 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0xaa, 0xae, 0xb3, 0x09, 0x12, 0x26, 0x0a, 0x1e, + 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c, 0x45, + 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xb6, + 0xfe, 0xb8, 0xb2, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x4e, 0x4f, 0x5f, 0x44, 0x49, 0x41, 0x47, 0x4e, + 0x4f, 0x53, 0x54, 0x49, 0x43, 0x10, 0xe5, 0xc1, 0x8c, 0x6a, 0x12, 0x11, 0x0a, 0x09, 0x50, 0x41, + 0x54, 0x48, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xfc, 0x90, 0xc9, 0x8a, 0x01, 0x12, 0x26, 0x0a, + 0x1e, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x43, 0x41, 0x54, 0x45, + 0x4e, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, + 0xa9, 0xb5, 0xc8, 0xe4, 0x01, 0x22, 0x78, 0x0a, 0x0a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x11, + 0x0a, 0x0a, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xb2, 0xdf, 0xa5, + 0x3d, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa2, 0xb9, 0x80, 0x01, 0x12, 0x0b, + 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x90, 0xba, 0x89, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x9b, 0x15, 0x42, + 0x22, 0x0a, 0x20, 0x5f, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, + 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x2a, 0x0a, 0x28, 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6d, + 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x15, + 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x18, + 0x9f, 0xa3, 0xe3, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x75, 0x6d, 0x52, + 0x78, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x5f, 0x72, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x9e, 0xae, 0xff, 0x85, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x01, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x52, 0x78, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x18, 0xba, 0x8a, 0x91, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x52, 0x78, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x06, 0x6e, 0x75, + 0x6d, 0x5f, 0x74, 0x78, 0x18, 0xdd, 0xa3, 0xe3, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, + 0x05, 0x6e, 0x75, 0x6d, 0x54, 0x78, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x75, + 0x6d, 0x5f, 0x72, 0x78, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x78, 0x5f, + 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6e, 0x75, 0x6d, + 0x5f, 0x72, 0x78, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x78, 0x22, 0xd6, 0x01, 0x0a, 0x07, 0x42, 0x69, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, 0x0a, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x64, 0x18, 0x95, 0xf2, 0xa9, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, + 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x9b, 0xda, 0xa5, 0x65, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x99, 0x92, + 0xbb, 0xc4, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x12, 0x1a, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0xf6, 0x80, 0xd6, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, + 0x6c, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x15, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, + 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf9, 0x97, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, + 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x42, 0x75, 0x6c, + 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x1f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xdd, 0xa2, 0xad, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, + 0x01, 0x01, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb2, 0x02, 0x0a, 0x19, 0x42, 0x75, 0x6c, 0x6b, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x26, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xce, 0xc2, 0xe0, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xbe, 0x02, 0x0a, 0x1f, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8f, 0x01, 0x0a, 0x26, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xce, 0xc2, 0xe0, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa3, 0x06, 0x0a, 0x1a, + 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x8f, 0xa2, 0x9d, 0x2d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x9d, 0x9e, 0xd8, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x01, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x59, + 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0xfc, 0xb9, 0x87, 0xde, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x48, 0x02, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x6d, 0x69, 0x6e, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xe2, 0xa9, 0xbf, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x03, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x2a, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x18, + 0xdc, 0xa3, 0xa9, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x6e, 0x61, 0x6d, + 0x65, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x89, 0x01, 0x0a, 0x17, + 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0xfb, 0xb9, 0xde, 0x33, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x15, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x18, 0xc0, 0xc3, 0xc1, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, + 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x92, 0x01, 0x0a, 0x1a, 0x50, + 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x5e, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x74, 0x65, 0x72, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x22, 0x87, 0x01, 0x0a, 0x2f, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0xb3, 0xb8, 0x85, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x68, 0x6f, + 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xea, 0x03, 0x0a, 0x19, + 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x10, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xfe, 0xa9, + 0xa2, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x56, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0xed, 0xd5, 0xca, 0x81, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x56, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x40, 0x0a, 0x19, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xe8, 0xbd, 0xeb, + 0x1b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x15, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, + 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x6d, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf5, 0xa0, 0x92, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, + 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x22, 0x6d, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, + 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x82, 0xb7, 0x80, + 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x52, 0x4f, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x42, 0x41, 0x43, + 0x4b, 0x10, 0xc1, 0x9d, 0xd9, 0x7b, 0x12, 0x19, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xca, 0xcc, 0x8b, + 0x14, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x6d, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x5f, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, + 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xaf, 0x02, 0x0a, 0x1b, 0x42, 0x75, 0x6c, + 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x62, 0x75, 0x6c, + 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xd6, 0xf9, 0x97, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0x61, 0x0a, 0x15, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x68, - 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, - 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, - 0xa5, 0xc8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0xc9, 0x03, 0x0a, 0x0e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, - 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xdf, 0x85, 0x94, 0xe8, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x6f, 0x73, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x86, 0xfa, 0x97, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x74, - 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x15, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, - 0x65, 0x73, 0x18, 0xb2, 0xb0, 0xd1, 0x29, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, - 0x12, 0x32, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xcf, 0xd0, 0xdc, 0x90, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x9f, 0xf3, 0x84, - 0xe2, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x38, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, - 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x86, 0xaa, 0xa1, 0xa9, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x16, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, - 0x69, 0x73, 0x74, 0x18, 0xb0, 0xd8, 0x81, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, - 0x73, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, - 0x6f, 0x73, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x22, 0x87, 0x03, 0x0a, 0x0f, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, - 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xfa, 0xd5, 0xe1, 0x34, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0xe7, - 0xa5, 0x8a, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x18, 0xbf, 0xf8, 0xb2, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0b, 0x6d, 0x61, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc0, 0x96, 0xb8, 0xac, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x18, 0xeb, 0xa2, 0xbe, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x0a, - 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x22, 0xe2, 0x01, 0x0a, 0x1f, - 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0xad, 0xda, 0xf6, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x14, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0x95, 0x02, 0x0a, 0x26, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, - 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x1e, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbe, 0x02, 0x0a, 0x1f, 0x42, + 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x8f, + 0x01, 0x0a, 0x26, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xce, 0xc2, 0xe0, 0x13, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, + 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x62, 0x75, + 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x61, 0x0a, 0x15, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0xa5, 0xc8, 0xd1, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0xc9, + 0x03, 0x0a, 0x0e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, + 0x74, 0x18, 0xdf, 0x85, 0x94, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, + 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x86, 0xfa, 0x97, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x35, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, 0x18, 0xb2, 0xb0, 0xd1, 0x29, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x64, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x10, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xcf, 0xd0, + 0xdc, 0x90, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, + 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x9f, 0xf3, 0x84, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x02, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, + 0x73, 0x74, 0x18, 0x86, 0xaa, 0xa1, 0xa9, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, + 0x73, 0x74, 0x12, 0x37, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x5f, 0x77, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0xb0, 0xd8, 0x81, + 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x57, 0x68, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x87, 0x03, 0x0a, 0x0f, 0x43, + 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x12, 0x2f, + 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0xfa, 0xd5, 0xe1, 0x34, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x61, + 0x78, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x39, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0xe7, 0xa5, 0x8a, 0xb3, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x01, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0xbf, 0xf8, 0xb2, 0x0d, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc0, 0x96, 0xb8, 0xac, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, + 0x52, 0x18, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0xeb, 0xa2, 0xbe, + 0x1a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x22, 0xe2, 0x01, 0x0a, 0x1f, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xad, 0xda, 0xf6, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x95, 0x02, 0x0a, 0x26, 0x43, 0x6c, + 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0xad, 0xda, 0xf6, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x14, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0xc4, 0x02, 0x0a, 0x2c, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, @@ -133408,684 +139611,476 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xc4, 0x02, 0x0a, 0x2c, 0x43, 0x6c, 0x6f, - 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, - 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0xad, 0xda, 0xf6, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x14, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0xf6, 0x0e, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, - 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x18, 0xfd, 0x97, 0xa4, - 0xec, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, - 0x6e, 0x65, 0x77, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x18, 0xfe, 0xf9, 0x8a, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x63, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb2, 0xad, - 0x9a, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x10, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xcc, 0xd4, 0xea, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x07, - 0x52, 0x0f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x18, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0xc1, 0xaa, 0xd8, 0x59, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x6d, 0x65, 0x72, 0x67, 0x65, - 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0xa9, 0x96, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, - 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa7, 0xec, 0xcc, 0xbe, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x18, 0xa5, 0xfc, 0xb2, 0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x17, 0x73, - 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xd4, 0xb7, 0xfd, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0c, 0x52, 0x15, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0xf9, 0xaa, 0xf1, 0x27, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0e, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0xba, 0xc9, 0xe9, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0d, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x62, 0x0a, 0x08, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x10, 0x00, 0x12, 0x1c, 0x0a, - 0x14, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xd6, 0xba, 0xe6, 0xf2, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x4c, - 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x10, 0xa1, 0xa0, 0xf0, 0xa5, 0x01, 0x12, 0x0f, 0x0a, 0x07, - 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x10, 0xa7, 0xa0, 0xf3, 0xdf, 0x01, 0x22, 0x59, 0x0a, - 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x54, 0x48, - 0x49, 0x52, 0x54, 0x59, 0x5f, 0x53, 0x49, 0x58, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x86, - 0xb5, 0xfd, 0x7e, 0x12, 0x13, 0x0a, 0x0c, 0x54, 0x57, 0x45, 0x4c, 0x56, 0x45, 0x5f, 0x4d, 0x4f, - 0x4e, 0x54, 0x48, 0x10, 0xba, 0x9a, 0xc4, 0x52, 0x22, 0x7a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, - 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xb1, 0xf2, 0x80, 0x14, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, - 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x0f, 0x0a, 0x07, - 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x85, 0xe6, 0x88, 0xe6, 0x01, 0x12, 0x15, 0x0a, - 0x0e, 0x4e, 0x4f, 0x54, 0x5f, 0x59, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, - 0xe9, 0xe2, 0xe9, 0x09, 0x22, 0x85, 0x03, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, - 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, - 0x00, 0x12, 0x1d, 0x0a, 0x15, 0x41, 0x43, 0x43, 0x45, 0x4c, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, - 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x10, 0x93, 0xd0, 0xf5, 0x85, 0x01, - 0x12, 0x18, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, - 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x10, 0xdf, 0xed, 0xc0, 0x4b, 0x12, 0x1d, 0x0a, 0x15, 0x43, 0x4f, - 0x4d, 0x50, 0x55, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, - 0x43, 0x32, 0x44, 0x10, 0xf5, 0xc0, 0xdf, 0xb6, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x43, 0x4f, 0x4d, - 0x50, 0x55, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, - 0x33, 0x10, 0xb0, 0xab, 0x8b, 0xcc, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x47, 0x45, 0x4e, 0x45, 0x52, - 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x87, 0xf9, 0xf9, 0x8e, 0x01, - 0x12, 0x1a, 0x0a, 0x12, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, - 0x4f, 0x53, 0x45, 0x5f, 0x45, 0x32, 0x10, 0xc5, 0x9e, 0xfb, 0x8f, 0x01, 0x12, 0x1a, 0x0a, 0x12, - 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, - 0x4e, 0x32, 0x10, 0xdc, 0xa0, 0xfb, 0x8f, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x47, 0x45, 0x4e, 0x45, - 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x4e, 0x32, 0x44, 0x10, - 0xe8, 0xf6, 0xec, 0x6e, 0x12, 0x1a, 0x0a, 0x13, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, - 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x54, 0x32, 0x44, 0x10, 0xee, 0xa3, 0xed, 0x6e, - 0x12, 0x19, 0x0a, 0x12, 0x47, 0x52, 0x41, 0x50, 0x48, 0x49, 0x43, 0x53, 0x5f, 0x4f, 0x50, 0x54, - 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x10, 0xd3, 0xf8, 0xd4, 0x20, 0x12, 0x18, 0x0a, 0x10, 0x4d, - 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x10, - 0xc9, 0xee, 0xac, 0x86, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x5f, - 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x4d, 0x33, 0x10, 0xbc, 0x8c, 0xe0, - 0x83, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x92, 0xfb, 0xdb, 0xd0, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x11, 0x0a, 0x0f, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8c, 0x04, 0x0a, 0x18, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xd4, 0x0f, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x72, 0x65, 0x6e, 0x65, 0x77, 0x18, 0xfd, 0x97, 0xa4, 0xec, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x88, 0x01, 0x01, 0x12, + 0x22, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0xfe, 0xf9, 0x8a, 0x18, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb2, 0xad, 0x9a, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x10, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xcc, 0xd4, 0xea, 0xd0, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x07, 0x52, 0x0f, 0x6c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, + 0x18, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xc1, 0xaa, 0xd8, 0x59, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x16, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0xa9, + 0x96, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xa7, 0xec, 0xcc, 0xbe, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x4c, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0xa5, 0xfc, + 0xb2, 0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, - 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0b, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xfe, 0xaf, 0xf2, 0xd6, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x17, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0xd4, 0xb7, 0xfd, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x15, 0x73, 0x70, 0x6c, + 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xf9, 0xaa, 0xf1, 0x27, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0d, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xba, 0xc9, 0xe9, 0x8d, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, + 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x22, 0x62, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x16, + 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x41, 0x54, 0x45, + 0x47, 0x4f, 0x52, 0x59, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, + 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xd6, + 0xba, 0xe6, 0xf2, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x10, + 0xa1, 0xa0, 0xf0, 0xa5, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, + 0x10, 0xa7, 0xa0, 0xf3, 0xdf, 0x01, 0x22, 0x59, 0x0a, 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x12, + 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x4e, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, + 0xed, 0xfc, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x54, 0x48, 0x49, 0x52, 0x54, 0x59, 0x5f, 0x53, 0x49, + 0x58, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x86, 0xb5, 0xfd, 0x7e, 0x12, 0x13, 0x0a, 0x0c, + 0x54, 0x57, 0x45, 0x4c, 0x56, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0xba, 0x9a, 0xc4, + 0x52, 0x22, 0x7a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, + 0x01, 0x12, 0x10, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xb1, + 0xf2, 0x80, 0x14, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, + 0x10, 0x85, 0xe6, 0x88, 0xe6, 0x01, 0x12, 0x15, 0x0a, 0x0e, 0x4e, 0x4f, 0x54, 0x5f, 0x59, 0x45, + 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xe9, 0xe2, 0xe9, 0x09, 0x22, 0xe3, 0x03, + 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x15, 0x41, 0x43, + 0x43, 0x45, 0x4c, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, + 0x5a, 0x45, 0x44, 0x10, 0x93, 0xd0, 0xf5, 0x85, 0x01, 0x12, 0x1f, 0x0a, 0x18, 0x41, 0x43, 0x43, + 0x45, 0x4c, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, + 0x45, 0x44, 0x5f, 0x41, 0x33, 0x10, 0xbe, 0xcf, 0xce, 0x4b, 0x12, 0x18, 0x0a, 0x11, 0x43, 0x4f, + 0x4d, 0x50, 0x55, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x10, + 0xdf, 0xed, 0xc0, 0x4b, 0x12, 0x1d, 0x0a, 0x15, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x45, 0x5f, + 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x32, 0x44, 0x10, 0xf5, 0xc0, + 0xdf, 0xb6, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x45, 0x5f, 0x4f, + 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x33, 0x10, 0xb0, 0xab, 0x8b, 0xcc, + 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, + 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x33, 0x44, 0x10, 0x94, 0xc1, 0xdf, 0xb6, 0x01, + 0x12, 0x1c, 0x0a, 0x14, 0x43, 0x4f, 0x4d, 0x50, 0x55, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, + 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x48, 0x33, 0x10, 0xcb, 0xac, 0x8b, 0xcc, 0x01, 0x12, 0x17, + 0x0a, 0x0f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, + 0x45, 0x10, 0x87, 0xf9, 0xf9, 0x8e, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x47, 0x45, 0x4e, 0x45, 0x52, + 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x45, 0x32, 0x10, 0xc5, 0x9e, + 0xfb, 0x8f, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, + 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x4e, 0x32, 0x10, 0xdc, 0xa0, 0xfb, 0x8f, 0x01, 0x12, + 0x1a, 0x0a, 0x13, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, + 0x53, 0x45, 0x5f, 0x4e, 0x32, 0x44, 0x10, 0xe8, 0xf6, 0xec, 0x6e, 0x12, 0x1a, 0x0a, 0x13, 0x47, + 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x5f, 0x54, + 0x32, 0x44, 0x10, 0xee, 0xa3, 0xed, 0x6e, 0x12, 0x19, 0x0a, 0x12, 0x47, 0x52, 0x41, 0x50, 0x48, + 0x49, 0x43, 0x53, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x10, 0xd3, 0xf8, + 0xd4, 0x20, 0x12, 0x18, 0x0a, 0x10, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x5f, 0x4f, 0x50, 0x54, + 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x10, 0xc9, 0xee, 0xac, 0x86, 0x01, 0x12, 0x1b, 0x0a, 0x13, + 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, + 0x5f, 0x4d, 0x33, 0x10, 0xbc, 0x8c, 0xe0, 0x83, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x92, 0xfb, + 0xdb, 0xd0, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6e, + 0x65, 0x77, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x73, 0x70, 0x6c, + 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x8c, 0x04, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, + 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, + 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa3, 0x04, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x03, 0x69, 0x61, 0x6d, 0x18, 0xd5, 0xac, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x69, 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x14, - 0x0a, 0x02, 0x6f, 0x70, 0x18, 0xe1, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x6f, - 0x70, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x73, 0x76, 0x63, 0x18, 0xe0, 0xfc, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x73, 0x76, 0x63, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, - 0x03, 0x73, 0x79, 0x73, 0x18, 0xcd, 0xfd, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x03, - 0x73, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0xa2, 0xba, 0x96, 0x77, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x03, 0x49, 0x61, 0x6d, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, - 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x52, 0x10, 0xc5, 0xad, 0xad, 0xaa, 0x01, 0x12, 0x12, - 0x0a, 0x0b, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xdf, 0xc8, - 0xec, 0x6e, 0x12, 0x11, 0x0a, 0x09, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, - 0xa3, 0xae, 0xb0, 0xf0, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, - 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xbd, 0xe5, 0x85, 0xa6, 0x01, 0x12, - 0x17, 0x0a, 0x0f, 0x43, 0x52, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0xe8, 0xcf, 0xbc, 0x9e, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4a, 0x55, 0x53, 0x54, - 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x87, - 0xa1, 0xa6, 0x62, 0x12, 0x16, 0x0a, 0x0e, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, - 0x52, 0x45, 0x41, 0x4c, 0x4d, 0x10, 0xb0, 0xf9, 0xf8, 0xfa, 0x01, 0x22, 0x72, 0x0a, 0x02, 0x4f, - 0x70, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, - 0x50, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x44, 0x49, 0x53, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, - 0x44, 0x10, 0xe2, 0xff, 0xff, 0x7e, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, - 0x10, 0xbf, 0xe7, 0xed, 0xd2, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0xa5, 0x12, 0x12, - 0x11, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0xcb, 0xc5, - 0xb3, 0x09, 0x12, 0x0d, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x10, 0xb1, 0xbc, 0xeb, - 0x4c, 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x4f, 0x5f, 0x4f, 0x50, 0x10, 0x9f, 0x82, 0xc2, 0x23, 0x22, - 0x4d, 0x0a, 0x03, 0x53, 0x79, 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x59, 0x53, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x50, 0x10, - 0xa7, 0x12, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x8b, 0xe5, 0x91, 0x01, 0x12, - 0x0d, 0x0a, 0x06, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xf4, 0xb5, 0xec, 0x7e, 0x12, 0x0e, - 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x10, 0x95, 0xa5, 0xbd, 0x08, 0x42, 0x06, - 0x0a, 0x04, 0x5f, 0x69, 0x61, 0x6d, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6f, 0x70, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x73, 0x76, 0x63, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x73, 0x79, 0x73, 0x22, 0x84, 0x01, - 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x1b, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x18, 0xbc, 0xeb, 0xd9, 0x30, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x22, 0x67, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x14, 0x64, 0x72, - 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, - 0x65, 0x63, 0x18, 0x9e, 0xd5, 0xac, 0x6b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x12, 0x64, - 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, - 0x63, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x22, 0xb5, 0x02, - 0x0a, 0x22, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6e, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6f, - 0x6b, 0x69, 0x65, 0x18, 0xfb, 0xab, 0x97, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0xfe, 0xaf, 0xf2, 0xd6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6f, - 0x6b, 0x69, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6f, 0x6b, 0x69, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc6, 0xf7, 0xfa, 0x6f, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, - 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xbf, 0xbb, 0xe1, 0x6f, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, - 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x2c, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x74, 0x74, 0x70, - 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, - 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0xa5, 0xc8, 0xd1, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, - 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0xec, 0x83, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa3, + 0x04, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x03, + 0x69, 0x61, 0x6d, 0x18, 0xd5, 0xac, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x69, + 0x61, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0xe1, 0x1b, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x6f, 0x70, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x73, + 0x76, 0x63, 0x18, 0xe0, 0xfc, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x03, 0x73, 0x76, + 0x63, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x73, 0x79, 0x73, 0x18, 0xcd, 0xfd, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x03, 0x73, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0xa2, 0xba, 0x96, 0x77, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x03, 0x49, 0x61, 0x6d, + 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x41, + 0x4d, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x52, 0x10, + 0xc5, 0xad, 0xad, 0xaa, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xdf, 0xc8, 0xec, 0x6e, 0x12, 0x11, 0x0a, 0x09, 0x41, 0x55, 0x54, + 0x48, 0x4f, 0x52, 0x49, 0x54, 0x59, 0x10, 0xa3, 0xae, 0xb0, 0xf0, 0x01, 0x12, 0x18, 0x0a, 0x10, + 0x43, 0x52, 0x45, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x41, 0x4c, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0xbd, 0xe5, 0x85, 0xa6, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x43, 0x52, 0x45, 0x44, 0x53, 0x5f, + 0x41, 0x53, 0x53, 0x45, 0x52, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe8, 0xcf, 0xbc, 0x9e, 0x01, 0x12, + 0x19, 0x0a, 0x12, 0x4a, 0x55, 0x53, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x87, 0xa1, 0xa6, 0x62, 0x12, 0x16, 0x0a, 0x0e, 0x53, 0x45, + 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x4d, 0x10, 0xb0, 0xf9, 0xf8, + 0xfa, 0x01, 0x22, 0x72, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x44, 0x49, + 0x53, 0x43, 0x48, 0x41, 0x52, 0x47, 0x45, 0x44, 0x10, 0xe2, 0xff, 0xff, 0x7e, 0x12, 0x0e, 0x0a, + 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0xbf, 0xe7, 0xed, 0xd2, 0x01, 0x12, 0x07, 0x0a, + 0x02, 0x49, 0x4e, 0x10, 0xa5, 0x12, 0x12, 0x11, 0x0a, 0x0a, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, + 0x55, 0x41, 0x4c, 0x53, 0x10, 0xcb, 0xc5, 0xb3, 0x09, 0x12, 0x0d, 0x0a, 0x06, 0x4e, 0x4f, 0x54, + 0x5f, 0x49, 0x4e, 0x10, 0xb1, 0xbc, 0xeb, 0x4c, 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x4f, 0x5f, 0x4f, + 0x50, 0x10, 0x9f, 0x82, 0xc2, 0x23, 0x22, 0x4d, 0x0a, 0x03, 0x53, 0x79, 0x73, 0x12, 0x11, 0x0a, + 0x0d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x59, 0x53, 0x10, 0x00, + 0x12, 0x07, 0x0a, 0x02, 0x49, 0x50, 0x10, 0xa7, 0x12, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x41, 0x4d, + 0x45, 0x10, 0x8b, 0xe5, 0x91, 0x01, 0x12, 0x0d, 0x0a, 0x06, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, + 0x10, 0xf4, 0xb5, 0xec, 0x7e, 0x12, 0x0e, 0x0a, 0x07, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x10, 0x95, 0xa5, 0xbd, 0x08, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x69, 0x61, 0x6d, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x6f, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x73, 0x76, 0x63, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x73, 0x79, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x18, 0xbc, 0xeb, 0xd9, 0x30, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x19, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x22, 0x67, 0x0a, 0x12, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, + 0x67, 0x12, 0x38, 0x0a, 0x14, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x9e, 0xd5, 0xac, 0x6b, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x12, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, + 0x64, 0x72, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x5f, 0x73, 0x65, 0x63, 0x22, 0xb5, 0x02, 0x0a, 0x22, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6e, 0x0a, 0x0b, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0xfb, 0xab, 0x97, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x61, 0x64, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, + 0x74, 0x70, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0xc6, 0xf7, 0xfa, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x68, 0x74, 0x74, 0x70, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, + 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0xbf, 0xbb, 0xe1, 0x6f, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x0f, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, + 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xbc, 0x01, 0x0a, + 0x2c, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x4c, + 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0xa5, 0xc8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0xec, 0x83, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x88, 0x01, + 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x74, 0x6c, 0x22, 0x8f, 0x03, 0x0a, 0x0a, + 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x0a, 0x11, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, + 0x86, 0xfe, 0xbd, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x73, 0x18, 0x90, 0xc1, 0xc5, 0x15, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x18, 0xbc, 0xf9, 0xf8, 0x61, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, + 0x12, 0x33, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x18, 0xd2, 0x8d, 0xda, 0x66, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x67, 0x65, 0x78, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, + 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x97, 0xce, 0xf8, 0x5c, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x23, 0x0a, + 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x73, 0x18, 0x8b, 0xcc, 0x88, 0x76, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, + 0x78, 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x07, + 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x18, 0xa4, 0xf7, 0xd3, 0x92, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x02, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x22, 0xb6, 0x03, + 0x0a, 0x2a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xc4, 0x01, 0x0a, 0x39, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x93, 0xfa, 0xda, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd6, 0x03, 0x0a, 0x30, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd8, + 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x88, 0xbf, 0x98, 0xab, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x02, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x74, 0x74, 0x6c, 0x22, 0x8f, 0x03, 0x0a, 0x0a, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x34, 0x0a, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x86, 0xfe, 0xbd, 0xe5, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x90, 0xc1, 0xc5, 0x15, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x73, 0x18, 0xbc, 0xf9, 0xf8, 0x61, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x14, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, - 0x73, 0x18, 0xd2, 0x8d, 0xda, 0x66, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x12, 0x26, - 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x18, - 0x97, 0xce, 0xf8, 0x5c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0e, 0x65, - 0x78, 0x70, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x8b, 0xcc, - 0x88, 0x76, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, - 0x18, 0xa4, 0xf7, 0xd3, 0x92, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x06, 0x6d, 0x61, - 0x78, 0x41, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x22, 0xb6, 0x03, 0x0a, 0x2a, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, - 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x12, 0xc4, 0x01, 0x0a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x93, 0xfa, 0xda, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xd6, 0x03, 0x0a, 0x30, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, - 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd8, 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x88, 0xbf, 0x98, - 0xab, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcf, 0x02, 0x0a, 0x19, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, - 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, - 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, - 0x68, 0x18, 0xdd, 0x93, 0xec, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x67, - 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x57, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xa9, 0xb8, 0xc1, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x1f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xcf, 0x02, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x67, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0xdd, 0x93, 0xec, 0xb7, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, 0x75, 0x73, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa9, 0xb8, 0xc1, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd2, - 0x02, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x99, 0xeb, 0xfb, 0xe6, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x17, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xd5, - 0xc5, 0x90, 0x64, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x14, 0x6b, 0x6d, 0x73, 0x4b, 0x65, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x72, 0x61, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xc8, 0xe3, - 0x98, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x72, 0x61, 0x77, 0x4b, 0x65, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x72, 0x73, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xa5, 0xc3, 0xfc, 0x9f, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x72, 0x73, 0x61, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x18, 0xa7, 0xec, 0x8e, 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, - 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6b, 0x6d, - 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6b, - 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x6b, - 0x65, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x73, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x68, 0x61, - 0x32, 0x35, 0x36, 0x22, 0xd0, 0x01, 0x0a, 0x22, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, - 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x11, 0x64, - 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, - 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xaf, 0x02, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, - 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xfd, - 0xe4, 0xde, 0x22, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, - 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, - 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, - 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x1a, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x1b, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, - 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, - 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbd, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x14, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x18, 0x85, 0xd7, 0xb3, 0x34, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9e, 0x01, - 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x18, 0x80, 0xfa, 0xd5, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xda, - 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, - 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x1a, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xb7, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x27, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x66, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x1f, - 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x84, 0x01, 0x0a, 0x28, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xd0, 0xe1, 0x9a, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x29, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x29, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, + 0x73, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, + 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, + 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, - 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x07, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, + 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xa9, 0xb8, 0xc1, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd2, 0x02, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, + 0x29, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x99, 0xeb, 0xfb, 0xe6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6b, 0x6d, 0x73, + 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x17, 0x6b, 0x6d, + 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xd5, 0xc5, 0x90, 0x64, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x14, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x72, 0x61, 0x77, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xc8, 0xe3, 0x98, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x06, 0x72, 0x61, 0x77, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x72, + 0x73, 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0xa5, 0xc3, 0xfc, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x72, 0x73, + 0x61, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0xa7, 0xec, 0x8e, 0x51, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x88, 0x01, 0x01, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x73, + 0x61, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0xd0, 0x01, 0x0a, 0x22, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, + 0x6b, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x48, 0x00, 0x52, 0x11, 0x64, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x0a, + 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1c, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xaf, + 0x02, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xfd, 0xe4, 0xde, 0x22, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, + 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xc4, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, - 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xdb, - 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd0, - 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, - 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, @@ -134094,171 +140089,32 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x64, 0x22, 0xad, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb6, - 0x03, 0x0a, 0x2a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, - 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xc4, 0x01, 0x0a, 0x39, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x84, 0xc6, 0xad, 0x4f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd6, 0x03, 0x0a, 0x30, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0xd8, 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0x8a, 0xeb, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x39, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xf2, 0x01, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x8a, 0xf7, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xb1, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0x88, 0xc2, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xaa, - 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0d, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xe3, 0xfe, - 0xfe, 0x20, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe2, 0x01, 0x0a, 0x1e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, - 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xd4, 0x97, 0x8f, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xff, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1d, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xa7, 0x9f, - 0xef, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xe7, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, + 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, @@ -134266,241 +140122,220 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb8, 0x01, 0x0a, - 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbd, 0x01, 0x0a, + 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, + 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x38, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x85, 0xd7, 0xb3, 0x34, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x85, 0x01, 0x0a, + 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, - 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0x80, 0xfa, 0xd5, 0xf3, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xda, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd4, 0x01, 0x0a, - 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x97, 0xe4, 0x8b, 0x9a, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x02, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x96, 0x01, 0x0a, 0x29, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x92, 0xd7, 0xb3, 0x57, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x24, - 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xa1, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, + 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdc, 0x01, 0x0a, 0x1c, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xcc, - 0xb9, 0xd1, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x03, 0x0a, 0x33, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xd6, - 0x01, 0x0a, 0x40, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xa0, 0xea, 0xe8, 0xac, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x38, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, + 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xca, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x66, 0x0a, + 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x28, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x2b, 0x0a, + 0x29, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x29, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, + 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x18, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, + 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, + 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xa8, 0x03, 0x0a, 0x39, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd0, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, + 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x1d, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, + 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb6, 0x03, 0x0a, 0x2a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd7, 0x01, 0x0a, 0x41, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x9b, - 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0xca, 0x01, 0x0a, 0x24, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, - 0x01, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, - 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe0, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, - 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, - 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, - 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd7, 0x01, - 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xed, 0x01, 0x0a, 0x25, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x39, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x65, 0x72, 0x12, 0xc4, 0x01, 0x0a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x84, 0xc6, 0xad, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd6, + 0x03, 0x0a, 0x30, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, @@ -134511,61 +140346,154 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd8, 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0x8a, 0xeb, 0xee, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x40, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x8a, 0xf7, 0x92, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, - 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa9, 0x01, 0x0a, + 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0x88, 0xc2, + 0x4f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x18, 0xe3, 0xfe, 0xfe, 0x20, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xe2, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xd4, 0x97, 0x8f, 0x6b, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, + 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0xa7, 0x9f, 0xef, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe7, 0x01, 0x0a, 0x21, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xb8, 0x01, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, + 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, + 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe7, 0x01, 0x0a, 0x28, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3c, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0xe9, 0xbc, 0xd6, 0xb3, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x16, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, + 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x97, 0xe4, 0x8b, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, @@ -134574,48 +140502,155 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x1c, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x02, 0x0a, 0x1b, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x96, 0x01, 0x0a, 0x29, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x92, 0xd7, 0xb3, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x24, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xdc, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xcc, 0xb9, 0xd1, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0x9b, 0x03, 0x0a, 0x33, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xd6, 0x01, 0x0a, 0x40, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa0, 0xea, 0xe8, 0xac, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x38, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xa8, 0x03, + 0x0a, 0x39, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd7, + 0x01, 0x0a, 0x41, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x9b, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x24, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, + 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, + 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xe4, 0xd7, 0x92, 0x16, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd1, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe0, + 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, @@ -134623,81 +140658,103 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, - 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd7, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, - 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x21, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xed, + 0x01, 0x0a, 0x25, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, + 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, 0x23, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, - 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xc8, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, - 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x18, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x01, 0x0a, + 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xe7, 0x01, 0x0a, 0x28, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, + 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0xe9, 0xbc, 0xd6, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, @@ -134705,21 +140762,20 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xa5, 0xf7, 0x4b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0xc9, 0xe4, 0xea, 0x33, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x13, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0x86, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x21, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, @@ -134727,1315 +140783,1006 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x01, 0x0a, - 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xe3, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, - 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xed, 0xa9, 0xd0, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, - 0x22, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xeb, 0xf0, 0xee, 0xee, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0xeb, 0xf0, 0xee, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x15, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, + 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdf, 0x01, + 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, + 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x18, 0xc4, 0xab, 0xeb, 0x87, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x1b, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2f, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x18, 0xe4, 0xd7, 0x92, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xd1, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, + 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe6, 0x01, 0x0a, 0x23, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, - 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x18, 0xe4, 0xd7, 0x92, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, - 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa2, 0x01, - 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, + 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x21, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, + 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, + 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd9, 0x01, + 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xa5, 0xf7, + 0x4b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0xc9, 0xe4, 0xea, + 0x33, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xc0, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, + 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xfb, 0xb4, 0xb2, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x1c, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xed, 0xa9, 0xd0, 0xa1, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdd, 0x01, 0x0a, + 0x26, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, + 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0xeb, 0xf0, 0xee, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, - 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x1b, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, + 0x27, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, + 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x6b, 0x65, + 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xeb, 0xf0, 0xee, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0x9e, 0x01, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, - 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x83, 0x8f, 0x96, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, - 0x6f, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, + 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0xc4, 0xab, 0xeb, 0x87, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xb0, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x73, 0x6c, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, - 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, - 0xf0, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x1d, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, - 0xcb, 0x80, 0xf6, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0x99, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, - 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xce, 0x01, 0x0a, 0x17, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x18, 0xf9, 0x83, 0xf6, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xca, 0x01, 0x0a, - 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x18, 0x93, 0x94, 0xca, 0x44, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x09, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x1d, 0x0a, 0x1b, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x06, 0x44, - 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x0c, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xbd, 0xf6, 0xde, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0a, 0x49, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, - 0x12, 0x17, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x92, 0xf0, 0xf9, 0x32, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x5f, - 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x8c, 0x02, 0x0a, 0x15, 0x44, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xf0, 0x89, 0xe5, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, - 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x02, 0x0a, 0x11, 0x44, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x21, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x99, 0xe0, 0xa8, 0xe3, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x64, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x6f, - 0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x99, 0x8b, 0xc5, 0xaa, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x08, 0x6f, 0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x92, 0x9c, 0xbd, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x61, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x45, 0x44, 0x10, 0xf9, 0xf7, 0xd6, 0x39, 0x12, 0x12, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, - 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0xb3, 0xa3, 0xf9, 0xdc, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4f, - 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x99, 0xeb, 0xdc, 0x1f, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x62, 0x73, 0x6f, - 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xed, - 0x01, 0x0a, 0x19, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0b, - 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd4, 0xb5, 0x9a, 0x20, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xe4, 0xd7, 0x92, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa2, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x17, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, + 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x1c, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, + 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x18, 0xfb, 0xb4, 0xb2, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xb4, 0x01, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, - 0x03, 0x0a, 0x37, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xd7, 0x01, 0x0a, 0x40, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, - 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xdd, 0x8d, 0x9f, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, - 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, - 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x03, 0x0a, 0x31, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xc5, 0x01, 0x0a, 0x39, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0xa0, 0xee, 0xf5, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x83, 0x8f, 0x96, 0x8a, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, + 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1b, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x20, 0x44, - 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xa5, 0x01, 0x0a, 0x2e, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaa, - 0xd4, 0xdc, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, + 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x01, + 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xe1, 0x01, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xcb, 0x80, 0xf6, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x99, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, + 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, + 0x4d, 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xce, 0x01, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8a, 0x1c, 0x0a, 0x04, 0x44, 0x69, - 0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x18, 0xd3, 0xd2, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x63, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0xf5, 0x89, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, - 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, - 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x15, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xa8, 0xe8, - 0xfd, 0x99, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x13, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, - 0x69, 0x73, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x85, 0xed, - 0xc4, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x04, 0x52, 0x11, 0x64, 0x69, 0x73, 0x6b, 0x45, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x56, 0x0a, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x18, 0xd1, 0xe0, 0xe7, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, - 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, - 0x6b, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xa5, - 0x9c, 0x8d, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xf3, 0xdb, 0xf6, 0x1a, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x63, - 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0d, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xa8, - 0x85, 0xd8, 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0a, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9e, 0x8d, 0x9a, 0xac, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x86, 0xf3, 0xab, - 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x0d, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x70, 0x68, 0x79, 0x73, 0x69, - 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x87, 0xa0, 0xa3, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0e, - 0x52, 0x16, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, - 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6f, 0x70, 0x73, 0x18, - 0xd4, 0xbd, 0x87, 0x59, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0f, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x49, 0x6f, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, - 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x68, - 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x18, 0x95, 0xbe, 0x88, 0xfb, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x10, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, - 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x11, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, - 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, - 0x80, 0xb8, 0x8c, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xc3, 0xfa, 0xf7, 0x76, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x12, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, - 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x13, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x73, 0x69, 0x7a, 0x65, - 0x5f, 0x67, 0x62, 0x18, 0xd9, 0x8b, 0x80, 0xec, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x15, 0x52, - 0x06, 0x73, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xdd, 0xa2, - 0xad, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x22, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0xbd, 0x8e, 0xcb, 0x7f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x17, 0x52, 0x1e, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, - 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xc1, 0xee, 0xb4, - 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0xd9, 0xcd, 0xc9, 0xd8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, - 0x6b, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xb7, 0xe8, 0x86, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x1a, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x76, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0xab, 0x91, 0xf5, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x1b, 0x52, 0x18, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0xa3, 0xfc, 0xb0, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1c, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0xe8, 0x9a, 0x8e, - 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x1e, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xda, 0x8e, 0xe7, - 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x1e, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd2, - 0x96, 0x98, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1f, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, - 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0xa7, 0xb4, 0x90, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x20, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x21, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x22, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, - 0x88, 0x9c, 0x9a, 0x35, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x23, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x79, 0x0a, 0x18, 0x41, - 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, - 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, - 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, - 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, - 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x73, 0x0a, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, - 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, 0xa6, 0xd9, - 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x12, - 0x11, 0x0a, 0x09, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x10, 0xab, 0xa7, 0xe2, - 0xc0, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, - 0x18, 0x0a, 0x16, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, - 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6f, 0x70, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, - 0x70, 0x75, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, - 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x22, - 0x0a, 0x20, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, - 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x1e, 0x0a, - 0x1c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, - 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x42, - 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xfa, 0x03, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x6b, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, - 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x69, 0x73, 0x6b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x1a, 0x62, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0xad, 0x02, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, - 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x18, - 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb9, 0xc3, 0x79, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, - 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xe1, 0x92, 0xbe, - 0x7c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, - 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x1f, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0xfd, 0xc5, 0x8a, 0x1d, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x64, 0x69, 0x73, 0x6b, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x1e, - 0x0a, 0x1c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x69, 0x64, 0x22, 0xa2, 0x01, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, - 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x6b, 0x0a, 0x16, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x93, 0xcb, 0xc3, 0x6e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, - 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, 0xda, 0x03, 0x0a, 0x17, 0x44, 0x69, 0x73, - 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x8d, - 0xfe, 0xe5, 0x57, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd4, 0xb5, 0x9a, 0x20, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x32, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, - 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0xdf, 0x9f, 0xca, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, - 0x72, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x49, - 0x41, 0x54, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x10, 0x41, 0x54, - 0x54, 0x41, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xbb, - 0xae, 0xfe, 0xf4, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x42, 0x4c, 0x41, 0x4e, 0x4b, 0x10, 0xb4, 0xb2, - 0x96, 0x1e, 0x12, 0x13, 0x0a, 0x0c, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x49, 0x4d, 0x41, - 0x47, 0x45, 0x10, 0xed, 0xf5, 0xcd, 0x5d, 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, - 0x4c, 0x54, 0x10, 0xa1, 0xc4, 0xfd, 0x36, 0x12, 0x15, 0x0a, 0x0e, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x10, 0xc8, 0x82, 0xd9, 0x31, 0x12, 0x13, - 0x0a, 0x0c, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x97, - 0xe0, 0xee, 0x1d, 0x12, 0x1a, 0x0a, 0x13, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4d, - 0x41, 0x47, 0x45, 0x5f, 0x46, 0x41, 0x4d, 0x49, 0x4c, 0x59, 0x10, 0x8c, 0xc9, 0xd2, 0x24, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, - 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x22, 0xcc, 0x02, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x76, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xbd, 0xe2, 0xef, - 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x8b, 0xcf, 0xe2, 0x1d, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, - 0x6b, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, 0xca, 0x01, 0x0a, 0x0a, 0x44, 0x69, - 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x74, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, - 0x73, 0x18, 0xfc, 0x9b, 0x8b, 0xb4, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x46, - 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xae, 0x03, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x6b, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x77, 0x0a, - 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x18, 0x9d, 0xf5, 0x89, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x00, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x44, - 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x15, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, - 0xa8, 0xe8, 0xfd, 0x99, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x13, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, - 0x69, 0x73, 0x6b, 0x73, 0x1a, 0x89, 0x01, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x57, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, - 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, 0xe1, 0x01, 0x0a, 0x28, 0x44, 0x69, 0x73, 0x6b, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x73, - 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, - 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, - 0x01, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, - 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0xc8, 0x95, 0xe8, - 0x40, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0xa0, - 0x8b, 0xe9, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x0f, - 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xad, 0xbb, 0xec, 0xd3, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xfa, 0x04, 0x0a, 0x08, - 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, - 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x38, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xf5, 0xa4, 0x85, 0x81, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x01, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x69, 0x73, 0x6b, - 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, - 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, - 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, - 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0xe0, 0x89, 0xc5, 0xeb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0d, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x0a, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x86, 0x04, 0x0a, 0x16, 0x44, 0x69, 0x73, - 0x6b, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x66, 0x0a, 0x0a, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xaa, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, - 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0xd7, - 0xbe, 0xed, 0x5e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x51, 0x0a, 0x1f, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, - 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, - 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x54, 0x0a, 0x22, 0x44, 0x69, 0x73, 0x6b, - 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, - 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x42, - 0x0a, 0x12, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, - 0xd9, 0x8b, 0x80, 0xec, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x7a, - 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, - 0x67, 0x62, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, - 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x76, - 0x0a, 0x21, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, - 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x14, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xab, 0x83, 0xe3, 0x3e, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, - 0x15, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, - 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, 0x6d, 0x0a, 0x26, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, - 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0x83, 0xa5, 0xf7, 0x4b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, - 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x51, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x18, 0x86, 0xe4, 0xe6, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x95, 0x02, 0x0a, 0x12, 0x44, 0x69, 0x73, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x2a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, - 0xf3, 0xe6, 0xbb, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x18, 0xc7, 0xa4, 0xad, 0x37, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, - 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, - 0x03, 0x41, 0x4e, 0x59, 0x10, 0xcc, 0xfb, 0x03, 0x12, 0x16, 0x0a, 0x0f, 0x41, 0x4e, 0x59, 0x5f, - 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x10, 0xd0, 0xa6, 0x91, 0x1d, - 0x12, 0x10, 0x0a, 0x08, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x88, 0xba, 0xad, - 0xdf, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x45, 0x56, 0x45, 0x4e, 0x10, 0x9a, 0xd2, 0x82, 0x01, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, - 0x22, 0x4a, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x61, 0x0a, 0x08, - 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x05, 0x6e, 0x61, 0x6e, 0x6f, - 0x73, 0x18, 0xbf, 0xb8, 0xef, 0x31, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x61, - 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0xff, 0x94, 0xb5, 0xab, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x07, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6e, 0x61, - 0x6e, 0x6f, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, - 0x7f, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x76, 0x70, + 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xf9, 0x83, 0xf6, 0xc1, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, + 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x76, 0x70, + 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x93, 0x94, 0xca, 0x44, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0x80, 0x01, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, + 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, + 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x06, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x0c, + 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xbd, 0xf6, 0xde, + 0xe8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x49, 0x50, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x18, 0x92, 0xf0, 0xf9, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x22, 0x8c, 0x02, 0x0a, 0x15, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1b, 0x64, + 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0x89, 0xe5, 0x9e, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xa9, 0x02, 0x0a, 0x1f, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0xa3, 0x01, 0x0a, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xaf, 0xd0, 0x9b, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x28, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x22, 0xf2, 0x02, 0x0a, 0x11, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x18, 0x99, 0xe0, 0xa8, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x6f, 0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x99, + 0x8b, 0xc5, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x6f, 0x62, 0x73, 0x6f, + 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x92, 0x9c, 0xbd, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, + 0x22, 0x61, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0e, + 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xf9, 0xf7, 0xd6, 0x39, 0x12, 0x12, + 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0xb3, 0xa3, 0xf9, + 0xdc, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x99, + 0xeb, 0xdc, 0x1f, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x19, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, + 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0xd4, 0xb5, 0x9a, 0x20, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x37, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0xd7, 0x01, 0x0a, 0x40, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xdd, 0x8d, 0x9f, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x39, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, + 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x05, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3b, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, - 0xeb, 0xde, 0xd5, 0x96, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x03, 0x0a, + 0x31, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, + 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0xc5, 0x01, 0x0a, 0x39, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xf9, 0xa0, 0xee, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x18, 0x85, 0xa1, 0x85, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, + 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xde, + 0x03, 0x0a, 0x37, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd8, + 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xee, 0xe5, 0xab, 0x95, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, + 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0x80, 0x01, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x20, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, + 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0xa5, 0x01, 0x0a, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaa, 0xd4, 0xdc, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0x8a, 0x1c, 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0xd3, 0xd2, 0xb1, 0x90, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0xf5, + 0x89, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x50, 0x72, + 0x69, 0x6d, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x15, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xa8, 0xe8, 0xfd, 0x99, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x2e, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, + 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x35, 0x0a, 0x12, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x67, + 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, + 0x04, 0x52, 0x11, 0x64, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xd1, 0xe0, 0xe7, + 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, + 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, - 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0xc1, 0x9e, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x48, 0x01, - 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x11, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xc3, - 0xfe, 0xf2, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x48, 0x02, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0a, 0x71, 0x75, - 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x95, 0xd4, 0xe4, 0x2c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, - 0x61, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x03, 0x52, - 0x09, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0xf4, 0x01, 0x0a, 0x09, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x18, 0xc4, 0xa9, 0xcf, 0x87, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x09, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18, 0xa4, 0xd6, 0x87, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1e, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0xc4, 0xa4, 0x96, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, - 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x0a, + 0x15, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xa5, 0x9c, 0x8d, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x08, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0xf3, 0xdb, 0xf6, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x13, 0x6c, + 0x61, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0d, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xa8, 0x85, 0xd8, 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, + 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, + 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0xd1, + 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x9e, 0x8d, 0x9a, 0xac, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x18, 0x86, 0xf3, 0xab, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x48, 0x0d, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x42, 0x0a, 0x19, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x87, 0xa0, 0xa3, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0e, 0x52, 0x16, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, + 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x64, 0x5f, 0x69, 0x6f, 0x70, 0x73, 0x18, 0xd4, 0xbd, 0x87, 0x59, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x0f, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x49, + 0x6f, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, + 0x18, 0x95, 0xbe, 0x88, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x10, 0x52, 0x15, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, + 0x70, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0x80, 0xb8, 0x8c, 0x17, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x2e, + 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x5c, + 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0xc3, 0xfa, 0xf7, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, + 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, + 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x13, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, + 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x14, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xd9, 0x8b, 0x80, 0xec, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x15, 0x52, 0x06, 0x73, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, + 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xdd, 0xa2, 0xad, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, + 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x52, 0x0a, 0x22, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xbd, 0x8e, 0xcb, 0x7f, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x17, 0x52, 0x1e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, + 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x2d, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, + 0x64, 0x18, 0xd9, 0xcd, 0xc9, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, 0x0c, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xb7, + 0xe8, 0x86, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x1b, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xab, 0x91, 0xf5, 0xb5, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x48, 0x1b, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0xa3, 0xfc, 0xb0, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1c, 0x52, + 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x18, 0xe8, 0x9a, 0x8e, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, + 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x1e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xda, 0x8e, 0xe7, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x1e, + 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x34, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd2, 0x96, 0x98, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x1f, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0xa7, 0xb4, 0x90, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x20, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, + 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x21, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x22, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x88, 0x9c, 0x9a, 0x35, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x23, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x88, 0x01, 0x01, 0x1a, 0x79, 0x0a, 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x06, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x8b, 0xc6, 0xfb, 0x82, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0xbf, 0xbe, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0x91, 0x03, 0x0a, 0x15, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, - 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0a, - 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xe0, 0xb2, 0xea, 0xb5, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x64, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x18, 0x84, 0xd6, 0xcc, 0x36, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf6, 0xc0, 0xb9, 0x3a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, - 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x75, 0x0a, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x15, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, - 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0xaa, - 0x80, 0x82, 0xe0, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x50, - 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0xb9, 0xc0, 0xde, - 0xe1, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x5f, 0x50, 0x45, 0x45, - 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0xe8, 0x8d, 0x8d, 0xde, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xef, 0x02, 0x0a, 0x1a, 0x45, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, + 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, + 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, + 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, + 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x73, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, + 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, 0xa6, 0xd9, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, + 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x53, 0x54, 0x4f, + 0x52, 0x49, 0x4e, 0x47, 0x10, 0xab, 0xa7, 0xe2, 0xc0, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, + 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, + 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x1c, 0x0a, + 0x1a, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6f, 0x70, 0x73, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, + 0x5f, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x70, 0x75, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, + 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, + 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, + 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x21, 0x0a, + 0x1f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xfa, + 0x03, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, + 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x62, 0x0a, 0x0a, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xad, 0x02, 0x0a, 0x14, + 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0xb9, 0xc3, 0x79, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x69, 0x64, 0x18, 0xe1, 0x92, 0xbe, 0x7c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x04, 0x64, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x69, 0x64, 0x18, 0xfd, 0xc5, 0x8a, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, + 0x64, 0x69, 0x73, 0x6b, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x6f, + 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x22, 0xa2, 0x01, 0x0a, 0x18, + 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6b, 0x0a, 0x16, 0x61, 0x73, 0x79, 0x6e, + 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x18, 0x93, 0xcb, 0xc3, 0x6e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x61, 0x73, + 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, + 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x22, 0xda, 0x03, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, + 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x8d, 0xfe, 0xe5, 0x57, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0xd4, 0xb5, 0x9a, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x10, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0xdf, + 0x9f, 0xca, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x88, 0x01, 0x01, 0x22, 0xc6, + 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x46, 0x72, + 0x6f, 0x6d, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x54, 0x49, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x52, 0x4f, 0x4d, + 0x10, 0x00, 0x12, 0x18, 0x0a, 0x10, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x5f, 0x52, 0x45, 0x41, + 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xbb, 0xae, 0xfe, 0xf4, 0x01, 0x12, 0x0c, 0x0a, 0x05, + 0x42, 0x4c, 0x41, 0x4e, 0x4b, 0x10, 0xb4, 0xb2, 0x96, 0x1e, 0x12, 0x13, 0x0a, 0x0c, 0x43, 0x55, + 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0xed, 0xf5, 0xcd, 0x5d, 0x12, + 0x0e, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xa1, 0xc4, 0xfd, 0x36, 0x12, + 0x15, 0x0a, 0x0e, 0x44, 0x4f, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, + 0x45, 0x10, 0xc8, 0x82, 0xd9, 0x31, 0x12, 0x13, 0x0a, 0x0c, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x97, 0xe0, 0xee, 0x1d, 0x12, 0x1a, 0x0a, 0x13, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x46, 0x41, 0x4d, 0x49, + 0x4c, 0x59, 0x10, 0x8c, 0xc9, 0xd2, 0x24, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x75, 0x74, 0x6f, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x22, 0xcc, 0x02, + 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, + 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, + 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x92, 0x01, 0x0a, + 0x0f, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x31, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xbd, 0xe2, 0xef, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5a, 0x6f, 0x6e, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x18, 0x8b, 0xcf, 0xe2, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x6f, 0x6e, + 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x22, 0xca, 0x01, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x12, 0x74, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xfc, 0x9b, 0x8b, 0xb4, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xae, + 0x03, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x77, 0x0a, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x70, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0xf5, 0x89, 0x56, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x10, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x7c, + 0x0a, 0x15, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xa8, 0xe8, 0xfd, 0x99, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, + 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x1a, 0x89, 0x01, 0x0a, + 0x18, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, + 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x57, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x03, 0x0a, 0x22, 0x45, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x12, 0xad, 0x01, 0x0a, 0x31, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x63, - 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xde, 0xd0, 0xba, 0xe3, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, - 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x04, 0x45, 0x78, 0x70, 0x72, 0x12, 0x29, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x98, 0xa5, 0xee, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x23, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0xbf, 0xbe, - 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0xd8, - 0xc4, 0xd0, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0xc4, 0x06, 0x0a, 0x12, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, + 0xe1, 0x01, 0x0a, 0x28, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x05, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x44, 0x10, 0xc8, 0x95, 0xe8, 0x40, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, + 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0xa0, 0x8b, 0xe9, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, + 0x44, 0x10, 0xad, 0xbb, 0xec, 0xd3, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, + 0x49, 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x22, 0xfa, 0x04, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xda, 0xf4, 0xe0, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, - 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, - 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x63, - 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xce, 0xb7, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x06, 0x52, 0x0e, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x64, 0x75, 0x6e, - 0x64, 0x61, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, - 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x13, 0x46, 0x4f, 0x55, 0x52, - 0x5f, 0x49, 0x50, 0x53, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, 0x10, - 0xe9, 0xd2, 0xff, 0xf7, 0x01, 0x12, 0x25, 0x0a, 0x1e, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, - 0x49, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x52, 0x45, - 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x54, 0x10, 0xf9, 0xc1, 0xed, 0x3f, 0x12, 0x1a, 0x0a, 0x12, - 0x54, 0x57, 0x4f, 0x5f, 0x49, 0x50, 0x53, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, - 0x43, 0x59, 0x10, 0xa3, 0xf7, 0x82, 0xaf, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x22, 0x71, 0x0a, 0x1b, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x8d, 0x03, 0x0a, 0x16, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x44, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x01, 0x0a, 0x11, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x18, 0xf9, 0xe8, 0xdc, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9d, 0xc0, 0xad, 0x8c, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, - 0x01, 0x01, 0x22, 0x4d, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, - 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x42, 0x49, 0x4e, 0x10, 0xe7, - 0x81, 0x04, 0x12, 0x10, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, - 0xb0, 0xe2, 0xdd, 0x41, 0x12, 0x0b, 0x0a, 0x04, 0x58, 0x35, 0x30, 0x39, 0x10, 0xa6, 0x9b, 0xa3, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb5, 0x08, 0x0a, 0x08, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x3d, 0x0a, 0x07, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x18, 0xa8, 0x83, 0xb8, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x07, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, - 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3b, - 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x18, 0x9b, 0xf7, 0x9d, 0x83, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6e, - 0x69, 0x65, 0x64, 0x52, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xa7, 0xb8, 0xe2, - 0x91, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xff, 0x8e, 0x80, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x23, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x9d, 0xd1, 0xc1, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x06, 0x52, 0x09, 0x6c, 0x6f, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, - 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, - 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x18, 0xfa, 0xfe, 0xb4, 0x5f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x17, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0xd4, 0xeb, 0x8e, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xbd, 0xbb, 0xd1, 0xd7, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x9e, 0x8e, 0x9c, 0xda, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x87, 0x9c, 0xff, 0x1d, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x22, 0x45, 0x0a, 0x09, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xf5, 0xf6, 0xb4, 0xce, - 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x95, 0xfd, 0xbe, - 0xf6, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, + 0xf5, 0xa4, 0x85, 0x81, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x11, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, + 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, + 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xe0, 0x89, 0xc5, 0xeb, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x09, 0x52, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x53, + 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, + 0x67, 0x62, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x22, 0x86, 0x04, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x53, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, @@ -136043,838 +141790,1483 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xcf, 0x01, 0x0a, 0x11, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaf, 0xf6, - 0xb5, 0x29, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x88, 0x01, 0x01, 0x22, 0x5d, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, - 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x58, 0x43, - 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, - 0x41, 0x10, 0x92, 0xbd, 0xc1, 0x9f, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x49, 0x4e, 0x43, 0x4c, 0x55, - 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, - 0x84, 0xcd, 0xbf, 0x4e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xab, 0x01, 0x0a, - 0x28, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x92, 0xe8, 0xca, 0xf2, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xea, 0x06, 0x0a, 0x0e, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5a, 0x0a, - 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x92, 0xe8, - 0xca, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x1a, 0x66, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x44, 0x69, + 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xaa, 0x01, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0xd7, 0xbe, 0xed, 0x5e, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x51, 0x0a, + 0x1f, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x22, 0x54, 0x0a, 0x22, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x42, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, + 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xd9, 0x8b, 0x80, 0xec, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x22, 0x99, 0x01, 0x0a, 0x0f, 0x44, + 0x69, 0x73, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, + 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x76, 0x0a, 0x21, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x14, 0x61, + 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x18, 0xab, 0x83, 0xe3, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, + 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, 0x6d, + 0x0a, 0x26, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xa5, 0xf7, 0x4b, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x51, 0x0a, + 0x0d, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2d, + 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x18, 0x86, 0xe4, 0xe6, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x22, 0x95, 0x02, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0xf3, 0xe6, 0xbb, 0xa1, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0xc7, 0xa4, 0xad, + 0x37, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x22, 0x6b, 0x0a, 0x0b, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x48, + 0x41, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0xcc, 0xfb, 0x03, + 0x12, 0x16, 0x0a, 0x0f, 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x5a, + 0x4f, 0x4e, 0x45, 0x10, 0xd0, 0xa6, 0x91, 0x1d, 0x12, 0x10, 0x0a, 0x08, 0x42, 0x41, 0x4c, 0x41, + 0x4e, 0x43, 0x45, 0x44, 0x10, 0x88, 0xba, 0xad, 0xdf, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x45, 0x56, + 0x45, 0x4e, 0x10, 0x9a, 0xd2, 0x82, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x22, 0x4a, 0x0a, 0x23, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5a, 0x6f, + 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x61, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 0xbf, 0xb8, 0xef, 0x31, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xff, 0x94, 0xb5, 0xab, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x7f, 0x0a, 0x1b, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa9, 0x02, 0x0a, 0x1f, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xa3, 0x01, 0x0a, 0x2d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaf, 0xd0, 0x9b, 0xc9, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3b, 0x0a, + 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xeb, 0xde, 0xd5, 0x96, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x0c, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x0a, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x85, 0xa1, 0x85, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0xc1, + 0x9e, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0xaa, 0x91, 0xac, 0x25, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x07, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, - 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x95, 0xc2, 0x96, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x0e, - 0x72, 0x75, 0x6c, 0x65, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, - 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, - 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0e, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, - 0xb8, 0xd0, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcc, 0x02, 0x0a, 0x19, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0xad, 0xb0, 0xe8, 0x53, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xc9, 0xbd, 0xaa, 0xaa, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0xb8, 0xd0, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x04, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xac, 0x02, 0x0a, 0x12, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x48, 0x01, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x5f, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xc3, 0xfe, 0xf2, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x02, 0x52, 0x10, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0a, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x95, 0xd4, 0xe4, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, + 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x03, 0x52, 0x09, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x49, 0x6e, + 0x66, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x65, 0x6c, 0x70, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x22, 0xf4, 0x01, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x1f, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0xc4, 0xa9, 0xcf, 0x87, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x52, 0x0a, 0x09, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x73, 0x18, 0xa4, + 0xd6, 0x87, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, + 0xc4, 0xa4, 0x96, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x1a, 0x3c, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x06, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x4e, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x8b, 0xc6, 0xfb, 0x82, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x12, 0x23, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0xbf, 0xbe, + 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x91, 0x03, 0x0a, 0x15, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x18, 0xe0, 0xb2, 0xea, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x64, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x84, 0xd6, 0xcc, 0x36, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf6, 0xc0, 0xb9, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, + 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, + 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x22, 0x75, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, + 0x15, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, + 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0xaa, 0x80, 0x82, 0xe0, 0x01, 0x12, 0x1c, 0x0a, 0x14, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, + 0x4f, 0x55, 0x54, 0x45, 0x10, 0xb9, 0xc0, 0xde, 0xe1, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x53, 0x55, + 0x42, 0x4e, 0x45, 0x54, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x4f, 0x55, + 0x54, 0x45, 0x10, 0xe8, 0x8d, 0x8d, 0xde, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, + 0x70, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xef, + 0x02, 0x0a, 0x1a, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, - 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x03, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xeb, 0x06, 0x0a, 0x12, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x06, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xff, 0x8e, 0x80, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0xa3, 0xc9, 0xed, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x50, - 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc5, 0xb3, 0xb7, 0x31, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x72, 0x48, 0x06, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, - 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, - 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0xee, 0xb3, 0xae, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x72, - 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x95, - 0xc2, 0x96, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, - 0x54, 0x75, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, - 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x18, 0xf7, 0xd1, 0xf0, 0xfb, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x12, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x61, - 0x67, 0x73, 0x18, 0xb3, 0xc4, 0x9c, 0xdf, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, - 0x61, 0x67, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, - 0x54, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, - 0x9e, 0x8e, 0x9c, 0xda, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x22, 0x45, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, - 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, - 0x10, 0xf5, 0xf6, 0xb4, 0xce, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, - 0x53, 0x10, 0x95, 0xfd, 0xbe, 0xf6, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0xbd, 0x05, 0x0a, 0x19, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x72, 0x12, 0x32, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xbc, 0xef, 0xc2, 0xdf, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x21, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x71, - 0x64, 0x6e, 0x73, 0x18, 0xa1, 0xc1, 0xe2, 0xb0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x65, 0x73, 0x74, 0x46, 0x71, 0x64, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x91, 0xd7, 0xee, 0xa0, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x11, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x98, 0xab, 0xf9, 0x5e, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, - 0x73, 0x12, 0x3d, 0x0a, 0x19, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xac, - 0xf3, 0x95, 0x39, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x64, 0x65, 0x73, 0x74, 0x54, 0x68, 0x72, - 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0x69, 0x0a, 0x0e, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x18, 0xb5, 0xdc, 0x8e, 0xb2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x88, 0x03, 0x0a, 0x22, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, + 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0xad, 0x01, 0x0a, + 0x31, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x65, 0x78, 0x70, + 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xde, 0xd0, 0xba, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, - 0x4c, 0x61, 0x79, 0x65, 0x72, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x12, 0x73, - 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x18, 0xba, 0x98, 0x8d, 0xd0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, 0x72, 0x63, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x1f, 0x0a, - 0x09, 0x73, 0x72, 0x63, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x73, 0x18, 0xe3, 0xcc, 0xed, 0xcf, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x72, 0x63, 0x46, 0x71, 0x64, 0x6e, 0x73, 0x12, 0x26, - 0x0a, 0x0d, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, - 0xd3, 0x80, 0x87, 0xce, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x49, 0x70, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x96, 0xe3, 0x9f, 0x2f, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x64, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x86, 0x94, 0xce, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x54, 0x61, 0x67, 0x52, 0x0d, 0x73, 0x72, 0x63, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x18, 0x73, 0x72, 0x63, 0x5f, 0x74, 0x68, 0x72, - 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, - 0x73, 0x18, 0xaa, 0xef, 0xa8, 0x9a, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x73, 0x72, 0x63, - 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x25, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, - 0x4c, 0x61, 0x79, 0x65, 0x72, 0x34, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, - 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xb0, 0x9d, 0xfa, 0xe2, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, - 0x92, 0xf0, 0xf9, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, - 0xaf, 0x01, 0x0a, 0x1b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x61, 0x67, 0x12, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x2b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x45, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd3, 0x01, 0x0a, 0x04, + 0x45, 0x78, 0x70, 0x72, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x98, 0xa5, + 0xee, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0xbf, 0xbe, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, + 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0xd8, 0xc4, 0xd0, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x22, 0xc4, 0x06, 0x0a, 0x12, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, + 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, + 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, + 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x57, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xda, + 0xf4, 0xe0, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x43, 0x0a, 0x05, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x45, 0x46, 0x46, 0x45, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x10, 0x87, 0xf3, 0xb8, 0x74, 0x12, 0x13, 0x0a, 0x0b, 0x49, 0x4e, 0x45, - 0x46, 0x46, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x82, 0xd4, 0x96, 0x91, 0x01, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, - 0x63, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x18, 0xbe, 0xd3, 0x8d, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, - 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, 0x18, 0xf4, 0xce, 0xbb, 0x2e, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x01, 0x52, 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x70, - 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0xc5, 0xc8, 0xa1, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x22, 0xd7, 0x17, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0b, 0x49, 0x5f, 0x70, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xaf, 0x8d, 0xbf, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0c, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xbd, - 0xf6, 0xde, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x49, 0x50, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0xf4, 0xaf, 0xa3, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x02, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x37, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x8a, 0xc6, 0x91, 0xee, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x03, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0xcb, 0x85, 0xd1, 0x7d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x73, 0x63, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x18, 0x90, 0xdb, 0xa3, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x12, 0x62, - 0x61, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, - 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xc0, 0xf3, 0xd2, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, - 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3c, - 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0xfc, 0xe0, 0xee, 0x38, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x0c, 0x52, 0x14, 0x69, 0x73, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, - 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, - 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, - 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, 0xc4, 0x8c, 0xc2, 0xad, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0f, 0x52, 0x13, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, - 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, - 0xeb, 0xcd, 0xcc, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, - 0x72, 0x18, 0xd3, 0xba, 0xdb, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x0b, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, - 0x14, 0x6e, 0x6f, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6e, 0x73, - 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xaf, 0xd1, 0xe3, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x13, - 0x52, 0x11, 0x6e, 0x6f, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x44, 0x6e, 0x73, 0x5a, - 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0xff, 0x9f, 0xdc, 0x67, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, - 0x09, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, - 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x92, 0xf0, 0xf9, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x11, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0xdd, 0xa5, 0xa3, 0x8b, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x15, 0x52, 0x0f, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x70, - 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0xb4, 0xc9, 0xe7, 0x57, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, - 0x13, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x17, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x8e, 0x01, - 0x0a, 0x1f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0xfe, 0xb1, 0xcc, 0x6a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, + 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x72, + 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, + 0xce, 0xb7, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0e, 0x72, 0x65, 0x64, 0x75, + 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, + 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x63, 0x79, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, + 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, + 0x12, 0x1b, 0x0a, 0x13, 0x46, 0x4f, 0x55, 0x52, 0x5f, 0x49, 0x50, 0x53, 0x5f, 0x52, 0x45, 0x44, + 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, 0x10, 0xe9, 0xd2, 0xff, 0xf7, 0x01, 0x12, 0x25, 0x0a, + 0x1e, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x4c, 0x59, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x54, 0x10, + 0xf9, 0xc1, 0xed, 0x3f, 0x12, 0x1a, 0x0a, 0x12, 0x54, 0x57, 0x4f, 0x5f, 0x49, 0x50, 0x53, 0x5f, + 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, 0x10, 0xa3, 0xf7, 0x82, 0xaf, 0x01, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x6e, + 0x64, 0x61, 0x6e, 0x63, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x71, 0x0a, 0x1b, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, + 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8d, 0x03, 0x0a, 0x16, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, + 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, - 0x75, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x1d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, - 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0xea, 0x99, 0xec, 0xc6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, 0x0c, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd5, 0xab, 0xcd, - 0xab, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xca, 0xa3, 0x99, - 0x35, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1b, 0x52, - 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x1c, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x39, - 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x49, 0x50, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x1b, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x5f, 0x50, 0x5f, 0x50, 0x52, - 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x00, 0x12, 0x07, 0x0a, - 0x02, 0x41, 0x48, 0x10, 0xa7, 0x10, 0x12, 0x09, 0x0a, 0x03, 0x45, 0x53, 0x50, 0x10, 0xe2, 0x9a, - 0x04, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x43, 0x4d, 0x50, 0x10, 0xbd, 0xe8, 0x88, 0x01, 0x12, 0x11, - 0x0a, 0x0a, 0x4c, 0x33, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xc9, 0xf6, 0xfa, - 0x16, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, 0x54, 0x50, 0x10, 0xcc, 0x81, 0x9b, 0x01, 0x12, 0x09, - 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0xc1, 0x87, 0x05, 0x12, 0x09, 0x0a, 0x03, 0x55, 0x44, 0x50, - 0x10, 0xa1, 0x8f, 0x05, 0x22, 0x5b, 0x0a, 0x09, 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, - 0x50, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x49, - 0x50, 0x56, 0x34, 0x10, 0x85, 0xcc, 0x89, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, - 0x10, 0x87, 0xcc, 0x89, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x90, 0xcf, 0xb5, - 0x0a, 0x22, 0xbf, 0x01, 0x0a, 0x13, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, - 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0f, - 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, - 0x18, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, - 0x47, 0x45, 0x44, 0x10, 0x8b, 0xb6, 0x92, 0xf4, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, - 0xfd, 0xd7, 0xe7, 0x11, 0x12, 0x1c, 0x0a, 0x15, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0xce, 0x97, - 0xd1, 0x70, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, - 0xed, 0xfc, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, - 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, - 0x16, 0x0a, 0x0e, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, - 0x44, 0x10, 0xc8, 0x9e, 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, - 0x55, 0x4d, 0x10, 0xb7, 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, - 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, - 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, - 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, - 0xc2, 0x87, 0x91, 0xde, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x13, 0x50, 0x73, 0x63, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, - 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0xa7, - 0x9f, 0xd2, 0x75, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, - 0xa3, 0xb5, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x54, 0x54, - 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xbc, 0x8b, 0xa2, 0xa4, 0x01, 0x12, 0x0e, 0x0a, 0x07, - 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x08, - 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x19, 0x0a, - 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0xca, 0xcc, 0x8b, 0x14, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x49, 0x5f, 0x70, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x5f, 0x70, - 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, - 0x1a, 0x0a, 0x18, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, - 0x17, 0x0a, 0x15, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x69, 0x73, 0x5f, 0x6d, 0x69, 0x72, - 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, - 0x18, 0x0a, 0x16, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, - 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, - 0x17, 0x0a, 0x15, 0x5f, 0x6e, 0x6f, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x5f, - 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x73, 0x63, 0x5f, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x18, 0x0a, - 0x16, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x98, 0x04, - 0x0a, 0x1c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, - 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, + 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x01, 0x0a, 0x11, + 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, + 0x72, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0xf9, 0xe8, 0xdc, + 0xc5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x9d, 0xc0, 0xad, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x66, + 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4d, 0x0a, 0x08, 0x46, 0x69, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x03, 0x42, 0x49, 0x4e, 0x10, 0xe7, 0x81, 0x04, 0x12, 0x10, 0x0a, 0x09, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0xb0, 0xe2, 0xdd, 0x41, 0x12, 0x0b, 0x0a, 0x04, + 0x58, 0x35, 0x30, 0x39, 0x10, 0xa6, 0x9b, 0xa3, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0xb5, 0x08, 0x0a, 0x08, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x12, 0x3d, 0x0a, 0x07, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x18, 0xa8, 0x83, 0xb8, 0x4d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x07, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x12, + 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x06, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, + 0x18, 0x9b, 0xf7, 0x9d, 0x83, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x52, 0x06, 0x64, 0x65, 0x6e, + 0x69, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, + 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0xa7, 0xb8, 0xe2, 0x91, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x24, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xff, + 0x8e, 0x80, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, + 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, + 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x9d, 0xd1, 0xc1, + 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, - 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, + 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x06, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, + 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0d, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xfa, 0xfe, 0xb4, + 0x5f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0xd4, + 0xeb, 0x8e, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x23, + 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xbd, 0xbb, + 0xd1, 0xd7, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, + 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x9e, + 0x8e, 0x9c, 0xda, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, + 0x22, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x87, + 0x9c, 0xff, 0x1d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x61, 0x67, 0x73, 0x22, 0x45, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, + 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x47, 0x52, + 0x45, 0x53, 0x53, 0x10, 0xf5, 0xf6, 0xb4, 0xce, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x47, + 0x52, 0x45, 0x53, 0x53, 0x10, 0x95, 0xfd, 0xbe, 0xf6, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xd4, 0x02, 0x0a, 0x0c, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, + 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x22, 0xcf, 0x01, 0x0a, 0x11, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4c, + 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x22, 0x5d, 0x0a, + 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, + 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, + 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x92, 0xbd, 0xc1, 0x9f, 0x01, 0x12, + 0x1b, 0x0a, 0x14, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, + 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x84, 0xcd, 0xbf, 0x4e, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xab, 0x01, 0x0a, 0x28, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x92, 0xe8, 0xca, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x22, 0xea, 0x06, 0x0a, 0x0e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5a, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x92, 0xe8, 0xca, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, + 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x18, 0xaa, 0x91, 0xac, 0x25, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, + 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x95, 0xc2, 0x96, 0xb9, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x75, 0x70, 0x6c, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, 0x15, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0xb8, 0xd0, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0c, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xcc, 0x02, 0x0a, 0x19, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, + 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x18, 0xad, 0xb0, 0xe8, 0x53, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, + 0x12, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0xc9, 0xbd, 0xaa, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, + 0xb8, 0xd0, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xac, + 0x02, 0x0a, 0x12, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, + 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x5f, 0x0a, 0x17, 0x46, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x22, 0xee, 0x01, 0x0a, - 0x2a, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0xdb, 0xaa, 0x8d, 0x55, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, - 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x18, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xd0, 0xba, 0xa6, 0x23, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x16, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x01, - 0x0a, 0x19, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, - 0xb5, 0x9a, 0xcc, 0x96, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xeb, 0x06, + 0x0a, 0x12, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb6, + 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xff, 0x8e, 0x80, + 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0xfc, 0xf4, 0x98, 0x81, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0xa3, 0xc9, 0xed, + 0x8c, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, + 0xc5, 0xb3, 0xb7, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x06, 0x52, 0x05, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, + 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, + 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0xb3, 0xae, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x74, 0x75, 0x70, 0x6c, 0x65, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x95, 0xc2, 0x96, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x09, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x54, 0x75, 0x70, 0x6c, 0x65, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0xf7, 0xd1, 0xf0, 0xfb, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xb3, 0xc4, 0x9c, 0xdf, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x61, 0x67, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x17, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x9e, 0x8e, 0x9c, 0xda, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x45, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xf5, 0xf6, 0xb4, 0xce, 0x01, 0x12, 0x0f, + 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x95, 0xfd, 0xbe, 0xf6, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x74, 0x75, 0x70, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xbd, 0x05, 0x0a, 0x19, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, + 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x13, 0x64, 0x65, 0x73, + 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x18, 0xbc, 0xef, 0xc2, 0xdf, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x21, 0x0a, + 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x73, 0x18, 0xa1, 0xc1, 0xe2, 0xb0, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x73, 0x74, 0x46, 0x71, 0x64, 0x6e, 0x73, + 0x12, 0x28, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0x91, 0xd7, 0xee, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, + 0x73, 0x74, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x11, 0x64, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, + 0x98, 0xab, 0xf9, 0x5e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x19, 0x64, 0x65, 0x73, + 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6c, 0x6c, 0x69, + 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xac, 0xf3, 0x95, 0x39, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x17, 0x64, 0x65, 0x73, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6c, + 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x0e, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x34, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xb5, 0xdc, 0x8e, 0xb2, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x34, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x34, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x12, 0x30, 0x0a, 0x12, 0x73, 0x72, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xba, 0x98, 0x8d, 0xd0, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, 0x72, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x73, 0x72, 0x63, 0x5f, 0x66, 0x71, 0x64, + 0x6e, 0x73, 0x18, 0xe3, 0xcc, 0xed, 0xcf, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x72, + 0x63, 0x46, 0x71, 0x64, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x70, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xd3, 0x80, 0x87, 0xce, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2b, + 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x73, 0x18, 0x96, 0xe3, 0x9f, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x72, 0x63, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x73, + 0x72, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x86, + 0x94, 0xce, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x61, 0x67, 0x52, 0x0d, + 0x73, 0x72, 0x63, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x54, 0x61, 0x67, 0x73, 0x12, 0x3c, 0x0a, + 0x18, 0x73, 0x72, 0x63, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x61, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xaa, 0xef, 0xa8, 0x9a, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x16, 0x73, 0x72, 0x63, 0x54, 0x68, 0x72, 0x65, 0x61, 0x74, 0x49, 0x6e, + 0x74, 0x65, 0x6c, 0x6c, 0x69, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x7a, 0x0a, 0x25, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x34, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0xb0, 0x9d, 0xfa, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0a, 0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x92, 0xf0, 0xf9, 0x32, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x70, 0x5f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xaf, 0x01, 0x0a, 0x1b, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x54, 0x61, 0x67, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, + 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, + 0x01, 0x22, 0x43, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, + 0x10, 0x0a, 0x09, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x87, 0xf3, 0xb8, + 0x74, 0x12, 0x13, 0x0a, 0x0b, 0x49, 0x4e, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, + 0x10, 0x82, 0xd4, 0x96, 0x91, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x0e, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0a, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x18, 0xbe, 0xd3, 0x8d, 0xe1, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, 0x18, 0xf4, + 0xce, 0xbb, 0x2e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0xc5, + 0xc8, 0xa1, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x22, 0xd7, 0x17, 0x0a, 0x0e, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x26, + 0x0a, 0x0b, 0x49, 0x5f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xaf, 0x8d, + 0xbf, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0xbd, 0xf6, 0xde, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0a, 0x49, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0xf4, + 0xaf, 0xa3, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x8a, + 0xc6, 0x91, 0xee, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x3d, 0x0a, 0x17, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xcb, 0x85, 0xd1, 0x7d, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x50, 0x73, 0x63, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x39, 0x0a, 0x14, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x90, 0xdb, 0xa3, 0xfa, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x12, 0x62, 0x61, 0x73, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, + 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xc0, 0xf3, 0xd2, + 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x09, 0x69, 0x70, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x73, 0x5f, 0x6d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x18, 0xfc, 0xe0, 0xee, 0x38, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, 0x52, 0x14, 0x69, 0x73, 0x4d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, + 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0x81, 0x03, 0x0a, 0x0f, 0x47, 0x52, 0x50, 0x43, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x32, 0x0a, 0x11, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd6, 0xa8, 0x8d, - 0x41, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x70, + 0x6c, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x15, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x18, + 0xc4, 0x8c, 0xc2, 0xad, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x13, 0x6c, 0x6f, 0x61, + 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0xeb, 0xcd, 0xcc, 0xdd, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xd3, 0xba, 0xdb, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x14, 0x6e, 0x6f, 0x5f, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xaf, 0xd1, + 0xe3, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x13, 0x52, 0x11, 0x6e, 0x6f, 0x41, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x65, 0x44, 0x6e, 0x73, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xff, 0x9f, 0xdc, + 0x67, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x92, + 0xf0, 0xf9, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x33, + 0x0a, 0x11, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0xdd, 0xa5, 0xa3, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x15, 0x52, + 0x0f, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb4, 0xc9, 0xe7, + 0x57, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x13, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x17, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x1f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xfe, 0xb1, 0xcc, 0x6a, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x1d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0xea, 0x99, 0xec, 0xc6, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x19, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd5, 0xab, 0xcd, 0xab, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, + 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x2b, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0xca, 0xa3, 0x99, 0x35, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x27, 0x0a, + 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1b, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1c, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0e, 0x49, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x49, 0x5f, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x45, + 0x4e, 0x55, 0x4d, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x02, 0x41, 0x48, 0x10, 0xa7, 0x10, 0x12, 0x09, + 0x0a, 0x03, 0x45, 0x53, 0x50, 0x10, 0xe2, 0x9a, 0x04, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x43, 0x4d, + 0x50, 0x10, 0xbd, 0xe8, 0x88, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x4c, 0x33, 0x5f, 0x44, 0x45, 0x46, + 0x41, 0x55, 0x4c, 0x54, 0x10, 0xc9, 0xf6, 0xfa, 0x16, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, 0x54, + 0x50, 0x10, 0xcc, 0x81, 0x9b, 0x01, 0x12, 0x09, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0xc1, 0x87, + 0x05, 0x12, 0x09, 0x0a, 0x03, 0x55, 0x44, 0x50, 0x10, 0xa1, 0x8f, 0x05, 0x22, 0x5b, 0x0a, 0x09, + 0x49, 0x70, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, + 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x85, 0xcc, 0x89, 0x01, + 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x87, 0xcc, 0x89, 0x01, 0x12, 0x1a, 0x0a, + 0x13, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, + 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x90, 0xcf, 0xb5, 0x0a, 0x22, 0xbf, 0x01, 0x0a, 0x13, 0x4c, 0x6f, + 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, + 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, + 0x48, 0x45, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, + 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x18, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x8b, 0xb6, 0x92, 0xf4, + 0x01, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, + 0x96, 0x85, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0xfd, 0xd7, 0xe7, 0x11, 0x12, 0x1c, 0x0a, 0x15, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x4c, 0x46, 0x5f, 0x4d, 0x41, + 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0xce, 0x97, 0xd1, 0x70, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x0b, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, 0x49, 0x58, 0x45, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, 0x85, 0x94, 0x01, 0x12, + 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, 0xc1, 0xbe, 0x01, + 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, + 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x4f, + 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, 0x01, 0x22, 0xb0, 0x01, + 0x0a, 0x13, 0x50, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x43, + 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0xa7, 0x9f, 0xd2, 0x75, 0x12, 0x0e, 0x0a, 0x06, 0x43, + 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4e, + 0x45, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xbc, + 0x8b, 0xa2, 0xa4, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, + 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x19, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xca, 0xcc, 0x8b, 0x14, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x49, 0x5f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x69, 0x73, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, + 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6e, 0x6f, 0x5f, 0x61, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, + 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x98, 0x04, 0x0a, 0x1c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x5f, 0x0a, 0x17, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, + 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x2a, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x18, 0xdb, 0xaa, 0x8d, 0x55, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x18, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xd0, 0xba, 0xa6, 0x23, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x16, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x01, 0x0a, 0x19, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xb5, 0x9a, 0xcc, 0x96, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x81, 0x03, 0x0a, 0x0f, + 0x47, 0x52, 0x50, 0x43, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, + 0x32, 0x0a, 0x11, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd6, 0xa8, 0x8d, 0x41, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0f, 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, + 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, - 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, - 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, - 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, - 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, - 0xf5, 0xac, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x8e, 0xe1, 0xe8, 0x41, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, + 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, + 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, + 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, + 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x8c, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, + 0x10, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x8e, 0xe1, 0xe8, 0x41, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x78, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, + 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x41, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, + 0x01, 0x0a, 0x30, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x6a, 0x0a, 0x17, 0x47, + 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x6e, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x71, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, + 0x6b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x6a, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, + 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x78, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x22, 0x7c, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, - 0x01, 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, - 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x30, 0x47, 0x65, 0x74, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, - 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x77, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x09, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, + 0xbe, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x11, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x22, 0x69, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x37, + 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, - 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x1c, 0x47, + 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x14, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x18, 0x85, 0xd7, 0xb3, 0x34, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x22, 0x6a, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, - 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x6e, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, - 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x71, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x22, 0x6a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x4c, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0x80, 0xfa, 0xd5, 0xf3, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x77, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x45, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x69, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x45, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x37, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x63, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, + 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x85, 0xd7, 0xb3, 0x34, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x20, 0x0a, + 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0xe4, 0xb6, 0xe1, 0x9c, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x5e, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x74, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x87, 0x01, 0x0a, 0x24, 0x47, 0x65, + 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, + 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x6a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, + 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x4c, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, - 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5b, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, - 0x80, 0xfa, 0xd5, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x47, - 0x65, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x5e, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, - 0x6c, 0x79, 0x18, 0xe4, 0xb6, 0xe1, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x5e, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x74, 0x0a, 0x1e, 0x47, - 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, - 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x87, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x6a, 0x0a, 0x19, 0x47, - 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x88, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0a, 0xe0, 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x26, 0x47, + 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, - 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, - 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0xf8, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x47, + 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0xbc, 0x82, 0xe1, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x9c, 0x84, 0xb0, 0x4e, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, + 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x22, 0xf9, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x21, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xd3, 0xfe, 0xed, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x65, + 0x0a, 0x15, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x9f, 0x02, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, + 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x82, 0x01, 0x0a, 0x21, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd3, 0xfe, 0xed, 0x35, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, 0x0a, 0x1b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xec, 0xe4, 0xd6, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, + 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, + 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0xdf, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, - 0xf8, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe0, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, + 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, + 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x01, 0x0a, 0x17, + 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0xbc, 0x82, 0xe1, 0xaf, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x9c, 0x84, 0xb0, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xf9, 0x01, 0x0a, 0x1e, 0x47, - 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, - 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x82, 0x01, 0x0a, 0x21, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd3, 0xfe, 0xed, 0x35, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x65, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, - 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xbe, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, + 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, + 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, + 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x01, 0x0a, 0x1b, + 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe2, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, + 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x01, 0x0a, 0x1a, 0x47, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, + 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, + 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x9f, 0x02, - 0x0a, 0x24, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x82, 0x01, 0x0a, 0x21, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xd3, 0xfe, 0xed, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0xfc, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x73, - 0x0a, 0x1b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xec, 0xe4, - 0xd6, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0xe0, - 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, + 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe7, 0x01, 0x0a, + 0x28, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, + 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xfe, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, @@ -136882,13 +143274,16 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xf2, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, + 0x6e, 0x22, 0x86, 0x02, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, @@ -136896,40 +143291,80 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, + 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x1d, 0x47, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, + 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x2e, 0x47, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, + 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf9, 0x01, 0x0a, 0x1e, 0x47, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, + 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xf6, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0x0a, 0x24, 0x47, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, @@ -136937,29 +143372,15 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xe2, 0x01, 0x0a, 0x23, 0x47, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xd9, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xda, + 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, @@ -136971,54 +143392,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0x0a, 0x1f, - 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, - 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0x0a, - 0x24, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, - 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x22, 0xe7, 0x01, 0x0a, 0x28, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, - 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01, 0x0a, - 0x1c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, + 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x1d, + 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, @@ -137026,2506 +143402,2292 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, + 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xfe, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, - 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x02, 0x0a, 0x27, 0x47, 0x65, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0xfc, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x8d, 0x02, 0x0a, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0xf9, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, + 0x79, 0x18, 0xe4, 0xb6, 0xe1, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x02, 0x0a, 0x21, - 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x51, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x1e, 0x47, 0x65, + 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x83, - 0x02, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x23, 0x0a, 0x21, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xbd, 0xfc, 0x85, 0xee, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x00, 0x52, 0x1d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x23, 0x0a, 0x21, 0x5f, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x7a, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, 0x69, - 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0xe4, 0xb6, 0xe1, 0x9c, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x51, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1c, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, + 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x22, 0x76, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x74, 0x0a, 0x1a, 0x47, 0x65, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, + 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x9c, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, - 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x86, - 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, - 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0xa6, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0xf4, 0x8a, 0xf7, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x15, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc6, 0xd8, 0xdb, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x76, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, - 0x74, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, - 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xa6, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x17, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x8a, 0xf7, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x80, - 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3c, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc6, 0xd8, 0xdb, 0xea, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x24, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xdd, 0xcb, 0xad, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x93, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1c, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xdd, 0xcb, 0xad, 0x8a, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x74, 0x22, 0x66, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x63, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0xab, 0xc6, 0x59, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x57, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0xc1, + 0x88, 0xc2, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x66, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x63, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xab, 0xc6, 0x59, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x22, 0x57, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0x88, 0xc2, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x67, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xe3, 0xfe, 0xfe, 0x20, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x67, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x18, 0xe3, 0xfe, 0xfe, 0x20, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x22, 0x80, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x22, 0x72, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xae, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4e, + 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0xe9, 0xad, 0xf8, 0xca, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6e, + 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x06, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6e, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd9, 0x03, 0x0a, 0x1f, 0x47, 0x65, 0x74, + 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, + 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0xe9, 0xad, 0xf8, 0xca, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6e, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, + 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xd4, 0x97, 0x8f, 0x6b, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xd9, 0x03, 0x0a, 0x1f, 0x47, 0x65, - 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, - 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0xe9, 0xad, 0xf8, 0xca, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x07, 0x6e, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, + 0x0a, 0x24, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xa7, 0x9f, 0xef, 0x4a, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, + 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xd4, 0x97, 0x8f, 0x6b, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xb3, - 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, - 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1d, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xa7, 0x9f, 0xef, 0x4a, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x22, 0x75, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x57, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x75, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x22, 0x88, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x97, 0xe4, 0x8b, + 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6e, 0x6f, 0x64, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x57, 0x0a, 0x11, 0x47, - 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x22, 0x7b, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x22, 0x88, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x97, 0xe4, - 0x8b, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6e, 0x6f, - 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0xd7, 0x96, 0x90, 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, - 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xcc, 0xb9, 0xd1, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, - 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd7, + 0x96, 0x90, 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6e, + 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x11, 0x47, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x90, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xcc, 0xb9, 0xd1, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, + 0x87, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x47, 0x65, + 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x22, 0x87, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, - 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, - 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x47, - 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, + 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x1e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, + 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, - 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, - 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x95, + 0x96, 0xf3, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0x0a, 0x1e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, - 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x95, 0x96, 0xf3, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x22, 0x81, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, - 0x2c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x14, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, + 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x22, 0x81, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, + 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x14, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x22, 0x90, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, + 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x22, 0xa7, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x25, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x3c, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0xe9, 0xbc, 0xd6, 0xb3, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x22, 0x90, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, + 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x54, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, - 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x22, 0xa7, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x25, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0x0a, 0x24, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0xe9, 0xbc, 0xd6, 0xb3, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, + 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x93, 0x01, 0x0a, 0x1e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x2f, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x18, 0xe4, 0xd7, 0x92, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x22, 0x85, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, + 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, + 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x97, 0x01, 0x0a, 0x1f, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x32, + 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, + 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, + 0x95, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, + 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x7c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, + 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, + 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x22, 0x7f, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xa5, 0xf7, 0x4b, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x51, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x18, 0xc9, 0xe4, 0xea, 0x33, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x74, 0x0a, 0x10, 0x47, 0x65, 0x74, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x22, + 0x80, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, - 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, - 0x54, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, + 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xab, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, + 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd1, 0x01, 0x0a, 0x29, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x22, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, + 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xa3, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, + 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x80, 0x01, 0x0a, 0x1c, + 0x47, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x6d, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xd3, 0x01, + 0x0a, 0x22, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0xe2, 0x88, 0xab, 0x34, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xed, 0xa9, 0xd0, 0xa1, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x8e, 0x01, + 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x5b, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x18, 0xc4, 0xab, 0xeb, 0x87, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x3d, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, - 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x93, 0x01, 0x0a, 0x1e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x6d, 0x0a, 0x18, 0x47, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0xe4, 0xd7, 0x92, 0x16, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x5f, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x76, + 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xf9, 0x83, 0xf6, 0xc1, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x18, 0xe4, 0xd7, 0x92, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x22, 0x85, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, - 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x97, 0x01, 0x0a, 0x1f, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, + 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x71, 0x0a, 0x19, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xfb, 0xb4, + 0xb2, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x71, 0x0a, 0x19, + 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x11, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, + 0x74, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x22, 0x9a, 0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x22, 0x95, 0x01, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, + 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x83, 0x8f, 0x96, 0x8a, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, + 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, + 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x6f, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, + 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, + 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x6f, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x7c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, - 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x22, 0x7f, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x95, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x12, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, + 0xcb, 0x80, 0xf6, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x22, 0x56, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xa5, 0xf7, 0x4b, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x51, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x05, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0xc9, 0xe4, 0xea, 0x33, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x74, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x22, 0x80, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, + 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, - 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xab, 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, - 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd1, 0x01, 0x0a, 0x29, 0x47, 0x65, 0x74, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xa3, 0x01, 0x0a, 0x1c, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x22, 0x80, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, - 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, - 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x22, 0x6d, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x22, 0xd3, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, - 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, - 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0xe2, 0x88, 0xab, 0x34, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x12, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x18, 0xed, 0xa9, 0xd0, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, - 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, - 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x22, 0x5b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0xc4, 0xab, 0xeb, 0x87, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x22, 0x6d, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, - 0x0a, 0x0f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x18, 0xe4, 0xd7, 0x92, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, - 0x5f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x70, - 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x18, 0xf9, 0x83, 0xf6, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x81, 0x01, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, + 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x18, 0xf9, 0x83, 0xf6, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x7e, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, - 0x71, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, - 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x18, 0xfb, 0xb4, 0xb2, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x22, 0x71, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x74, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x83, 0x8f, - 0x96, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, - 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x6f, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, - 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x6f, 0x0a, - 0x18, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x93, 0x94, 0xca, 0x44, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x3c, 0x0a, + 0x18, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, - 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x95, - 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x35, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xcb, 0x80, 0xf6, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x56, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x55, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x22, 0x82, - 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x76, 0x70, 0x6e, - 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xf9, 0x83, 0xf6, 0xc1, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x22, 0x7e, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x93, 0x94, 0xca, 0x44, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x22, 0x3c, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0xe7, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, - 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x22, 0x4e, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x1a, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x13, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0xc3, 0xb1, 0x9e, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8d, - 0x01, 0x0a, 0x31, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x8d, - 0x01, 0x0a, 0x31, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, - 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xd7, - 0x01, 0x0a, 0x22, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, - 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, - 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, - 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, - 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xf7, 0x01, 0x0a, 0x16, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, - 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xe7, 0x02, 0x0a, 0x1e, + 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x84, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, + 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, + 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xfa, 0x47, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x4e, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xa9, 0x01, 0x0a, + 0x1a, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xc3, 0xb1, + 0x9e, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x31, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, + 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x16, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, - 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, - 0x01, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0x87, 0x03, 0x0a, 0x0f, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x26, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0xbc, - 0x82, 0xe1, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xba, 0xae, 0x91, 0x4b, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, - 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x9c, 0x84, 0xb0, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x04, 0x52, 0x0b, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0xee, 0xf3, 0xb3, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0d, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x47, - 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0xdb, 0xaa, 0x8d, 0x55, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x5e, 0x0a, 0x14, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x31, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, + 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xd7, 0x01, 0x0a, 0x22, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x40, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, + 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x48, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x22, 0xf7, 0x01, 0x0a, 0x16, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, + 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, + 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, + 0x16, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x87, 0x03, 0x0a, 0x0f, 0x47, + 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0xbc, 0x82, 0xe1, 0xaf, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x88, + 0x01, 0x01, 0x12, 0x56, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0xba, 0xae, 0x91, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x22, 0xbf, 0x02, 0x0a, 0x0e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, - 0x87, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, - 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xdb, 0xbf, 0xc8, 0xfd, 0x01, 0x12, 0x0c, - 0x0a, 0x05, 0x47, 0x56, 0x4e, 0x49, 0x43, 0x10, 0x99, 0x95, 0xc3, 0x20, 0x12, 0x16, 0x0a, 0x0f, - 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x49, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x10, - 0xcf, 0xdb, 0xaf, 0x48, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x45, 0x43, 0x55, 0x52, 0x45, 0x5f, 0x42, - 0x4f, 0x4f, 0x54, 0x10, 0xba, 0xdd, 0xd6, 0xb3, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x53, 0x45, 0x56, - 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x91, 0x96, 0xc3, 0x29, 0x12, 0x1b, 0x0a, - 0x13, 0x53, 0x45, 0x56, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0x8c, 0x9b, 0xf8, 0xba, 0x01, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x45, - 0x56, 0x5f, 0x53, 0x4e, 0x50, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa7, 0x87, - 0x1a, 0x12, 0x16, 0x0a, 0x0f, 0x55, 0x45, 0x46, 0x49, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, - 0x49, 0x42, 0x4c, 0x45, 0x10, 0xc0, 0xd6, 0xb2, 0x5d, 0x12, 0x1d, 0x0a, 0x16, 0x56, 0x49, 0x52, - 0x54, 0x49, 0x4f, 0x5f, 0x53, 0x43, 0x53, 0x49, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x51, 0x55, - 0x45, 0x55, 0x45, 0x10, 0x8d, 0xc1, 0x90, 0x60, 0x12, 0x0f, 0x0a, 0x07, 0x57, 0x49, 0x4e, 0x44, - 0x4f, 0x57, 0x53, 0x10, 0xe3, 0xdc, 0xec, 0xd9, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x22, 0xd0, 0x04, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x32, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, - 0xa8, 0xeb, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0xd5, 0xd7, 0xb1, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x05, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, - 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0xa8, - 0xdc, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, - 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, - 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, - 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, - 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, - 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, - 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcf, 0x04, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, - 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, - 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, - 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, - 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, - 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0xd5, 0xd7, 0xb1, 0x6d, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, - 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, - 0xc1, 0xa8, 0xdc, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, - 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, - 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, - 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, - 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, - 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, - 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, - 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, - 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd0, 0x04, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, - 0x53, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x04, - 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x70, 0x6f, - 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0xd5, 0xd7, 0xb1, 0x6d, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x18, 0xc1, 0xa8, 0xdc, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, - 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, - 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, - 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, - 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, - 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, - 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, - 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, - 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x0c, 0x0a, 0x0b, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0xae, 0xaf, 0xe3, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x10, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x88, 0x01, - 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x11, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe6, 0xa7, 0xe4, 0x28, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x52, 0x50, 0x43, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x03, 0x52, 0x0f, 0x67, - 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x34, 0x0a, 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, - 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0xc9, 0x90, 0xa2, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x04, 0x52, 0x10, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x32, - 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xda, 0xb5, - 0xb5, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x48, 0x54, 0x54, 0x50, 0x32, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x48, 0x05, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x32, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xbc, 0xa7, - 0xde, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x48, 0x06, 0x52, 0x0f, 0x68, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xb9, 0x98, - 0xf6, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x53, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x48, 0x07, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0a, 0x6c, - 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x9d, 0xd1, 0xc1, 0xa7, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x48, 0x0a, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0c, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xb8, 0xe9, 0xc3, 0x85, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x53, 0x4c, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x0e, 0x52, 0x0e, 0x73, - 0x73, 0x6c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x18, 0x83, 0xaa, 0x8d, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x43, 0x50, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x0f, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xf3, 0xc0, 0x92, 0x26, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x10, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, - 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x37, 0x0a, 0x13, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, - 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0xd0, 0xbd, 0xd9, 0x6c, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x12, 0x52, 0x12, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x22, 0x77, 0x0a, 0x04, 0x54, 0x79, + 0x75, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x48, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x9c, 0x84, 0xb0, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x76, 0x61, 0x72, + 0x69, 0x61, 0x62, 0x6c, 0x65, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x76, + 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xee, 0xf3, + 0xb3, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0d, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6b, 0x65, + 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x93, 0x01, 0x0a, 0x14, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x17, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x18, 0xdb, 0xaa, 0x8d, 0x55, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, + 0x65, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x5e, 0x0a, 0x14, 0x47, 0x75, + 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xde, 0x02, 0x0a, 0x0e, 0x47, + 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0xa6, 0x02, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x9e, - 0x88, 0x86, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x88, 0x81, 0x88, 0x01, - 0x12, 0x0c, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x32, 0x10, 0xaa, 0xa1, 0xf8, 0x20, 0x12, 0x0c, - 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x53, 0x10, 0xcb, 0xa1, 0xf8, 0x20, 0x12, 0x0f, 0x0a, 0x07, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x09, 0x0a, - 0x03, 0x53, 0x53, 0x4c, 0x10, 0xec, 0x83, 0x05, 0x12, 0x09, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, - 0xc1, 0x87, 0x05, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x63, 0x70, 0x5f, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xda, 0x02, - 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x42, 0x0a, 0x14, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, - 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x53, - 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, - 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x22, 0xa6, 0x06, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, + 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0xdb, 0xbf, 0xc8, 0xfd, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x47, 0x56, 0x4e, 0x49, + 0x43, 0x10, 0x99, 0x95, 0xc3, 0x20, 0x12, 0x16, 0x0a, 0x0f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, + 0x49, 0x50, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x10, 0xcf, 0xdb, 0xaf, 0x48, 0x12, 0x13, + 0x0a, 0x0b, 0x53, 0x45, 0x43, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x54, 0x10, 0xba, 0xdd, + 0xd6, 0xb3, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x53, 0x45, 0x56, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x91, 0x96, 0xc3, 0x29, 0x12, 0x1b, 0x0a, 0x13, 0x53, 0x45, 0x56, 0x5f, 0x4c, + 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x8c, + 0x9b, 0xf8, 0xba, 0x01, 0x12, 0x1d, 0x0a, 0x16, 0x53, 0x45, 0x56, 0x5f, 0x4c, 0x49, 0x56, 0x45, + 0x5f, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x56, 0x32, 0x10, 0xaf, + 0xcc, 0xaf, 0x50, 0x12, 0x15, 0x0a, 0x0f, 0x53, 0x45, 0x56, 0x5f, 0x53, 0x4e, 0x50, 0x5f, 0x43, + 0x41, 0x50, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa7, 0x87, 0x1a, 0x12, 0x16, 0x0a, 0x0f, 0x55, 0x45, + 0x46, 0x49, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0xc0, 0xd6, + 0xb2, 0x5d, 0x12, 0x1d, 0x0a, 0x16, 0x56, 0x49, 0x52, 0x54, 0x49, 0x4f, 0x5f, 0x53, 0x43, 0x53, + 0x49, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x51, 0x55, 0x45, 0x55, 0x45, 0x10, 0x8d, 0xc1, 0x90, + 0x60, 0x12, 0x0f, 0x0a, 0x07, 0x57, 0x49, 0x4e, 0x44, 0x4f, 0x57, 0x53, 0x10, 0xe3, 0xdc, 0xec, + 0xd9, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd0, 0x04, 0x0a, 0x10, + 0x48, 0x54, 0x54, 0x50, 0x32, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, + 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, + 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x29, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0xd5, 0xd7, 0xb1, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0xa8, 0xdc, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x06, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, + 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, + 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, + 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, + 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, + 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x22, 0x48, + 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, + 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, + 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, + 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, + 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcf, + 0x04, 0x0a, 0x0f, 0x48, 0x54, 0x54, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0xd5, 0xd7, 0xb1, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0xa8, 0xdc, 0x5d, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x06, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, + 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, + 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, + 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, + 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, + 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, + 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, + 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, + 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0xd0, 0x04, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x53, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, + 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, + 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0xd5, 0xd7, 0xb1, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, + 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, + 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0xa8, 0xdc, 0x5d, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, + 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, + 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, + 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, + 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, + 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, + 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x0c, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xae, 0xaf, 0xe3, 0xa4, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, + 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, - 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, - 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, - 0x4f, 0x0a, 0x20, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0xf9, 0xec, 0xdb, 0x78, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x1d, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x17, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xad, 0x97, 0xff, 0x0d, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x39, 0x0a, 0x16, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0xaa, 0xde, 0xf8, 0xc1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x72, 0x0a, 0x1d, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x2a, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, - 0x4e, 0x44, 0x10, 0xb7, 0xfb, 0x03, 0x12, 0x16, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x41, 0x47, 0x47, - 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xc4, 0x92, 0xac, 0xcb, 0x01, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x71, 0x0a, 0x1b, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, - 0xe9, 0x02, 0x0a, 0x17, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x44, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x91, 0x04, 0x0a, 0x1a, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x11, + 0x67, 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x18, 0xe6, 0xa7, 0xe4, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x52, 0x50, 0x43, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x48, 0x03, 0x52, 0x0f, 0x67, 0x72, 0x70, 0x63, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x11, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, + 0xc9, 0x90, 0xa2, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x10, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x5f, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xda, 0xb5, 0xb5, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x32, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x05, 0x52, 0x10, 0x68, 0x74, + 0x74, 0x70, 0x32, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x5d, 0x0a, 0x11, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xbc, 0xa7, 0xde, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x06, 0x52, 0x0f, 0x68, 0x74, + 0x74, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x60, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xb9, 0x98, 0xf6, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x53, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x48, 0x07, 0x52, 0x10, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x08, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x9d, 0xd1, 0xc1, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0a, 0x52, 0x09, 0x6c, + 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, + 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, + 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x18, 0xb8, 0xe9, 0xc3, 0x85, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x53, 0x4c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x48, 0x0e, 0x52, 0x0e, 0x73, 0x73, 0x6c, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x10, 0x74, 0x63, 0x70, + 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x83, 0xaa, + 0x8d, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x43, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x48, 0x0f, 0x52, 0x0e, 0x74, 0x63, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x5f, 0x73, 0x65, 0x63, 0x18, 0xf3, 0xc0, 0x92, 0x26, 0x20, 0x01, 0x28, 0x05, 0x48, 0x10, 0x52, + 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x11, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x13, 0x75, 0x6e, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0xd0, 0xbd, 0xd9, 0x6c, 0x20, 0x01, 0x28, 0x05, 0x48, 0x12, 0x52, 0x12, 0x75, 0x6e, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x88, 0x01, 0x01, 0x22, 0x77, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, + 0x0b, 0x0a, 0x04, 0x47, 0x52, 0x50, 0x43, 0x10, 0x9e, 0x88, 0x86, 0x01, 0x12, 0x0b, 0x0a, 0x04, + 0x48, 0x54, 0x54, 0x50, 0x10, 0x88, 0x81, 0x88, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x48, 0x54, 0x54, + 0x50, 0x32, 0x10, 0xaa, 0xa1, 0xf8, 0x20, 0x12, 0x0c, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x53, + 0x10, 0xcb, 0xa1, 0xf8, 0x20, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x09, 0x0a, 0x03, 0x53, 0x53, 0x4c, 0x10, 0xec, 0x83, + 0x05, 0x12, 0x09, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0xc1, 0x87, 0x05, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, + 0x73, 0x65, 0x63, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x32, + 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, + 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x73, 0x73, 0x6c, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x16, + 0x0a, 0x14, 0x5f, 0x75, 0x6e, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x79, 0x5f, 0x74, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xda, 0x02, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x57, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x42, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x53, 0x0a, 0x14, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, + 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, 0xa6, 0x06, 0x0a, + 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x4f, 0x0a, 0x20, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xf9, 0xec, 0xdb, + 0x78, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x1d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x17, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x18, 0xad, 0x97, 0xff, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x12, 0x39, 0x0a, 0x16, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xaa, 0xde, 0xf8, + 0xc1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x22, 0x72, 0x0a, 0x1d, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x2a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, + 0x43, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4e, 0x44, 0x10, 0xb7, 0xfb, 0x03, 0x12, + 0x16, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0xc4, 0x92, 0xac, 0xcb, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x23, + 0x0a, 0x21, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x71, 0x0a, 0x1b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, + 0xc2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x17, 0x0a, 0x15, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xe9, 0x02, 0x0a, 0x17, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x69, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, - 0xb7, 0x01, 0x0a, 0x16, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xcd, 0x06, 0x0a, 0x0c, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5b, 0x0a, 0x0b, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0xf6, 0xb5, 0x35, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x18, - 0x88, 0xac, 0x91, 0x52, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0xee, 0xe9, 0xbf, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, - 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0xf8, 0x84, - 0xc5, 0x86, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x81, 0xfb, 0x92, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, - 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, - 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0x4d, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x41, - 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x48, - 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xfd, 0xaa, 0xdb, 0xd1, 0x01, 0x12, 0x11, 0x0a, 0x09, - 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xc4, 0xb9, 0xad, 0xdc, 0x01, 0x22, - 0x8a, 0x01, 0x0a, 0x0b, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, - 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x57, 0x45, 0x49, - 0x47, 0x48, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0xe0, 0x8b, - 0xfb, 0xb6, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x57, - 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0x91, 0x97, 0x8f, 0xb7, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x55, - 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, - 0x54, 0x10, 0xe7, 0xe2, 0xc6, 0xd1, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x57, 0x45, 0x49, 0x47, 0x48, - 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x9f, 0xe9, 0xc9, 0xef, 0x01, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xb5, 0x05, 0x0a, 0x1e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x62, 0x0a, 0x0f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x62, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, - 0x01, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x91, 0x04, 0x0a, 0x1a, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, + 0x69, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x02, 0x52, - 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x6f, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x03, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x18, 0xee, 0xe9, 0xbf, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x70, 0x0a, 0x0b, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, - 0x49, 0x4e, 0x47, 0x10, 0xea, 0xd5, 0x8c, 0xe5, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x48, 0x45, 0x41, - 0x4c, 0x54, 0x48, 0x59, 0x10, 0xfd, 0xaa, 0xdb, 0xd1, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x55, 0x4e, - 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xc4, 0xb9, 0xad, 0xdc, 0x01, 0x12, 0x0f, 0x0a, - 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xaa, 0xf0, 0xc4, 0xce, 0x01, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x22, 0x42, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x3a, 0x0a, 0x05, 0x6c, 0x69, 0x6e, - 0x6b, 0x73, 0x18, 0xb9, 0x9f, 0x8d, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb7, 0x01, 0x0a, 0x16, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, + 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x22, 0xcd, 0x06, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x5b, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xa4, 0xf6, 0xb5, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, - 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x66, 0x0a, 0x08, 0x48, 0x65, 0x6c, 0x70, 0x4c, 0x69, 0x6e, - 0x6b, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, - 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, - 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x9b, 0x01, - 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x88, 0xac, 0x91, 0x52, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x75, 0x6c, 0x65, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xee, 0xe9, 0xbf, 0x9a, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, + 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0xf8, 0x84, 0xc5, 0x86, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x06, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x0c, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x81, 0xfb, + 0x92, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0b, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4d, 0x0a, 0x0b, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, + 0xfd, 0xaa, 0xdb, 0xd1, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, + 0x48, 0x59, 0x10, 0xc4, 0xb9, 0xad, 0xdc, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x57, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, + 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0xe0, 0x8b, 0xfb, 0xb6, 0x01, 0x12, 0x16, 0x0a, 0x0e, + 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0x91, + 0x97, 0x8f, 0xb7, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x55, 0x4e, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, + 0x42, 0x4c, 0x45, 0x5f, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x10, 0xe7, 0xe2, 0xc6, 0xd1, 0x01, + 0x12, 0x13, 0x0a, 0x0b, 0x57, 0x45, 0x49, 0x47, 0x48, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, + 0x9f, 0xe9, 0xc9, 0xef, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x70, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0xb5, 0x05, 0x0a, 0x1e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x62, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x62, 0x0a, 0x0f, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, + 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, + 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, + 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x48, 0x03, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xee, 0xe9, 0xbf, 0x9a, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x70, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xea, 0xd5, 0x8c, + 0xe5, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xfd, 0xaa, + 0xdb, 0xd1, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, + 0x10, 0xc4, 0xb9, 0xad, 0xdc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0xaa, 0xf0, 0xc4, 0xce, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x42, 0x0a, 0x04, 0x48, 0x65, + 0x6c, 0x70, 0x12, 0x3a, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0xb9, 0x9f, 0x8d, 0x31, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, + 0x65, 0x6c, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x22, 0x66, + 0x0a, 0x08, 0x48, 0x65, 0x6c, 0x70, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0xcb, - 0xff, 0xb6, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x2a, - 0x0a, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x98, - 0xbe, 0x8a, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x68, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x0e, - 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x28, - 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x89, 0xb7, - 0xce, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x9b, 0x01, 0x0a, 0x08, 0x48, 0x6f, 0x73, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0xcb, 0xff, 0xb6, 0x2f, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x98, 0xbe, 0x8a, 0xa1, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x72, 0x22, 0x81, 0x01, 0x0a, 0x0e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x75, + 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x89, 0xb7, 0xce, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x00, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, + 0x9a, 0xe5, 0xb7, 0x48, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x48, 0x74, 0x74, + 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x4b, 0x0a, 0x0b, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0xf8, 0xb9, 0x96, 0x97, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x9a, 0xe5, 0xb7, 0x48, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, - 0xa4, 0x01, 0x0a, 0x0e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, - 0x61, 0x79, 0x12, 0x4b, 0x0a, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x18, 0xf8, 0xb9, 0x96, 0x97, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, - 0x52, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x9a, 0xe5, - 0xb7, 0x48, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x61, 0x67, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x12, 0x48, 0x74, 0x74, 0x70, 0x46, - 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, - 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, 0xb0, 0xc6, 0x94, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0xb6, 0x01, 0x0a, 0x12, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x18, + 0xb0, 0xc6, 0x94, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, + 0x74, 0x48, 0x00, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, + 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x83, 0xf3, 0xc2, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, - 0x75, 0x6c, 0x74, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x48, 0x00, 0x52, 0x05, 0x61, 0x62, 0x6f, 0x72, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x83, 0xf3, - 0xc2, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x48, 0x01, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x22, 0xd8, 0x02, 0x0a, 0x10, 0x48, 0x74, 0x74, + 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, + 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0xe6, 0xae, 0xb1, 0x22, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, + 0x12, 0x3c, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x9f, 0xcf, + 0x93, 0x68, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x63, + 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0xf4, 0xb6, 0xa9, 0x0f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, + 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, + 0x41, 0x64, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x18, 0xd1, 0x81, 0xfb, 0x23, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x22, 0x95, 0x04, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x85, 0x99, 0x9c, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, + 0x76, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x9c, 0xc8, 0xfa, 0xee, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xd8, 0xf3, 0xfc, 0x7a, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, + 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x18, 0xc1, 0xfa, 0x93, 0x20, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0c, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x51, + 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc3, 0xa8, + 0xaf, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x48, - 0x01, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x61, 0x62, 0x6f, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x22, - 0xd8, 0x02, 0x0a, 0x10, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x61, 0x0a, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x18, 0xe6, - 0xae, 0xb1, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x3c, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x9f, 0xcf, 0x93, 0x68, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x63, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, - 0x18, 0xf4, 0xb6, 0xa9, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x12, 0x3e, 0x0a, 0x1a, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, - 0x6f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0xd1, 0x81, 0xfb, 0x23, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x17, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x22, 0x95, 0x04, 0x0a, 0x0f, 0x48, - 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x28, - 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x85, 0x99, - 0x9c, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x18, 0x9c, 0xc8, 0xfa, 0xee, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0b, 0x69, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xd8, 0xf3, - 0xfc, 0x7a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc1, 0xfa, 0x93, 0x20, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x04, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x18, 0xc3, 0xa8, 0xaf, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x48, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x65, - 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xcd, 0xb7, 0x9a, 0x33, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x06, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x18, 0xd7, 0xe6, 0xae, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0b, 0x73, - 0x75, 0x66, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x22, 0xb5, 0x01, 0x0a, 0x10, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0xbf, 0xf2, 0xeb, 0x60, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0xb4, 0xe5, 0xf2, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x02, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x17, 0x48, - 0x74, 0x74, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x28, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x85, 0x99, 0x9c, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc1, 0xfa, - 0x93, 0x20, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xcd, 0xb7, 0x9a, 0x33, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, - 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xe9, 0x04, - 0x0a, 0x12, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x93, 0xa1, 0x9c, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x18, 0xb0, 0xf1, 0x97, 0x51, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0d, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x18, 0xb6, 0xbd, 0xee, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x70, - 0x61, 0x74, 0x68, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, - 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x18, 0xe9, 0xf5, 0xe0, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x88, 0xd8, 0x9e, 0xd0, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0xe1, - 0x99, 0xf7, 0x18, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x70, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, 0x01, 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, - 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x46, 0x4f, 0x55, 0x4e, 0x44, - 0x10, 0xe2, 0xbe, 0xfe, 0x1f, 0x12, 0x21, 0x0a, 0x19, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x50, - 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, - 0x4c, 0x54, 0x10, 0xd1, 0x99, 0xb2, 0xb8, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x50, 0x45, 0x52, 0x4d, - 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0xed, - 0xe8, 0x93, 0xb6, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x53, 0x45, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, - 0x52, 0x10, 0xe4, 0xef, 0xaf, 0xd4, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x54, 0x45, 0x4d, 0x50, 0x4f, - 0x52, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0xaa, 0xe4, - 0xb7, 0xe9, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, - 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x19, - 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, - 0x72, 0x69, 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xe0, 0x01, 0x0a, 0x0f, 0x48, 0x74, - 0x74, 0x70, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x0a, - 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x8d, 0xab, 0x81, - 0x78, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, - 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0xbb, 0xad, 0xc4, 0x85, 0x01, 0x20, + 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x48, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x18, 0xcd, 0xb7, 0x9a, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0a, 0x72, 0x65, 0x67, + 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x73, 0x75, + 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xd7, 0xe6, 0xae, 0xcb, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0b, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x78, 0x61, 0x63, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x72, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, + 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, + 0x75, 0x66, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xb5, 0x01, 0x0a, 0x10, + 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xbf, 0xf2, 0xeb, 0x60, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, + 0xb4, 0xe5, 0xf2, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x17, 0x48, 0x74, 0x74, 0x70, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x28, 0x0a, 0x0b, 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x85, + 0x99, 0x9c, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x65, 0x78, 0x61, 0x63, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc1, 0xfa, 0x93, 0x20, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x02, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x18, 0xcd, 0xb7, 0x9a, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0a, 0x72, 0x65, + 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x65, 0x78, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xe9, 0x04, 0x0a, 0x12, 0x48, 0x74, 0x74, 0x70, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, + 0x0d, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0x93, + 0xa1, 0x9c, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xb0, 0xf1, 0x97, + 0x51, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x52, 0x65, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xb6, 0xbd, 0xee, 0x81, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xe9, 0xf5, 0xe0, 0xd4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x18, 0x88, 0xd8, 0x9e, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, + 0x14, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, + 0x70, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0xe1, 0x99, 0xf7, 0x18, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x88, 0x01, + 0x01, 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, + 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, 0x53, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, + 0x12, 0x0c, 0x0a, 0x05, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xe2, 0xbe, 0xfe, 0x1f, 0x12, 0x21, + 0x0a, 0x19, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, + 0x54, 0x4c, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xd1, 0x99, 0xb2, 0xb8, + 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x52, + 0x45, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0xed, 0xe8, 0x93, 0xb6, 0x01, 0x12, 0x11, 0x0a, + 0x09, 0x53, 0x45, 0x45, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0xe4, 0xef, 0xaf, 0xd4, 0x01, + 0x12, 0x1a, 0x0a, 0x12, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x52, 0x45, + 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0xaa, 0xe4, 0xb7, 0xe9, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x22, 0xe0, 0x01, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x74, 0x72, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x27, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x8d, 0xab, 0x81, 0x78, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, + 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x52, 0x0a, 0x0f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0xbb, 0xad, 0xc4, 0x85, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x01, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x54, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, 0xe1, 0xde, 0x0d, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xf6, 0x06, 0x0a, 0x0f, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x6f, 0x72, + 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x84, 0xcc, 0x9d, 0xbe, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x72, + 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x72, 0x73, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x16, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0x97, 0x94, 0xea, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, + 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x14, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x98, 0xa5, 0xa5, 0x1d, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x68, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x82, 0xe0, 0xff, 0x68, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, + 0x03, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x74, + 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xa9, 0xe5, 0x8a, 0x1b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, + 0x70, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x04, 0x52, 0x0b, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x44, + 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0xe1, 0x9a, 0xbd, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x54, 0x72, 0x79, - 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x10, 0x72, 0x65, - 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xaf, - 0xe1, 0xde, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x75, 0x6d, - 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x74, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xf6, 0x06, 0x0a, - 0x0f, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0x84, 0xcc, 0x9d, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, - 0x52, 0x0a, 0x63, 0x6f, 0x72, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x6a, 0x0a, 0x16, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x97, 0x94, 0xea, 0xc4, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, - 0x74, 0x70, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x01, 0x52, 0x14, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x13, 0x6d, - 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x98, 0xa5, 0xa5, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, - 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x68, 0x0a, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0x82, 0xe0, 0xff, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x03, 0x52, 0x13, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0xa9, 0xe5, 0x8a, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x48, 0x04, 0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0xe1, 0x9a, 0xbd, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x05, 0x52, - 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0b, 0x75, - 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0xbc, 0xfd, 0xaa, 0x82, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x72, 0x6c, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x48, 0x06, 0x52, 0x0a, 0x75, 0x72, 0x6c, - 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x19, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0xd1, 0xc7, 0xda, 0xa0, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x17, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x63, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x19, 0x0a, 0x17, 0x5f, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x18, - 0x0a, 0x16, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, - 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0xb9, 0x04, 0x0a, 0x0d, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0b, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x18, 0xbc, 0xfd, 0xaa, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xfd, 0xbb, 0xb1, 0xb3, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, - 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, - 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xec, 0xa9, 0xb9, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0c, 0x75, - 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xac, 0xa1, 0x98, 0xc1, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x05, 0x52, 0x0b, 0x75, 0x72, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x22, 0xf3, 0x04, 0x0a, 0x12, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2e, 0x0a, 0x0f, 0x66, 0x75, 0x6c, 0x6c, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xdb, 0x89, 0xaa, 0x66, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x81, 0xeb, 0xc8, 0xac, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, - 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0d, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x0a, - 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0xfd, 0x92, 0xb4, - 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x43, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0xeb, 0xcd, 0xcc, 0xdd, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, - 0x37, 0x0a, 0x13, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x9a, 0xc2, 0xb3, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x11, 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xd8, 0xf3, 0xfc, 0x7a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x88, 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x17, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0xe6, - 0x95, 0xbe, 0x88, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x15, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x18, 0xcd, 0xb7, 0x9a, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, - 0x75, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x42, 0x16, - 0x0a, 0x14, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x67, 0x65, - 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x9a, 0x15, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x18, 0xd3, 0xd2, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, - 0x0a, 0x12, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0xca, 0x8c, 0xdc, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, - 0x52, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0a, - 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x48, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, - 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, - 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, - 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, - 0x79, 0x18, 0xe4, 0xb6, 0xe1, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x66, - 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x67, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xd1, 0xe0, - 0xe7, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, - 0x0f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x14, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, - 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x87, - 0xce, 0xfb, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x08, 0x52, 0x12, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, - 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x10, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x46, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, - 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xa8, 0x85, 0xd8, 0x15, - 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0xd2, - 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, - 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xd4, 0xce, 0xf3, 0xef, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x61, 0x77, 0x44, 0x69, 0x73, 0x6b, 0x48, 0x0c, 0x52, 0x07, 0x72, 0x61, 0x77, 0x44, 0x69, 0x73, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, - 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x0d, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x1f, 0x73, 0x68, 0x69, 0x65, - 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x83, 0xc4, 0xdc, 0x5b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x48, 0x0f, 0x52, 0x1c, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, - 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x74, - 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xe1, 0xa0, 0xb8, - 0xfd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x48, 0x06, 0x52, 0x0a, 0x75, 0x72, 0x6c, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x19, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x18, 0xd1, 0xc7, 0xda, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x17, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x72, 0x73, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, + 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0xb9, + 0x04, 0x0a, 0x0d, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0d, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, 0xb8, + 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x11, 0x52, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0xd9, 0xcd, 0xc9, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x12, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x18, 0xb7, 0xe8, 0x86, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, 0x0b, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x76, - 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xab, 0x91, - 0xf5, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x14, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0xa3, 0xfc, 0xb0, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x15, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, 0xe8, 0x9a, 0x8e, 0x3c, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x16, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x1e, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xda, 0x8e, 0xe7, 0x90, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x4b, 0x65, 0x79, 0x48, 0x17, 0x52, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd2, 0x96, 0x98, 0x2f, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xde, 0xf1, 0xd2, 0xd7, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0xed, 0xb3, 0x9c, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, - 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, - 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, - 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x32, 0x0a, - 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x52, 0x41, 0x57, 0x10, 0x88, 0xf8, - 0x04, 0x22, 0x5e, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, - 0x87, 0xfc, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, - 0xa6, 0xd9, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, - 0xaa, 0xf0, 0x10, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, - 0x25, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x69, 0x73, 0x6b, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, - 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6b, 0x65, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, - 0x21, 0x0a, 0x1f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x59, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, - 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, - 0xce, 0x02, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, - 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x01, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0xfd, 0xbb, 0xb1, 0xb3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0a, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x0c, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xec, 0xa9, 0xb9, 0xca, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x22, 0xa3, 0x02, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3e, 0x0a, 0x03, 0x64, 0x62, 0x73, 0x18, 0xb5, - 0x87, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x52, 0x03, 0x64, 0x62, 0x73, 0x12, 0x41, 0x0a, 0x04, 0x64, 0x62, 0x78, 0x73, 0x18, - 0xf9, 0xe7, 0xbb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x52, 0x04, 0x64, 0x62, 0x78, 0x73, 0x12, 0x41, 0x0a, 0x04, 0x6b, 0x65, - 0x6b, 0x73, 0x18, 0xc2, 0xd8, 0xc8, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x04, 0x6b, 0x65, 0x6b, 0x73, 0x12, 0x40, 0x0a, - 0x02, 0x70, 0x6b, 0x18, 0xfb, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x48, 0x00, 0x52, 0x02, 0x70, 0x6b, 0x88, 0x01, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x70, 0x6b, 0x22, 0xf7, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x54, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xf9, 0x97, 0xde, 0xe6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x03, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, + 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0c, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x18, 0xac, 0xa1, 0x98, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x05, 0x52, 0x0b, 0x75, + 0x72, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x75, 0x72, + 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x22, 0xf3, 0x04, 0x0a, 0x12, 0x48, + 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x2e, 0x0a, 0x0f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0xdb, 0x89, 0xaa, 0x66, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0d, 0x66, 0x75, 0x6c, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, + 0x01, 0x12, 0x53, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x18, 0x81, 0xeb, 0xc8, 0xac, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xfc, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5c, 0x0a, 0x13, - 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xe7, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x67, - 0x0a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x98, 0xce, 0xc7, 0xb5, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x1b, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0xfd, 0x92, 0xb4, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x0a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x56, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x73, 0x18, 0xeb, 0xcd, 0xcc, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x13, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, + 0x9a, 0xc2, 0xb3, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x70, 0x61, 0x74, + 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x18, 0xd8, 0xf3, 0xfc, 0x7a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x17, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0xe6, 0x95, 0xbe, 0x88, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x15, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0b, 0x72, 0x65, + 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xcd, 0xb7, 0x9a, 0x33, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x67, 0x65, 0x78, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x22, 0x9a, 0x15, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0xd3, 0xd2, 0xb1, 0x90, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xca, 0x8c, + 0xdc, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x05, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0xe4, 0xb6, 0xe1, 0x9c, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x56, 0x0a, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xd1, 0xe0, 0xe7, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa0, 0x02, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, - 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, - 0xd0, 0xab, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, + 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, + 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x69, 0x0a, 0x14, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x87, 0xce, 0xfb, 0xb4, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x48, 0x08, 0x52, 0x12, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, + 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0xa8, 0x85, 0xd8, 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x18, 0xd4, 0xce, 0xf3, 0xef, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x77, 0x44, 0x69, 0x73, 0x6b, 0x48, + 0x0c, 0x52, 0x07, 0x72, 0x61, 0x77, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, + 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, + 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, + 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x7a, 0x0a, 0x1f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x83, 0xc4, 0xdc, 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0f, 0x52, 0x1c, 0x73, 0x68, + 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, + 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xc1, 0xee, 0xb4, + 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x74, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xe1, 0xa0, 0xb8, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, + 0x11, 0x52, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, + 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, + 0xd9, 0xcd, 0xc9, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x0c, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xb7, 0xe8, 0x86, - 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x1f, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x77, - 0x0a, 0x1d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x88, 0xdf, 0x90, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xab, 0x91, 0xf5, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x48, 0x14, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, + 0x69, 0x64, 0x18, 0xa3, 0xfc, 0xb0, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, 0x52, 0x0d, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2f, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x18, 0xe8, 0x9a, 0x8e, 0x3c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x0e, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x7c, 0x0a, 0x1e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0xda, 0x8e, 0xe7, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x17, 0x52, 0x1b, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x34, + 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd2, 0x96, 0x98, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, + 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0xde, 0xf1, 0xd2, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, + 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x1a, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, + 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0xed, 0xb3, 0x9c, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, + 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, + 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, + 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, + 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x32, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, + 0x09, 0x0a, 0x03, 0x52, 0x41, 0x57, 0x10, 0x88, 0xf8, 0x04, 0x22, 0x5e, 0x0a, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0e, 0x0a, 0x06, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, 0xa6, 0xd9, 0x01, 0x12, 0x0e, 0x0a, 0x07, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0c, 0x0a, 0x05, + 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x61, + 0x6d, 0x69, 0x6c, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, + 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x73, 0x68, + 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x1d, 0x0a, + 0x1b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x59, 0x0a, + 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, + 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xce, 0x02, 0x0a, 0x09, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa3, 0x02, 0x0a, 0x12, 0x49, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x3e, 0x0a, 0x03, 0x64, 0x62, 0x73, 0x18, 0xb5, 0x87, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x03, 0x64, 0x62, 0x73, + 0x12, 0x41, 0x0a, 0x04, 0x64, 0x62, 0x78, 0x73, 0x18, 0xf9, 0xe7, 0xbb, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x52, 0x04, 0x64, + 0x62, 0x78, 0x73, 0x12, 0x41, 0x0a, 0x04, 0x6b, 0x65, 0x6b, 0x73, 0x18, 0xc2, 0xd8, 0xc8, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x52, 0x04, 0x6b, 0x65, 0x6b, 0x73, 0x12, 0x40, 0x0a, 0x02, 0x70, 0x6b, 0x18, 0xfb, 0x1b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x48, + 0x00, 0x52, 0x02, 0x70, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x70, 0x6b, 0x22, + 0xf7, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0x97, 0xde, + 0xe6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf1, 0x01, 0x0a, 0x1b, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x52, 0x08, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd1, 0x01, - 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xed, 0xb0, 0xe0, - 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0x94, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaf, 0xc0, - 0xd0, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0x97, 0xde, 0xe6, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfc, 0x01, 0x0a, 0x17, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, + 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xf1, 0x01, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xaf, 0xc0, 0xd0, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0x8a, 0x02, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x7d, 0x0a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xa7, 0xcd, 0xdb, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe7, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x98, 0xce, 0xc7, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x1c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, + 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0x8e, 0x02, 0x0a, 0x29, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7f, 0x0a, 0x20, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, - 0xf8, 0xd8, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xde, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, - 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0xa0, 0x02, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xd0, 0xab, 0x0c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xb7, 0xe8, 0x86, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x1f, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x45, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x77, 0x0a, 0x1d, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x88, 0xdf, 0x90, 0xe8, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0xd0, 0x89, 0xa4, 0x5e, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf2, 0xc4, 0xfe, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x64, 0x22, 0xf1, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, + 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x30, + 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x09, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa6, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, - 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x8a, 0x8a, 0xbe, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x67, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb8, 0xb5, 0xd5, 0x88, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd1, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x56, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xed, 0xb0, 0xe0, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa7, 0x03, - 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, 0xf0, 0xfe, - 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, 0x02, 0x0a, 0x1b, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaf, 0xc0, 0xd0, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x41, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xc0, - 0xc3, 0xc1, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xbf, 0xdc, - 0xb0, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x17, - 0x0a, 0x15, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x1a, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x89, 0xea, 0x8b, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x18, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x02, 0x0a, - 0x23, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0xa4, 0xa0, 0x65, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x22, 0xe2, 0x01, 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x63, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9f, 0xa1, 0xcc, 0xbd, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xce, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x54, 0x0a, 0x10, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xcc, 0xd4, 0xea, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xd4, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x54, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0x97, 0xde, 0xe6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa8, 0x02, 0x0a, 0x19, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x16, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xea, 0xaa, 0xfb, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x30, - 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0xb9, 0x98, 0xfd, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x22, 0x9f, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x72, 0x0a, 0x1b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x99, 0xf0, 0xcc, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x19, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf1, 0x01, 0x0a, 0x21, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, + 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaf, 0xc0, 0xd0, 0x8f, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x03, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x90, 0x01, 0x0a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, - 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xa3, 0xdb, - 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x22, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8a, 0x02, 0x0a, + 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x1f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa7, 0xcd, 0xdb, 0xfa, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x29, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x7f, 0x0a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0xf8, 0xd8, 0x16, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xde, 0x01, 0x0a, 0x18, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x12, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x18, 0xd0, 0x89, 0xa4, 0x5e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0b, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, + 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xf2, 0xc4, 0xfe, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xa6, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0x8a, 0xbe, 0x7c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xa7, - 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa7, 0xcd, 0xdb, 0xfa, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xb8, 0xb5, 0xd5, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa7, 0x03, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x56, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, 0xf0, 0xfe, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x18, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xc0, 0xc3, 0xc1, 0x9e, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x38, + 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xbf, 0xdc, 0xb0, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x22, 0xf2, 0x01, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x1a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x89, 0xea, 0x8b, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x22, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x01, - 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xff, 0xdd, 0x9c, 0x3a, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x02, - 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xed, - 0xc8, 0xa7, 0x22, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5b, - 0x0a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xab, 0xb3, 0xfa, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0x8b, 0x02, 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, - 0x0a, 0x16, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb6, 0xda, 0xdd, 0x3c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, - 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x02, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x81, 0x01, + 0x0a, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xf9, 0xa4, 0xa0, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, + 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, + 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xe2, 0x01, 0x0a, 0x19, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x15, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x9f, 0xa1, 0xcc, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xce, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x10, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xcc, 0xd4, + 0xea, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xa8, 0x02, 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x63, 0x0a, 0x16, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xea, 0xaa, 0xfb, 0x1c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xb9, 0x98, 0xfd, 0xbc, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x9f, 0x02, 0x0a, + 0x1e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x72, 0x0a, 0x1b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x99, + 0xf0, 0xcc, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, @@ -139534,69 +145696,19 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x98, - 0x02, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, - 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x6d, 0x0a, 0x19, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa1, 0xfc, 0xa8, - 0xeb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, - 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8d, 0x02, 0x0a, 0x24, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, - 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x82, - 0x01, 0x0a, 0x21, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, - 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x8f, 0xd7, 0xb2, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, - 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb1, 0x02, 0x0a, 0x23, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7f, 0x0a, - 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x85, 0xf8, 0xd8, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, 0x02, - 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x86, + 0x03, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x90, 0x01, 0x0a, 0x26, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xa3, 0xdb, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, @@ -139604,107 +145716,103 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, - 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, - 0xa3, 0xbb, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xac, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0d, - 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xd0, - 0xab, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x6b, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0xb7, 0xe8, 0x86, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, - 0x8d, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, + 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xa7, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7d, 0x0a, + 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xa7, 0xcd, 0xdb, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xab, 0x02, 0x0a, 0x25, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x77, 0x0a, 0x1d, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf2, 0x9b, 0xd0, 0xe3, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x02, - 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x1f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0x8a, 0xbe, - 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x53, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xff, 0xdd, 0x9c, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x34, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xed, 0xc8, 0xa7, 0x22, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x4e, 0x6f, + 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xab, + 0xb3, 0xfa, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8b, 0x02, 0x0a, 0x19, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x63, 0x0a, 0x16, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xb6, 0xda, 0xdd, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x98, 0x02, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x19, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa1, 0xfc, 0xa8, 0xeb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, @@ -139714,106 +145822,51 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x1a, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x89, 0xea, 0x8b, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x18, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x69, 0x64, 0x22, 0x8d, 0x02, 0x0a, 0x24, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb3, 0x02, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa7, 0xcd, 0xdb, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, - 0x28, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xb2, 0x02, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x1e, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa4, - 0xfa, 0xb1, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x82, 0x01, 0x0a, 0x21, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8f, 0xd7, + 0xb2, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xb1, 0x02, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x7f, 0x0a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0xf8, 0xd8, 0x16, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xfc, 0xaa, 0x89, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x22, 0x99, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, @@ -139821,51 +145874,33 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x89, - 0xd4, 0x95, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, - 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x73, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xc8, 0x88, 0x8a, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9e, 0x02, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xaf, 0xe3, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0x9a, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, + 0x02, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x5c, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, 0xa3, 0xbb, 0x74, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, @@ -139873,131 +145908,54 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x71, 0x0a, 0x1b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xad, 0xe4, 0xce, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, 0x02, 0x0a, - 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6a, - 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xcb, 0xf0, 0xc9, 0x45, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x19, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, - 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x81, 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa1, 0xee, - 0xf4, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x13, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x93, 0x02, 0x0a, 0x1b, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xca, 0x8c, 0xd1, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xc5, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x17, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xd0, 0xab, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xb7, 0xe8, + 0x86, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x8d, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x60, 0x0a, 0x15, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x8a, 0xbf, 0x6b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0f, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, - 0x80, 0x82, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa9, 0x02, 0x0a, - 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x69, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfc, 0xaa, 0x89, 0x67, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x16, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xa0, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xab, 0x02, 0x0a, 0x25, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x77, 0x0a, 0x1d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xf2, 0x9b, 0xd0, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x1a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, @@ -140005,137 +145963,160 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa0, 0xb6, 0xc4, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd2, 0x01, 0x0a, 0x15, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa9, 0xb8, - 0xc1, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xea, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0x8a, 0xbe, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x89, 0xd4, 0x95, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x23, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x6f, 0x0a, 0x1a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x89, 0xea, 0x8b, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xb3, 0x02, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7d, 0x0a, 0x1f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa7, + 0xcd, 0xdb, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd7, 0x01, - 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x13, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xc8, 0x88, 0x8a, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x28, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, + 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x27, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7c, 0x0a, 0x1e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa4, 0xfa, 0xb1, 0xa1, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x5c, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbf, 0xda, 0x91, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, - 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, - 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd8, + 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x6e, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd2, - 0xea, 0xeb, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, - 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xef, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, - 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xa8, 0xaf, 0xe3, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x71, 0x0a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xad, 0xe4, 0xce, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x12, 0x69, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfc, 0xaa, 0x89, + 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, + 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x99, 0x02, 0x0a, 0x21, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x18, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xca, 0xe2, 0xa0, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x17, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x18, 0x73, + 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x89, 0xd4, 0x95, 0x56, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, + 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x02, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc8, 0x88, 0x8a, 0x83, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x73, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9e, + 0x02, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, @@ -140144,91 +146125,16 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x5d, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0xdd, 0xa5, 0x30, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xeb, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, + 0x01, 0x12, 0x6d, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xc0, 0xfd, 0xdb, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0xa8, 0xaf, 0xe3, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xeb, 0x01, - 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, - 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x6a, 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xcb, 0xf0, - 0xc9, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x02, 0x0a, 0x1d, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x1b, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x82, 0xb3, 0x1e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x13, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5d, - 0x0a, 0x14, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x94, 0xb7, 0x8e, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x76, 0x70, 0x6e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x01, 0x0a, - 0x16, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xa3, 0x02, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, @@ -140237,1011 +146143,770 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x13, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xba, 0xa1, 0xb4, 0x29, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, - 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x76, 0x70, - 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa3, - 0x23, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x19, 0x61, - 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xb2, 0xe7, 0xaa, 0xc3, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x76, - 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x48, 0x00, 0x52, 0x17, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x18, 0xfc, 0x86, 0x84, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, - 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x49, 0x70, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x7e, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0xf5, 0x92, 0xfa, 0xe9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x02, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0xaa, 0xea, 0xd1, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x63, - 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x11, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0xff, 0xb2, 0xda, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, - 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x69, 0x73, - 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, - 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0xf3, 0x88, 0xbc, 0x7b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x07, 0x52, 0x0d, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, - 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x12, 0x67, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xb3, 0xb8, 0x85, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, - 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x8d, - 0xc1, 0xef, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x0b, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0xe2, 0xdc, 0xc0, 0x70, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x17, 0x6b, 0x65, - 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0e, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, - 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x88, 0x01, 0x01, 0x12, 0x71, 0x0a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x81, 0xad, 0xe4, 0xce, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, 0x02, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xcb, 0xf0, 0xc9, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x12, 0x39, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xd0, 0xa3, 0xd1, - 0xd3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x37, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xe2, 0xdb, 0xec, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x10, 0x52, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x89, 0xa9, 0xf1, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, - 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x13, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, - 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0xf7, 0x9b, 0xea, 0x73, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x0e, 0x6d, 0x69, - 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x15, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x12, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x73, 0x18, 0x8b, 0xda, 0x92, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x1a, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xe2, 0x97, 0xf8, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x48, 0x16, 0x52, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, - 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, - 0x01, 0x01, 0x12, 0x47, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x86, 0xf3, 0xab, - 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x17, - 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x8e, 0xcc, 0x82, 0x17, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x18, 0x52, 0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, - 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x67, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0xbb, 0xb8, 0xa2, 0x4b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x48, - 0x19, 0x52, 0x13, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, - 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xc3, 0xfa, 0xf7, - 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x1a, - 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, - 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1b, - 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, - 0x94, 0xcb, 0xb1, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x10, + 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x1c, - 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, - 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, - 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0xb0, 0xc4, 0xab, 0x84, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x71, 0x0a, - 0x18, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb5, 0x8b, 0x91, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, - 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x48, 0x1e, 0x52, 0x16, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, - 0x12, 0x8d, 0x01, 0x0a, 0x22, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x97, 0xa2, 0x87, 0x4e, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, - 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x1f, 0x52, 0x1f, 0x73, 0x68, - 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x38, 0x0a, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xbf, 0xdc, 0xb0, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x20, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x84, 0x01, 0x0a, 0x23, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0xa3, 0xfb, 0xf9, 0x5b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x21, 0x52, 0x1f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, - 0x69, 0x63, 0x74, 0x65, 0x64, 0x18, 0xd8, 0xd0, 0xfd, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x22, - 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, - 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x23, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xba, 0xc9, 0xe9, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x24, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x67, 0x73, 0x48, 0x25, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x26, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x26, - 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xda, 0x91, 0xde, 0xde, 0x01, 0x12, 0x0b, 0x0a, 0x04, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x54, 0x4f, - 0x50, 0x10, 0x82, 0x80, 0x9c, 0x01, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, - 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x2d, 0x0a, 0x25, - 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, - 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xba, 0xca, 0x89, 0xcc, 0x01, 0x12, 0x2b, 0x0a, 0x23, 0x45, - 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x56, - 0x4d, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, - 0x4c, 0x45, 0x10, 0xd7, 0xfa, 0xb6, 0x89, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x49, 0x4e, 0x48, 0x45, - 0x52, 0x49, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, - 0x4f, 0x52, 0x4b, 0x10, 0xbf, 0xa8, 0xec, 0xfc, 0x01, 0x22, 0xdc, 0x01, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, - 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, - 0xcc, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, - 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, - 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x95, 0x82, 0x95, 0xc5, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x52, - 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x12, 0x0f, 0x0a, 0x07, 0x53, - 0x54, 0x41, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x9b, 0xc8, 0xc6, 0xcd, 0x01, 0x12, 0x0f, 0x0a, 0x07, - 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xad, 0xbb, 0xec, 0xd3, 0x01, 0x12, 0x10, 0x0a, - 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, - 0x10, 0x0a, 0x09, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0xbb, 0xbb, 0xb6, - 0x18, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0xa6, 0xd4, 0x98, 0xf5, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, - 0x54, 0x45, 0x44, 0x10, 0xa3, 0xf4, 0x9b, 0x77, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x61, 0x64, 0x76, - 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x69, - 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, - 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x1d, 0x0a, - 0x1b, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, - 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, - 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x0a, 0x19, - 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, - 0x1d, 0x0a, 0x1b, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x17, - 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, - 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, - 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x68, 0x69, 0x65, - 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x17, - 0x0a, 0x15, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, - 0x63, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x86, 0x04, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, - 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x66, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc4, 0x01, - 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x63, 0x0a, 0x10, 0x63, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xd2, 0xe5, - 0xe4, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, - 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x26, 0x0a, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xd2, - 0xcb, 0xc8, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, - 0x74, 0x43, 0x70, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x67, 0x62, 0x18, 0xca, 0x88, 0xff, 0x9c, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x01, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x47, 0x62, - 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, - 0x18, 0x93, 0x93, 0xa8, 0x37, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xbb, 0xa4, 0xa2, 0x97, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x70, - 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x63, 0x70, 0x75, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, - 0x73, 0x64, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x5f, 0x6d, 0x62, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x63, 0x70, 0x75, 0x73, 0x22, 0x91, 0x05, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, - 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, - 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, - 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x18, 0x8c, 0xc7, 0xf2, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, - 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, - 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x95, 0x04, 0x0a, 0x1b, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x58, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6b, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xde, 0x02, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xea, 0x0f, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x15, 0x61, - 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x18, 0x85, 0xe7, 0xe8, 0xd9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x75, 0x74, - 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x13, - 0x61, 0x75, 0x74, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x87, 0x96, 0xc5, 0xb9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x6c, 0x0a, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb7, 0xc8, 0x9c, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x02, 0x52, 0x0e, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, - 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x13, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0xcd, 0xee, 0xf2, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x04, 0x52, 0x12, 0x64, 0x69, 0x73, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x6e, - 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0d, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x89, 0x01, 0x0a, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, - 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, - 0xb4, 0xcd, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, - 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x08, - 0x52, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x11, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x10, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4c, - 0x0a, 0x1e, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0xb4, 0xa4, 0x95, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x1b, 0x6c, 0x69, - 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, - 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, 0xc7, 0xf2, 0xcb, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, - 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, - 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x66, 0x75, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x85, 0xc3, 0xd5, 0x16, 0x20, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x81, + 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x60, + 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa1, 0xee, 0xf4, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0x93, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, + 0x0a, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xca, 0x8c, 0xd1, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x0f, 0x52, 0x0e, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x53, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x10, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0xa9, 0x9f, 0xa0, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x27, 0x0a, - 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xef, 0xf3, 0xfd, - 0x1d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x11, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, - 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xe8, 0xca, 0xea, 0x53, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x12, 0x52, 0x0c, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x53, - 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9b, 0xfd, 0xb9, 0x4d, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, - 0x6e, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2c, - 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, - 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, - 0x45, 0x53, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, - 0x50, 0x41, 0x47, 0x45, 0x4c, 0x45, 0x53, 0x53, 0x10, 0xa8, 0xa9, 0xac, 0x0f, 0x12, 0x10, 0x0a, - 0x09, 0x50, 0x41, 0x47, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0xad, 0x85, 0x95, 0x13, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, - 0x75, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, - 0xea, 0x05, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xcd, 0xf2, 0xe8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, - 0x52, 0x0a, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0xb9, 0xdd, 0x85, 0x64, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0xc9, 0xf6, 0xb1, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, - 0x6e, 0x67, 0x18, 0xa8, 0xc7, 0xef, 0x86, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x08, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, - 0x6f, 0x6e, 0x65, 0x18, 0xb8, 0xde, 0xce, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x04, - 0x6e, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0xec, 0xb3, 0xd6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x05, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0xa7, - 0xa6, 0xc5, 0x66, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0xf3, 0x96, 0xc4, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0xaa, 0x9b, - 0xf2, 0x5f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0xc0, 0xc0, 0xf3, 0x73, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x08, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x6f, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0xf4, 0xf0, 0x8a, 0x32, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, - 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0a, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0xa6, 0xfc, 0xf0, 0x0d, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x0b, 0x52, 0x0a, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, - 0x6e, 0x67, 0x18, 0xc9, 0xa1, 0xac, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x09, - 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, - 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, - 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x22, 0xaa, 0x04, 0x0a, - 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, - 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x72, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x25, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x32, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x5f, 0x73, 0x65, 0x63, 0x18, 0xda, 0xf0, 0xc0, 0x7d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, - 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, - 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x22, 0xd7, 0x01, 0x0a, 0x2b, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, - 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x16, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x70, 0x61, 0x69, 0x72, 0x18, 0xcb, 0xf9, 0xf2, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x13, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x52, - 0x65, 0x70, 0x61, 0x69, 0x72, 0x88, 0x01, 0x01, 0x22, 0x4f, 0x0a, 0x13, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x12, - 0x24, 0x0a, 0x20, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, - 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, - 0x41, 0x49, 0x52, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x02, 0x4e, 0x4f, 0x10, 0xc1, 0x13, 0x12, 0x09, - 0x0a, 0x03, 0x59, 0x45, 0x53, 0x10, 0xc7, 0xad, 0x05, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x70, 0x61, 0x69, 0x72, 0x22, 0xec, 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x8a, 0xbf, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xf2, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x80, 0x82, 0x4a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa9, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xfc, 0xaa, 0x89, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x22, 0xa0, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x73, 0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xa0, 0xb6, 0xc4, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, - 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x02, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, - 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x69, - 0x73, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xf0, 0xef, 0xd8, 0x33, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x73, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x5f, 0x0a, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x18, 0xcc, 0xe6, 0xc8, - 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd2, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x57, 0x0a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa9, 0xb8, 0xc1, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xea, 0x01, 0x0a, 0x1b, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x18, + 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x89, 0xd4, 0x95, 0x56, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x16, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd7, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc8, 0x88, 0x8a, 0x83, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, - 0x75, 0x6c, 0x48, 0x02, 0x52, 0x08, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x88, 0x01, - 0x01, 0x12, 0x70, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0xd8, 0xdd, 0xfe, 0x89, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x03, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x22, 0x98, 0x02, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x12, 0x36, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xf0, - 0xe7, 0xd6, 0x34, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x68, 0x61, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x88, 0x01, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, - 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x48, 0x01, 0x52, 0x12, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x68, - 0x61, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x76, 0x0a, 0x34, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, - 0x6c, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x18, 0x89, 0x91, 0xa7, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x22, 0x60, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, - 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0xbd, 0xfe, 0xc8, - 0xce, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x61, 0x63, - 0x68, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x73, 0x5f, 0x72, 0x65, - 0x61, 0x63, 0x68, 0x65, 0x64, 0x22, 0xd7, 0x07, 0x0a, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x49, 0x0a, 0x1c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x98, 0xdf, 0xc4, 0x8b, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x1a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x72, - 0x67, 0x65, 0x18, 0x93, 0xc9, 0xa3, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x72, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x6e, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xf5, 0xcb, 0x8b, 0xc1, 0x01, 0x20, 0x01, 0x28, + 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, + 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0x82, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xbf, 0xda, 0x91, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x12, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x1a, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd2, 0xea, 0xeb, 0x9c, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xef, 0x01, 0x0a, 0x1c, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1a, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xaf, 0xe3, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf4, 0x01, 0x0a, 0x1d, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x71, 0x0a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, + 0xad, 0xe4, 0xce, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xca, 0xe2, 0xa0, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x14, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xa3, 0xdd, 0xa5, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x19, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc0, 0xfd, 0xdb, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0e, 0x6d, 0x61, - 0x78, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x94, 0x8d, 0x82, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x4b, 0x0a, 0x1e, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x8d, 0xce, 0xc2, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x1b, 0x6d, 0x6f, - 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x18, 0xae, 0xcf, 0x9f, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x11, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, - 0x22, 0x48, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, - 0x0a, 0x26, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x45, 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x22, 0x2d, 0x0a, 0x0d, 0x4d, 0x69, - 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, 0x6f, 0x73, - 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, - 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x52, 0x55, - 0x50, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, 0x41, 0x43, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x22, 0x5b, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x1c, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x48, 0x4f, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x08, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0xef, 0xd9, 0x9b, 0xf9, 0x01, 0x12, - 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x42, 0x53, 0x54, 0x49, 0x54, 0x55, 0x54, 0x45, 0x10, 0x9a, 0xa1, - 0xfa, 0x85, 0x01, 0x22, 0x31, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, - 0x15, 0x0a, 0x0d, 0x4f, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x55, 0x4e, 0x49, 0x53, 0x54, 0x49, 0x43, - 0x10, 0xe9, 0xb7, 0xe8, 0xcc, 0x01, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x73, 0x75, 0x72, 0x67, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x6e, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, - 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, - 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, - 0xf0, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0xef, 0xf3, 0xfd, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x16, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x19, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xcb, 0xf0, 0xc9, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x02, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x82, 0xb3, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, - 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x2c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x62, 0x61, 0x6e, 0x64, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, - 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x22, 0xba, 0x03, 0x0a, 0x28, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x18, 0xe0, 0xba, 0xbe, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x61, - 0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1f, - 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0x2e, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x94, 0x8d, 0x82, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x4b, 0x0a, 0x1e, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x8d, 0xce, 0xc2, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x1b, 0x6d, 0x6f, - 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x2d, 0x0a, 0x0d, - 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, - 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, - 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, - 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, - 0x52, 0x55, 0x50, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6c, 0x6c, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x21, 0x0a, - 0x1f, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x7a, 0x0a, 0x2b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, - 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xc9, 0x01, 0x0a, - 0x2b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, - 0x22, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x18, 0xa1, 0xf6, 0xaf, 0x13, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1e, - 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, - 0x01, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x4b, 0x0a, 0x30, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x05, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xc8, 0xae, 0xef, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xba, 0x01, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, - 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x31, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xde, 0x9b, - 0xa9, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8a, 0x02, 0x0a, 0x2f, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, + 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, + 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0x83, 0x02, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x14, 0x76, 0x70, 0x6e, 0x5f, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x94, 0xb7, 0x8e, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x12, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x13, + 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xba, 0xa1, 0xb4, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa3, 0x23, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, + 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x18, 0xb2, 0xe7, 0xaa, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x48, 0x00, 0x52, + 0x17, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x63, + 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0xfc, 0x86, + 0x84, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x49, 0x70, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x7e, 0x0a, 0x1c, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xf5, 0x92, 0xfa, 0xe9, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x02, 0x52, 0x1a, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x70, + 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xaa, 0xea, 0xd1, 0xc3, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, + 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0xff, 0xb2, 0xda, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, + 0x52, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x06, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, + 0x6b, 0x73, 0x12, 0x55, 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x18, 0xf3, 0x88, 0xbc, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x01, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x93, 0x01, 0x0a, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x60, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x48, 0x07, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x08, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x12, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xb3, + 0xb8, 0x85, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x17, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x8d, 0xc1, 0xef, 0x1e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x48, 0x0b, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, + 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xe2, 0xdc, 0xc0, 0x70, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x17, 0x6b, 0x65, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, + 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x10, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x49, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, + 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x39, 0x0a, + 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xd0, 0xa3, 0xd1, 0xd3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0f, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xe2, 0xdb, 0xec, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x11, 0x6c, 0x61, 0x73, + 0x74, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x41, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x89, 0xa9, + 0xf1, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x53, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, + 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x13, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, + 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xf7, 0x9b, 0xea, 0x73, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x8b, 0xda, 0x92, 0x19, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x73, 0x12, 0x78, 0x0a, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x72, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0xe2, 0x97, 0xf8, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x16, 0x52, 0x18, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x86, 0xf3, 0xab, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x17, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0x8e, 0xcc, 0x82, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x17, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x14, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x79, 0x18, 0xbb, 0xb8, 0xa2, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x50, 0x0a, 0x2d, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xdb, 0x01, 0x0a, - 0x1f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x68, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x18, 0x90, 0xfa, 0x89, 0x66, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x48, 0x19, 0x52, 0x13, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0x58, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xc3, 0xfa, 0xf7, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x7d, 0x0a, 0x2f, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, - 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x2a, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x73, 0x18, 0xa9, 0x9f, 0xa0, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x30, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x60, - 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x70, 0x65, - 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x22, 0x70, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x1a, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, + 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, + 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1b, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, + 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x94, 0xcb, 0xb1, 0xb8, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x1c, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x1d, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x56, + 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x18, 0xb0, 0xc4, 0xab, 0x84, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x71, 0x0a, 0x18, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0xb5, 0x8b, 0x91, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x22, 0xf1, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x1e, 0x52, 0x16, + 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x22, 0x73, 0x68, + 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0x97, 0xa2, 0x87, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x48, 0x1f, 0x52, 0x1f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0xbf, 0xdc, 0xb0, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x20, 0x52, 0x12, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x84, 0x01, 0x0a, 0x23, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xa3, 0xfb, 0xf9, 0x5b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x21, 0x52, 0x1f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x18, 0xd8, + 0xd0, 0xfd, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x22, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x23, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, + 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0xba, 0xc9, 0xe9, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x24, 0x52, 0x0d, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x48, 0x25, 0x52, + 0x04, 0x74, 0x61, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x26, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x8d, 0x01, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, + 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x26, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, + 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0xda, 0x91, 0xde, 0xde, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, + 0x92, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x82, 0x80, 0x9c, 0x01, 0x22, + 0xc0, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x24, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, + 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, + 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x2d, 0x0a, 0x25, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xba, + 0xca, 0x89, 0xcc, 0x01, 0x12, 0x2b, 0x0a, 0x23, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, + 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x56, 0x4d, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, + 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xd7, 0xfa, 0xb6, 0x89, + 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x5f, 0x46, 0x52, 0x4f, + 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xbf, 0xa8, 0xec, + 0xfc, 0x01, 0x22, 0xdc, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, + 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, 0xcc, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x50, + 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, + 0x01, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x95, + 0x82, 0x95, 0xc5, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, + 0x9f, 0xc3, 0xea, 0x39, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x47, 0x49, 0x4e, 0x47, 0x10, + 0x9b, 0xc8, 0xc6, 0xcd, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, + 0x10, 0xad, 0xbb, 0xec, 0xd3, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, + 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x53, 0x55, 0x53, 0x50, + 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0xbb, 0xbb, 0xb6, 0x18, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x55, + 0x53, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd4, 0x98, 0xf5, 0x01, 0x12, 0x11, + 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0xa3, 0xf4, 0x9b, + 0x77, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x16, 0x0a, 0x14, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, + 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x16, 0x0a, + 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, + 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1d, + 0x0a, 0x1b, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, + 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x74, 0x61, 0x67, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x86, 0x04, + 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x53, + 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x1a, 0x66, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc4, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x63, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0xd2, 0xe5, 0xe4, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xfe, 0x01, + 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x26, 0x0a, 0x0a, 0x67, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xd2, 0xcb, 0xc8, 0xbb, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x43, 0x70, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x67, + 0x62, 0x18, 0xca, 0x88, 0xff, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0a, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, + 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0x93, 0x93, 0xa8, 0x37, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x88, 0x01, + 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x70, + 0x75, 0x73, 0x18, 0xbb, 0xa4, 0xa2, 0x97, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x0b, + 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x70, 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x67, 0x62, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x22, 0x91, + 0x05, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, + 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, 0xc7, 0xf2, 0xcb, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, + 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, + 0x72, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, + 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0a, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0b, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, + 0x6e, 0x65, 0x22, 0x95, 0x04, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, - 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, @@ -141249,400 +146914,1034 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, - 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb0, 0x01, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, - 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0xe7, 0xf0, 0xfc, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0d, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, - 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, - 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, - 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, - 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x73, 0x0a, 0x24, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, - 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xbf, - 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xbe, - 0xc1, 0xdf, 0xae, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, + 0x6b, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xde, 0x02, 0x0a, 0x11, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x22, 0xa7, 0x01, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, - 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xea, 0x0f, 0x0a, 0x14, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x12, 0x76, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x68, 0x65, 0x61, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x85, 0xe7, + 0xe8, 0xd9, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x75, 0x74, 0x6f, 0x48, 0x65, 0x61, 0x6c, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x48, 0x65, 0x61, + 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x12, + 0x62, 0x61, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x87, 0x96, 0xc5, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, + 0x62, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x0f, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb7, 0xc8, + 0x9c, 0x4e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x48, 0x02, 0x52, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xcd, 0xee, 0xf2, 0xfe, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x48, 0x04, 0x52, 0x12, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, + 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, + 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x12, 0x89, 0x01, 0x0a, 0x19, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0xb4, 0xcd, 0xd5, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x1e, 0x6c, 0x69, 0x73, 0x74, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0xb4, 0xa4, 0x95, 0x8d, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x1b, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, 0xc7, 0xf2, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, - 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, - 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xde, 0x02, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x58, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0x85, 0xc3, 0xd5, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x0f, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x10, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, + 0xa9, 0x9f, 0xa0, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xef, 0xf3, 0xfd, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x11, + 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x66, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0xe8, 0xca, 0xea, 0x53, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x48, 0x12, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x9b, 0xfd, 0xb9, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, 0x6e, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, + 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x53, 0x55, + 0x4c, 0x54, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x50, 0x41, 0x47, 0x45, 0x4c, 0x45, 0x53, + 0x53, 0x10, 0xa8, 0xa9, 0xac, 0x0f, 0x12, 0x10, 0x0a, 0x09, 0x50, 0x41, 0x47, 0x49, 0x4e, 0x41, + 0x54, 0x45, 0x44, 0x10, 0xad, 0x85, 0x95, 0x13, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x1c, 0x0a, 0x1a, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, + 0x63, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6c, 0x69, + 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xea, 0x05, 0x0a, 0x22, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, + 0x27, 0x0a, 0x0a, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0xcd, 0xf2, + 0xe8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x62, 0x61, 0x6e, 0x64, + 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0xb9, 0xdd, 0x85, 0x64, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, + 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x18, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, + 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0xc9, 0xf6, 0xb1, 0xb0, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x57, 0x69, + 0x74, 0x68, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x23, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0xa8, 0xc7, 0xef, 0x86, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x18, 0xb8, 0xde, 0xce, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x04, 0x6e, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x18, 0xec, + 0xb3, 0xd6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x65, 0x66, + 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x18, 0xa7, 0xa6, 0xc5, 0x66, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x06, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, + 0xf3, 0x96, 0xc4, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x0a, 0x72, 0x65, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0xaa, 0x9b, 0xf2, 0x5f, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x22, + 0x0a, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0xc0, 0xc0, 0xf3, 0x73, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x08, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0xf4, + 0xf0, 0x8a, 0x32, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x18, 0xa6, 0xfc, 0xf0, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0b, 0x52, + 0x0a, 0x73, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x09, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x18, 0xc9, 0xa1, 0xac, 0xd7, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x09, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, + 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x77, + 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x69, + 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, + 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x73, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x69, 0x6e, 0x67, 0x22, 0xaa, 0x04, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x1a, 0x72, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x4e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xe6, 0x02, 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x64, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x88, 0xa4, 0x93, 0x2e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x6e, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x25, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x75, 0x74, 0x6f, 0x48, + 0x65, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2a, 0x0a, 0x0c, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, + 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xda, 0xf0, + 0xc0, 0x7d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, + 0x73, 0x65, 0x63, 0x22, 0xd7, 0x01, 0x0a, 0x2b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x16, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x61, 0x69, 0x72, 0x18, 0xcb, 0xf9, + 0xf2, 0xa9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x88, 0x01, + 0x01, 0x22, 0x4f, 0x0a, 0x13, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x6e, 0x52, 0x65, 0x70, 0x61, 0x69, 0x72, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, + 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x10, 0x00, 0x12, 0x07, + 0x0a, 0x02, 0x4e, 0x4f, 0x10, 0xc1, 0x13, 0x12, 0x09, 0x0a, 0x03, 0x59, 0x45, 0x53, 0x10, 0xc7, + 0xad, 0x05, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x61, 0x69, 0x72, 0x22, 0xec, 0x02, + 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, 0x67, - 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x88, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x18, 0xa3, 0xfc, 0xab, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, + 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x02, 0x0a, + 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0a, 0x61, + 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0xf0, 0xef, 0xd8, 0x33, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x73, + 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x08, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x66, 0x75, 0x6c, 0x18, 0xcc, 0xe6, 0xc8, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x48, 0x02, 0x52, 0x08, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x70, 0x0a, 0x0e, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0xd8, 0xdd, 0xfe, + 0x89, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x03, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x98, 0x02, 0x0a, 0x22, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, + 0x12, 0x36, 0x0a, 0x13, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xf0, 0xe7, 0xd6, 0x34, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x11, 0x68, 0x61, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x88, 0x01, 0x0a, 0x14, 0x70, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, 0x01, 0x52, 0x12, 0x70, 0x65, + 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x68, 0x61, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x17, 0x0a, 0x15, 0x5f, + 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x22, 0x76, 0x0a, 0x34, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x0d, + 0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x89, 0x91, + 0xa7, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x45, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, + 0x6c, 0x6c, 0x5f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x60, 0x0a, 0x27, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x65, 0x64, 0x18, 0xbd, 0xfe, 0xc8, 0xce, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x09, 0x69, 0x73, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x22, 0xd7, + 0x07, 0x0a, 0x20, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x49, 0x0a, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x98, 0xdf, 0xc4, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x1a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4d, + 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x72, 0x67, 0x65, 0x18, 0x93, 0xc9, 0xa3, 0x90, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x69, 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x01, + 0x52, 0x08, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x72, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, + 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x18, 0xf5, 0xcb, 0x8b, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x8d, 0x82, 0x81, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x1e, 0x6d, 0x6f, 0x73, 0x74, + 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8d, 0xce, 0xc2, 0x1f, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x1b, 0x6d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, + 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0xae, 0xcf, 0x9f, 0xf1, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x1a, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x26, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x52, 0x45, + 0x44, 0x49, 0x53, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x00, 0x22, 0x2d, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x00, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, + 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, + 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, + 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x22, + 0x5b, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4d, 0x45, + 0x54, 0x48, 0x4f, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x45, 0x10, 0xef, 0xd9, 0x9b, 0xf9, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x42, 0x53, + 0x54, 0x49, 0x54, 0x55, 0x54, 0x45, 0x10, 0x9a, 0xa1, 0xfa, 0x85, 0x01, 0x22, 0x31, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0d, 0x4f, 0x50, 0x50, 0x4f, + 0x52, 0x54, 0x55, 0x4e, 0x49, 0x53, 0x54, 0x49, 0x43, 0x10, 0xe9, 0xb7, 0xe8, 0xcc, 0x01, 0x42, + 0x1f, 0x0a, 0x1d, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x75, 0x72, 0x67, 0x65, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, + 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, + 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, + 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0b, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0xef, 0xf3, 0xfd, 0x1d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x4f, 0x72, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x2c, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xba, 0x03, 0x0a, + 0x28, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xe0, 0xba, 0xbe, 0xc0, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x69, + 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x8d, 0x82, 0x81, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x1e, 0x6d, 0x6f, 0x73, 0x74, + 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8d, 0xce, 0xc2, 0x1f, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x1b, 0x6d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, + 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x2d, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x00, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, + 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x4d, 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, 0x49, 0x56, 0x45, + 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x00, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, + 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0x0a, 0x2b, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x2b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x22, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xa1, 0xf6, 0xaf, + 0x13, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1e, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, + 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6f, 0x6e, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0x4b, 0x0a, 0x30, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xc8, + 0xae, 0xef, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xba, + 0x01, 0x0a, 0x27, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x01, 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x96, - 0xd2, 0xa4, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x8b, 0x04, 0x0a, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, - 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1e, - 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x52, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xb9, - 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x31, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x59, 0x0a, 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xde, 0x9b, 0xa9, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x8a, 0x02, 0x0a, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, + 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, + 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x01, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x93, 0x01, + 0x0a, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x12, 0x60, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, + 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x12, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x22, 0x50, 0x0a, 0x2d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xdb, 0x01, 0x0a, 0x1f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x17, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x18, 0x90, 0xfa, 0x89, 0x66, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x15, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x9c, 0x02, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xcd, 0xca, 0x90, 0xb9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x20, 0x0a, - 0x18, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, - 0x54, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x53, 0x10, 0x89, 0xc6, 0xbe, 0xcc, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, - 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x12, - 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xec, 0x8b, 0xfe, - 0x88, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x49, 0x4e, 0x47, - 0x10, 0xa7, 0xfe, 0xec, 0x4d, 0x12, 0x12, 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0xf3, 0xee, 0xeb, 0x98, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x52, 0x45, 0x53, - 0x55, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0xaa, 0xfb, 0x89, 0xd5, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0xa0, 0x8b, 0xe9, 0x01, 0x12, 0x10, 0x0a, - 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, - 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd4, - 0x98, 0xf5, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x49, 0x4e, 0x47, - 0x10, 0xa9, 0xc1, 0x8c, 0x08, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x2d, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, - 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x04, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0xa3, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xbd, 0xe2, 0xef, 0x3e, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x83, 0x8f, - 0x96, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x78, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, - 0x73, 0x18, 0xfc, 0x9b, 0x8b, 0xb4, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x7d, 0x0a, 0x2f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x2a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0xa9, 0x9f, 0xa0, 0xa0, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x30, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x60, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, + 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x70, 0x0a, 0x21, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, + 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xf1, 0x02, 0x0a, 0x1b, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x48, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, + 0x6f, 0x72, 0x74, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, + 0xb0, 0x01, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xe7, 0xf0, 0xfc, 0x2b, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, 0x12, + 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x22, 0x73, 0x0a, 0x24, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xbe, 0xc1, 0xdf, 0xae, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa7, 0x01, 0x0a, 0x22, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, + 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, 0xc7, 0xf2, 0xcb, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, + 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, + 0x72, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, + 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xde, 0x02, 0x0a, 0x15, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x72, 0x65, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe6, 0x02, 0x0a, 0x19, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, + 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x64, 0x0a, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x18, 0x88, 0xa4, 0x93, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x88, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0xa3, 0xfc, 0xab, 0x8b, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, + 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x01, + 0x52, 0x15, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x96, 0xd2, 0xa4, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x22, 0x8b, 0x04, 0x0a, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xb9, 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x48, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, + 0x9c, 0x02, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, + 0x12, 0x12, 0x0a, 0x0a, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xcd, + 0xca, 0x90, 0xb9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x20, 0x0a, 0x18, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, + 0x4e, 0x47, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x49, + 0x45, 0x53, 0x10, 0x89, 0xc6, 0xbe, 0xcc, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, + 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xec, 0x8b, 0xfe, 0x88, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x52, + 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x10, 0xa7, 0xfe, 0xec, 0x4d, 0x12, 0x12, + 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xf3, 0xee, 0xeb, + 0x98, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0xaa, + 0xfb, 0x89, 0xd5, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0xc0, 0xa0, 0x8b, 0xe9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, + 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x53, 0x50, + 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd4, 0x98, 0xf5, 0x01, 0x12, 0x10, 0x0a, 0x09, + 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xa9, 0xc1, 0x8c, 0x08, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x2d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x31, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xbd, 0xe2, 0xef, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5a, 0x6f, 0x6e, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x83, 0x8f, 0x96, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd2, + 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x12, 0x78, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xfc, 0x9b, 0x8b, 0xb4, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, - 0x67, 0x73, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xdf, 0x13, 0x0a, 0x12, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x75, 0x0a, 0x19, 0x61, 0x64, + 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xb2, 0xe7, 0xaa, 0xc3, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x76, 0x61, + 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x48, 0x00, 0x52, 0x17, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x18, 0xfc, 0x86, 0x84, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x0c, 0x63, 0x61, 0x6e, 0x49, 0x70, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x7e, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0xf5, 0x92, 0xfa, 0xe9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, + 0x02, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x64, + 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x5d, 0x0a, 0x12, 0x67, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x1a, 0x6b, 0x65, + 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xe2, 0xdc, 0xc0, 0x70, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x17, 0x6b, 0x65, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, + 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x06, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, + 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xf7, 0x9b, 0xea, 0x73, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x8b, + 0xda, 0x92, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0xe2, 0x97, 0xf8, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, + 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x48, 0x08, 0x52, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, + 0x43, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x8e, 0xcc, + 0x82, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0xbb, 0xb8, 0xa2, + 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x79, 0x48, 0x0a, 0x52, 0x13, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, + 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xfc, 0x9b, 0x8b, 0xb4, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x11, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x94, 0xcb, 0xb1, 0xb8, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x0b, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0xb0, 0xc4, + 0xab, 0x84, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x12, 0x71, 0x0a, 0x18, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb5, 0x8b, + 0x91, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0c, 0x52, 0x16, 0x73, 0x68, 0x69, 0x65, 0x6c, + 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x61, 0x67, 0x73, 0x48, 0x0d, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x88, 0x01, 0x01, 0x1a, + 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdf, 0x13, 0x0a, 0x12, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x75, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xb2, - 0xe7, 0xaa, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x48, 0x00, 0x52, 0x17, 0x61, 0x64, - 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, - 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x18, 0xfc, 0x86, 0x84, 0xdf, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x49, 0x70, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x7e, 0x0a, 0x1c, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, + 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x5f, + 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x26, 0x4b, 0x45, 0x59, 0x5f, + 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0xda, 0x91, 0xde, 0xde, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x82, 0x80, + 0x9c, 0x01, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, + 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, + 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, + 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x2d, 0x0a, 0x25, 0x45, 0x4e, 0x41, 0x42, + 0x4c, 0x45, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, + 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, + 0x45, 0x10, 0xba, 0xca, 0x89, 0xcc, 0x01, 0x12, 0x2b, 0x0a, 0x23, 0x45, 0x4e, 0x41, 0x42, 0x4c, + 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x56, 0x4d, 0x5f, 0x41, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xd7, + 0xfa, 0xb6, 0x89, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x5f, + 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, + 0xbf, 0xa8, 0xec, 0xfc, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, + 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xf5, 0x92, 0xfa, 0xe9, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x02, 0x52, 0x1a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6b, 0x65, 0x79, 0x5f, + 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, + 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, + 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x74, 0x61, 0x67, 0x73, 0x22, 0x44, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x93, 0x05, 0x0a, 0x10, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, - 0x6b, 0x73, 0x12, 0x5d, 0x0a, 0x12, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, - 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, - 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x73, 0x12, 0x43, 0x0a, 0x1a, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0xe2, 0xdc, 0xc0, 0x70, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x17, 0x6b, 0x65, 0x79, 0x52, - 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x0c, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x06, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, - 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0xf7, 0x9b, 0xea, 0x73, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x6d, 0x69, - 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, - 0x5b, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x8b, 0xda, 0x92, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x78, 0x0a, 0x1a, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xe2, 0x97, 0xf8, 0xbd, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x08, 0x52, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x8e, 0xcc, 0x82, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, - 0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x14, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x79, 0x18, 0xbb, 0xb8, 0xa2, 0x4b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x48, 0x0a, 0x52, 0x13, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x7c, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0xfc, 0x9b, - 0x8b, 0xb4, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0xb3, + 0x9a, 0xb6, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, - 0x67, 0x73, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, - 0x18, 0x94, 0xcb, 0xb1, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x48, - 0x0b, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x18, 0xb0, 0xc4, 0xab, 0x84, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x71, 0x0a, 0x18, 0x73, 0x68, 0x69, 0x65, - 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb5, 0x8b, 0x91, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x74, 0x69, 0x65, 0x73, 0x48, 0x05, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xb9, + 0x98, 0xfd, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6b, 0x0a, + 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0xcc, 0xd0, 0xc4, 0x40, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, + 0x09, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x22, 0xf7, 0x03, 0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0c, - 0x52, 0x16, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6e, 0x0a, + 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x48, 0x0d, 0x52, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, - 0x2e, 0x0a, 0x26, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xda, 0x91, 0xde, 0xde, 0x01, 0x12, - 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x0b, 0x0a, 0x04, - 0x53, 0x54, 0x4f, 0x50, 0x10, 0x82, 0x80, 0x9c, 0x01, 0x22, 0xc0, 0x01, 0x0a, 0x17, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, - 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, - 0x2d, 0x0a, 0x25, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, - 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xba, 0xca, 0x89, 0xcc, 0x01, 0x12, 0x2b, - 0x0a, 0x23, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, - 0x44, 0x5f, 0x56, 0x4d, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, - 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xd7, 0xfa, 0xb6, 0x89, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x49, - 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x5f, 0x46, 0x52, 0x4f, 0x4d, 0x5f, 0x53, 0x55, 0x42, 0x4e, - 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xbf, 0xa8, 0xec, 0xfc, 0x01, 0x42, 0x1c, 0x0a, 0x1a, - 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, - 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x1f, 0x0a, - 0x1d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, - 0x0a, 0x1b, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x13, 0x0a, 0x11, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x72, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, - 0x1d, 0x0a, 0x1b, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x17, - 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, - 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x68, 0x69, 0x65, 0x6c, - 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x22, 0x44, 0x0a, 0x11, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, - 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x22, 0x93, 0x05, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, - 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, - 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0xb3, 0x9a, 0xb6, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x05, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x06, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xb9, 0x98, 0xfd, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x08, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x6b, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0xcc, - 0xd0, 0xc4, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x48, 0x09, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xf7, 0x03, 0x0a, 0x1e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x5b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, 0x0a, 0x14, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, @@ -141654,882 +147953,624 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6e, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xe4, 0x02, 0x0a, 0x14, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xcb, 0x01, 0x0a, 0x1b, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5c, 0x0a, 0x12, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x8f, 0xb8, 0xa5, 0xdb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x9c, 0x03, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, - 0x74, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, - 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, 0xc7, 0xf2, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, - 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, - 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, - 0xdc, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, - 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, - 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, 0xcc, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, 0x01, 0x12, 0x11, - 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x95, 0x82, 0x95, 0xc5, - 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, - 0x39, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x9b, 0xc8, 0xc6, - 0xcd, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xad, 0xbb, - 0xec, 0xd3, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, - 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, - 0x45, 0x44, 0x10, 0xbb, 0xbb, 0xb6, 0x18, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x53, 0x50, 0x45, - 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd4, 0x98, 0xf5, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x54, - 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0xa3, 0xf4, 0x9b, 0x77, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x55, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, - 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0xf5, 0x01, - 0x0a, 0x26, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x10, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x18, 0xc2, 0xca, - 0xfc, 0xc3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, - 0x12, 0x43, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0xf3, 0xc6, - 0xe8, 0x81, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x09, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x22, 0xaf, 0x03, 0x0a, 0x3d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, - 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0xee, 0xb8, 0xd0, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x6b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x48, 0x49, 0x45, 0x52, 0x41, 0x52, 0x43, 0x48, - 0x59, 0x10, 0x95, 0xc4, 0xaa, 0x21, 0x12, 0x0f, 0x0a, 0x07, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, - 0x4b, 0x10, 0x8e, 0xcc, 0xb3, 0xc5, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x4e, 0x45, 0x54, 0x57, 0x4f, - 0x52, 0x4b, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xb0, 0xe2, 0xfd, 0x5a, - 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x58, 0x0a, 0x26, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x09, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, - 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x5a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x84, 0x01, - 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x12, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xef, 0xcc, 0x87, 0xdd, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x73, 0x22, 0x5c, 0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, - 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, - 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xf7, 0x9b, 0xea, 0x73, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, - 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x7b, - 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x91, 0xf3, 0xab, 0xbc, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x66, 0x0a, 0x21, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1c, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x9c, 0x97, 0x89, 0x2e, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x19, - 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x9f, 0x99, 0x92, 0x4f, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x22, 0x7e, 0x0a, 0x26, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, - 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x50, - 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, - 0x73, 0x6b, 0x73, 0x22, 0x7e, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x0a, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x65, 0x6e, 0x64, 0x18, 0xd9, 0x95, 0xe0, 0x99, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0xe0, 0xfd, 0xa2, 0x31, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x65, 0x6e, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x22, 0x89, 0x11, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xd1, 0xec, 0xc1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0d, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x6e, - 0x66, 0x6f, 0x73, 0x18, 0xaf, 0x83, 0xcd, 0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, - 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x35, 0x0a, 0x12, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xcc, 0xdc, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x10, 0x65, - 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, - 0x9b, 0xea, 0x8e, 0x7e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6e, 0x67, 0x22, 0xcb, 0x01, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x5c, 0x0a, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xb8, 0xa5, 0xdb, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x11, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x9c, 0x03, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x47, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, + 0xc7, 0xf2, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, - 0x75, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x33, 0x0a, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xa2, 0x85, 0xa5, 0xd3, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0xd5, - 0xb5, 0x8a, 0xff, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x11, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0xff, 0xd2, 0xeb, 0xca, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xcb, 0x98, 0xd3, 0xf5, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, - 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x6c, - 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xdf, 0x88, 0xbe, 0xf9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x23, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0xbf, - 0xbe, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, - 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x6e, 0x6f, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, - 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x80, 0xf8, 0xda, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0d, 0x52, 0x0f, 0x6e, 0x6f, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x45, 0x6d, - 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xff, 0xb1, 0xf0, - 0x5f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0xd9, 0x97, 0x87, 0x63, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0d, 0x70, 0x65, 0x65, - 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, - 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf5, 0xd2, 0xf6, 0xc3, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x10, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, - 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x8e, 0x8f, 0xd7, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, - 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xfb, 0xdb, 0xbd, 0x15, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x12, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, - 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x13, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, - 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x44, 0x45, - 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x9b, 0x9c, 0x7b, 0x12, 0x12, 0x0a, 0x0a, - 0x49, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0xcf, 0x8c, 0x88, 0xa0, 0x01, - 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x10, 0xa8, 0xd1, 0xa1, 0xdc, - 0x01, 0x22, 0x69, 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, - 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x31, 0x30, 0x30, - 0x47, 0x5f, 0x4c, 0x52, 0x10, 0xe7, 0xf2, 0x81, 0xa1, 0x01, 0x12, 0x20, 0x0a, 0x19, 0x4c, 0x49, - 0x4e, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, 0x54, - 0x5f, 0x31, 0x30, 0x47, 0x5f, 0x4c, 0x52, 0x10, 0xa5, 0xb9, 0xf1, 0x70, 0x22, 0x60, 0x0a, 0x11, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, - 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x4f, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, - 0x10, 0xc1, 0xfb, 0xc8, 0x1a, 0x12, 0x17, 0x0a, 0x10, 0x4f, 0x53, 0x5f, 0x55, 0x4e, 0x50, 0x52, - 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0xc0, 0xc1, 0xaa, 0x72, 0x22, 0x43, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x15, 0x0a, 0x0d, - 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0xdb, 0xc7, - 0xd7, 0xf6, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, - 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x14, 0x0a, 0x12, - 0x5f, 0x6e, 0x6f, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, - 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0x0a, 0x15, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, - 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, - 0xce, 0x1e, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x64, - 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xd1, 0xec, 0xc1, 0xd4, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0xb1, 0x81, 0xd3, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x37, - 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x9a, 0x8f, 0xda, 0x21, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x14, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x64, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0xfa, 0xe3, 0xb4, - 0x71, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x17, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x88, 0x88, 0x85, 0x89, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x14, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0xc8, 0x93, 0xbf, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x70, 0x76, - 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x1e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x8d, 0xc9, - 0xc8, 0xf8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x1a, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x70, 0x76, 0x36, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xed, 0xf0, 0xd6, 0x55, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x05, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, - 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x44, - 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf1, 0xda, 0xc4, - 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0xf1, 0xf9, 0xab, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, - 0x52, 0x19, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x49, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x51, - 0x0a, 0x21, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x84, 0x86, 0xd6, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, - 0x1d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, - 0x70, 0x76, 0x36, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x33, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x8b, 0xad, 0xd3, 0x10, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x0a, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x0b, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x40, 0x0a, 0x18, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0xa6, 0x95, - 0xff, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x16, 0x65, 0x64, 0x67, 0x65, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x83, 0x9f, 0xdc, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0a, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x13, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0xd5, 0xb5, 0x8a, 0xff, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x11, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x0f, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x18, 0x69, 0x70, 0x73, 0x65, 0x63, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x18, 0xb5, 0xf2, 0xb0, 0xc2, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x69, 0x70, - 0x73, 0x65, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, - 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x17, - 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0xae, 0xcf, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x13, 0x52, - 0x03, 0x6d, 0x74, 0x75, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xff, 0xb1, 0xf0, 0x5f, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x15, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x61, - 0x69, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xe8, 0xf0, 0xd4, 0xd1, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x0a, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x4b, 0x65, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, - 0x61, 0x73, 0x6e, 0x18, 0x85, 0xc5, 0xf7, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x17, 0x52, - 0x0a, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x71, - 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0xc6, 0xe1, 0xb6, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x18, 0x52, 0x0f, 0x70, - 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, - 0x01, 0x12, 0x7e, 0x0a, 0x19, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x83, - 0xec, 0x91, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0xdc, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, 0x50, + 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, 0xcc, + 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, + 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, + 0x52, 0x49, 0x4e, 0x47, 0x10, 0x95, 0x82, 0x95, 0xc5, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, + 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, + 0x41, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x9b, 0xc8, 0xc6, 0xcd, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, + 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xad, 0xbb, 0xec, 0xd3, 0x01, 0x12, 0x10, 0x0a, 0x08, + 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, 0x10, + 0x0a, 0x09, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0xbb, 0xbb, 0xb6, 0x18, + 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa6, + 0xd4, 0x98, 0xf5, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, + 0x45, 0x44, 0x10, 0xa3, 0xf4, 0x9b, 0x77, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x55, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x64, 0x64, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0xaa, 0x02, 0x0a, 0x24, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x87, 0x01, 0x0a, 0x13, 0x70, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x9a, 0xe9, 0x84, 0x50, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x50, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x78, 0x0a, 0x16, 0x50, 0x65, 0x72, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xf5, 0x01, 0x0a, 0x26, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x85, + 0x01, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x73, 0x18, 0xc2, 0xca, 0xfc, 0xc3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x73, 0x18, 0xf3, 0xc6, 0xe8, 0x81, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x52, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x22, 0xaf, 0x03, 0x0a, 0x3d, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xe8, 0x87, + 0x91, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, + 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0xb8, 0xd0, 0xea, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x6b, + 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x48, 0x49, + 0x45, 0x52, 0x41, 0x52, 0x43, 0x48, 0x59, 0x10, 0x95, 0xc4, 0xaa, 0x21, 0x12, 0x0f, 0x0a, 0x07, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x8e, 0xcc, 0xb3, 0xc5, 0x01, 0x12, 0x17, 0x0a, + 0x10, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, + 0x4c, 0x10, 0xb0, 0xe2, 0xfd, 0x5a, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x58, 0x0a, + 0x26, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x42, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, + 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x48, 0x19, 0x52, 0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0xbc, 0xff, 0xf2, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1b, 0x52, - 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x1c, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, - 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1d, 0x52, 0x0c, - 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, - 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, - 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1f, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x20, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x88, 0xc4, 0xb7, - 0x85, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x21, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x22, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x61, - 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x18, 0x9c, 0xe8, 0x97, 0x39, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x23, 0x52, 0x0c, 0x76, 0x6c, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x88, - 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x19, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xed, 0x01, - 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x17, 0x0a, 0x13, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, - 0x54, 0x48, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, 0x53, 0x5f, 0x31, 0x30, 0x30, 0x4d, - 0x10, 0xb6, 0x95, 0xd0, 0x17, 0x12, 0x0f, 0x0a, 0x07, 0x42, 0x50, 0x53, 0x5f, 0x31, 0x30, 0x47, - 0x10, 0x8e, 0x89, 0xf2, 0x84, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x50, 0x53, 0x5f, 0x31, 0x47, - 0x10, 0xf0, 0xad, 0xb9, 0xa9, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, 0x53, 0x5f, 0x32, 0x30, - 0x30, 0x4d, 0x10, 0x95, 0xfe, 0xd1, 0x17, 0x12, 0x0f, 0x0a, 0x07, 0x42, 0x50, 0x53, 0x5f, 0x32, - 0x30, 0x47, 0x10, 0xcf, 0x90, 0xf2, 0x84, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x50, 0x53, 0x5f, - 0x32, 0x47, 0x10, 0x8f, 0xae, 0xb9, 0xa9, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, 0x53, 0x5f, - 0x33, 0x30, 0x30, 0x4d, 0x10, 0xf4, 0xe6, 0xd3, 0x17, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, 0x53, - 0x5f, 0x34, 0x30, 0x30, 0x4d, 0x10, 0xd3, 0xcf, 0xd5, 0x17, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, - 0x53, 0x5f, 0x35, 0x30, 0x30, 0x4d, 0x10, 0xb2, 0xb8, 0xd7, 0x17, 0x12, 0x0f, 0x0a, 0x07, 0x42, - 0x50, 0x53, 0x5f, 0x35, 0x30, 0x47, 0x10, 0x92, 0xa7, 0xf2, 0x84, 0x01, 0x12, 0x0f, 0x0a, 0x07, - 0x42, 0x50, 0x53, 0x5f, 0x35, 0x30, 0x4d, 0x10, 0x98, 0xa7, 0xf2, 0x84, 0x01, 0x12, 0x0e, 0x0a, - 0x06, 0x42, 0x50, 0x53, 0x5f, 0x35, 0x47, 0x10, 0xec, 0xae, 0xb9, 0xa9, 0x01, 0x22, 0x9f, 0x01, - 0x0a, 0x16, 0x45, 0x64, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, - 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x00, - 0x12, 0x1d, 0x0a, 0x15, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x31, 0x10, 0xda, 0xfb, 0xd6, 0xa6, 0x01, 0x12, - 0x1d, 0x0a, 0x15, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, - 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x32, 0x10, 0xdb, 0xfb, 0xd6, 0xa6, 0x01, 0x12, 0x1f, - 0x0a, 0x17, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, - 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0xb5, 0xea, 0xf7, 0xb2, 0x01, 0x22, - 0x41, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, - 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x43, 0x52, 0x59, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x49, 0x50, 0x53, 0x45, 0x43, - 0x10, 0xaa, 0xa3, 0xa9, 0x21, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, - 0x92, 0x01, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x4f, 0x53, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xc1, 0xfb, 0xc8, 0x1a, 0x12, 0x17, 0x0a, 0x10, 0x4f, - 0x53, 0x5f, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, - 0xc0, 0xc1, 0xaa, 0x72, 0x22, 0x49, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, - 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, 0x0a, 0x12, 0x10, 0x0a, - 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, 0xcb, 0xd5, 0x0a, 0x22, - 0xc2, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0e, - 0x0a, 0x07, 0x44, 0x45, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x10, 0xaf, 0xbc, 0xa1, 0x37, 0x12, 0x20, - 0x0a, 0x18, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, - 0x54, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x10, 0xe8, 0xf0, 0xf2, 0xf4, 0x01, - 0x12, 0x17, 0x0a, 0x10, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x55, 0x53, 0x54, - 0x4f, 0x4d, 0x45, 0x52, 0x10, 0xa6, 0x83, 0xef, 0x4f, 0x12, 0x17, 0x0a, 0x0f, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x10, 0xe0, 0xfb, 0xfa, - 0xb8, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x15, 0x0a, - 0x0d, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0xdb, - 0xc7, 0xd7, 0xf6, 0x01, 0x22, 0x57, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, - 0x12, 0x10, 0x0a, 0x09, 0x44, 0x45, 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x9b, - 0x9c, 0x7b, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x10, 0xa8, 0xd1, - 0xa1, 0xdc, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x5f, 0x50, - 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0xa8, 0xf7, 0xb7, 0xe6, 0x01, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, 0x1a, 0x0a, - 0x18, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, - 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x63, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x23, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x12, 0x67, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x73, 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, + 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x22, 0x5c, 0x0a, 0x1e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x6a, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, + 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0xf7, 0x9b, 0xea, 0x73, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x6d, 0x69, + 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x7b, 0x0a, 0x17, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x91, 0xf3, 0xab, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, + 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x8b, 0xda, + 0x92, 0x19, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, + 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x66, + 0x0a, 0x21, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x9c, 0x97, 0x89, + 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x19, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x9f, 0x99, 0x92, 0x4f, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x7e, 0x0a, 0x26, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x54, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x22, 0x7e, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x0a, 0x09, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0xd9, 0x95, 0xe0, 0x99, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x45, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0xe0, + 0xfd, 0xa2, 0x31, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0xf8, 0x13, 0x0a, 0x0c, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xd1, 0xec, 0xc1, 0xd4, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xf3, 0xb9, 0xd6, 0xec, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x0d, 0x63, 0x69, 0x72, 0x63, + 0x75, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0xaf, 0x83, 0xcd, 0x4e, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xcc, 0xdc, 0xdf, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x65, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, + 0x74, 0x61, 0x67, 0x65, 0x73, 0x18, 0x9b, 0xea, 0x8e, 0x7e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x11, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xa2, 0x85, + 0xa5, 0xd3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, + 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0xd5, 0xb5, 0x8a, 0xff, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, + 0x52, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x18, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xff, 0xd2, 0xeb, 0xca, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x11, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0xcb, 0x98, 0xd3, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x10, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, + 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x10, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, + 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x2e, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x12, 0x24, 0x0a, 0x09, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xdf, + 0x88, 0xbe, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0xbf, 0xbe, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x06, + 0x6d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x18, 0xa2, 0xc1, 0x97, 0xfc, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x48, 0x0c, 0x52, + 0x06, 0x6d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x6d, 0x61, + 0x63, 0x73, 0x65, 0x63, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xa4, 0xa1, 0xcd, + 0x5c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x6e, 0x6f, 0x63, 0x5f, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x80, 0xf8, 0xda, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0f, 0x6e, 0x6f, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, + 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0xff, 0xb1, 0xf0, 0x5f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0xd9, 0x97, 0x87, 0x63, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x0d, + 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x3d, 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf5, 0xd2, 0xf6, 0xc3, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x12, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x30, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x8e, 0x8f, 0xd7, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, 0x0e, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xee, 0xf3, 0xf7, 0xdb, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xfb, 0xdb, 0xbd, + 0x15, 0x20, 0x01, 0x28, 0x05, 0x48, 0x14, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, + 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x15, 0x52, 0x0c, 0x73, 0x61, 0x74, + 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x17, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, + 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x11, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x56, + 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, + 0x10, 0x00, 0x22, 0x6a, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x44, 0x45, 0x44, 0x49, 0x43, + 0x41, 0x54, 0x45, 0x44, 0x10, 0xcf, 0x9b, 0x9c, 0x7b, 0x12, 0x12, 0x0a, 0x0a, 0x49, 0x54, 0x5f, + 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0xcf, 0x8c, 0x88, 0xa0, 0x01, 0x12, 0x0f, 0x0a, + 0x07, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x10, 0xa8, 0xd1, 0xa1, 0xdc, 0x01, 0x22, 0x69, + 0x0a, 0x08, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x31, 0x30, 0x30, 0x47, 0x5f, 0x4c, + 0x52, 0x10, 0xe7, 0xf2, 0x81, 0xa1, 0x01, 0x12, 0x20, 0x0a, 0x19, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x31, 0x30, + 0x47, 0x5f, 0x4c, 0x52, 0x10, 0xa5, 0xb9, 0xf1, 0x70, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, + 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x09, 0x4f, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xc1, 0xfb, + 0xc8, 0x1a, 0x12, 0x17, 0x0a, 0x10, 0x4f, 0x53, 0x5f, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, + 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0xc0, 0xc1, 0xaa, 0x72, 0x22, 0x35, 0x0a, 0x11, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x45, + 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, + 0x10, 0x00, 0x22, 0x43, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, + 0x12, 0x15, 0x0a, 0x0d, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, + 0x44, 0x10, 0xdb, 0xc7, 0xd7, 0xf6, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x64, 0x6d, 0x69, + 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x69, 0x70, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x61, 0x63, 0x73, + 0x65, 0x63, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x6e, 0x6f, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x65, + 0x6d, 0x61, 0x69, 0x6c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, + 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, + 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x22, 0xce, 0x1e, 0x0a, 0x16, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x0d, + 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xd1, 0xec, + 0xc1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x64, 0x6d, 0x69, 0x6e, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x62, 0x61, + 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0xb1, 0x81, 0xd3, 0x56, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x88, 0x01, 0x01, + 0x12, 0x37, 0x0a, 0x16, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, + 0x76, 0x36, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x9a, 0x8f, 0xda, 0x21, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x14, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x49, 0x70, + 0x76, 0x36, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x11, 0x63, 0x61, 0x6e, + 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0xfa, + 0xe3, 0xb4, 0x71, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x17, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x88, 0x88, 0x85, 0x89, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xc8, 0x93, 0xbf, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x16, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, + 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, + 0x1e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, + 0x76, 0x36, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x8d, 0xc9, 0xc8, 0xf8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x1a, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x70, 0x76, 0x36, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x8c, 0x01, 0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x1d, 0x0a, 0x1b, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1f, - 0x0a, 0x1d, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, - 0x24, 0x0a, 0x22, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, - 0x61, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, - 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, - 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x74, 0x75, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, - 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, - 0x22, 0xb0, 0x04, 0x0a, 0x24, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x61, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xed, 0xf0, 0xd6, 0x55, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, - 0x74, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0xce, 0x02, 0x0a, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x05, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, - 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x62, 0x67, 0x70, 0x5f, 0x6d, 0x64, - 0x35, 0x18, 0x8a, 0xe8, 0xf3, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, - 0x67, 0x70, 0x4d, 0x64, 0x35, 0x88, 0x01, 0x01, 0x12, 0x89, 0x01, 0x0a, 0x13, 0x62, 0x67, 0x70, - 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x18, 0x82, 0xbb, 0xf9, 0xe2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x53, 0x4e, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x10, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x22, 0x62, 0x0a, 0x06, 0x42, 0x67, 0x70, 0x4d, 0x64, 0x35, 0x12, 0x15, - 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x47, 0x50, 0x5f, - 0x4d, 0x44, 0x35, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0c, 0x4d, 0x44, 0x35, 0x5f, 0x4f, 0x50, 0x54, - 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x81, 0xa2, 0xe0, 0xfd, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x4d, - 0x44, 0x35, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0xc0, 0xe2, 0xfb, 0x67, - 0x12, 0x16, 0x0a, 0x0f, 0x4d, 0x44, 0x35, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, - 0x54, 0x45, 0x44, 0x10, 0xd4, 0xe1, 0xbb, 0x29, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x62, 0x67, 0x70, - 0x5f, 0x6d, 0x64, 0x35, 0x22, 0x81, 0x01, 0x0a, 0x3d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, - 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x53, - 0x4e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0xe4, 0xca, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, - 0x17, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0xd2, 0xcc, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, - 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x61, 0x78, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x1a, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe6, 0x01, 0x0a, 0x25, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x9c, 0xef, 0xc6, 0xf5, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, - 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xa2, 0xa7, 0x90, 0x4d, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x9c, 0xce, 0xad, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, - 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x55, 0x0a, 0x21, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x08, 0x74, 0x61, 0x67, - 0x38, 0x30, 0x32, 0x31, 0x71, 0x18, 0xc0, 0xd1, 0xce, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x08, 0x74, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x88, 0x01, 0x01, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x74, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x22, 0xe3, 0x01, 0x0a, 0x21, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x6e, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xff, 0xd2, - 0xeb, 0xca, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xf8, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, - 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, - 0x5f, 0x69, 0x64, 0x18, 0x93, 0x8c, 0xdc, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x44, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x69, - 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xf7, 0x8d, 0xf8, 0x7c, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x69, 0x72, 0x63, 0x75, - 0x69, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x5f, 0x69, 0x64, 0x18, 0xae, 0xdd, 0xdb, 0xd5, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, - 0x65, 0x6d, 0x61, 0x72, 0x63, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x5f, 0x69, - 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x69, 0x72, - 0x63, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x05, 0x0a, - 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x5b, 0x0a, 0x0a, 0x61, 0x72, 0x70, 0x5f, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x91, 0xd6, 0xd8, 0xc5, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x70, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x94, 0xc9, 0xb2, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x15, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xdc, 0x97, 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x17, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x05, 0x6c, 0x69, - 0x6e, 0x6b, 0x73, 0x18, 0xb9, 0x9f, 0x8d, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, - 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12, - 0x28, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x84, - 0xd2, 0xc8, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x15, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1c, 0x42, 0x55, - 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x41, 0x43, 0x50, 0x10, 0xcd, 0xa2, 0x9e, 0x0d, 0x12, - 0x25, 0x0a, 0x1e, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, - 0x43, 0x10, 0xd9, 0x98, 0x95, 0x18, 0x22, 0x8f, 0x01, 0x0a, 0x17, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x1e, 0x42, - 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x85, 0xae, - 0xb4, 0xd8, 0x01, 0x12, 0x23, 0x0a, 0x1c, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x4f, 0x50, - 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x50, 0x10, 0xbe, 0x83, 0xf9, 0x4c, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x1f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x41, 0x52, - 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, - 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x84, 0xd2, - 0xc8, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x63, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa3, 0x02, 0x0a, 0x25, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x41, 0x43, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x30, 0x0a, 0x10, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0xa5, 0x85, 0xbf, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, - 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x9e, 0x98, 0xf9, 0xa3, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x3d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, - 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x44, 0x45, 0x54, 0x41, 0x43, 0x48, - 0x45, 0x44, 0x10, 0xf2, 0xf6, 0xa1, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xf1, 0x01, - 0x0a, 0x27, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x70, 0x74, - 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x88, 0x01, 0x01, 0x22, 0x76, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, - 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x41, 0x4c, 0x41, 0x52, - 0x4d, 0x10, 0xd4, 0xf2, 0xcd, 0x91, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x48, 0x49, 0x47, 0x48, 0x5f, - 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xdf, 0xeb, 0xaf, 0x69, 0x12, 0x11, 0x0a, 0x09, - 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4c, 0x41, 0x52, 0x4d, 0x10, 0xe6, 0xaa, 0xff, 0x96, 0x01, 0x12, - 0x13, 0x0a, 0x0b, 0x4c, 0x4f, 0x57, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xf1, - 0xaa, 0xc6, 0xa1, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0xdc, 0x13, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x85, 0x07, 0x0a, 0x21, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, - 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5b, 0x0a, 0x0a, 0x61, 0x72, 0x70, 0x5f, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x91, 0xd6, 0xd8, 0xc5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x70, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xb1, 0xfa, 0xaf, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, - 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x18, 0x8c, 0x8f, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, - 0x6d, 0x61, 0x72, 0x63, 0x88, 0x01, 0x01, 0x12, 0x68, 0x0a, 0x0b, 0x6c, 0x61, 0x63, 0x70, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xaf, 0xc4, 0x9e, 0xac, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x41, 0x43, 0x50, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x48, 0x02, 0x52, 0x0a, 0x6c, 0x61, 0x63, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xff, 0xb1, 0xf0, 0x5f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x70, - 0x6f, 0x77, 0x65, 0x72, 0x18, 0xdf, 0xad, 0xd8, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x44, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf1, + 0xda, 0xc4, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x17, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf1, 0xf9, 0xab, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x08, 0x52, 0x19, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x49, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x51, 0x0a, 0x21, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x84, 0x86, 0xd6, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x09, 0x52, 0x1d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x49, 0x70, 0x76, 0x36, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x8b, 0xad, 0xd3, 0x10, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x0a, 0x52, 0x10, 0x64, 0x61, 0x74, 0x61, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0b, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x18, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0xa6, 0x95, 0xff, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x16, 0x65, 0x64, 0x67, 0x65, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x83, 0x9f, 0xdc, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0a, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, + 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0xd5, 0xb5, 0x8a, 0xff, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, + 0x52, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x0f, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, + 0x6b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x18, 0x69, 0x70, 0x73, 0x65, + 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x18, 0xb5, 0xf2, 0xb0, 0xc2, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, + 0x69, 0x70, 0x73, 0x65, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x12, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0xae, 0xcf, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x13, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xff, 0xb1, 0xf0, 0x5f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, + 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xe8, 0xf0, 0xd4, 0xd1, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x0a, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, + 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x85, 0xc5, 0xf7, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x17, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x71, 0x0a, 0x10, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0xc6, 0xe1, 0xb6, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, - 0x69, 0x6e, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x48, - 0x04, 0x52, 0x15, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, - 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x1a, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x9d, 0xba, 0x89, 0xdb, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x63, 0x61, - 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x05, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, - 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x77, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x7f, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x1c, - 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xfd, 0xe4, 0xa6, - 0x86, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x50, - 0x10, 0xb6, 0xb6, 0xed, 0x91, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x75, - 0x69, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6c, 0x61, 0x63, 0x70, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x1a, - 0x0a, 0x18, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, - 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x05, 0x69, + 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x18, 0x52, + 0x0f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x88, 0x01, 0x01, 0x12, 0x7e, 0x0a, 0x19, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x18, 0x83, 0xec, 0x91, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x19, 0x52, 0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1a, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xbc, 0xff, 0xf2, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x1b, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, + 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1c, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, + 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x1d, + 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x1f, 0x52, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x20, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, + 0x0d, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x88, + 0xc4, 0xb7, 0x85, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x21, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x22, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x6c, 0x61, 0x6e, 0x5f, + 0x74, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x18, 0x9c, 0xe8, 0x97, 0x39, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x23, 0x52, 0x0c, 0x76, 0x6c, 0x61, 0x6e, 0x54, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, + 0x71, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0xed, 0x01, 0x0a, 0x09, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x17, 0x0a, + 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, + 0x49, 0x44, 0x54, 0x48, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, 0x53, 0x5f, 0x31, 0x30, + 0x30, 0x4d, 0x10, 0xb6, 0x95, 0xd0, 0x17, 0x12, 0x0f, 0x0a, 0x07, 0x42, 0x50, 0x53, 0x5f, 0x31, + 0x30, 0x47, 0x10, 0x8e, 0x89, 0xf2, 0x84, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x50, 0x53, 0x5f, + 0x31, 0x47, 0x10, 0xf0, 0xad, 0xb9, 0xa9, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, 0x53, 0x5f, + 0x32, 0x30, 0x30, 0x4d, 0x10, 0x95, 0xfe, 0xd1, 0x17, 0x12, 0x0f, 0x0a, 0x07, 0x42, 0x50, 0x53, + 0x5f, 0x32, 0x30, 0x47, 0x10, 0xcf, 0x90, 0xf2, 0x84, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x50, + 0x53, 0x5f, 0x32, 0x47, 0x10, 0x8f, 0xae, 0xb9, 0xa9, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x42, 0x50, + 0x53, 0x5f, 0x33, 0x30, 0x30, 0x4d, 0x10, 0xf4, 0xe6, 0xd3, 0x17, 0x12, 0x0f, 0x0a, 0x08, 0x42, + 0x50, 0x53, 0x5f, 0x34, 0x30, 0x30, 0x4d, 0x10, 0xd3, 0xcf, 0xd5, 0x17, 0x12, 0x0f, 0x0a, 0x08, + 0x42, 0x50, 0x53, 0x5f, 0x35, 0x30, 0x30, 0x4d, 0x10, 0xb2, 0xb8, 0xd7, 0x17, 0x12, 0x0f, 0x0a, + 0x07, 0x42, 0x50, 0x53, 0x5f, 0x35, 0x30, 0x47, 0x10, 0x92, 0xa7, 0xf2, 0x84, 0x01, 0x12, 0x0f, + 0x0a, 0x07, 0x42, 0x50, 0x53, 0x5f, 0x35, 0x30, 0x4d, 0x10, 0x98, 0xa7, 0xf2, 0x84, 0x01, 0x12, + 0x0e, 0x0a, 0x06, 0x42, 0x50, 0x53, 0x5f, 0x35, 0x47, 0x10, 0xec, 0xae, 0xb9, 0xa9, 0x01, 0x22, + 0x9f, 0x01, 0x0a, 0x16, 0x45, 0x64, 0x67, 0x65, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x22, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x41, 0x56, 0x41, + 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, + 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x15, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, + 0x54, 0x59, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x31, 0x10, 0xda, 0xfb, 0xd6, 0xa6, + 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x32, 0x10, 0xdb, 0xfb, 0xd6, 0xa6, 0x01, + 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, + 0x5f, 0x44, 0x4f, 0x4d, 0x41, 0x49, 0x4e, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0xb5, 0xea, 0xf7, 0xb2, + 0x01, 0x22, 0x41, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x43, + 0x52, 0x59, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x49, 0x50, 0x53, + 0x45, 0x43, 0x10, 0xaa, 0xa3, 0xa9, 0x21, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, + 0xb8, 0xce, 0x92, 0x01, 0x22, 0x60, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x4f, + 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xc1, 0xfb, 0xc8, 0x1a, 0x12, 0x17, 0x0a, + 0x10, 0x4f, 0x53, 0x5f, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, + 0x44, 0x10, 0xc0, 0xc1, 0xaa, 0x72, 0x22, 0x49, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, + 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, 0x0a, 0x12, + 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, 0xcb, 0xd5, + 0x0a, 0x22, 0xc2, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, + 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x10, 0xaf, 0xbc, 0xa1, 0x37, + 0x12, 0x20, 0x0a, 0x18, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x51, 0x55, + 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44, 0x10, 0xe8, 0xf0, 0xf2, + 0xf4, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x55, + 0x53, 0x54, 0x4f, 0x4d, 0x45, 0x52, 0x10, 0xa6, 0x83, 0xef, 0x4f, 0x12, 0x17, 0x0a, 0x0f, 0x50, + 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x10, 0xe0, + 0xfb, 0xfa, 0xb8, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, + 0x15, 0x0a, 0x0d, 0x55, 0x4e, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, + 0x10, 0xdb, 0xc7, 0xd7, 0xf6, 0x01, 0x22, 0x57, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, + 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x44, 0x45, 0x44, 0x49, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, + 0xcf, 0x9b, 0x9c, 0x7b, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, 0x10, + 0xa8, 0xd1, 0xa1, 0xdc, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x54, 0x4e, 0x45, 0x52, + 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0xa8, 0xf7, 0xb7, 0xe6, 0x01, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x42, + 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, + 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x1c, 0x0a, 0x1a, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, + 0x19, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x74, 0x75, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x69, + 0x6e, 0x66, 0x6f, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x6c, 0x61, 0x6e, 0x5f, 0x74, 0x61, 0x67, 0x38, 0x30, 0x32, + 0x31, 0x71, 0x22, 0xb0, 0x04, 0x0a, 0x24, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x61, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, @@ -142537,600 +148578,1134 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x94, 0x0a, 0x0a, 0x14, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, - 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x90, 0xd0, 0xc7, 0x4b, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x69, 0x74, - 0x79, 0x18, 0xeb, 0xb2, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x63, 0x69, - 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, - 0x6e, 0x74, 0x18, 0xb4, 0xdb, 0xd0, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x63, - 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x11, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, - 0x11, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x18, 0x8d, 0xa0, 0xa6, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x10, - 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1d, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x85, 0xbe, 0xce, 0x29, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, - 0x1a, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, - 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xb6, 0xba, 0xed, 0xff, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x0b, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x46, 0x61, 0x63, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5e, 0x0a, 0x0c, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0xfa, 0xe8, 0xee, 0x94, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, - 0xee, 0xf6, 0x85, 0x28, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0e, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x22, 0xea, 0x01, 0x0a, 0x09, 0x43, - 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x45, 0x4e, 0x54, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x46, 0x52, 0x49, 0x43, 0x41, 0x10, 0xfa, 0x9c, 0xaf, 0x97, - 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x53, 0x49, 0x41, 0x5f, 0x50, 0x41, 0x43, 0x10, 0xfd, 0xf6, - 0x8e, 0x39, 0x12, 0x0f, 0x0a, 0x08, 0x43, 0x5f, 0x41, 0x46, 0x52, 0x49, 0x43, 0x41, 0x10, 0xf6, - 0x93, 0xaa, 0x22, 0x12, 0x12, 0x0a, 0x0a, 0x43, 0x5f, 0x41, 0x53, 0x49, 0x41, 0x5f, 0x50, 0x41, - 0x43, 0x10, 0xf9, 0x8f, 0x86, 0xde, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x43, 0x5f, 0x45, 0x55, 0x52, - 0x4f, 0x50, 0x45, 0x10, 0x9e, 0xca, 0xc5, 0x5f, 0x12, 0x17, 0x0a, 0x0f, 0x43, 0x5f, 0x4e, 0x4f, - 0x52, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0x98, 0x9b, 0xbb, 0x83, - 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x43, 0x5f, 0x53, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, - 0x52, 0x49, 0x43, 0x41, 0x10, 0xe0, 0x8c, 0xb0, 0xbd, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x55, - 0x52, 0x4f, 0x50, 0x45, 0x10, 0xa2, 0xd3, 0xca, 0xd4, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x4e, 0x4f, - 0x52, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0x94, 0xd9, 0xd0, 0xd5, - 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x53, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, - 0x43, 0x41, 0x10, 0xdc, 0xca, 0xc5, 0x0f, 0x22, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x41, 0x56, 0x41, 0x49, 0x4c, - 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa9, 0xb5, 0xe6, 0xd2, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x4c, - 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x63, 0x69, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, - 0x65, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x66, - 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, - 0x69, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, - 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x22, - 0xec, 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe3, - 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x2f, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x74, - 0x74, 0x5f, 0x6d, 0x73, 0x18, 0xfa, 0x83, 0xbe, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x74, 0x74, 0x4d, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0xc5, 0x94, 0xb4, 0x30, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x1b, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xa3, 0xef, 0xef, 0xeb, 0x01, 0x12, 0x14, 0x0a, - 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xe8, 0xec, - 0xb5, 0xc0, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x4c, 0x50, 0x5f, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, - 0x10, 0xbe, 0xdd, 0xeb, 0xcc, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4c, 0x50, 0x5f, 0x4c, 0x4f, 0x43, - 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xc3, 0xda, 0xfd, 0xe8, 0x01, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x74, 0x74, - 0x5f, 0x6d, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x05, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x11, 0x61, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x73, 0x18, 0x95, 0xfe, 0xde, - 0x54, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, - 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xb1, - 0xa7, 0xe7, 0x36, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0xe0, 0xfd, 0xa0, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x09, 0x69, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x77, - 0x0a, 0x09, 0x49, 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x41, - 0x47, 0x45, 0x10, 0x85, 0xe1, 0xe8, 0x53, 0x12, 0x18, 0x0a, 0x11, 0x49, 0x54, 0x5f, 0x50, 0x41, - 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x41, 0x47, 0x45, 0x10, 0xa3, 0xca, 0xf5, - 0x2b, 0x12, 0x0d, 0x0a, 0x06, 0x4f, 0x55, 0x54, 0x41, 0x47, 0x45, 0x10, 0xf1, 0xa5, 0x8f, 0x5d, - 0x12, 0x15, 0x0a, 0x0e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x41, - 0x47, 0x45, 0x10, 0x8f, 0xb7, 0x8f, 0x46, 0x22, 0x43, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x47, 0x4f, 0x4f, 0x47, 0x4c, - 0x45, 0x10, 0xb9, 0xa4, 0x99, 0xed, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x4e, 0x53, 0x52, 0x43, 0x5f, - 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xe2, 0xff, 0xba, 0xf3, 0x01, 0x22, 0x78, 0x0a, 0x05, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, - 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x43, 0x41, - 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xb1, 0xf2, 0x80, 0x14, 0x12, 0x11, 0x0a, 0x09, - 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xab, 0x8c, 0xe4, 0x93, 0x01, 0x12, - 0x10, 0x0a, 0x09, 0x4e, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xc0, 0x9d, 0xb7, - 0x78, 0x12, 0x13, 0x0a, 0x0b, 0x4e, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, - 0x10, 0xd3, 0x93, 0xc7, 0xf1, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, - 0xed, 0x0d, 0x0a, 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, - 0x01, 0x12, 0xa2, 0x01, 0x0a, 0x24, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xd1, 0xe8, 0xeb, 0x9b, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x1a, 0x74, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xce, 0x02, 0x0a, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x62, 0x67, 0x70, 0x5f, + 0x6d, 0x64, 0x35, 0x18, 0x8a, 0xe8, 0xf3, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x62, 0x67, 0x70, 0x4d, 0x64, 0x35, 0x88, 0x01, 0x01, 0x12, 0x89, 0x01, 0x0a, 0x13, 0x62, + 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0x82, 0xbb, 0xf9, 0xe2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x53, 0x4e, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x10, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x62, 0x0a, 0x06, 0x42, 0x67, 0x70, 0x4d, 0x64, 0x35, + 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x47, + 0x50, 0x5f, 0x4d, 0x44, 0x35, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0c, 0x4d, 0x44, 0x35, 0x5f, 0x4f, + 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x81, 0xa2, 0xe0, 0xfd, 0x01, 0x12, 0x13, 0x0a, + 0x0c, 0x4d, 0x44, 0x35, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0xc0, 0xe2, + 0xfb, 0x67, 0x12, 0x16, 0x0a, 0x0f, 0x4d, 0x44, 0x35, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, + 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0xd4, 0xe1, 0xbb, 0x29, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x62, + 0x67, 0x70, 0x5f, 0x6d, 0x64, 0x35, 0x22, 0x81, 0x01, 0x0a, 0x3d, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, + 0x41, 0x53, 0x4e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, + 0xe4, 0xca, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0xd2, 0xcc, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, + 0x61, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x22, 0xf0, 0x02, 0x0a, 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x01, 0x52, - 0x22, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0xeb, - 0xb2, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x68, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x73, 0x18, 0xb6, 0xcc, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x03, 0x52, 0x0b, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0xb4, 0xdb, 0xd0, 0x3f, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x05, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x11, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x8d, 0xa0, 0xa6, 0xfe, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x10, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1d, 0x66, 0x61, - 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, - 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x85, 0xbe, 0xce, 0x29, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x1a, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x09, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6c, 0x61, 0x63, 0x70, 0x18, - 0xa2, 0xa1, 0xca, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6c, 0x61, 0x63, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x31, 0x30, 0x30, 0x5f, 0x67, 0x62, 0x70, 0x73, 0x18, 0xb5, 0xff, 0xf6, 0x74, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x67, 0x53, 0x69, - 0x7a, 0x65, 0x31, 0x30, 0x30, 0x47, 0x62, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, - 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x30, 0x5f, 0x67, - 0x62, 0x70, 0x73, 0x18, 0x95, 0xe6, 0x98, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0d, 0x52, - 0x10, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x31, 0x30, 0x47, 0x62, 0x70, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x3b, 0x0a, 0x15, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x5f, 0x66, 0x61, - 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xb6, 0xba, 0xed, 0xff, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, - 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, - 0x0a, 0x15, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xae, 0xb3, 0xe5, 0xd2, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x48, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe6, 0x01, + 0x0a, 0x25, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x9c, 0xef, 0xc6, + 0xf5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0c, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xa2, 0xa7, + 0x90, 0x4d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x9c, 0xce, 0xad, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x55, 0x0a, 0x21, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x23, 0x0a, 0x08, 0x74, + 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x18, 0xc0, 0xd1, 0xce, 0x81, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x00, 0x52, 0x08, 0x74, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x88, 0x01, 0x01, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x74, 0x61, 0x67, 0x38, 0x30, 0x32, 0x31, 0x71, 0x22, 0xe3, 0x01, + 0x0a, 0x21, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0xff, 0xd2, 0xeb, 0xca, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x17, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0xf8, 0x01, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x34, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6d, 0x61, + 0x72, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x93, 0x8c, 0xdc, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x44, 0x65, 0x6d, 0x61, 0x72, 0x63, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, + 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xf7, 0x8d, 0xf8, 0x7c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x69, 0x72, + 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x5f, 0x69, 0x64, 0x18, 0xae, 0xdd, + 0xdb, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x44, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, + 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x63, + 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x5f, 0x69, 0x64, 0x22, 0xe3, + 0x05, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x5b, 0x0a, 0x0a, 0x61, 0x72, + 0x70, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x91, 0xd6, 0xd8, 0xc5, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, + 0x70, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x94, 0xc9, 0xb2, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x15, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xdc, 0x97, 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x17, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x05, + 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0xb9, 0x9f, 0x8d, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, + 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x84, 0xd2, 0xc8, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, + 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x15, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1c, + 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4c, 0x41, 0x43, 0x50, 0x10, 0xcd, 0xa2, 0x9e, + 0x0d, 0x12, 0x25, 0x0a, 0x1e, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x41, 0x47, 0x47, 0x52, + 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x49, 0x43, 0x10, 0xd9, 0x98, 0x95, 0x18, 0x22, 0x8f, 0x01, 0x0a, 0x17, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x26, 0x0a, + 0x1e, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, + 0x85, 0xae, 0xb4, 0xd8, 0x01, 0x12, 0x23, 0x0a, 0x1c, 0x42, 0x55, 0x4e, 0x44, 0x4c, 0x45, 0x5f, + 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x50, 0x10, 0xbe, 0x83, 0xf9, 0x4c, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x1f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x28, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x84, 0xd2, 0xc8, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x63, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa3, 0x02, 0x0a, 0x25, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x41, 0x43, 0x50, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0xa5, 0x85, 0xbf, 0x2b, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x9e, 0x98, 0xf9, 0xa3, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, + 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x3d, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x44, 0x45, 0x54, 0x41, + 0x43, 0x48, 0x45, 0x44, 0x10, 0xf2, 0xf6, 0xa1, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, + 0xf1, 0x01, 0x0a, 0x27, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, + 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x02, 0x48, 0x01, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x22, 0x76, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x48, 0x49, 0x47, 0x48, 0x5f, 0x41, 0x4c, + 0x41, 0x52, 0x4d, 0x10, 0xd4, 0xf2, 0xcd, 0x91, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x48, 0x49, 0x47, + 0x48, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xdf, 0xeb, 0xaf, 0x69, 0x12, 0x11, + 0x0a, 0x09, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x4c, 0x41, 0x52, 0x4d, 0x10, 0xe6, 0xaa, 0xff, 0x96, + 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x4c, 0x4f, 0x57, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0xf1, 0xaa, 0xc6, 0xa1, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0xdc, 0x13, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0xef, 0x07, 0x0a, 0x21, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, + 0x69, 0x6e, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x5b, 0x0a, 0x0a, 0x61, 0x72, 0x70, + 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x91, 0xd6, 0xd8, 0xc5, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x74, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x2e, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0xbc, 0xff, 0xf2, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0d, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x69, - 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x06, 0x41, 0x46, 0x52, 0x49, 0x43, 0x41, 0x10, 0xfa, 0x9c, 0xaf, 0x97, 0x01, 0x12, 0x0f, 0x0a, - 0x08, 0x41, 0x53, 0x49, 0x41, 0x5f, 0x50, 0x41, 0x43, 0x10, 0xfd, 0xf6, 0x8e, 0x39, 0x12, 0x0e, - 0x0a, 0x06, 0x45, 0x55, 0x52, 0x4f, 0x50, 0x45, 0x10, 0xa2, 0xd3, 0xca, 0xd4, 0x01, 0x12, 0x15, - 0x0a, 0x0d, 0x4e, 0x4f, 0x52, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, - 0x94, 0xd9, 0xd0, 0xd5, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x53, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x41, - 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0xdc, 0xca, 0xc5, 0x0f, 0x22, 0x4b, 0x0a, 0x04, 0x4c, - 0x61, 0x63, 0x70, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x4c, 0x41, 0x43, 0x50, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x4c, 0x41, 0x43, 0x50, 0x5f, - 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0xb1, 0x8a, 0xf6, 0xa1, 0x01, 0x12, - 0x17, 0x0a, 0x10, 0x4c, 0x41, 0x43, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, - 0x54, 0x45, 0x44, 0x10, 0xf8, 0xf3, 0x9e, 0x61, 0x22, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x41, 0x56, 0x41, 0x49, - 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa9, 0xb5, 0xe6, 0xd2, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, - 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6f, - 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6c, 0x61, 0x63, 0x70, 0x42, - 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x31, 0x30, 0x30, 0x5f, 0x67, 0x62, 0x70, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x30, 0x5f, 0x67, 0x62, 0x70, 0x73, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x65, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0xff, 0x04, 0x0a, 0x25, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x19, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa7, 0xb2, 0xbc, 0xec, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x16, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, - 0x0e, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x76, 0x6c, 0x61, 0x6e, 0x18, - 0xea, 0xf2, 0x83, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x70, 0x6f, 0x72, - 0x74, 0x50, 0x61, 0x69, 0x72, 0x56, 0x6c, 0x61, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x87, 0x01, 0x0a, - 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0xc6, 0xb0, 0xfb, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x02, - 0x52, 0x11, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x50, 0x6f, 0x72, 0x74, 0x50, - 0x61, 0x69, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x27, 0x0a, 0x23, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, - 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x22, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, - 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0xd3, 0x8b, 0xec, 0x62, 0x12, 0x2e, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, - 0x49, 0x52, 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0xa5, 0xaa, 0xf3, 0x1c, 0x22, 0x71, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x69, - 0x72, 0x56, 0x6c, 0x61, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, 0x56, 0x4c, 0x41, - 0x4e, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, - 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x10, 0xbe, - 0xe8, 0xac, 0x77, 0x12, 0x23, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, - 0x5f, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x56, - 0x4c, 0x41, 0x4e, 0x10, 0xac, 0x88, 0xc7, 0x53, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x70, 0x61, 0x69, 0x72, 0x5f, 0x76, 0x6c, 0x61, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x22, 0x7a, 0x0a, 0x36, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x03, 0x6d, - 0x61, 0x78, 0x18, 0xe4, 0xca, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0xd2, 0xcc, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, - 0x04, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x22, 0xf8, 0x02, - 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x2e, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x15, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc6, 0xd8, 0xdb, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x0a, 0x23, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x73, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x73, 0x41, 0x52, 0x50, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x70, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xb1, 0xfa, 0xaf, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x0d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x18, 0x8c, + 0x8f, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x44, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x88, 0x01, 0x01, 0x12, 0x68, 0x0a, 0x0b, 0x6c, 0x61, 0x63, + 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xaf, 0xc4, 0x9e, 0xac, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4c, 0x41, 0x43, 0x50, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x02, 0x52, 0x0a, 0x6c, 0x61, 0x63, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x06, 0x6d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x18, 0xa2, 0xc1, + 0x97, 0xfc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xff, 0xb1, 0xf0, 0x5f, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x11, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x17, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0xdf, 0xad, 0xd8, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa5, 0x02, 0x0a, 0x1c, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x20, 0x63, 0x61, - 0x63, 0x68, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xad, - 0xc3, 0x93, 0x95, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, - 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0x50, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0xf7, 0x04, 0x0a, 0x07, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2f, - 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x65, - 0x65, 0x18, 0xce, 0xa1, 0xca, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x63, - 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x55, 0x73, 0x65, 0x46, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, + 0x48, 0x05, 0x52, 0x15, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x87, 0x01, 0x0a, + 0x1a, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x18, 0x9d, 0xba, 0x89, 0xdb, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4f, 0x70, 0x74, 0x69, 0x63, + 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x48, 0x06, 0x52, 0x18, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x50, 0x6f, + 0x77, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x7f, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x24, 0x0a, + 0x1c, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, + 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xfd, 0xe4, + 0xa6, 0x86, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4f, 0x50, 0x45, 0x52, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, + 0x50, 0x10, 0xb6, 0xb6, 0xed, 0x91, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x69, 0x72, 0x63, + 0x75, 0x69, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x5f, 0x64, 0x65, 0x6d, 0x61, 0x72, 0x63, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6c, 0x61, 0x63, + 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x61, 0x63, + 0x73, 0x65, 0x63, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x70, 0x6f, 0x77, 0x65, 0x72, 0x22, 0x80, 0x01, 0x0a, 0x23, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x73, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, + 0x03, 0x63, 0x6b, 0x6e, 0x18, 0x86, 0x82, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, + 0x63, 0x6b, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0xd2, 0xc7, 0xec, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, + 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x88, 0x01, 0x01, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x63, 0x6b, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc7, 0x0c, 0x0a, 0x14, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x90, 0xd0, 0xc7, 0x4b, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xf3, + 0xb9, 0xd6, 0xec, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x14, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0xaa, 0xd6, 0xf9, 0xf2, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0xeb, 0xb2, 0xba, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0xb4, 0xdb, 0xd0, 0x3f, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x11, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x8d, 0xa0, 0xa6, 0xfe, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x10, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1d, 0x66, + 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x85, 0xbe, 0xce, + 0x29, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x1a, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, + 0x62, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xb6, 0xba, + 0xed, 0xff, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x64, 0x62, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x5e, 0x0a, 0x0c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0xfa, 0xe8, 0xee, 0x94, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, + 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xee, 0xf6, 0x85, 0x28, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x0e, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x7a, 0x73, 0x88, + 0x01, 0x01, 0x22, 0x48, 0x0a, 0x11, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x46, + 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x49, 0x46, 0x5f, + 0x4d, 0x41, 0x43, 0x53, 0x45, 0x43, 0x10, 0x84, 0xfc, 0xfa, 0xbc, 0x01, 0x22, 0x7e, 0x0a, 0x12, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x53, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1a, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x31, 0x30, 0x30, + 0x47, 0x5f, 0x4c, 0x52, 0x10, 0xe7, 0xf2, 0x81, 0xa1, 0x01, 0x12, 0x20, 0x0a, 0x19, 0x4c, 0x49, + 0x4e, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x54, 0x48, 0x45, 0x52, 0x4e, 0x45, 0x54, + 0x5f, 0x31, 0x30, 0x47, 0x5f, 0x4c, 0x52, 0x10, 0xa5, 0xb9, 0xf1, 0x70, 0x22, 0xea, 0x01, 0x0a, + 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x45, 0x4e, + 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x46, 0x52, 0x49, 0x43, 0x41, 0x10, 0xfa, 0x9c, + 0xaf, 0x97, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x53, 0x49, 0x41, 0x5f, 0x50, 0x41, 0x43, 0x10, + 0xfd, 0xf6, 0x8e, 0x39, 0x12, 0x0f, 0x0a, 0x08, 0x43, 0x5f, 0x41, 0x46, 0x52, 0x49, 0x43, 0x41, + 0x10, 0xf6, 0x93, 0xaa, 0x22, 0x12, 0x12, 0x0a, 0x0a, 0x43, 0x5f, 0x41, 0x53, 0x49, 0x41, 0x5f, + 0x50, 0x41, 0x43, 0x10, 0xf9, 0x8f, 0x86, 0xde, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x43, 0x5f, 0x45, + 0x55, 0x52, 0x4f, 0x50, 0x45, 0x10, 0x9e, 0xca, 0xc5, 0x5f, 0x12, 0x17, 0x0a, 0x0f, 0x43, 0x5f, + 0x4e, 0x4f, 0x52, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0x98, 0x9b, + 0xbb, 0x83, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x43, 0x5f, 0x53, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x41, + 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0xe0, 0x8c, 0xb0, 0xbd, 0x01, 0x12, 0x0e, 0x0a, 0x06, + 0x45, 0x55, 0x52, 0x4f, 0x50, 0x45, 0x10, 0xa2, 0xd3, 0xca, 0xd4, 0x01, 0x12, 0x15, 0x0a, 0x0d, + 0x4e, 0x4f, 0x52, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0x94, 0xd9, + 0xd0, 0xd5, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x53, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, + 0x52, 0x49, 0x43, 0x41, 0x10, 0xdc, 0xca, 0xc5, 0x0f, 0x22, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x41, 0x56, 0x41, + 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xa9, 0xb5, 0xe6, 0xd2, 0x01, 0x12, 0x0e, 0x0a, 0x06, + 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, + 0x16, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x5f, 0x66, 0x61, 0x63, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x7a, + 0x73, 0x22, 0xec, 0x02, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, + 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xe3, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x2f, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x72, 0x74, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0xfa, 0x83, 0xbe, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x00, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x74, 0x74, 0x4d, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x18, 0xc5, 0x94, 0xb4, 0x30, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x85, 0x01, 0x0a, 0x10, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1f, + 0x0a, 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x53, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, + 0x0e, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xa3, 0xef, 0xef, 0xeb, 0x01, 0x12, + 0x14, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, + 0xe8, 0xec, 0xb5, 0xc0, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x4c, 0x50, 0x5f, 0x47, 0x4c, 0x4f, 0x42, + 0x41, 0x4c, 0x10, 0xbe, 0xdd, 0xeb, 0xcc, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4c, 0x50, 0x5f, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xc3, 0xda, 0xfd, 0xe8, + 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, + 0x74, 0x74, 0x5f, 0x6d, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x12, 0x24, 0x0a, + 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0xcb, 0x95, 0xfb, 0xfd, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x4f, 0x70, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xf2, 0xcb, 0xb5, 0xc8, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x50, 0x72, 0x65, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x61, 0x69, + 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x22, 0x85, 0x01, 0x0a, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x69, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xf2, 0xcb, 0xb5, 0xc8, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x50, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x52, + 0x0d, 0x70, 0x72, 0x65, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x22, 0xc3, + 0x01, 0x0a, 0x24, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, + 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x65, 0x53, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x03, 0x63, 0x61, 0x6b, 0x18, 0xcd, + 0xff, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x63, 0x61, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x03, 0x63, 0x6b, 0x6e, 0x18, 0x86, 0x82, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x03, 0x63, 0x6b, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x63, 0x61, 0x6b, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x63, 0x6b, 0x6e, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x22, 0x7b, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x50, 0x72, 0x65, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, + 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x22, 0xd8, 0x05, 0x0a, 0x1e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x4f, 0x75, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x11, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x73, 0x18, 0x95, 0xfe, 0xde, 0x54, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x69, 0x72, 0x63, + 0x75, 0x69, 0x74, 0x73, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xb1, 0xa7, 0xe7, 0x36, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0xe0, 0xfd, 0xa0, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x06, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x77, 0x0a, 0x09, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x53, 0x53, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x41, 0x47, 0x45, 0x10, + 0x85, 0xe1, 0xe8, 0x53, 0x12, 0x18, 0x0a, 0x11, 0x49, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x54, 0x49, + 0x41, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x41, 0x47, 0x45, 0x10, 0xa3, 0xca, 0xf5, 0x2b, 0x12, 0x0d, + 0x0a, 0x06, 0x4f, 0x55, 0x54, 0x41, 0x47, 0x45, 0x10, 0xf1, 0xa5, 0x8f, 0x5d, 0x12, 0x15, 0x0a, + 0x0e, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x4f, 0x55, 0x54, 0x41, 0x47, 0x45, 0x10, + 0x8f, 0xb7, 0x8f, 0x46, 0x22, 0x43, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x4f, 0x55, 0x52, + 0x43, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xb9, + 0xa4, 0x99, 0xed, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x4e, 0x53, 0x52, 0x43, 0x5f, 0x47, 0x4f, 0x4f, + 0x47, 0x4c, 0x45, 0x10, 0xe2, 0xff, 0xba, 0xf3, 0x01, 0x22, 0x78, 0x0a, 0x05, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, + 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xb1, 0xf2, 0x80, 0x14, 0x12, 0x11, 0x0a, 0x09, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xab, 0x8c, 0xe4, 0x93, 0x01, 0x12, 0x10, 0x0a, 0x09, + 0x4e, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xc0, 0x9d, 0xb7, 0x78, 0x12, 0x13, + 0x0a, 0x0b, 0x4e, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0xd3, 0x93, + 0xc7, 0xf1, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xed, 0x0d, 0x0a, + 0x1a, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0xa2, + 0x01, 0x0a, 0x24, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xd1, 0xe8, 0xeb, 0x9b, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x01, 0x52, 0x22, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, 0x18, 0xeb, 0xb2, 0xba, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x68, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xb6, + 0xcc, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x03, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x63, 0x6f, 0x6e, + 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0xb4, 0xdb, 0xd0, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x18, 0xab, 0xc6, 0x59, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x0b, 0x6c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x71, 0x0a, 0x15, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0xa1, 0xb2, 0x97, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, + 0x06, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x34, 0x0a, 0x11, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x8d, 0xa0, 0xa6, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x07, 0x52, 0x10, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1d, 0x66, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x85, 0xbe, 0xce, 0x29, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x08, 0x52, 0x1a, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x46, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6c, 0x61, 0x63, 0x70, 0x18, 0xa2, 0xa1, 0xca, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6c, 0x61, 0x63, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x37, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x31, 0x30, 0x30, 0x5f, 0x67, 0x62, 0x70, 0x73, 0x18, 0xb5, 0xff, 0xf6, 0x74, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x0c, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4c, 0x61, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x31, + 0x30, 0x30, 0x47, 0x62, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x6d, 0x61, 0x78, + 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x30, 0x5f, 0x67, 0x62, 0x70, 0x73, + 0x18, 0x95, 0xe6, 0x98, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0d, 0x52, 0x10, 0x6d, 0x61, + 0x78, 0x4c, 0x61, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x31, 0x30, 0x47, 0x62, 0x70, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, + 0x15, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xb6, 0xba, 0xed, 0xff, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0f, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x64, 0x62, 0x46, 0x61, 0x63, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x15, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xae, 0xb3, 0xe5, 0xd2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, + 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, + 0xbc, 0xff, 0xf2, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0d, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, + 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x88, 0x01, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x6e, + 0x74, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x49, 0x4e, 0x45, 0x4e, 0x54, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x46, + 0x52, 0x49, 0x43, 0x41, 0x10, 0xfa, 0x9c, 0xaf, 0x97, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x53, + 0x49, 0x41, 0x5f, 0x50, 0x41, 0x43, 0x10, 0xfd, 0xf6, 0x8e, 0x39, 0x12, 0x0e, 0x0a, 0x06, 0x45, + 0x55, 0x52, 0x4f, 0x50, 0x45, 0x10, 0xa2, 0xd3, 0xca, 0xd4, 0x01, 0x12, 0x15, 0x0a, 0x0d, 0x4e, + 0x4f, 0x52, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x41, 0x10, 0x94, 0xd9, 0xd0, + 0xd5, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x53, 0x4f, 0x55, 0x54, 0x48, 0x5f, 0x41, 0x4d, 0x45, 0x52, + 0x49, 0x43, 0x41, 0x10, 0xdc, 0xca, 0xc5, 0x0f, 0x22, 0x4b, 0x0a, 0x04, 0x4c, 0x61, 0x63, 0x70, + 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x41, + 0x43, 0x50, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x4c, 0x41, 0x43, 0x50, 0x5f, 0x53, 0x55, 0x50, + 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0xb1, 0x8a, 0xf6, 0xa1, 0x01, 0x12, 0x17, 0x0a, 0x10, + 0x4c, 0x41, 0x43, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, + 0x10, 0xf8, 0xf3, 0x9e, 0x61, 0x22, 0x41, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0xa9, 0xb5, 0xe6, 0xd2, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, + 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x63, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x69, + 0x6e, 0x65, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6c, 0x61, 0x63, 0x70, 0x42, 0x17, 0x0a, 0x15, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x30, 0x30, + 0x5f, 0x67, 0x62, 0x70, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x61, + 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x31, 0x30, 0x5f, 0x67, 0x62, 0x70, 0x73, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x64, 0x62, 0x5f, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xff, 0x04, 0x0a, + 0x25, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x19, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, + 0x61, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xa7, 0xb2, 0xbc, 0xec, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x16, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x5f, 0x76, 0x6c, 0x61, 0x6e, 0x18, 0xea, 0xf2, 0x83, + 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, + 0x69, 0x72, 0x56, 0x6c, 0x61, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x87, 0x01, 0x0a, 0x13, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0xc6, 0xb0, 0xfb, 0x57, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x02, 0x52, 0x11, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x22, 0x9c, 0x01, 0x0a, 0x16, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x69, 0x72, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, + 0x0a, 0x23, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x22, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x50, 0x41, 0x49, 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, + 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xd3, 0x8b, + 0xec, 0x62, 0x12, 0x2e, 0x0a, 0x27, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, + 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x45, + 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xa5, 0xaa, + 0xf3, 0x1c, 0x22, 0x71, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x69, 0x72, 0x56, 0x6c, + 0x61, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x10, 0x00, + 0x12, 0x1e, 0x0a, 0x17, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, 0x4d, 0x41, + 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x5f, 0x56, 0x4c, 0x41, 0x4e, 0x10, 0xbe, 0xe8, 0xac, 0x77, + 0x12, 0x23, 0x0a, 0x1c, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x41, 0x49, 0x52, 0x5f, 0x55, 0x4e, + 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x56, 0x4c, 0x41, 0x4e, + 0x10, 0xac, 0x88, 0xc7, 0x53, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, + 0x61, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x61, 0x69, + 0x72, 0x5f, 0x76, 0x6c, 0x61, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x7a, + 0x0a, 0x36, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x4c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, + 0xe4, 0xca, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0xd2, 0xcc, 0x06, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x01, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, + 0x61, 0x78, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x69, 0x6e, 0x22, 0xf8, 0x02, 0x0a, 0x1e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, + 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x88, 0x01, 0x0a, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0xc6, 0xd8, 0xdb, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x82, 0x01, 0x0a, 0x23, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x73, 0x47, 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x48, 0x07, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, - 0x6c, 0x65, 0x18, 0xc5, 0xbf, 0x89, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x0c, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x66, - 0x65, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xf1, 0x04, 0x0a, - 0x0b, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x12, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x48, 0x00, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xa9, 0x01, 0x0a, 0x24, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, + 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0xa5, 0x02, 0x0a, 0x1c, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x80, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xad, 0xc3, 0x93, 0x95, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x49, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, + 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x05, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, + 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xf7, 0x04, 0x0a, 0x07, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x72, 0x67, + 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0xce, 0xa1, 0xca, 0xb1, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x73, 0x55, + 0x73, 0x65, 0x46, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, + 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, + 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, + 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0c, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xab, 0xc6, 0x59, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x0b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, + 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, + 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x71, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xa1, 0xb2, 0x97, 0x66, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x07, 0x52, 0x14, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xc5, 0xbf, 0x89, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, + 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x58, 0x0a, 0x0d, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x18, 0xd2, 0x91, 0xe2, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0c, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x18, 0xc5, 0xbf, 0x89, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, - 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0xa1, 0xae, 0xec, 0x56, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, - 0x43, 0x54, 0x45, 0x44, 0x10, 0xdb, 0xe8, 0xdb, 0x7c, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xc9, - 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, - 0x45, 0x44, 0x10, 0xa3, 0xf4, 0x9b, 0x77, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, - 0x22, 0x88, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x29, 0x0a, 0x0b, + 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xf1, 0x04, 0x0a, 0x0b, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xbe, 0x01, 0x0a, 0x19, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0xd8, 0xa0, 0xe9, 0x5d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x63, 0x6f, 0x72, - 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x94, - 0xc8, 0xbe, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x72, 0x65, 0x73, - 0x50, 0x65, 0x72, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0x88, 0xc2, 0x4f, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, - 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0xac, 0x01, 0x0a, - 0x1b, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x13, - 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0xa4, 0xd4, 0xf4, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, - 0x10, 0x6d, 0x69, 0x6e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0xe6, 0xd7, 0xd9, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x01, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x88, 0x01, - 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, - 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x22, 0xb6, 0x02, 0x0a, 0x14, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x03, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x80, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x58, 0x0a, 0x0d, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0xd2, 0x91, 0xe2, 0x14, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, + 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0xc5, 0xbf, 0x89, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x0c, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x22, + 0x7f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, + 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, + 0x0e, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xa1, 0xae, 0xec, 0x56, 0x12, + 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0xdb, 0xe8, + 0xdb, 0x7c, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xc9, 0xd0, 0xbc, 0xe0, 0x01, 0x12, 0x11, 0x0a, + 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0xa3, 0xf4, 0x9b, 0x77, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x66, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x17, 0x4c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xbe, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xd8, 0xa0, 0xe9, + 0x5d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, + 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x94, 0xc8, 0xbe, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x50, 0x65, 0x72, 0x4c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x18, 0xc1, 0x88, 0xc2, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6f, 0x72, 0x65, 0x73, 0x5f, 0x70, 0x65, + 0x72, 0x5f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x13, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xa4, 0xd4, 0xf4, + 0xe3, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x47, 0x75, 0x65, + 0x73, 0x74, 0x43, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, + 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0xe6, + 0xd7, 0xd9, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, + 0x69, 0x6e, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x5f, 0x6d, 0x62, 0x22, 0xb6, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x03, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x80, 0x03, + 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x22, 0xfd, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x22, 0x6d, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfc, 0xed, 0xea, + 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0xfb, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x96, 0x03, + 0x0a, 0x2d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf0, 0x02, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, + 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x19, 0x4c, 0x69, + 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, + 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, + 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe3, + 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfd, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x63, 0x65, 0x73, 0x73, 0x22, 0xf9, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x6d, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xfc, 0xed, 0xea, 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xfb, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x22, 0xf5, 0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xc9, 0x03, 0x0a, 0x26, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, + 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, + 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, @@ -143150,9 +149725,83 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0x96, 0x03, 0x0a, 0x2d, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x63, 0x65, 0x73, 0x73, 0x22, 0xd3, 0x03, 0x0a, 0x2c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, + 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, + 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe7, 0x02, 0x0a, 0x1e, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0xf6, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, + 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, + 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, + 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdd, 0x02, + 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, @@ -143164,9 +149813,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, @@ -143175,32 +149822,56 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf0, 0x02, - 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xe2, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x83, 0x03, + 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, + 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, + 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, + 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe9, 0x02, 0x0a, 0x20, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, @@ -143221,54 +149892,146 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf9, 0x02, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xef, 0x02, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, + 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, + 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x82, + 0x03, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0xf1, 0x02, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, + 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, + 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, + 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xda, 0x02, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf5, 0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, - 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, @@ -143291,44 +150054,71 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0xc9, 0x03, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, - 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, - 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xd3, 0x03, 0x0a, 0x2c, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, - 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, + 0xfe, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe2, 0x04, 0x0a, 0x22, 0x4c, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0xa9, 0x01, 0x0a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x9f, 0xa8, 0x8c, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x2a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, @@ -143338,19 +150128,303 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfe, 0x04, + 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, + 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0xbb, 0x01, 0x0a, 0x36, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd4, 0xa9, 0x80, 0x17, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, + 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf9, + 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, + 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, + 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x22, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xe7, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, + 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe9, 0x02, 0x0a, 0x20, 0x4c, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0xef, 0x02, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe1, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, + 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, + 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, + 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, + 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe1, 0x02, 0x0a, 0x18, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, + 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfc, 0x02, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xd3, 0x03, 0x0a, + 0x30, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, + 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x22, 0xdd, 0x03, 0x0a, 0x36, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, + 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x22, 0x86, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, @@ -143362,7 +150436,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, @@ -143371,37 +150447,44 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf6, 0x02, 0x0a, 0x1b, - 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, - 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, - 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x20, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, + 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x36, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, @@ -143417,38 +150500,31 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0x83, 0x03, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, - 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, - 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, - 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, - 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x1a, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x63, 0x65, 0x73, 0x73, 0x22, 0x95, 0x05, 0x0a, 0x30, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, + 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0xbe, 0x01, 0x0a, 0x37, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, + 0x98, 0xaf, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x31, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, @@ -143458,174 +150534,68 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xe9, 0x02, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, - 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xef, 0x02, 0x0a, - 0x26, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xde, 0x03, 0x0a, + 0x36, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe4, - 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, - 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, - 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x82, 0x03, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x05, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf1, 0x02, 0x0a, 0x28, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe0, - 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xda, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, - 0x03, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, + 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xeb, 0x02, + 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, + 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, + 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, + 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x13, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, @@ -143641,15 +150611,13 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfe, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfa, 0x02, 0x0a, 0x15, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, @@ -143672,158 +150640,8 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, - 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, - 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0xe2, 0x04, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xa9, 0x01, 0x0a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9f, 0xa8, 0x8c, 0xe3, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0xfe, 0x04, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xbb, 0x01, 0x0a, 0x36, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xd4, 0xa9, 0x80, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x30, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, - 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf9, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, - 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, - 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, - 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, - 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0xe9, 0x02, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x81, 0x03, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, @@ -143835,7 +150653,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, @@ -143844,101 +150664,131 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xef, 0x02, 0x0a, 0x26, - 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf9, 0x02, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, + 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, + 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, + 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xa7, 0x03, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe1, 0x02, - 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, + 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, + 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x22, 0x84, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf0, 0x04, 0x0a, 0x20, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xff, 0x8e, 0x80, 0x35, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, + 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xaa, 0xd0, 0x80, 0x77, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xe1, 0x02, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, - 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, - 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x22, 0xfc, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x49, + 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd0, 0xb7, 0xa1, 0x01, 0x12, 0x10, 0x0a, + 0x08, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, 0xec, 0xc6, 0xcc, 0x92, 0x01, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xd5, 0x03, 0x0a, 0x32, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, + 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, @@ -143958,167 +150808,45 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0xd3, 0x03, 0x0a, 0x30, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, - 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdd, 0x03, 0x0a, 0x36, 0x4c, 0x69, - 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, - 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, - 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, - 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, - 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x86, 0x03, 0x0a, 0x1d, 0x4c, 0x69, - 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xbe, 0x03, 0x0a, 0x36, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, - 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x3d, 0x0a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x95, 0x05, 0x0a, 0x30, - 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x73, 0x73, 0x22, 0xdf, 0x03, 0x0a, 0x38, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x36, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x86, 0xcb, 0xf3, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x14, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xbe, 0x01, 0x0a, 0x37, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x98, 0xaf, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x31, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, @@ -144129,62 +150857,66 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0xeb, 0x02, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xfa, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xec, 0x02, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0xa6, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, @@ -144204,9 +150936,34 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x81, 0x03, - 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, + 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x89, 0x03, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, @@ -144229,8 +150986,57 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xf9, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x73, 0x22, 0x85, 0x03, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, + 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x83, 0x03, 0x0a, 0x1a, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, + 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, + 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, + 0xff, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, + 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, @@ -144242,216 +151048,44 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xa7, 0x03, - 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, - 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, - 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x84, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xf0, - 0x04, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xff, 0x8e, 0x80, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, - 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x04, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0xaa, 0xd0, 0x80, 0x77, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x06, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x07, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x09, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd0, - 0xb7, 0xa1, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x10, - 0xec, 0xc6, 0xcc, 0x92, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, - 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0xd5, 0x03, 0x0a, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, - 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x03, 0x0a, 0x38, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x36, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, - 0x64, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xec, 0x02, - 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, - 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8b, 0x03, 0x0a, - 0x22, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x73, 0x22, 0x8d, 0x03, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x22, 0x86, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, @@ -144474,60 +151108,34 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xa6, 0x03, 0x0a, 0x1d, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x89, 0x03, 0x0a, 0x20, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8f, 0x03, 0x0a, 0x26, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x88, 0x03, 0x0a, + 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, @@ -144550,33 +151158,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, - 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, - 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0x83, 0x03, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, - 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, @@ -144599,33 +151183,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8d, 0x03, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8f, 0x03, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, @@ -144648,83 +151208,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x86, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0x8f, 0x03, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0x88, 0x03, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8b, 0x03, - 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x91, 0x03, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, @@ -144748,8 +151234,8 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8f, 0x03, 0x0a, 0x26, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, @@ -144772,9 +151258,33 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x91, 0x03, - 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x84, 0x03, + 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x03, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, @@ -144798,9 +151308,58 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x22, 0x8f, 0x03, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x73, 0x22, 0x89, 0x03, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, + 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, + 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, + 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, @@ -144823,58 +151382,58 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0x84, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, - 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, - 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, - 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, - 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x03, 0x0a, 0x21, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x89, 0x03, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x65, 0x73, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x22, 0x8a, 0x03, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, + 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, + 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, + 0x81, 0x03, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, + 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, @@ -144897,83 +151456,78 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8b, 0x03, 0x0a, 0x22, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, - 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, - 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, - 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, - 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x23, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x73, 0x22, 0xdb, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8a, 0x03, 0x0a, 0x21, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x73, 0x22, 0xfc, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x22, 0x84, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, @@ -144996,8 +151550,30 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x81, 0x03, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xda, 0x02, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, @@ -145009,9 +151585,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, @@ -145020,238 +151594,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdb, 0x02, 0x0a, 0x12, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfc, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, - 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, - 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, - 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, - 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x84, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfb, 0x02, - 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xda, 0x02, 0x0a, 0x11, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, - 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, - 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0x86, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, - 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdf, - 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x22, 0xff, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x86, 0x03, 0x0a, 0x1d, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, @@ -145274,31 +151619,8 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, - 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, - 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, - 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, - 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, + 0x73, 0x73, 0x22, 0xdd, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, @@ -145319,8 +151641,144 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x22, 0xe6, 0x02, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x73, 0x73, 0x22, 0xe3, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, + 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, + 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, + 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, + 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, + 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe5, 0x02, 0x0a, + 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, + 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, + 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, + 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe6, 0x02, 0x0a, + 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, + 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, + 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, @@ -145336,37 +151794,84 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x1a, - 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, + 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x1b, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x22, 0xe4, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, @@ -145390,30 +151895,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, - 0xe4, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, - 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, - 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe4, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, + 0xdb, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, @@ -145434,8 +151916,78 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x85, 0x03, - 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe9, 0x02, + 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, + 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, + 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x8f, 0x03, 0x0a, 0x26, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, + 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, + 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, + 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x1c, + 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, + 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, + 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, + 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, @@ -145459,52 +152011,32 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdb, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, - 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, - 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, - 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0xe5, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, - 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xff, 0x02, 0x0a, 0x16, - 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfe, 0x02, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, + 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfa, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x58, + 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, @@ -145516,99 +152048,27 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x16, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfe, 0x02, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, - 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, - 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, - 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfa, - 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, - 0xc8, 0x8b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x93, 0x01, 0x0a, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x97, 0xd0, 0xce, 0x71, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xfe, 0x02, 0x0a, 0x19, - 0x4c, 0x69, 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, - 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xd9, 0x02, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x93, 0x01, 0x0a, + 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x78, + 0x70, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x97, 0xd0, 0xce, 0x71, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x23, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, + 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, + 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x22, 0xfe, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, @@ -145624,858 +152084,1892 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xb0, 0x01, 0x0a, 0x09, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x25, 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xed, 0xaf, 0x9d, 0x57, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, - 0x09, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, - 0xe7, 0x96, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, - 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x1f, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0xda, 0x9c, 0xd8, 0xf4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x0e, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x58, 0x0a, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xde, 0xae, 0x91, 0xc5, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, 0xf3, 0xe6, 0xbb, 0xa1, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, - 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, - 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x41, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, - 0x03, 0x41, 0x4e, 0x59, 0x10, 0xcc, 0xfb, 0x03, 0x12, 0x16, 0x0a, 0x0f, 0x41, 0x4e, 0x59, 0x5f, - 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x5a, 0x4f, 0x4e, 0x45, 0x10, 0xd0, 0xa6, 0x91, 0x1d, - 0x12, 0x10, 0x0a, 0x08, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x88, 0xba, 0xad, - 0xdf, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, - 0x61, 0x70, 0x65, 0x22, 0xa7, 0x02, 0x0a, 0x16, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, - 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xb6, 0xcc, - 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0xdb, 0xf9, 0xf2, 0x47, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x70, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x60, 0x0a, 0x0a, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, - 0x43, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0xa9, 0xd6, - 0xde, 0x1d, 0x12, 0x0a, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x8c, 0xec, 0x7f, 0x12, 0x1e, - 0x0a, 0x16, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xb3, 0xeb, 0xce, 0xec, 0x01, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x57, 0x0a, - 0x21, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0xf4, 0xfc, 0x92, 0x89, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x61, 0x78, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xca, 0x02, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x75, - 0x64, 0x69, 0x74, 0x18, 0xd1, 0xc2, 0xee, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0xfc, - 0xab, 0xdd, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x99, 0xdf, 0xd6, 0x88, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x02, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0xdf, 0x02, 0x0a, 0x1a, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0x9b, 0xf1, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0xa6, 0xf5, 0x8f, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6c, - 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x22, 0x6b, 0x0a, 0x07, 0x4c, 0x6f, 0x67, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, - 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x9f, - 0xdc, 0xec, 0xcb, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x41, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x99, 0xd7, 0xc2, 0x71, 0x12, 0x1c, 0x0a, 0x14, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x10, 0xee, 0xed, 0xdf, 0xc3, 0x01, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x67, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x17, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x63, 0x0a, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x18, 0xc7, 0xbe, 0x85, 0x77, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, - 0xfa, 0xc1, 0xba, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0xb0, - 0xeb, 0x97, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x71, 0x0a, 0x22, 0x4c, 0x6f, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x22, 0xd9, 0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x5a, 0x6f, 0x6e, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x9b, 0xc8, 0x8b, 0x1a, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, + 0xe8, 0xfd, 0xc7, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0xc9, 0xb0, 0xc4, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x3d, 0x0a, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xb6, 0xa4, 0xcf, 0xf6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x14, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x50, 0x61, 0x72, + 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x22, 0xb0, 0x01, 0x0a, 0x09, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x25, + 0x0a, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xed, 0xaf, 0x9d, + 0x57, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x01, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, + 0x12, 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xe9, + 0xac, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x6d, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x65, 0x18, 0xda, 0x9c, 0xd8, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0xf6, 0x02, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x58, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0xde, 0xae, 0x91, 0xc5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x2a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x18, + 0xf3, 0xe6, 0xbb, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0e, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5e, 0x0a, 0x0b, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x68, 0x61, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x48, + 0x41, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4e, 0x59, 0x10, 0xcc, 0xfb, 0x03, + 0x12, 0x16, 0x0a, 0x0f, 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x5a, + 0x4f, 0x4e, 0x45, 0x10, 0xd0, 0xa6, 0x91, 0x1d, 0x12, 0x10, 0x0a, 0x08, 0x42, 0x41, 0x4c, 0x41, + 0x4e, 0x43, 0x45, 0x44, 0x10, 0x88, 0xba, 0xad, 0xdf, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x70, 0x65, 0x22, 0xa7, 0x02, 0x0a, 0x16, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xb6, 0xcc, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, + 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0xdb, 0xf9, 0xf2, 0x47, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x22, 0x60, 0x0a, 0x0a, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, + 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0xa9, 0xd6, 0xde, 0x1d, 0x12, 0x0a, 0x0a, 0x04, 0x44, 0x45, + 0x4e, 0x59, 0x10, 0x8c, 0xec, 0x7f, 0x12, 0x1e, 0x0a, 0x16, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, + 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0xb3, 0xeb, 0xce, 0xec, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x21, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xf4, 0xfc, 0x92, 0x89, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xca, + 0x02, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x0b, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x18, 0xd1, 0xc2, 0xee, 0xc4, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x41, 0x75, 0x64, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x07, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0xfc, 0xab, 0xdd, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x5d, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x99, 0xdf, 0xd6, 0x88, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x61, 0x74, + 0x61, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x02, + 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdf, 0x02, 0x0a, 0x1a, + 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xf8, 0x9b, 0xf1, + 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x1b, 0x61, + 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, + 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xa6, 0xf5, 0x8f, 0xc0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x22, 0x6b, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x12, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x56, 0x49, 0x54, 0x59, 0x10, 0x9f, 0xdc, 0xec, 0xcb, 0x01, 0x12, 0x12, 0x0a, 0x0b, + 0x44, 0x41, 0x54, 0x41, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x99, 0xd7, 0xc2, 0x71, + 0x12, 0x1c, 0x0a, 0x14, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, + 0x4c, 0x4f, 0x47, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x10, 0xee, 0xed, 0xdf, 0xc3, 0x01, 0x42, 0x20, + 0x0a, 0x1e, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd2, 0x01, + 0x0a, 0x17, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x0d, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0xc7, 0xbe, 0x85, 0x77, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa6, 0x01, - 0x0a, 0x1a, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x08, - 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xbe, 0xf3, 0x8e, 0xc0, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, - 0x22, 0x57, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, - 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x92, 0xaa, 0xf1, 0xab, 0x01, 0x12, 0x1b, 0x0a, 0x14, - 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0xb6, 0xf4, 0x84, 0x2a, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, - 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x83, 0x0b, 0x0a, 0x0c, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, - 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, - 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x67, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0xdd, 0x93, 0xec, 0xb7, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, 0x75, 0x73, 0x68, - 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x13, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x18, 0x9d, 0x9e, 0xd8, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x04, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x52, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1c, + 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0xfa, 0xc1, 0xba, 0x2e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, + 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0xb0, 0xeb, 0x97, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x22, 0x71, 0x0a, 0x22, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, + 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, + 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x44, 0x61, 0x74, 0x61, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x18, 0xbe, 0xf3, 0x8e, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6c, 0x6f, + 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x22, 0x57, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x4d, + 0x6f, 0x64, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x0f, 0x4c, + 0x4f, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x92, + 0xaa, 0xf1, 0xab, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xb6, 0xf4, 0x84, + 0x2a, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x83, + 0x0b, 0x0a, 0x0c, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, + 0x18, 0xdd, 0x93, 0xec, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x75, + 0x65, 0x73, 0x74, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x64, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x9d, 0x9e, 0xd8, 0x66, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x04, + 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x78, 0x0a, 0x1c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0xff, 0xff, 0xe7, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x06, 0x52, + 0x19, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, + 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, + 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xbe, 0xed, 0xc0, 0xbd, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x0a, 0x73, 0x61, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x73, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xb2, 0xf8, 0xcf, 0xb0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xb9, + 0x98, 0xfd, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x78, 0x0a, + 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0xf9, 0xd1, 0xcb, 0xe2, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x0b, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0xed, 0xb3, + 0x9c, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, + 0xec, 0x87, 0x84, 0x27, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, + 0x22, 0x73, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, + 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, + 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, + 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, + 0xc3, 0x8f, 0x25, 0x12, 0x10, 0x0a, 0x09, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0xa1, 0x9c, 0xcd, 0x7f, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x16, 0x0a, 0x14, + 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x3e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x78, 0x0a, 0x1c, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xff, 0xff, 0xe7, 0xfb, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x06, 0x52, 0x19, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, - 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x0c, - 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x47, 0x0a, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xbe, - 0xed, 0xc0, 0xbd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x0a, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x73, - 0x0a, 0x1b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0xb2, 0xf8, - 0xcf, 0xb0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xb9, 0x98, 0xfd, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0a, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x78, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x18, 0xf9, 0xd1, 0xcb, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x98, 0x08, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x18, 0xe8, 0xd6, 0xc5, 0x80, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x48, 0x0b, 0x52, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0xed, 0xb3, 0x9c, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x36, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xec, 0x87, 0x84, 0x27, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x0d, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x22, 0x73, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, - 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, - 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x12, 0x10, 0x0a, 0x09, 0x55, - 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa1, 0x9c, 0xcd, 0x7f, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, - 0x6c, 0x75, 0x73, 0x68, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x1f, 0x0a, 0x1d, - 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, - 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0xdc, 0x02, 0x0a, - 0x10, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x73, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x01, 0x52, + 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, + 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x67, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xd2, 0xcb, 0xc8, 0xbb, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x03, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x43, 0x70, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x98, 0xf2, 0xf5, 0x23, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x05, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, + 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x18, 0x83, 0xda, 0xcf, 0xf8, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x06, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x68, 0x61, 0x72, 0x65, 0x64, 0x43, 0x70, 0x75, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x41, + 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0x8d, 0xf6, 0xce, 0xec, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, + 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x4e, 0x0a, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, + 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xa7, 0x95, 0xc8, 0x49, 0x20, 0x01, 0x28, 0x03, 0x48, 0x09, + 0x52, 0x1c, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, + 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, + 0x01, 0x12, 0x23, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0x93, + 0x93, 0xa8, 0x37, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, + 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x0d, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x18, 0xf1, 0xb1, 0xa0, 0xe5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x98, 0x08, 0x0a, 0x0b, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x61, - 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xe8, 0xd6, 0xc5, 0x80, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x0c, 0x61, 0x63, - 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, - 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, - 0xd2, 0xcb, 0xc8, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x09, 0x67, 0x75, 0x65, - 0x73, 0x74, 0x43, 0x70, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2c, 0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x67, - 0x62, 0x18, 0x98, 0xf2, 0xf5, 0x23, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x0c, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x53, 0x70, 0x61, 0x63, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, - 0x0d, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x18, 0x83, - 0xda, 0xcf, 0xf8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0b, 0x69, 0x73, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x64, 0x43, 0x70, 0x75, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x18, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, - 0x6b, 0x73, 0x18, 0x8d, 0xf6, 0xce, 0xec, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x16, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x20, 0x6d, 0x61, 0x78, - 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xa7, 0x95, - 0xc8, 0x49, 0x20, 0x01, 0x28, 0x03, 0x48, 0x09, 0x52, 0x1c, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, - 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0x93, 0x93, 0xa8, 0x37, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x0a, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x0d, 0x73, 0x63, - 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf1, 0xb1, 0xa0, 0xe5, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x0c, 0x73, 0x63, - 0x72, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0d, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, - 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x75, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, - 0x73, 0x6b, 0x73, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, - 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x65, 0x6d, - 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x8f, 0x04, 0x0a, 0x19, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x69, 0x73, 0x6b, 0x73, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, + 0x6b, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x5f, 0x67, 0x62, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x5f, 0x63, 0x70, 0x75, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x1b, + 0x0a, 0x19, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, + 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x42, 0x23, 0x0a, 0x21, 0x5f, + 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x8f, + 0x04, 0x0a, 0x19, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x56, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, + 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x69, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xda, 0x02, 0x0a, 0x0f, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x70, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, - 0x69, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xda, 0x02, 0x0a, 0x0f, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, - 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb6, 0x01, 0x0a, 0x16, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x4c, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x81, 0xdd, 0x81, 0x26, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb6, - 0x0a, 0x0a, 0x0f, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbc, 0xa7, 0x8d, 0x55, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x0f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0xc6, - 0x92, 0xbc, 0xb6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x12, 0x2f, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xdc, 0xad, 0x9f, 0x53, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x5f, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x18, 0xa4, 0xac, 0xa8, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x48, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0xe2, 0xeb, 0x85, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb6, 0x01, + 0x0a, 0x16, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x81, 0xdd, 0x81, 0x26, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x48, 0x05, 0x52, 0x18, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, - 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0xd2, 0xaf, 0xbe, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x48, 0x06, 0x52, 0x18, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, - 0xb9, 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x07, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x85, 0x02, 0x0a, 0x0d, 0x43, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xcd, 0xca, 0x90, 0xb9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x20, 0x0a, - 0x18, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, - 0x54, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x53, 0x10, 0x89, 0xc6, 0xbe, 0xcc, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, - 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x12, - 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xec, 0x8b, 0xfe, - 0x88, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, 0x48, 0x49, 0x4e, 0x47, - 0x10, 0xa7, 0xfe, 0xec, 0x4d, 0x12, 0x12, 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0xf3, 0xee, 0xeb, 0x98, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x52, 0x45, 0x53, - 0x55, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0xaa, 0xfb, 0x89, 0xd5, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, - 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0xa0, 0x8b, 0xe9, 0x01, 0x12, 0x10, 0x0a, - 0x09, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xa9, 0xc1, 0x8c, 0x08, 0x22, - 0xed, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, - 0x49, 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, 0xcc, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x52, 0x4f, - 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, 0x01, 0x12, - 0x11, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x95, 0x82, 0x95, - 0xc5, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0xc3, - 0xea, 0x39, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x47, 0x49, 0x4e, 0x47, 0x10, 0x9b, 0xc8, - 0xc6, 0xcd, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xad, - 0xbb, 0xec, 0xd3, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, - 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0xbb, 0xbb, 0xb6, 0x18, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x55, 0x53, 0x50, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd4, 0x98, 0xf5, 0x01, 0x12, 0x11, 0x0a, 0x0a, - 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0xa3, 0xf4, 0x9b, 0x77, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x02, 0x0a, 0x1d, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x15, 0x64, 0x65, 0x74, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x9d, 0xd0, 0xb4, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, - 0x01, 0x01, 0x22, 0x92, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xea, 0xd5, 0x8c, 0xe5, - 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xfd, 0xaa, 0xdb, - 0xd1, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0xc1, 0xb2, - 0xeb, 0xe3, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, - 0x10, 0xc4, 0xb9, 0xad, 0xdc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0xaa, 0xf0, 0xc4, 0xce, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x22, 0x69, 0x0a, 0x1a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x12, 0x40, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xeb, 0xde, 0xd5, 0x96, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x73, 0x48, 0x00, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x88, - 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x89, 0x01, - 0x0a, 0x16, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, - 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x08, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x37, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xb2, - 0x02, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x12, 0x5a, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x18, 0xa6, 0xf5, 0xe8, 0x92, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xdb, 0x0a, 0x0a, 0x0f, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbc, 0xa7, 0x8d, + 0x55, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0xc6, 0x92, 0xbc, 0xb6, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x0f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xdc, 0xad, 0x9f, 0x53, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x0c, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0xa4, 0xac, 0xa8, 0xcf, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x73, + 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x48, 0x04, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, + 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xe2, 0xeb, 0x85, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x06, 0x52, 0x18, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x1b, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd2, 0xaf, 0xbe, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x07, 0x52, 0x18, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0xd8, 0xb9, 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x0c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x0a, - 0x15, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x18, 0xc0, 0xd0, 0xb6, 0x72, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x88, 0x01, 0x01, 0x22, 0x6e, 0x0a, 0x13, 0x46, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x49, - 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, - 0x52, 0x49, 0x41, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, - 0x4c, 0x4c, 0x10, 0xe7, 0xe7, 0x92, 0x56, 0x12, 0x10, 0x0a, 0x09, 0x4d, 0x41, 0x54, 0x43, 0x48, - 0x5f, 0x41, 0x4e, 0x59, 0x10, 0xb2, 0xe8, 0x92, 0x56, 0x12, 0x0e, 0x0a, 0x07, 0x4e, 0x4f, 0x54, - 0x5f, 0x53, 0x45, 0x54, 0x10, 0xb6, 0x99, 0x84, 0x4e, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x66, 0x69, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x48, 0x08, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x85, 0x02, 0x0a, 0x0d, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x55, 0x52, 0x52, 0x45, + 0x4e, 0x54, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x41, + 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xcd, 0xca, 0x90, 0xb9, 0x01, 0x12, + 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, + 0x01, 0x12, 0x20, 0x0a, 0x18, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x57, 0x49, + 0x54, 0x48, 0x4f, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x53, 0x10, 0x89, 0xc6, + 0xbe, 0xcc, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, + 0x92, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x52, 0x45, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0xec, 0x8b, 0xfe, 0x88, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x46, 0x52, 0x45, 0x53, + 0x48, 0x49, 0x4e, 0x47, 0x10, 0xa7, 0xfe, 0xec, 0x4d, 0x12, 0x12, 0x0a, 0x0a, 0x52, 0x45, 0x53, + 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xf3, 0xee, 0xeb, 0x98, 0x01, 0x12, 0x10, 0x0a, + 0x08, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x49, 0x4e, 0x47, 0x10, 0xaa, 0xfb, 0x89, 0xd5, 0x01, 0x12, + 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc0, 0xa0, 0x8b, 0xe9, + 0x01, 0x12, 0x10, 0x0a, 0x09, 0x56, 0x45, 0x52, 0x49, 0x46, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xa9, + 0xc1, 0x8c, 0x08, 0x22, 0xed, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, 0x50, 0x52, 0x4f, 0x56, 0x49, + 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, 0xcc, 0x01, 0x12, 0x14, 0x0a, + 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, + 0xda, 0x8a, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x49, 0x4e, 0x47, + 0x10, 0x95, 0x82, 0x95, 0xc5, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, + 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x47, 0x49, 0x4e, + 0x47, 0x10, 0x9b, 0xc8, 0xc6, 0xcd, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, + 0x45, 0x44, 0x10, 0xad, 0xbb, 0xec, 0xd3, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, + 0x50, 0x49, 0x4e, 0x47, 0x10, 0xf4, 0xd0, 0xa2, 0xa7, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x53, 0x55, + 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0xbb, 0xbb, 0xb6, 0x18, 0x12, 0x12, 0x0a, 0x0a, + 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xd4, 0x98, 0xf5, 0x01, + 0x12, 0x11, 0x0a, 0x0a, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0xa3, + 0xf4, 0x9b, 0x77, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, + 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x72, 0x6f, + 0x6d, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x02, 0x0a, 0x1d, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x15, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x9d, 0xd0, 0xb4, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x22, + 0x92, 0x01, 0x0a, 0x13, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x48, 0x45, + 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, + 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xea, 0xd5, 0x8c, 0xe5, 0x01, 0x12, 0x0f, + 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xfd, 0xaa, 0xdb, 0xd1, 0x01, 0x12, + 0x0f, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0xc1, 0xb2, 0xeb, 0xe3, 0x01, + 0x12, 0x11, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0xc4, 0xb9, + 0xad, 0xdc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0xaa, + 0xf0, 0xc4, 0xce, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x22, + 0x69, 0x0a, 0x1a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x40, 0x0a, + 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xeb, 0xde, 0xd5, 0x96, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x73, 0x48, 0x00, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x16, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x0e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x5a, + 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, + 0xa6, 0xf5, 0xe8, 0x92, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x0c, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, - 0x72, 0x69, 0x61, 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd5, 0x02, 0x0a, - 0x12, 0x4d, 0x6f, 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, - 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x90, 0x01, 0x0a, 0x26, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0xb0, 0x88, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xea, 0x01, 0x0a, 0x16, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, - 0x6b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x6e, 0x0a, 0x1a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xca, 0xc2, - 0xa0, 0x95, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x64, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x72, 0x69, 0x61, 0x18, 0xc0, 0xd0, 0xb6, 0x72, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x69, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x88, 0x01, 0x01, 0x22, 0x6e, 0x0a, 0x13, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x12, 0x23, 0x0a, + 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, + 0x52, 0x5f, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x45, 0x52, 0x49, 0x41, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x4c, 0x4c, 0x10, + 0xe7, 0xe7, 0x92, 0x56, 0x12, 0x10, 0x0a, 0x09, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x41, 0x4e, + 0x59, 0x10, 0xb2, 0xe8, 0x92, 0x56, 0x12, 0x0e, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x45, + 0x54, 0x10, 0xb6, 0x99, 0x84, 0x4e, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x22, 0x67, 0x0a, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x12, 0x4d, 0x6f, + 0x76, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x90, 0x01, 0x0a, 0x26, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6d, 0x6f, + 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xc4, 0xb0, 0x88, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x30, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, - 0xe1, 0x9a, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x09, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x18, 0x4d, 0x6f, - 0x76, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x26, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6d, - 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xf3, 0xf1, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, + 0x64, 0x22, 0xea, 0x01, 0x0a, 0x16, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x1a, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xca, 0xc2, 0xa0, 0x95, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x17, 0x64, 0x69, 0x73, 0x6b, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfa, - 0x01, 0x0a, 0x1a, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7a, 0x0a, - 0x1e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xc2, 0xbc, 0xce, 0x94, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb5, + 0x01, 0x0a, 0x19, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, + 0x0a, 0x09, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xd0, 0xe1, 0x9a, 0xdb, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x09, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x52, 0x08, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x18, 0x4d, 0x6f, 0x76, 0x65, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, + 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x90, 0x01, 0x0a, 0x26, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x65, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xf3, 0xf1, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x55, 0x0a, 0x09, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x22, 0xf2, 0x0a, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x26, - 0x0a, 0x0b, 0x49, 0x5f, 0x70, 0x76, 0x34, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xb6, 0xb0, - 0x9f, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x49, 0x50, 0x76, 0x34, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x17, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x18, 0x92, 0xc8, 0x92, 0x7a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x15, 0x61, 0x75, - 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, - 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x18, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, - 0x69, 0x70, 0x76, 0x36, 0x18, 0x98, 0x8f, 0x88, 0xca, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, - 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x6c, 0x61, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, - 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x5f, 0x70, 0x76, 0x34, 0x18, 0xdd, 0xd8, - 0x99, 0x55, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x49, 0x50, 0x76, 0x34, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, - 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x37, - 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xa7, 0xcf, 0xa6, 0x84, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x08, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0xae, 0xcf, 0x06, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x0a, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x29, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0xd0, 0x82, 0x8d, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, - 0x52, 0x25, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x65, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xb3, 0xaa, 0xa9, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0xa9, 0xd3, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfa, 0x01, 0x0a, 0x1a, + 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x7a, 0x0a, 0x1e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc2, 0xbc, 0xce, + 0x94, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x55, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, + 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, + 0xa4, 0x01, 0x0a, 0x09, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x66, 0x0a, + 0x14, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x6d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x9c, 0x80, 0x8e, 0x73, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0d, 0x52, - 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, - 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xc5, 0xd4, 0xa5, 0xc6, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x22, 0xa0, 0x01, 0x0a, 0x25, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x33, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, - 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, - 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4f, 0x52, 0x44, 0x45, - 0x52, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x16, 0x41, 0x46, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x41, - 0x53, 0x53, 0x49, 0x43, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x10, 0xd0, 0xfc, - 0xda, 0x49, 0x12, 0x1f, 0x0a, 0x17, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4c, 0x41, - 0x53, 0x53, 0x49, 0x43, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x10, 0xed, 0xed, - 0xb1, 0xa1, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x49, 0x5f, 0x70, 0x76, 0x34, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x5f, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, - 0x70, 0x76, 0x36, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x5f, 0x69, 0x5f, 0x70, 0x76, 0x34, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, - 0x76, 0x36, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x74, 0x75, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x65, - 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x22, 0xf1, 0x07, 0x0a, 0x11, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x72, 0x0a, - 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xdd, 0xa2, 0xbe, 0x9b, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, + 0x66, 0x6f, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x52, 0x11, 0x6e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x22, 0x0a, 0x08, 0x6e, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0xe9, 0xad, 0xf8, 0xca, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6e, + 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x61, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x86, 0x02, 0x0a, 0x19, 0x4e, 0x61, 0x74, 0x49, 0x70, + 0x49, 0x6e, 0x66, 0x6f, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, 0xcc, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1d, 0x0a, 0x06, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x18, 0x85, 0xd2, 0x88, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6e, 0x61, 0x74, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, + 0x1c, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0xa1, 0xfb, 0x99, 0x35, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x35, 0x0a, + 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x04, 0x41, 0x55, 0x54, + 0x4f, 0x10, 0xaf, 0xab, 0x7b, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, + 0xc6, 0xb7, 0xf7, 0x38, 0x22, 0x3b, 0x0a, 0x05, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x13, 0x0a, + 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x06, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x10, 0xcd, 0xce, 0xa5, + 0x08, 0x12, 0x0e, 0x0a, 0x06, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x10, 0xd6, 0xf3, 0xfb, 0xab, + 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6e, + 0x61, 0x74, 0x5f, 0x69, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, + 0x52, 0x0a, 0x11, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, + 0x90, 0xb7, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x22, 0xf2, 0x0a, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x26, 0x0a, 0x0b, 0x49, 0x5f, 0x70, 0x76, 0x34, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xb6, + 0xb0, 0x9f, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x49, 0x50, 0x76, 0x34, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x17, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x18, 0x92, 0xc8, 0x92, 0x7a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x15, 0x61, + 0x75, 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, + 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, + 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x18, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x98, 0x8f, 0x88, 0xca, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x04, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x6c, 0x61, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, + 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x0d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x5f, 0x70, 0x76, 0x34, 0x18, 0xdd, + 0xd8, 0x99, 0x55, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x49, 0x50, 0x76, 0x34, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x37, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xa7, 0xcf, 0xa6, 0x84, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, + 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0xae, 0xcf, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x29, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0xd0, 0x82, 0x8d, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0c, 0x52, 0x25, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x08, 0x70, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xb3, 0xaa, 0xa9, 0x21, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x70, 0x65, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x5d, 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0xa9, 0xd3, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x13, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x3c, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0xdc, 0xf9, 0xa4, 0x88, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, - 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x15, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x73, 0x18, 0xab, 0x9a, 0xda, 0x60, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, - 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x73, 0x12, 0x35, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x82, 0xfd, 0xfa, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, 0x65, - 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, - 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x18, 0xc5, 0xd4, 0xa5, 0xc6, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, - 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, - 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x10, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, - 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x94, 0xf7, 0xf0, 0x23, 0x12, 0x15, - 0x0a, 0x0d, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, - 0xdd, 0xed, 0xf1, 0xb1, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x6b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0d, + 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, + 0x9d, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xc5, 0xd4, 0xa5, 0xc6, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x25, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x45, 0x6e, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x33, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x4f, 0x52, 0x44, + 0x45, 0x52, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x16, 0x41, 0x46, 0x54, 0x45, 0x52, 0x5f, 0x43, 0x4c, + 0x41, 0x53, 0x53, 0x49, 0x43, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x10, 0xd0, + 0xfc, 0xda, 0x49, 0x12, 0x1f, 0x0a, 0x17, 0x42, 0x45, 0x46, 0x4f, 0x52, 0x45, 0x5f, 0x43, 0x4c, + 0x41, 0x53, 0x53, 0x49, 0x43, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x10, 0xed, + 0xed, 0xb1, 0xa1, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x49, 0x5f, 0x70, 0x76, 0x34, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x22, 0xfa, 0x03, 0x0a, 0x1f, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, + 0x69, 0x70, 0x76, 0x36, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x5f, 0x70, 0x76, 0x34, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x70, 0x76, 0x36, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6d, 0x74, 0x75, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x22, 0xf1, 0x07, 0x0a, 0x11, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x72, + 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xdd, 0xa2, 0xbe, 0x9b, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x13, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0xdc, 0xf9, 0xa4, 0x88, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x66, 0x69, + 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x15, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0xab, 0x9a, 0xda, 0x60, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x15, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x82, 0xfd, 0xfa, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x52, + 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, + 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, + 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x18, 0xc5, 0xd4, 0xa5, 0xc6, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x22, 0x7c, 0x0a, 0x14, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, + 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, + 0x45, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x10, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, + 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x94, 0xf7, 0xf0, 0x23, 0x12, + 0x15, 0x0a, 0x0d, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, + 0x10, 0xdd, 0xed, 0xf1, 0xb1, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x22, 0xfa, 0x03, 0x0a, + 0x1f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6f, 0x0a, 0x0a, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xef, 0x04, 0x0a, 0x22, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, + 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x9c, 0xb3, 0xef, 0xa2, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x69, 0x64, 0x5f, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0xa8, 0x8a, 0xe5, 0xa6, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, + 0x4f, 0x72, 0x4e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x18, 0x94, 0xb2, 0xf0, 0x37, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, + 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, + 0x15, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x69, 0x64, 0x72, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xa3, 0xdb, 0xdf, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x05, 0x52, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x69, + 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x41, + 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0xa7, 0x9f, 0xd2, 0x75, 0x12, 0x0e, 0x0a, 0x06, + 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x12, 0x17, 0x0a, 0x0f, + 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0xbc, 0x8b, 0xa2, 0xa4, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x19, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xca, 0xcc, 0x8b, + 0x14, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x5f, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xe6, 0x02, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, + 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x9f, 0xde, 0xd6, + 0xf8, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb3, 0x04, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, 0x15, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x22, 0xe1, 0x04, 0x0a, + 0x28, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, + 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, + 0x78, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x54, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, + 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xf4, 0x01, 0x0a, 0x25, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x7b, 0x0a, 0x1e, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0xac, 0xcb, 0xf8, + 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x1b, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe3, 0x02, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x0b, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0xf6, 0xb5, 0x35, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x66, + 0x71, 0x64, 0x6e, 0x18, 0x95, 0xa5, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, + 0x66, 0x71, 0x64, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x1a, + 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xcc, 0x0c, + 0x0a, 0x14, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x63, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0xf6, 0xb5, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5e, 0x0a, 0x0a, 0x61, + 0x70, 0x70, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x18, 0xa0, 0x8c, 0xc0, 0xa2, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, + 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x0e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa2, 0xe5, + 0xf3, 0xf7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x81, 0xcb, 0xfa, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x52, 0x75, 0x6e, 0x48, 0x02, 0x52, 0x08, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0xbf, 0xf7, 0xf0, 0xc9, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, + 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd3, 0xc6, 0xb4, 0x38, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, + 0x08, 0x70, 0x73, 0x63, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0xc9, 0xdb, 0xa6, 0x22, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x50, 0x73, 0x63, 0x44, 0x61, 0x74, 0x61, 0x48, 0x0b, 0x52, 0x07, 0x70, 0x73, 0x63, 0x44, + 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x73, 0x63, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xe6, 0xc2, 0xaa, + 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x10, 0x70, 0x73, 0x63, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x0f, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, + 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x88, 0x01, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf0, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, + 0x4b, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, + 0x00, 0x12, 0x11, 0x0a, 0x09, 0x47, 0x43, 0x45, 0x5f, 0x56, 0x4d, 0x5f, 0x49, 0x50, 0x10, 0xd9, + 0xed, 0xd0, 0xbf, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x47, 0x43, 0x45, 0x5f, 0x56, 0x4d, 0x5f, 0x49, + 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xa7, 0xe4, 0xa5, 0xef, 0x01, 0x12, 0x1a, 0x0a, 0x12, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x46, 0x51, 0x44, 0x4e, 0x5f, 0x50, 0x4f, + 0x52, 0x54, 0x10, 0xed, 0xd0, 0xdb, 0xc0, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x4e, 0x45, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x9b, 0xdb, 0xe5, + 0xe3, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x4e, 0x4f, 0x4e, 0x5f, 0x47, 0x43, 0x50, 0x5f, 0x50, 0x52, + 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe0, 0x93, + 0xb7, 0xa0, 0x01, 0x12, 0x1e, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, + 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0xc4, + 0xf4, 0xf9, 0x16, 0x12, 0x12, 0x0a, 0x0a, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4c, 0x45, 0x53, + 0x53, 0x10, 0xdc, 0xc6, 0xfd, 0x80, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x70, 0x70, 0x5f, + 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x70, 0x73, 0x63, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xaa, 0x04, 0x0a, + 0x22, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, + 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x72, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xad, 0x01, 0x0a, 0x1d, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x41, 0x70, 0x70, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x07, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xbc, 0x8f, 0xa4, 0x31, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xb9, 0xd4, + 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x0a, 0x21, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x23, 0x0a, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xe7, 0xbd, 0x92, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0xbc, 0x8f, 0xa4, 0x31, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x75, 0x72, 0x6c, + 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x22, 0x9e, 0x01, 0x0a, 0x1c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, + 0x75, 0x6e, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, + 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x9a, 0xff, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xbc, 0x8f, 0xa4, 0x31, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, + 0x73, 0x6b, 0x22, 0xec, 0x02, 0x0a, 0x18, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, + 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, - 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, - 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, + 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x22, 0xc5, 0x03, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x73, 0x63, 0x44, 0x61, 0x74, + 0x61, 0x12, 0x39, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x70, 0x73, + 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xac, 0xad, 0xeb, 0xd7, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, + 0x73, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, + 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0xdd, 0xa5, 0xa3, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0f, 0x70, + 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb4, 0xc9, 0xe7, 0x57, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x13, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0xb0, 0x01, + 0x0a, 0x13, 0x50, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x50, 0x53, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x43, + 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0xa7, 0x9f, 0xd2, 0x75, 0x12, 0x0e, 0x0a, 0x06, 0x43, + 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4e, + 0x45, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xbc, + 0x8b, 0xa2, 0xa4, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, + 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x19, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xca, 0xcc, 0x8b, 0x14, + 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x70, 0x73, + 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x73, + 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, + 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x2b, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xad, + 0x91, 0xba, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x2b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, + 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xb2, 0x01, + 0x0a, 0x29, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb5, 0xd6, 0xba, + 0xb5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x45, 0x0a, 0x0c, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x48, 0x4f, 0x57, 0x10, 0xfd, + 0xa5, 0x9b, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0xff, 0xba, 0x9b, 0x01, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0xd4, 0x02, 0x0a, 0x29, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6f, 0x0a, 0x0a, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xdb, 0x03, 0x0a, 0x22, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, - 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0xa8, 0x8a, 0xe5, - 0xa6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x49, 0x64, 0x4f, 0x72, 0x4e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x18, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x94, 0xb2, 0xf0, 0x37, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x43, 0x69, 0x64, - 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, - 0x22, 0x94, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0xa7, 0x9f, - 0xd2, 0x75, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, - 0xb5, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, - 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xbc, 0x8b, 0xa2, 0xa4, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x08, 0x52, - 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x19, 0x0a, 0x12, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0xca, 0xcc, 0x8b, 0x14, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xe6, 0x02, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x03, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xdb, 0x01, 0x0a, 0x1f, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x68, 0x0a, + 0x17, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xad, 0x97, 0xff, 0x0d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x15, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe9, 0x01, 0x0a, 0x1f, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x07, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x73, 0x18, 0x97, 0x93, 0xad, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x73, 0x12, 0x5b, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x86, 0x91, 0x8a, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x22, 0xd5, 0x0a, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x96, 0xbb, 0xfa, 0x34, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xbf, 0x83, 0xdc, + 0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, + 0x6e, 0x67, 0x74, 0x68, 0x18, 0x9d, 0x83, 0x99, 0x61, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, + 0x18, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x13, + 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x18, 0xee, 0xe5, 0xc4, 0xe6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x31, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xdd, 0xf5, 0xd1, 0xf0, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x70, + 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x9c, 0xb3, 0xef, 0xa2, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xd4, 0x97, 0x8f, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x69, 0x5f, 0x70, 0x18, 0x89, 0xb1, 0xe5, 0x62, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x08, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x50, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xc6, 0xc2, 0x1c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x07, 0x6e, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0xe1, 0xf8, 0x97, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x0a, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0a, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x79, 0x0a, + 0x0e, 0x49, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x56, + 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, + 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, + 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, + 0x85, 0x01, 0x12, 0x24, 0x0a, 0x1c, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0xa5, 0xf6, 0xa4, 0x95, 0x01, 0x22, 0x60, 0x0a, 0x07, 0x4e, 0x69, 0x63, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x4e, 0x49, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x47, + 0x56, 0x4e, 0x49, 0x43, 0x10, 0x99, 0x95, 0xc3, 0x20, 0x12, 0x1b, 0x0a, 0x14, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x4e, 0x49, 0x43, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0xd9, 0xbe, 0x92, 0x20, 0x12, 0x12, 0x0a, 0x0a, 0x56, 0x49, 0x52, 0x54, 0x49, 0x4f, + 0x5f, 0x4e, 0x45, 0x54, 0x10, 0xd9, 0xb6, 0xcb, 0xd7, 0x01, 0x22, 0x69, 0x0a, 0x09, 0x53, 0x74, + 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, + 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, + 0xe8, 0xca, 0x0a, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, + 0x10, 0xa6, 0xcb, 0xd5, 0x0a, 0x12, 0x1e, 0x0a, 0x16, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, + 0xd9, 0xd1, 0x91, 0x8e, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, + 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x5f, 0x70, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6e, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xd2, 0x02, 0x0a, 0x0b, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x82, 0x08, 0x0a, 0x0e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xdd, 0xe2, 0xb2, 0x1b, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x65, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x18, 0xd0, 0xca, 0xc6, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x14, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x8d, 0xa5, 0xdf, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x53, 0x0a, 0x23, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0xe2, 0xea, 0xd9, 0x2e, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x03, 0x52, 0x1e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xbe, + 0xf1, 0xb3, 0x5e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x12, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x53, 0x0a, 0x23, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x91, 0x8e, 0xf0, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x05, 0x52, 0x1e, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, + 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6d, 0x74, 0x75, 0x18, + 0xd1, 0x8e, 0x97, 0x21, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, + 0x4d, 0x74, 0x75, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0a, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x94, 0xf9, + 0xc8, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x22, 0x49, 0x0a, 0x09, 0x53, 0x74, 0x61, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, + 0xca, 0x0a, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, + 0xa6, 0xcb, 0xd5, 0x0a, 0x22, 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, + 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, + 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xeb, + 0x98, 0xf9, 0x80, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, + 0x26, 0x0a, 0x24, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6d, 0x74, 0x75, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xe8, 0x01, 0x0a, 0x18, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x45, 0x0a, 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, + 0x72, 0x18, 0xff, 0x9f, 0x85, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x18, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x65, 0x0a, 0x18, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x54, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, + 0x42, 0x41, 0x4e, 0x44, 0x57, 0x49, 0x44, 0x54, 0x48, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xa1, 0xc4, 0xfd, 0x36, + 0x12, 0x0e, 0x0a, 0x06, 0x54, 0x49, 0x45, 0x52, 0x5f, 0x31, 0x10, 0x94, 0xca, 0xf1, 0x9b, 0x01, + 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, 0x72, + 0x22, 0x9f, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x6f, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x72, 0x6f, 0x75, + 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xfc, 0xba, 0xc8, 0xe2, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, + 0x64, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4a, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, + 0x12, 0x0e, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xa3, 0xef, 0xef, 0xeb, 0x01, + 0x12, 0x0f, 0x0a, 0x08, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x9f, 0xec, 0x80, + 0x2c, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x22, 0xb9, 0x02, 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, + 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x34, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xdd, 0xe2, 0xb2, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, + 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x59, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xaf, 0x8c, 0xec, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x02, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x0c, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xd1, 0xe0, + 0xdb, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x75, + 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xf3, + 0x01, 0x0a, 0x25, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x10, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x18, 0xc2, 0xca, + 0xfc, 0xc3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x12, + 0x43, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0xf3, 0xc6, 0xe8, + 0x81, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x73, 0x22, 0x95, 0x03, 0x0a, 0x3c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0xee, 0xb8, 0xd0, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x52, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, + 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x48, 0x49, 0x45, 0x52, 0x41, 0x52, 0x43, 0x48, 0x59, 0x10, + 0x95, 0xc4, 0xaa, 0x21, 0x12, 0x0f, 0x0a, 0x07, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, + 0x8e, 0xcc, 0xb3, 0xc5, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x43, 0x0a, 0x1c, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x1c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x59, 0x0a, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xaf, 0x8c, 0xec, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x22, 0xaa, 0x0a, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, + 0x6a, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd9, 0xe0, 0xea, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, + 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, + 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, + 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, + 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xde, 0xc7, + 0xf6, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x6a, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x9c, 0xb5, 0xef, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x48, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x97, 0xe4, 0x8b, 0x9a, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0e, 0x73, + 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x83, 0x91, + 0x94, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x0c, + 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x0d, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0e, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0f, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x4d, + 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x41, + 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xa1, 0xc4, + 0xfd, 0x36, 0x12, 0x25, 0x0a, 0x1e, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, + 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0xd6, 0xb0, 0xe5, 0x22, 0x12, 0x20, 0x0a, 0x19, 0x4d, 0x49, 0x47, + 0x52, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, + 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x82, 0xf1, 0x97, 0x49, 0x12, 0x17, 0x0a, 0x10, 0x52, + 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, + 0x9d, 0xc3, 0x83, 0x6d, 0x22, 0x61, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, + 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, + 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, + 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x75, 0x74, 0x6f, + 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x61, 0x69, 0x6e, + 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x89, + 0x04, 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x54, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x1a, 0x67, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x4e, + 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x09, 0x6d, 0x61, 0x78, + 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x96, 0x80, 0xfe, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x00, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x84, 0xad, 0xaa, + 0xfe, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, + 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, + 0x01, 0x22, 0x5f, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, + 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0xfb, 0xa4, 0x89, 0xb1, 0x01, 0x12, 0x09, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0xcf, + 0xe2, 0x04, 0x12, 0x07, 0x0a, 0x02, 0x4f, 0x4e, 0x10, 0xdf, 0x13, 0x12, 0x15, 0x0a, 0x0e, 0x4f, + 0x4e, 0x4c, 0x59, 0x5f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc6, 0xf3, + 0xe8, 0x48, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xd6, 0x02, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x3b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xca, 0x01, 0x0a, 0x1a, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, + 0x5d, 0x0a, 0x14, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc0, 0xa2, 0xbd, 0xfa, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x13, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xd0, 0x09, + 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, + 0x52, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0xe8, 0xd6, 0xc5, 0x80, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x73, 0x12, 0x68, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x8e, 0xf5, 0xc1, 0x9f, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, + 0x13, 0x63, 0x70, 0x75, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xd7, 0x8e, 0x90, 0x76, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x11, 0x63, 0x70, 0x75, 0x4f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, + 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, + 0x6b, 0x73, 0x12, 0x6f, 0x0a, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, + 0xb8, 0xd0, 0xb2, 0x28, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x17, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd7, 0x96, + 0x90, 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, + 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x04, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x89, 0xa3, 0xa2, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x97, 0xaf, 0xed, 0xa1, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x61, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0xea, 0x9d, 0xb9, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, + 0x08, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x88, 0x01, 0x01, 0x22, 0x7c, 0x0a, 0x11, 0x43, 0x70, 0x75, 0x4f, 0x76, 0x65, 0x72, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x1f, + 0x43, 0x50, 0x55, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x8f, 0xf4, 0xa2, 0xf8, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, + 0x10, 0xa1, 0xae, 0xec, 0x56, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, + 0x92, 0x01, 0x22, 0x74, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, + 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, + 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, + 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, + 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x49, + 0x4e, 0x47, 0x10, 0x95, 0x82, 0x95, 0xc5, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x22, 0x71, 0x0a, 0x19, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, + 0x15, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xaa, 0xcf, 0xaf, 0x40, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x00, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x37, 0x0a, 0x1c, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xb1, 0xa5, 0x88, + 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xe0, 0x02, 0x0a, + 0x13, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, @@ -146491,241 +153985,155 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, - 0xcf, 0x01, 0x0a, 0x1c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x5f, 0x0a, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x9f, 0xde, 0xd6, 0xf8, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0xae, 0x01, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xb1, 0x85, 0xf3, 0x22, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x62, 0x0a, 0x20, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x97, 0xe4, 0x8b, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x22, 0x44, 0x0a, 0x29, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x17, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xb1, 0xa5, 0x88, 0x32, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xf8, 0x0a, 0x0a, 0x0c, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x0c, 0x61, + 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xe8, 0xd6, 0xc5, 0x80, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xb3, 0x04, 0x0a, 0x1a, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, - 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, - 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, - 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, - 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x09, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x22, 0xe1, 0x04, 0x0a, 0x28, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, - 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, - 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x78, 0x0a, 0x0a, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xf4, 0x01, 0x0a, 0x25, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x7b, 0x0a, 0x1e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0xac, 0xcb, 0xf8, 0x10, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x1b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, - 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, + 0x36, 0x0a, 0x13, 0x63, 0x70, 0x75, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd7, 0x8e, 0x90, 0x76, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x11, 0x63, 0x70, 0x75, 0x4f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, + 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, + 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x64, 0x69, 0x73, + 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x14, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x66, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xb9, 0xad, 0xd3, + 0xa1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xe3, 0x02, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa4, 0xf6, 0xb5, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x95, - 0xa5, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x66, 0x71, 0x64, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, - 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x03, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x4e, 0x6f, + 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd7, 0x96, 0x90, 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x06, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x75, 0x0a, 0x15, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x66, 0x6c, 0x65, + 0x78, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0xb1, 0xe8, 0xa9, 0x96, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x07, 0x52, 0x13, + 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, + 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0e, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x89, + 0xa3, 0xa2, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, + 0x0a, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, + 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xba, 0xc9, 0xe9, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0c, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x1a, 0x45, 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, - 0x71, 0x64, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xcc, 0x0c, 0x0a, 0x14, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x12, 0x63, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0xa4, 0xf6, 0xb5, 0x35, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5e, 0x0a, 0x0a, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x6e, - 0x67, 0x69, 0x6e, 0x65, 0x18, 0xa0, 0x8c, 0xc0, 0xa2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x48, 0x00, 0x52, 0x09, 0x61, 0x70, 0x70, 0x45, 0x6e, 0x67, - 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa2, 0xe5, 0xf3, 0xf7, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, - 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x18, - 0x81, 0xcb, 0xfa, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, 0x48, - 0x02, 0x52, 0x08, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x35, - 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0xbf, 0xf7, 0xf0, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x04, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, - 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd3, 0xc6, 0xb4, 0x38, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, - 0x52, 0x13, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x70, 0x73, 0x63, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x18, 0xc9, 0xdb, 0xa6, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x73, 0x63, 0x44, - 0x61, 0x74, 0x61, 0x48, 0x0b, 0x52, 0x07, 0x70, 0x73, 0x63, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, - 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x73, 0x63, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xe6, 0xc2, 0xaa, 0x80, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0c, 0x52, 0x10, 0x70, 0x73, 0x63, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x0f, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x10, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x1a, - 0x3e, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xf0, 0x01, 0x0a, 0x13, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x45, 0x4e, 0x44, - 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, - 0x47, 0x43, 0x45, 0x5f, 0x56, 0x4d, 0x5f, 0x49, 0x50, 0x10, 0xd9, 0xed, 0xd0, 0xbf, 0x01, 0x12, - 0x16, 0x0a, 0x0e, 0x47, 0x43, 0x45, 0x5f, 0x56, 0x4d, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x4f, 0x52, - 0x54, 0x10, 0xa7, 0xe4, 0xa5, 0xef, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x45, 0x54, 0x5f, 0x46, 0x51, 0x44, 0x4e, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xed, 0xd0, - 0xdb, 0xc0, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x5f, - 0x49, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x9b, 0xdb, 0xe5, 0xe3, 0x01, 0x12, 0x1f, 0x0a, - 0x17, 0x4e, 0x4f, 0x4e, 0x5f, 0x47, 0x43, 0x50, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, - 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe0, 0x93, 0xb7, 0xa0, 0x01, 0x12, 0x1e, - 0x0a, 0x17, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, - 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0xc4, 0xf4, 0xf9, 0x16, 0x12, 0x12, - 0x0a, 0x0a, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x4c, 0x45, 0x53, 0x53, 0x10, 0xdc, 0xc6, 0xfd, - 0x80, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x65, 0x6e, 0x67, 0x69, 0x6e, - 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, - 0x75, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7c, 0x0a, 0x11, 0x43, 0x70, + 0x75, 0x4f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, + 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x00, 0x12, 0x27, 0x0a, 0x1f, 0x43, 0x50, 0x55, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x43, 0x4f, + 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x8f, 0xf4, 0xa2, 0xf8, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x45, + 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xa1, 0xae, 0xec, 0x56, 0x12, 0x0b, 0x0a, 0x04, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x22, 0x61, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, + 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, + 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, 0x16, 0x0a, 0x14, 0x5f, + 0x63, 0x70, 0x75, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, - 0x18, 0x0a, 0x16, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x73, - 0x63, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xaa, 0x04, 0x0a, 0x22, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, - 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, + 0x66, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x92, 0x04, 0x0a, 0x1a, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x1a, 0x6a, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, + 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, @@ -146733,275 +154141,205 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x1a, 0x72, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xad, 0x01, 0x0a, 0x1d, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x70, 0x70, - 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x75, 0x72, 0x6c, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xbc, 0x8f, 0xa4, 0x31, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x07, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xb9, 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0x0a, 0x21, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xe7, 0xbd, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xbc, 0x8f, 0xa4, 0x31, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x73, 0x6b, 0x88, - 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x9e, 0x01, 0x0a, - 0x1c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x75, 0x6e, 0x12, 0x21, 0x0a, - 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x17, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x9a, 0xff, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x03, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x75, 0x72, 0x6c, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xbc, 0x8f, 0xa4, 0x31, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x07, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x74, 0x61, 0x67, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xec, 0x02, - 0x0a, 0x18, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc5, 0x03, 0x0a, - 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x73, 0x63, 0x44, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a, 0x14, - 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0xac, 0xad, 0xeb, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x73, 0x63, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x70, 0x73, 0x63, 0x5f, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0xdd, 0xa5, 0xa3, - 0x8b, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0f, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, - 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb4, 0xc9, 0xe7, 0x57, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x13, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0xb0, 0x01, 0x0a, 0x13, 0x50, 0x73, 0x63, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x53, - 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, - 0x44, 0x10, 0xa7, 0x9f, 0xd2, 0x75, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, - 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, - 0x41, 0x54, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xbc, 0x8b, 0xa2, 0xa4, 0x01, 0x12, - 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, - 0x0f, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xfe, 0x88, 0x84, 0x53, - 0x12, 0x19, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xca, 0xcc, 0x8b, 0x14, 0x42, 0x17, 0x0a, 0x15, 0x5f, - 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, - 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x2b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x87, - 0x01, 0x0a, 0x2b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x58, - 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xb2, 0x01, 0x0a, 0x29, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb5, 0xd6, 0xba, 0xb5, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x22, 0x45, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x48, 0x4f, 0x57, 0x10, 0xfd, 0xa5, 0x9b, 0x01, 0x12, 0x0b, - 0x0a, 0x04, 0x53, 0x4b, 0x49, 0x50, 0x10, 0xff, 0xba, 0x9b, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd4, 0x02, - 0x0a, 0x29, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x51, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x57, 0x69, 0x74, - 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa6, 0x01, 0x0a, 0x1f, 0x4e, 0x6f, + 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, + 0x04, 0x63, 0x70, 0x75, 0x73, 0x18, 0xcb, 0xe7, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x63, 0x70, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x18, 0xb0, 0xbe, 0xbc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x1f, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x81, 0xfa, 0x8a, 0xfe, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x22, 0xbb, 0x01, 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x50, + 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x18, 0xbc, 0xa2, 0xed, 0xa8, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x03, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xdb, 0x01, 0x0a, 0x1f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x17, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x18, 0xad, 0x97, 0xff, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x15, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xe9, 0x01, 0x0a, 0x1f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x73, 0x18, 0x97, 0x93, 0xad, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x46, 0x6f, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x07, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x73, 0x12, 0x5b, 0x0a, 0x10, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x18, 0x86, 0x91, 0x8a, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xd5, - 0x0a, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x96, 0xbb, 0xfa, 0x34, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x12, 0x50, 0x0a, 0x0f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x69, 0x70, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xbf, 0x83, 0xdc, 0x4e, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x49, 0x70, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x45, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, - 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, - 0x9d, 0x83, 0x99, 0x61, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x18, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, - 0x6e, 0x67, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x13, 0x69, 0x70, 0x76, 0x36, 0x5f, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xee, - 0xe5, 0xc4, 0xe6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x9a, 0x05, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, + 0x0c, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xaa, 0xea, + 0xd1, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, + 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x11, 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x12, 0x31, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xdd, 0xf5, 0xd1, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0e, 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x9c, 0xb3, 0xef, 0xa2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x0b, 0x69, 0x70, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x18, 0xd4, 0x97, 0x8f, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x5f, - 0x70, 0x18, 0x89, 0xb1, 0xe5, 0x62, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x09, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x50, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x6e, 0x69, - 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xc6, 0xc2, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x09, 0x52, 0x07, 0x6e, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, - 0x0b, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xe1, 0xf8, 0x97, - 0xf0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x0b, 0x52, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, - 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x79, 0x0a, 0x0e, 0x49, 0x70, 0x76, 0x36, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x10, 0x0a, 0x08, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x12, 0x24, 0x0a, - 0x1c, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x56, - 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xa5, 0xf6, - 0xa4, 0x95, 0x01, 0x22, 0x60, 0x0a, 0x07, 0x4e, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, - 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x49, 0x43, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x47, 0x56, 0x4e, 0x49, 0x43, 0x10, - 0x99, 0x95, 0xc3, 0x20, 0x12, 0x1b, 0x0a, 0x14, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x5f, 0x4e, 0x49, 0x43, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xd9, 0xbe, 0x92, - 0x20, 0x12, 0x12, 0x0a, 0x0a, 0x56, 0x49, 0x52, 0x54, 0x49, 0x4f, 0x5f, 0x4e, 0x45, 0x54, 0x10, - 0xd9, 0xb6, 0xcb, 0xd7, 0x01, 0x22, 0x69, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, - 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, 0x0a, 0x12, 0x10, - 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, 0xcb, 0xd5, 0x0a, - 0x12, 0x1e, 0x0a, 0x16, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xd9, 0xd1, 0x91, 0x8e, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, - 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x5f, 0x70, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6e, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x71, 0x75, 0x65, - 0x75, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x26, 0x0a, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xd2, + 0xcb, 0xc8, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, + 0x74, 0x43, 0x70, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x67, 0x62, 0x18, 0xca, 0x88, 0xff, 0x9c, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, + 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, + 0x6d, 0x62, 0x18, 0x93, 0x93, 0xa8, 0x37, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x08, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, + 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x70, 0x75, + 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x67, 0x62, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x86, 0x04, + 0x0a, 0x16, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x53, + 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x1a, 0x66, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x42, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xab, 0x01, + 0x0a, 0x13, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x18, 0xfc, 0xbf, 0xf5, 0xe5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe0, 0x03, 0x0a, 0x14, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xa4, 0xc6, 0xc0, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x02, 0x52, 0x0c, + 0x67, 0x72, 0x70, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x06, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xfb, + 0x02, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0xc3, 0x8e, 0xd0, 0xbf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x95, 0xbb, 0x9c, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x9c, + 0xb5, 0x9c, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0f, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xc9, 0xb8, + 0x88, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x0e, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, + 0x34, 0x0a, 0x12, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xdd, 0xce, 0x94, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, + 0x52, 0x10, 0x72, 0x65, 0x74, 0x72, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x63, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, + 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x22, 0xec, 0x02, 0x0a, + 0x18, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, @@ -147017,308 +154355,137 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x82, 0x08, 0x0a, 0x0e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, - 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x18, 0xdd, 0xe2, 0xb2, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x10, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xd0, - 0xca, 0xc6, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x14, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x8d, 0xa5, 0xdf, 0x1c, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x12, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x23, - 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x69, 0x70, 0x18, 0xe2, 0xea, 0xd9, 0x2e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x1e, - 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x38, 0x0a, 0x14, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xbe, 0xf1, 0xb3, 0x5e, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x04, 0x52, 0x12, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x23, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x69, 0x70, 0x18, 0x91, 0x8e, 0xf0, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x1e, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x07, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6d, 0x74, 0x75, 0x18, 0xd1, 0x8e, 0x97, 0x21, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x4d, 0x74, 0x75, 0x88, 0x01, - 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x94, 0xf9, 0xc8, 0x2d, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0b, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x88, 0x01, 0x01, 0x22, 0x49, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, - 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, 0x0a, 0x12, 0x10, 0x0a, - 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, 0xcb, 0xd5, 0x0a, 0x22, - 0x3e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, - 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xeb, 0x98, 0xf9, 0x80, 0x01, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x65, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x65, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x69, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x26, 0x0a, 0x24, 0x5f, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x69, 0x70, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x6d, 0x74, 0x75, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x22, 0xe8, 0x01, 0x0a, 0x18, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x72, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, - 0x1b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x61, - 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xff, 0x9f, 0x85, - 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x54, 0x69, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x22, 0x65, 0x0a, 0x18, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x45, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x54, 0x69, 0x65, 0x72, - 0x12, 0x29, 0x0a, 0x25, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x4f, - 0x54, 0x41, 0x4c, 0x5f, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x42, 0x41, 0x4e, 0x44, 0x57, - 0x49, 0x44, 0x54, 0x48, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x44, - 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xa1, 0xc4, 0xfd, 0x36, 0x12, 0x0e, 0x0a, 0x06, 0x54, - 0x49, 0x45, 0x52, 0x5f, 0x31, 0x10, 0x94, 0xca, 0xf1, 0x9b, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x62, 0x61, 0x6e, - 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x22, 0x9f, 0x01, 0x0a, 0x14, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xfc, 0xba, 0xc8, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, - 0x22, 0x4a, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, 0x55, - 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x47, - 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xa3, 0xef, 0xef, 0xeb, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x52, - 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x9f, 0xec, 0x80, 0x2c, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xb9, 0x02, - 0x0a, 0x19, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x12, 0x61, - 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x18, 0xdd, 0xe2, 0xb2, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x61, 0x75, - 0x74, 0x6f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, - 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x18, 0xaf, 0x8c, 0xec, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x48, 0x02, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xd1, 0xe0, 0xdb, 0xee, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xf3, 0x01, 0x0a, 0x25, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x18, 0xc2, 0xca, 0xfc, 0xc3, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0xf3, 0xc6, 0xe8, 0x81, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x22, - 0x95, 0x03, 0x0a, 0x3c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x45, - 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, - 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0xb8, 0xd0, 0xea, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, - 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x22, 0x52, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x09, 0x48, 0x49, 0x45, 0x52, 0x41, 0x52, 0x43, 0x48, 0x59, 0x10, 0x95, 0xc4, 0xaa, 0x21, 0x12, - 0x0f, 0x0a, 0x07, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x8e, 0xcc, 0xb3, 0xc5, 0x01, - 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x43, 0x0a, 0x1c, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8d, 0x01, 0x0a, - 0x1c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x59, 0x0a, - 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x18, 0xaf, 0x8c, 0xec, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x65, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xaa, 0x0a, 0x0a, - 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x6a, 0x0a, 0x12, 0x61, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0xd9, 0xe0, 0xea, 0x69, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa1, 0x0f, 0x0a, 0x09, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x13, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0xe7, 0x8d, 0xde, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0xb1, 0xa7, 0xe7, 0x36, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x88, 0xa4, 0x93, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x75, 0x74, - 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, - 0x52, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, - 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x06, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xde, 0xc7, 0xf6, 0xfb, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x12, 0x6d, 0x61, - 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x18, 0x9c, 0xb5, 0xef, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x48, 0x04, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xd9, 0xfa, 0xc8, 0x60, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe8, 0x47, 0x04, 0x48, 0x05, 0x52, 0x10, 0x68, 0x74, 0x74, + 0x70, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x41, 0x0a, 0x16, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xec, 0x84, 0xf8, 0x94, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe8, 0x47, 0x03, 0x48, 0x06, 0x52, 0x13, 0x68, 0x74, 0x74, + 0x70, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x07, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x69, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x93, 0xa9, 0xe8, 0xce, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x9d, 0x01, 0x0a, 0x28, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x5f, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0xc1, 0x86, 0xc1, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x69, - 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x48, 0x08, - 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, - 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x18, 0x97, 0xe4, 0x8b, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, - 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x83, 0x91, 0x94, 0x7f, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x0c, 0x52, 0x0d, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0d, - 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, 0xa7, 0x01, 0x0a, 0x11, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, - 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x1c, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x00, 0x12, 0x0e, 0x0a, - 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xa1, 0xc4, 0xfd, 0x36, 0x12, 0x25, 0x0a, - 0x1e, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x4f, 0x4c, - 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0xd6, 0xb0, 0xe5, 0x22, 0x12, 0x20, 0x0a, 0x19, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, 0x45, 0x5f, - 0x57, 0x49, 0x54, 0x48, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, - 0x50, 0x10, 0x82, 0xf1, 0x97, 0x49, 0x12, 0x17, 0x0a, 0x10, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, - 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x9d, 0xc3, 0x83, 0x6d, 0x22, - 0x61, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, - 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, - 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, - 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, - 0x8f, 0x25, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, - 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, - 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x61, - 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x89, 0x04, 0x0a, 0x17, 0x4e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x75, 0x6c, + 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x09, 0x52, 0x24, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x1f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe8, 0x47, 0x01, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x34, 0x0a, 0x12, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0xb3, 0xed, 0x93, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0c, 0x52, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x92, 0xf6, 0xda, 0x54, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0d, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0xad, 0x84, 0xd3, 0x22, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0e, 0x52, 0x08, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x10, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0xb1, 0x01, 0x0a, 0x2f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0xe4, 0xad, 0xea, 0xe9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, - 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x67, - 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x48, 0x11, 0x52, 0x2a, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8a, 0x02, 0x0a, 0x1a, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x18, 0x96, 0x80, 0xfe, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x6d, - 0x61, 0x78, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x6d, 0x69, - 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x84, 0xad, 0xaa, 0xfe, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, 0xcc, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x22, 0x5f, 0x0a, 0x04, - 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xfb, 0xa4, 0x89, - 0xb1, 0x01, 0x12, 0x09, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0xcf, 0xe2, 0x04, 0x12, 0x07, 0x0a, - 0x02, 0x4f, 0x4e, 0x10, 0xdf, 0x13, 0x12, 0x15, 0x0a, 0x0e, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x53, - 0x43, 0x41, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0xc6, 0xf3, 0xe8, 0x48, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x22, 0xd6, 0x02, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe8, 0x47, 0x02, 0x48, 0x13, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xba, 0xc9, 0xe9, + 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x89, 0x95, 0x8d, 0x7b, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x15, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0xe8, + 0x93, 0xf1, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, + 0x18, 0xcb, 0xd7, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x17, 0x52, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0xd7, 0x88, 0xc1, 0xed, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x88, 0x01, 0x01, 0x22, 0x4b, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x82, 0xb7, 0x80, 0x01, + 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, + 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, + 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, + 0x2b, 0x0a, 0x29, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x62, 0x75, + 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x32, + 0x0a, 0x30, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, + 0x89, 0x04, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x54, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, @@ -147326,287 +154493,30 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x1a, 0x67, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xca, 0x01, 0x0a, 0x1a, - 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, - 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x5d, 0x0a, 0x14, 0x6d, 0x61, - 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xc0, 0xa2, 0xbd, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x13, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xd0, 0x09, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x52, 0x0a, 0x0c, 0x61, 0x63, - 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xe8, 0xd6, 0xc5, 0x80, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x68, - 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x18, 0x8e, 0xf5, 0xc1, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x63, 0x70, 0x75, 0x5f, - 0x6f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0xd7, 0x8e, 0x90, 0x76, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x70, 0x75, 0x4f, - 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x3b, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x6f, 0x0a, - 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0xb8, 0xd0, 0xb2, 0x28, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1f, - 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd7, 0x96, 0x90, 0xde, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, - 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0c, - 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x55, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x18, 0x89, 0xa3, 0xa2, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x48, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x97, 0xaf, 0xed, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, - 0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x07, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x61, 0x0a, 0x0f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, - 0xea, 0x9d, 0xb9, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x75, - 0x6d, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x08, 0x52, 0x0e, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x22, - 0x7c, 0x0a, 0x11, 0x43, 0x70, 0x75, 0x4f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x43, 0x50, 0x55, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x27, 0x0a, 0x1f, 0x43, 0x50, 0x55, 0x5f, 0x4f, - 0x56, 0x45, 0x52, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x8f, 0xf4, 0xa2, 0xf8, 0x01, - 0x12, 0x0e, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xa1, 0xae, 0xec, 0x56, - 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x22, 0x74, 0x0a, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, - 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, - 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, - 0x12, 0x11, 0x0a, 0x09, 0x52, 0x45, 0x50, 0x41, 0x49, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x95, 0x82, - 0x95, 0xc5, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, - 0x70, 0x75, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, - 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x71, 0x0a, 0x19, 0x4e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x15, 0x61, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0xaa, 0xcf, 0xaf, 0x40, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x13, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x37, - 0x0a, 0x1c, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, - 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xb1, 0xa5, 0x88, 0x32, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xe0, 0x02, 0x0a, 0x13, 0x4e, 0x6f, 0x64, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x4e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x18, 0xb1, 0x85, 0xf3, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x20, 0x4e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2c, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x18, 0x97, 0xe4, 0x8b, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x6e, 0x6f, - 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, - 0x44, 0x0a, 0x29, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x05, - 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xb1, 0xa5, 0x88, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, - 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0xf8, 0x0a, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0xe8, 0xd6, 0xc5, 0x80, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x61, 0x63, - 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x36, 0x0a, 0x13, 0x63, 0x70, - 0x75, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0xd7, 0x8e, 0x90, 0x76, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x70, - 0x75, 0x4f, 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, - 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, - 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x73, 0x0a, 0x14, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xb9, 0xad, 0xd3, 0xa1, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x79, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x12, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0xd7, 0x96, 0x90, 0xde, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x6e, - 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x75, 0x0a, 0x15, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x66, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x18, 0xb1, 0xe8, 0xa9, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x65, 0x78, - 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x48, 0x07, 0x52, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x46, 0x6c, 0x65, 0x78, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x89, 0xa3, 0xa2, 0x63, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x0a, 0x52, 0x0d, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0b, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0xba, 0xc9, 0xe9, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0d, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x45, - 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7c, 0x0a, 0x11, 0x43, 0x70, 0x75, 0x4f, 0x76, 0x65, 0x72, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x5f, 0x4f, 0x56, 0x45, 0x52, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x27, 0x0a, - 0x1f, 0x43, 0x50, 0x55, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x8f, 0xf4, 0xa2, 0xf8, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, - 0x44, 0x10, 0xa1, 0xae, 0xec, 0x56, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, - 0xce, 0x92, 0x01, 0x22, 0x61, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, - 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, - 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, - 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x6f, - 0x76, 0x65, 0x72, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x18, 0x0a, 0x16, - 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x66, 0x6c, 0x65, 0x78, 0x69, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0x92, 0x04, 0x0a, 0x1a, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6a, 0x0a, 0x0a, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x3e, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd6, 0x02, 0x0a, 0x0d, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, @@ -147622,197 +154532,243 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa6, 0x01, 0x0a, 0x1f, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x46, 0x6c, 0x65, - 0x78, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x70, 0x75, 0x73, - 0x18, 0xcb, 0xe7, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, 0x70, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, - 0x64, 0x18, 0xb0, 0xbe, 0xbc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x81, 0xfa, 0x8a, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x63, 0x70, 0x75, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, - 0x73, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0xbb, 0x01, - 0x0a, 0x17, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x50, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0xbc, 0xa2, 0xed, 0xa8, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x6e, 0x6f, - 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x9a, 0x05, 0x0a, 0x08, - 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x0c, 0x63, 0x70, 0x75, 0x5f, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xaa, 0xea, 0xd1, 0xc3, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x64, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, - 0x02, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x67, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xd2, 0xcb, 0xc8, 0xbb, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x09, 0x67, 0x75, 0x65, 0x73, 0x74, 0x43, 0x70, 0x75, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, - 0x73, 0x64, 0x5f, 0x67, 0x62, 0x18, 0xca, 0x88, 0xff, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x07, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x47, 0x62, 0x88, 0x01, 0x01, - 0x12, 0x23, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x18, 0x93, 0x93, - 0xa8, 0x37, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x4d, 0x62, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6d, 0x62, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x86, 0x04, 0x0a, 0x16, 0x4e, 0x6f, 0x64, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, - 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x66, 0x0a, 0x0a, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x42, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xab, 0x01, 0x0a, 0x13, 0x4e, 0x6f, 0x64, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x44, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0xfc, - 0xbf, 0xf5, 0xe5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xec, 0xaf, 0xff, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6e, 0x6f, 0x64, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe0, 0x03, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x67, 0x0a, 0x0d, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0xa4, 0xc6, 0xc0, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x02, 0x52, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x07, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x73, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xfb, 0x02, 0x0a, 0x20, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x47, 0x72, 0x70, 0x63, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x25, - 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xc3, 0x8e, 0xd0, 0xbf, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x95, 0xbb, 0x9c, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x70, 0x61, 0x79, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x9c, 0xb5, 0x9c, 0x8f, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xc9, 0xb8, 0x88, 0xe4, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x72, 0x65, - 0x74, 0x72, 0x79, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, - 0x18, 0xdd, 0xce, 0x94, 0x37, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x10, 0x72, 0x65, 0x74, - 0x72, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x22, 0xec, 0x02, 0x0a, 0x18, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd9, 0x08, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, + 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x12, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x87, 0xd7, 0xcf, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x10, 0x62, + 0x61, 0x73, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xa0, 0xb3, 0xd0, 0xb8, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, + 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1b, 0x63, 0x6f, + 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0xfa, 0xb7, 0x8a, 0xc7, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x19, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x18, 0xc0, 0xd3, 0xd0, 0x65, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x1a, + 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, + 0x25, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0xda, 0xdf, 0x8a, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x04, 0x52, 0x22, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, + 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x65, 0x6e, 0x66, + 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x18, 0xbc, 0xef, 0xdf, 0x5c, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x14, + 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x18, 0xc5, 0xc9, 0xff, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x06, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x38, + 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x98, 0xa6, 0xe5, 0x08, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x07, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, + 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x1a, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, + 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0xf7, 0xa1, 0xda, 0xfa, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x08, 0x52, 0x17, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x4d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, + 0x0a, 0x1b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0xcd, 0xeb, + 0x98, 0x86, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x18, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x19, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x65, 0x76, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x6f, 0x72, 0x18, 0x9d, 0x83, 0xa9, 0x53, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x16, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x53, 0x74, 0x64, 0x65, 0x76, + 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, + 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, + 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x65, 0x6e, 0x66, 0x6f, + 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x28, 0x0a, 0x26, 0x5f, 0x65, 0x6e, 0x66, + 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, + 0x72, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, + 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, + 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x6f, 0x73, + 0x74, 0x73, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, + 0x6d, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, + 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x65, 0x76, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x22, 0xf9, 0x03, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0xb3, + 0xdc, 0xd4, 0x61, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x61, 0x76, 0x67, 0x4d, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x94, 0x9b, 0x91, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x5f, 0x6d, + 0x73, 0x18, 0xe1, 0xc4, 0xbc, 0xfc, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x05, 0x6d, + 0x61, 0x78, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, + 0x73, 0x18, 0xb3, 0xa5, 0xed, 0xff, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x05, 0x6d, + 0x69, 0x6e, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0xd5, 0xd5, 0xec, 0x58, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x04, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, + 0x22, 0x67, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xec, 0xf9, 0xa3, + 0xfc, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, 0x10, 0xe4, 0xdb, 0x87, 0x01, 0x12, + 0x09, 0x0a, 0x03, 0x4d, 0x41, 0x58, 0x10, 0xc4, 0xd2, 0x04, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x49, + 0x4e, 0x55, 0x54, 0x45, 0x10, 0x94, 0xb4, 0xba, 0x3c, 0x22, 0x68, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x4c, 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, + 0x4b, 0x10, 0x8b, 0x93, 0xeb, 0xa9, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x45, 0x43, 0x45, 0x49, + 0x56, 0x45, 0x10, 0xc3, 0xfd, 0xb7, 0x5a, 0x12, 0x10, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x4d, 0x49, 0x54, 0x10, 0xb0, 0x85, 0xfb, 0xd7, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x92, 0xfb, + 0xdb, 0xd0, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, + 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x07, 0x0a, + 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x12, 0x68, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6c, + 0x62, 0x18, 0xed, 0x89, 0xb6, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, + 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6c, 0x62, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x48, 0x04, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x14, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x73, 0x0a, 0x12, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0xc4, 0x9f, 0xc2, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x07, 0x52, + 0x11, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x55, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, + 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x09, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0a, + 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0b, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x22, 0x39, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, + 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, + 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x83, 0xc2, 0xe4, + 0x1f, 0x12, 0x0b, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x8e, 0xdb, 0x9d, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6c, 0x62, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, + 0x9b, 0x04, 0x0a, 0x1d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xea, 0x01, + 0x0a, 0x15, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0d, 0x49, 0x5f, 0x70, 0x5f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0xd6, 0xd9, 0xfe, 0x2e, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0b, 0x49, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x23, + 0x0a, 0x0b, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x81, 0x94, + 0xd3, 0xe8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xff, 0x8e, 0x80, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x51, 0x0a, 0x09, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, + 0x0a, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x81, 0xe7, 0x7c, 0x12, 0x0e, 0x0a, 0x06, 0x45, + 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xf5, 0xf6, 0xb4, 0xce, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, + 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x95, 0xfd, 0xbe, 0xf6, 0x01, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x21, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x2c, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0xa4, 0xff, 0xa3, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, + 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x61, 0x6e, 0x6f, + 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, + 0x6c, 0x22, 0xe2, 0x02, 0x0a, 0x13, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x41, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, @@ -147828,678 +154784,419 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xec, 0x0b, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0xe7, 0x8d, 0xde, 0x8d, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xb1, 0xa7, 0xe7, 0x36, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x88, 0xa4, 0x93, 0x2e, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x48, 0x04, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x12, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xd9, 0xfa, 0xc8, 0x60, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe8, 0x47, 0x04, 0x48, 0x05, 0x52, 0x10, 0x68, 0x74, 0x74, 0x70, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x16, 0x68, - 0x74, 0x74, 0x70, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xec, 0x84, 0xf8, 0x94, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, - 0x03, 0xe8, 0x47, 0x03, 0x48, 0x06, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x93, 0xa9, 0xe8, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, - 0x0a, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe8, 0x47, 0x01, - 0x48, 0x0a, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, - 0x64, 0x18, 0xb3, 0xed, 0x93, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x10, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x92, 0xf6, 0xda, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0d, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x22, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0xad, 0x84, 0xd3, - 0x22, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x10, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x4e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x03, 0xe8, 0x47, 0x02, 0x48, 0x11, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0xba, 0xc9, 0xe9, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, - 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x23, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x89, - 0x95, 0x8d, 0x7b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x13, 0x52, 0x08, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0xe8, 0x93, 0xf1, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, - 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0xcb, 0xd7, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x15, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x08, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xd7, 0x88, 0xc1, 0xed, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x16, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4b, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, - 0x4e, 0x45, 0x10, 0x82, 0xb7, 0x80, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, - 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, - 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x89, 0x04, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, - 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, - 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x67, 0x0a, 0x0a, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xd6, 0x02, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0xec, 0xaf, 0xff, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x95, 0x02, 0x0a, 0x23, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x69, + 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x6c, 0x0a, 0x0b, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xc5, 0xd4, 0xa5, 0xc6, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x15, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, + 0x99, 0xe8, 0xd8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x92, + 0x01, 0x0a, 0x2f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0xa4, 0xff, 0xa3, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x61, + 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x75, 0x72, 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x2d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, + 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xa4, 0xff, 0xa3, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x7d, 0x0a, 0x1a, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, + 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xa4, 0xff, 0xa3, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x88, + 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x06, 0x0a, + 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xc6, 0x01, 0x0a, 0x1a, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xa7, 0xfa, 0xdc, 0x49, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb3, + 0x02, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, + 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, + 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x95, 0x02, 0x0a, 0x19, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x12, 0x67, 0x0a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x98, 0xce, 0xc7, + 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9c, 0x02, 0x0a, + 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, + 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, + 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x1a, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, + 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6a, 0x0a, 0x18, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x16, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf5, + 0x01, 0x0a, 0x14, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x18, 0x80, 0xfa, 0xd5, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x56, 0x0a, 0x11, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xed, 0xb0, 0xe0, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd9, 0x08, 0x0a, 0x10, 0x4f, - 0x75, 0x74, 0x6c, 0x69, 0x65, 0x72, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x57, 0x0a, 0x12, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x87, 0xd7, 0xcf, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x10, 0x62, 0x61, 0x73, 0x65, 0x45, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x73, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xa0, - 0xb3, 0xd0, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x73, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x47, 0x0a, 0x1b, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, - 0xfa, 0xb7, 0x8a, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x19, 0x63, 0x6f, 0x6e, - 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1c, 0x65, 0x6e, 0x66, - 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xc0, 0xd3, 0xd0, 0x65, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x03, 0x52, 0x1a, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x43, - 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x25, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, - 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0xda, 0xdf, 0x8a, - 0xbc, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x22, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, - 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x3c, 0x0a, 0x16, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0xbc, 0xef, 0xdf, 0x5c, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x05, 0x52, 0x14, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, - 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xc5, 0xc9, 0xff, 0x0f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x06, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x98, 0xa6, 0xe5, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x6a, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, - 0x0a, 0x1a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0xf7, 0xa1, 0xda, - 0xfa, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x17, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x61, 0x74, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x6f, 0x73, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, - 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x6f, 0x6c, - 0x75, 0x6d, 0x65, 0x18, 0xcd, 0xeb, 0x98, 0x86, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, - 0x18, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x19, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x64, - 0x65, 0x76, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x9d, 0x83, 0xa9, 0x53, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x0a, 0x52, 0x16, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x64, 0x65, 0x76, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x1e, 0x0a, - 0x1c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x42, 0x1f, 0x0a, - 0x1d, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x73, - 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x42, 0x28, - 0x0a, 0x26, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x65, 0x6e, 0x66, - 0x6f, 0x72, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, - 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x64, 0x65, 0x76, 0x5f, - 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xf9, 0x03, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x06, 0x61, 0x76, - 0x67, 0x5f, 0x6d, 0x73, 0x18, 0xb3, 0xdc, 0xd4, 0x61, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, - 0x05, 0x61, 0x76, 0x67, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x9b, 0x91, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x06, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, 0x18, 0xe1, 0xc4, 0xbc, 0xfc, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x02, 0x52, 0x05, 0x6d, 0x61, 0x78, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x06, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x18, 0xb3, 0xa5, 0xed, 0xff, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x03, 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x4d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, - 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x18, 0xd5, - 0xd5, 0xec, 0x58, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x67, 0x0a, 0x08, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x44, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x44, 0x55, - 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0xec, 0xf9, 0xa3, 0xfc, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52, - 0x10, 0xe4, 0xdb, 0x87, 0x01, 0x12, 0x09, 0x0a, 0x03, 0x4d, 0x41, 0x58, 0x10, 0xc4, 0xd2, 0x04, - 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x10, 0x94, 0xb4, 0xba, 0x3c, 0x22, - 0x68, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x4c, - 0x4f, 0x4f, 0x50, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x8b, 0x93, 0xeb, 0xa9, 0x01, 0x12, 0x0e, 0x0a, - 0x07, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0xc3, 0xfd, 0xb7, 0x5a, 0x12, 0x10, 0x0a, - 0x08, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4d, 0x49, 0x54, 0x10, 0xb0, 0x85, 0xfb, 0xd7, 0x01, 0x12, - 0x18, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x92, 0xfb, 0xdb, 0xd0, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x76, - 0x67, 0x5f, 0x6d, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x22, 0xc0, 0x07, 0x0a, 0x0f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, - 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x68, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x6c, 0x62, 0x18, 0xed, 0x89, 0xb6, 0xcb, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x48, 0x00, 0x52, - 0x0c, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x49, 0x6c, 0x62, 0x88, 0x01, 0x01, - 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, - 0x94, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, - 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, - 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x48, 0x04, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x73, 0x0a, 0x12, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, - 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0xc4, 0x9f, 0xc2, - 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, - 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x48, 0x07, 0x52, 0x11, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc5, 0x02, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xaf, 0xc0, 0xd0, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa2, + 0x02, 0x0a, 0x20, 0x50, 0x61, 0x74, 0x63, 0x68, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xaf, 0xc0, 0xd0, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x48, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x23, - 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0a, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x39, 0x0a, 0x06, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x46, 0x41, 0x4c, - 0x53, 0x45, 0x10, 0x83, 0xc2, 0xe4, 0x1f, 0x12, 0x0b, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, - 0x8e, 0xdb, 0x9d, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x5f, 0x69, 0x6c, 0x62, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x9b, 0x04, 0x0a, 0x1d, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x28, 0x50, 0x61, 0x74, 0x63, 0x68, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x7f, 0x0a, 0x20, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x85, 0xf8, 0xd8, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0x89, 0x02, 0x0a, 0x17, 0x50, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, + 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x60, 0x0a, 0x15, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xe3, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0xdb, + 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf2, 0xc4, 0xfe, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x02, 0x0a, 0x20, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x7c, 0x0a, 0x1f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0x8a, 0xbe, 0x7c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf5, 0x02, 0x0a, 0x22, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x8a, + 0xf7, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf9, 0xa4, 0xa0, 0x65, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0x8d, 0x02, 0x0a, 0x18, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x63, 0x0a, 0x15, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9f, 0xa1, 0xcc, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xd4, 0x97, 0x8f, 0x6b, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x72, 0x0a, 0x1b, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x99, 0xf0, 0xcc, 0x64, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x03, 0x0a, 0x26, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xa7, 0x9f, 0xef, 0x4a, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, + 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x90, 0x01, 0x0a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, + 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xa3, 0xdb, + 0xe3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0xea, 0x01, 0x0a, 0x15, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, - 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, - 0x0d, 0x49, 0x5f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0xd6, - 0xd9, 0xfe, 0x2e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x49, 0x50, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x18, 0x81, 0x94, 0xd3, 0xe8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x63, - 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xff, 0x8e, 0x80, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, - 0x51, 0x0a, 0x09, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x81, 0xe7, - 0x7c, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xf5, 0xf6, 0xb4, 0xce, - 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x95, 0xfd, 0xbe, - 0xf6, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x84, 0x01, 0x0a, 0x21, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, - 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xa4, 0xff, 0xa3, 0xf4, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x55, 0x72, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x42, - 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xe2, 0x02, 0x0a, 0x13, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x95, 0x02, 0x0a, - 0x23, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x69, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0x6c, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xc5, - 0xd4, 0xa5, 0xc6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x15, 0x0a, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x2f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, - 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x65, 0x64, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x6f, - 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xa4, 0xff, 0xa3, 0xf4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0xef, 0x8a, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, - 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x90, 0x01, 0x0a, 0x2d, 0x50, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x72, - 0x72, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x0d, 0x63, - 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xa4, 0xff, 0xa3, - 0xf4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, - 0x63, 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, - 0x18, 0xef, 0x8a, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, - 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x7d, 0x0a, 0x1a, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x0d, 0x63, 0x61, - 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xa4, 0xff, 0xa3, 0xf4, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, - 0x61, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0xef, 0x8a, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x88, 0x01, - 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x5f, - 0x75, 0x72, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xc6, 0x01, 0x0a, 0x1a, - 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x11, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x18, - 0xa7, 0xfa, 0xdc, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, - 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb3, 0x02, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, - 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, + 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x22, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, + 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, + 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x22, 0xa3, 0x02, 0x0a, 0x21, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x53, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xff, 0xdd, 0x9c, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x95, 0x02, 0x0a, 0x19, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x67, 0x0a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x98, 0xce, 0xc7, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0x9c, 0x02, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xa3, 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, - 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf5, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, - 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0x80, 0xfa, 0xd5, 0xf3, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xed, 0xb0, 0xe0, 0x13, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc5, 0x02, 0x0a, - 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, - 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x6a, 0x0a, - 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaf, 0xc0, 0xd0, 0x8f, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa2, 0x02, 0x0a, 0x20, 0x50, 0x61, 0x74, 0x63, 0x68, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, - 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaf, 0xc0, 0xd0, 0x8f, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x16, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x15, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x5b, 0x0a, 0x13, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xab, 0xb3, 0xfa, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x28, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, - 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x12, 0x7f, 0x0a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0xf8, 0xd8, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x89, 0x02, 0x0a, 0x17, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0xdb, 0xd2, 0xea, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf2, 0xc4, 0xfe, 0xb0, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x02, 0x0a, 0x20, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x7c, - 0x0a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x8a, 0x8a, 0xbe, 0x7c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xf5, 0x02, 0x0a, 0x22, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x8a, 0xf7, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x81, 0x01, 0x0a, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xf9, 0xa4, 0xa0, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xca, 0x02, 0x0a, + 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0xcc, 0xb9, 0xd1, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x6d, 0x0a, 0x19, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa1, 0xfc, 0xa8, + 0xeb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, @@ -148508,500 +155205,363 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8d, 0x02, 0x0a, 0x18, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x8e, 0xc9, 0x8c, 0x6b, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x12, 0x63, 0x0a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9f, 0xa1, 0xcc, 0xbd, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x03, 0x0a, 0x32, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xd3, + 0x01, 0x0a, 0x3f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xff, 0x9b, 0x88, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x37, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x73, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdb, 0x03, 0x0a, 0x38, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd5, 0x01, 0x0a, 0x40, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x63, + 0x68, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xca, + 0xcd, 0xa1, 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x38, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xce, 0x02, 0x0a, 0x23, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x82, 0x01, + 0x0a, 0x21, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x8f, 0xd7, 0xb2, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, 0x22, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x7f, 0x0a, 0x20, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x85, 0xf8, 0xd8, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x02, 0x0a, 0x1c, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, + 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, + 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x03, 0x0a, 0x26, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x1d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xa7, 0x9f, 0xef, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x90, 0x01, 0x0a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, - 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xa3, 0xdb, 0xe3, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x22, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, + 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcb, 0x02, + 0x0a, 0x20, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, - 0xa3, 0x02, 0x0a, 0x21, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6a, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb8, 0x02, 0x0a, 0x1d, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, + 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe5, 0x02, 0x0a, 0x24, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x39, 0x0a, 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x1d, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf2, 0x9b, 0xd0, 0xe3, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xef, + 0x02, 0x0a, 0x26, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x7c, 0x0a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0x8a, 0xbe, 0x7c, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xd2, 0x02, 0x0a, 0x27, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6a, + 0x0a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x16, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x13, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, - 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, - 0x53, 0x0a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xff, 0xdd, 0x9c, 0x3a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x83, 0x03, 0x0a, 0x20, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xfc, 0xaa, 0x89, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xad, 0x02, 0x0a, 0x1b, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x73, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x15, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, - 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x5b, 0x0a, 0x13, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xab, 0xb3, 0xfa, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x11, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xca, 0x02, 0x0a, 0x1b, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xcc, - 0xb9, 0xd1, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x6d, 0x0a, - 0x19, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa1, 0xfc, 0xa8, 0xeb, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x17, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x03, 0x0a, 0x32, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, - 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xd3, 0x01, 0x0a, - 0x3f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xff, 0x9b, 0x88, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, - 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x37, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdb, 0x03, 0x0a, 0x38, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, - 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x5b, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc8, 0x88, 0x8a, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x73, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x22, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd5, 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, - 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xca, 0xcd, 0xa1, - 0x5e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x38, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xce, 0x02, 0x0a, 0x23, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x82, 0x01, 0x0a, 0x21, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x8f, 0xd7, 0xb2, 0x6f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x1e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, 0x22, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x7f, 0x0a, 0x20, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0xf8, - 0xd8, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x02, 0x0a, 0x1c, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcb, 0x02, 0x0a, 0x20, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, - 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb8, 0x02, 0x0a, 0x1d, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe5, 0x02, 0x0a, 0x24, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, - 0x14, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xdb, 0x9b, 0xdd, 0xc2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x1d, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf2, 0x9b, 0xd0, 0xe3, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xef, 0x02, 0x0a, - 0x26, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x7c, 0x0a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0x8a, 0xbe, 0x7c, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, + 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x12, 0x71, 0x0a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x81, 0xad, 0xe4, 0xce, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, 0x02, 0x0a, 0x18, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd2, - 0x02, 0x0a, 0x27, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, - 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x6a, 0x0a, 0x18, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xb6, 0x87, 0xec, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x16, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0xc9, 0x02, 0x0a, 0x20, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xfc, 0xaa, 0x89, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xad, 0x02, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, - 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc8, 0x88, 0x8a, 0x83, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, - 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xd8, 0x02, 0x0a, 0x22, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x71, 0x0a, 0x1b, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xad, 0xe4, 0xce, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9a, 0x02, 0x0a, 0x18, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, - 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xfd, 0x02, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, + 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x83, 0xa5, 0xf7, 0x4b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x69, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xca, 0x8c, 0xd1, 0x24, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x22, 0x91, 0x02, 0x0a, 0x12, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x80, 0x82, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfd, 0x02, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xa5, 0xf7, 0x4b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x69, 0x0a, 0x18, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xca, 0x8c, 0xd1, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, - 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x91, 0x02, 0x0a, 0x12, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x80, - 0x82, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x1e, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, - 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x76, 0x0a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x83, 0xdf, 0xba, 0x77, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, - 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xe5, 0x02, 0x0a, 0x25, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb2, 0x02, 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, @@ -149015,593 +155575,1522 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe5, 0x02, 0x0a, + 0x25, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x76, 0x0a, 0x1d, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xdf, 0xba, 0x77, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, + 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, 0x03, 0x0a, 0x2b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x76, 0x0a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xdf, 0xba, 0x77, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, + 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd0, 0x03, 0x0a, 0x24, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, 0x03, 0x0a, 0x2b, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x76, 0x0a, 0x1d, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xdf, 0xba, 0x77, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, - 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, + 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x77, 0x0a, 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xc3, 0xba, 0x82, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0c, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xa1, + 0x03, 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, + 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x77, 0x0a, 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xc3, 0xba, 0x82, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x1a, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x02, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xe7, 0x02, 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, - 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x77, 0x0a, 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc3, 0xba, 0x82, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x1a, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, - 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0xb5, - 0xfa, 0xdf, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x9a, 0x02, 0x0a, 0x1a, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, - 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x69, 0x0a, 0x18, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfc, 0xaa, 0x89, 0x67, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x16, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd7, 0x02, 0x0a, 0x1d, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x22, 0xd4, 0x02, 0x0a, 0x1a, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xed, 0xa9, 0xd0, 0xa1, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x73, 0x0a, 0x1b, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa0, 0xb6, 0xc4, 0xe1, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xfe, 0x01, 0x0a, 0x15, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x69, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xfc, 0xaa, 0x89, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xd7, 0x02, 0x0a, 0x1d, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xed, 0xa9, + 0xd0, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x73, 0x0a, 0x1b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa0, + 0xb6, 0xc4, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xab, 0x02, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x70, 0x0a, 0x1a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xef, 0x8d, 0xc6, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x22, 0xfe, 0x01, 0x0a, 0x15, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x73, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, + 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc8, 0x88, + 0x8a, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x11, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0x81, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, + 0x15, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xda, 0xda, 0xc8, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x00, 0x52, 0x13, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x5b, 0x0a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc8, 0x88, 0x8a, - 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x11, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x5c, 0x0a, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbf, 0xda, 0x91, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x18, 0x0a, + 0x16, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xfb, + 0xb4, 0xb2, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x6e, 0x0a, + 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd2, 0xea, 0xeb, 0x9c, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa2, 0x02, 0x0a, + 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x12, 0x6d, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xa8, 0xaf, 0xe3, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0x81, 0x03, 0x0a, 0x16, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x15, - 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xda, 0xda, 0xc8, 0xaa, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x13, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x64, 0x22, 0xa9, 0x02, 0x0a, 0x1c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x5c, - 0x0a, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbf, 0xda, 0x91, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x18, 0x0a, 0x16, - 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa3, 0x02, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xfb, 0xb4, - 0xb2, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x6e, 0x0a, 0x1a, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd2, 0xea, 0xeb, 0x9c, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x71, 0x0a, 0x1b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xad, 0xe4, 0xce, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa2, 0x02, 0x0a, 0x1b, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xeb, 0x01, + 0x0a, 0x12, 0x50, 0x61, 0x74, 0x63, 0x68, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, + 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, + 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, + 0xb7, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, + 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xaf, 0x05, 0x0a, 0x0b, + 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x14, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xaa, 0xb4, 0xd7, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x18, 0xb7, 0xe5, 0xc5, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x66, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x72, + 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xea, 0xab, 0xb6, 0xab, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, + 0x74, 0x74, 0x70, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x02, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x72, 0x6c, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x04, 0x52, 0x0c, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x61, + 0x74, 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xdd, 0xc0, 0xe6, 0x31, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x4b, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x81, + 0x87, 0xb7, 0xb3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, + 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa3, 0x02, + 0x0a, 0x08, 0x50, 0x61, 0x74, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x05, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, + 0x74, 0x68, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xec, 0xa9, 0xb9, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0c, + 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xac, 0xa1, 0x98, + 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x0b, 0x75, 0x72, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x22, 0x9e, 0x03, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x58, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0xaa, 0xe2, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x48, 0x02, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x90, 0x01, 0x0a, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x41, 0x50, + 0x50, 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xb4, 0xcb, 0xec, 0xa7, 0x01, 0x12, 0x10, 0x0a, 0x08, + 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x10, + 0x0a, 0x09, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x87, 0xf3, 0xb8, 0x74, + 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x11, 0x0a, + 0x09, 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0xa4, 0x87, 0xe1, 0xe6, 0x01, + 0x12, 0x1a, 0x0a, 0x12, 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x5f, 0x44, 0x45, + 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x89, 0xb4, 0xda, 0x95, 0x01, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0xd9, 0x02, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x4d, 0x0a, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x18, 0x8d, 0xba, 0xb8, 0x9c, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x40, + 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x69, 0x61, 0x6d, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x18, 0xbb, 0xb0, 0xec, 0xd6, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x61, 0x6d, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xb9, 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x61, 0x6d, 0x5f, 0x6f, + 0x77, 0x6e, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x6d, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x64, 0x57, 0x61, 0x66, 0x53, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x98, 0xab, 0x83, 0xe2, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x66, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, + 0x0e, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x22, + 0x99, 0x06, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, + 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, + 0x60, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x5f, 0x70, 0x73, + 0x18, 0x8d, 0xd3, 0x80, 0xfe, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, + 0x73, 0x12, 0x5f, 0x0a, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x5f, + 0x70, 0x73, 0x18, 0xdb, 0x9b, 0xef, 0x66, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, + 0x50, 0x73, 0x12, 0x54, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaf, + 0xf6, 0xb5, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x79, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4f, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x79, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, + 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4f, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x49, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, + 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc6, 0x02, 0x0a, 0x1b, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, + 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, 0xc1, 0x54, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, + 0x01, 0x22, 0x5c, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, + 0x4f, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x45, + 0x56, 0x45, 0x52, 0x10, 0xec, 0xa4, 0xaf, 0x23, 0x12, 0x25, 0x0a, 0x1e, 0x4f, 0x4e, 0x5f, 0x50, + 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, + 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe7, 0xe0, 0xd2, 0x2d, 0x22, + 0x3f, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x52, + 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xb5, 0x99, 0xec, 0x2b, 0x12, 0x11, 0x0a, + 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0xd6, 0x97, 0xe4, 0x52, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x70, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, + 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x70, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, + 0x01, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x22, + 0x5c, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x0a, + 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, + 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x45, 0x56, 0x45, + 0x52, 0x10, 0xec, 0xa4, 0xaf, 0x23, 0x12, 0x25, 0x0a, 0x1e, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, + 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, + 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe7, 0xe0, 0xd2, 0x2d, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x88, 0x01, 0x0a, + 0x29, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, + 0x70, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf4, 0xb7, 0xde, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x18, 0xaf, 0xc1, 0x80, 0x57, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x07, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x22, 0xca, 0x01, 0x0a, 0x14, 0x50, 0x72, 0x65, 0x76, + 0x69, 0x65, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, + 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x80, 0x82, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0xfe, 0x0a, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x63, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xc5, 0xfc, 0xcb, + 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x74, 0x69, 0x65, 0x72, 0x18, 0x91, 0xc5, 0xf9, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0xa5, 0xf9, 0xb7, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x15, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x66, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xfb, 0xc6, 0xd2, 0xdf, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x39, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0xfb, 0xa1, 0xe2, 0x3b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, + 0x6f, 0x74, 0x61, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x69, 0x0a, 0x15, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc2, 0xb2, 0xdc, 0xa5, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x09, 0x52, 0x13, 0x75, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0e, + 0x76, 0x6d, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0xb2, + 0xa7, 0x88, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0c, 0x76, 0x6d, 0x44, 0x6e, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x78, 0x70, + 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0xc1, 0xcd, 0xf5, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x10, 0x78, 0x70, 0x6e, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, + 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, + 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, + 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, + 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, + 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, + 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, + 0x01, 0x22, 0x92, 0x01, 0x0a, 0x0c, 0x56, 0x6d, 0x44, 0x6e, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x56, 0x4d, 0x5f, 0x44, 0x4e, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x00, + 0x12, 0x16, 0x0a, 0x0e, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, + 0x4c, 0x54, 0x10, 0x85, 0xdb, 0xda, 0xa4, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x56, 0x4d, 0x5f, 0x44, 0x4e, 0x53, 0x5f, 0x53, + 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x9a, 0xbb, 0x82, 0x11, 0x12, 0x15, 0x0a, 0x0d, 0x5a, + 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x86, 0xfd, 0xd9, + 0xaf, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x5a, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, + 0x10, 0xe7, 0xba, 0xc3, 0xf8, 0x01, 0x22, 0x69, 0x0a, 0x10, 0x58, 0x70, 0x6e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x58, 0x50, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x4a, + 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, + 0x48, 0x4f, 0x53, 0x54, 0x10, 0xa8, 0xdb, 0x87, 0x01, 0x12, 0x26, 0x0a, 0x1e, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x58, 0x50, 0x4e, 0x5f, 0x50, 0x52, 0x4f, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0xa9, 0xfa, 0xa7, 0xa2, + 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, 0x1a, + 0x0a, 0x18, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x76, 0x6d, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x21, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x78, + 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb7, 0x93, 0xcd, 0x3f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x58, + 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0b, + 0x78, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x86, 0x01, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xb7, 0x93, 0xcd, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x78, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x78, 0x70, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x47, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0xa5, 0xfc, + 0xb2, 0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x52, 0x09, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5a, 0x0a, 0x1b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb3, 0xda, 0x93, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xf5, 0x01, 0x0a, 0x24, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xd3, 0xba, 0xdb, 0xf6, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, + 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, + 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, + 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, + 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, + 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, + 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x22, 0xc7, 0x0a, 0x0a, 0x16, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x32, 0x0a, 0x11, 0x62, 0x79, 0x6f, 0x69, 0x70, 0x5f, 0x61, + 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x93, 0xb3, 0xc9, 0x4d, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x79, 0x6f, 0x69, 0x70, 0x41, 0x70, 0x69, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x64, + 0x6e, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x70, 0x18, 0xb5, 0x95, 0xf6, 0x72, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x11, 0x64, + 0x6e, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, + 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x70, 0x64, 0x70, 0x5f, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x18, 0xd1, 0xca, 0xfe, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, + 0x52, 0x08, 0x70, 0x64, 0x70, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x82, 0x01, + 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x73, 0x18, 0x8b, 0xbe, 0x85, 0xcb, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0xca, 0xa7, 0x8f, 0xb6, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x44, 0x0a, 0x0f, 0x42, 0x79, 0x6f, 0x69, 0x70, 0x41, + 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x4f, 0x49, 0x50, 0x5f, 0x41, 0x50, 0x49, + 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x02, 0x56, 0x31, + 0x10, 0x9b, 0x15, 0x12, 0x07, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x9c, 0x15, 0x22, 0x61, 0x0a, 0x08, + 0x50, 0x64, 0x70, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x44, 0x50, 0x5f, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0xa3, 0xef, 0xef, 0xeb, + 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x41, 0x4e, 0x44, 0x5f, + 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xc3, 0xb5, 0xd4, 0x97, 0x01, 0x12, 0x0f, + 0x0a, 0x08, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x9f, 0xec, 0x80, 0x2c, 0x22, + 0xa9, 0x02, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, + 0x12, 0x1c, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x54, 0x4f, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x10, 0xc1, 0xfe, 0xe8, 0x54, 0x12, 0x0f, + 0x0a, 0x07, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0xa4, 0xc6, 0xb3, 0xf7, 0x01, 0x12, + 0x25, 0x0a, 0x1d, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, + 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, + 0x10, 0xcf, 0x95, 0xa7, 0xe5, 0x01, 0x12, 0x28, 0x0a, 0x20, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, + 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, + 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xb1, 0xf5, 0xc0, 0xb4, 0x01, + 0x12, 0x22, 0x0a, 0x1a, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, + 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xe7, + 0xf5, 0xcc, 0x87, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x50, 0x54, 0x52, 0x5f, 0x43, 0x4f, 0x4e, 0x46, + 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x10, 0xcf, 0xb0, 0xed, 0xf4, 0x01, 0x12, 0x18, 0x0a, 0x11, + 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, + 0x45, 0x10, 0xf1, 0xb1, 0xe9, 0x1e, 0x12, 0x21, 0x0a, 0x19, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, + 0x45, 0x5f, 0x44, 0x4e, 0x53, 0x5f, 0x4c, 0x4f, 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x10, 0xaf, 0xbb, 0x83, 0x8d, 0x01, 0x12, 0x10, 0x0a, 0x09, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0xee, 0xb3, 0xc8, 0x1f, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x62, 0x79, 0x6f, 0x69, 0x70, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x6e, 0x73, + 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x70, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, + 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x70, 0x64, 0x70, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0xf0, 0x02, 0x0a, 0x1a, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, + 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x86, 0x02, 0x0a, 0x2b, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x08, 0x69, 0x70, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0xa5, 0xe0, 0x97, 0x45, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, + 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x70, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x22, 0xe1, 0x08, 0x0a, 0x15, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x32, 0x0a, 0x11, 0x62, 0x79, + 0x6f, 0x69, 0x70, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x93, 0xb3, 0xc9, 0x4d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x79, 0x6f, 0x69, + 0x70, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, + 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x69, 0x70, + 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, + 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0xf0, 0x9f, 0x87, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0f, 0x69, + 0x73, 0x4c, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xc7, 0xe7, 0xa1, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x1c, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x73, 0x18, 0x8c, 0xfe, 0x8b, 0x5a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x53, + 0x75, 0x62, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x19, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x44, 0x0a, 0x0f, 0x42, 0x79, 0x6f, + 0x69, 0x70, 0x41, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x1b, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x4f, 0x49, 0x50, 0x5f, + 0x41, 0x50, 0x49, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, + 0x02, 0x56, 0x31, 0x10, 0x9b, 0x15, 0x12, 0x07, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x9c, 0x15, 0x22, + 0xae, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, + 0x12, 0x11, 0x0a, 0x09, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x44, 0x10, 0xfb, 0x91, + 0x8c, 0xae, 0x01, 0x12, 0x1b, 0x0a, 0x13, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x44, + 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xb9, 0xb4, 0xf3, 0xd8, 0x01, + 0x12, 0x1c, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x54, 0x4f, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x45, 0x54, 0x10, 0xc1, 0xfe, 0xe8, 0x54, 0x12, 0x10, + 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, + 0x12, 0x14, 0x0a, 0x0c, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, + 0x10, 0xcd, 0xd8, 0x98, 0x92, 0x01, 0x12, 0x18, 0x0a, 0x11, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, + 0x54, 0x4f, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0xf1, 0xb1, 0xe9, 0x1e, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x62, 0x79, 0x6f, 0x69, 0x70, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, + 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0xae, 0x04, 0x0a, 0x23, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x60, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x1a, 0x74, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xee, 0x02, 0x0a, 0x19, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe8, 0x03, 0x0a, 0x2d, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x53, + 0x75, 0x62, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x34, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0xda, 0x8a, + 0xe9, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, + 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, + 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0xdf, 0x8b, 0x92, 0xa8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, + 0x09, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x40, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x41, + 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xeb, 0x98, 0xf9, 0x80, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x21, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6e, 0x0a, 0x19, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x65, 0x73, 0x18, 0x96, 0x82, 0xaa, 0x96, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x17, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8c, 0x25, 0x0a, 0x05, 0x51, 0x75, 0x6f, 0x74, + 0x61, 0x12, 0x1c, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0xbb, 0x97, 0x8d, 0x31, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x1f, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0xb0, 0xeb, 0x97, 0xfe, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x88, 0x01, 0x01, + 0x12, 0x1c, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0xb3, 0xe5, 0xcf, 0x32, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, + 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0xa1, 0xfb, 0x99, 0x35, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x03, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0xde, 0x23, 0x0a, + 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x52, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0e, 0x0a, + 0x07, 0x41, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xb9, 0xfe, 0x86, 0x49, 0x12, 0x16, 0x0a, + 0x0f, 0x41, 0x46, 0x46, 0x49, 0x4e, 0x49, 0x54, 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, + 0x10, 0xcb, 0xa9, 0xd2, 0x33, 0x12, 0x13, 0x0a, 0x0b, 0x41, 0x55, 0x54, 0x4f, 0x53, 0x43, 0x41, + 0x4c, 0x45, 0x52, 0x53, 0x10, 0xdc, 0xe0, 0xda, 0xe0, 0x01, 0x12, 0x16, 0x0a, 0x0f, 0x42, 0x41, + 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x53, 0x10, 0xde, 0x89, + 0xd0, 0x41, 0x12, 0x18, 0x0a, 0x10, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xc9, 0xc3, 0xc8, 0x80, 0x01, 0x12, 0x10, 0x0a, 0x08, + 0x43, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xf5, 0xff, 0xa8, 0xf2, 0x01, 0x12, 0x0f, + 0x0a, 0x07, 0x43, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xbb, 0xeb, 0xb8, 0x97, 0x01, 0x12, + 0x0f, 0x0a, 0x07, 0x43, 0x33, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xda, 0x9c, 0x8c, 0xa5, 0x01, + 0x12, 0x13, 0x0a, 0x0b, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, + 0xde, 0xd7, 0xc0, 0xd9, 0x01, 0x12, 0x18, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, + 0x45, 0x44, 0x5f, 0x41, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xd6, 0xa2, 0xa5, 0x1c, 0x12, + 0x1a, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x32, 0x44, + 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xf8, 0xe2, 0xd3, 0x86, 0x01, 0x12, 0x18, 0x0a, 0x11, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, + 0x10, 0xd8, 0x8f, 0xd7, 0x6a, 0x12, 0x18, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, + 0x45, 0x44, 0x5f, 0x43, 0x33, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xf7, 0xc0, 0xaa, 0x78, 0x12, + 0x16, 0x0a, 0x0e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, + 0x53, 0x10, 0xce, 0xad, 0xb6, 0x8b, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, + 0x54, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xda, 0xfc, 0x88, + 0xb9, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, + 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x53, 0x10, 0xd5, 0xcb, 0xc2, 0xaa, 0x01, 0x12, 0x24, + 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, + 0x4c, 0x5f, 0x53, 0x53, 0x44, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x10, 0x88, + 0xec, 0x86, 0x93, 0x01, 0x12, 0x17, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, + 0x44, 0x5f, 0x4d, 0x33, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0x81, 0xe2, 0x23, 0x12, 0x27, 0x0a, + 0x1f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x52, + 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, + 0x10, 0xde, 0xdc, 0x99, 0xe9, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, + 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x32, 0x41, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xb0, 0xaa, 0x8d, + 0x13, 0x12, 0x19, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, + 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0x8d, 0xbe, 0x87, 0x3c, 0x12, 0x19, 0x0a, 0x11, + 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x32, 0x5f, 0x43, 0x50, 0x55, + 0x53, 0x10, 0xa3, 0xa7, 0xe9, 0x99, 0x01, 0x12, 0x27, 0x0a, 0x1f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, + 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, + 0x5f, 0x38, 0x30, 0x47, 0x42, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa5, 0x9f, 0xb4, 0xdd, 0x01, + 0x12, 0x22, 0x0a, 0x1a, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, + 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x95, + 0xfd, 0x98, 0xb3, 0x01, 0x12, 0x20, 0x0a, 0x19, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, + 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4b, 0x38, 0x30, 0x5f, 0x47, 0x50, 0x55, + 0x53, 0x10, 0xa4, 0xb6, 0xeb, 0x01, 0x12, 0x1f, 0x0a, 0x18, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, + 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4c, 0x34, 0x5f, 0x47, 0x50, + 0x55, 0x53, 0x10, 0xfd, 0xd3, 0x91, 0x09, 0x12, 0x21, 0x0a, 0x1a, 0x43, 0x4f, 0x4d, 0x4d, 0x49, + 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, + 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa4, 0xff, 0xa2, 0x33, 0x12, 0x20, 0x0a, 0x18, 0x43, 0x4f, + 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, + 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x81, 0xae, 0xf5, 0xa5, 0x01, 0x12, 0x1f, 0x0a, 0x18, + 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, + 0x5f, 0x54, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x85, 0x88, 0xd9, 0x42, 0x12, 0x20, 0x0a, + 0x1a, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, + 0x41, 0x5f, 0x56, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xaa, 0xb3, 0x0d, 0x12, + 0x1a, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x32, 0x41, + 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xea, 0xc4, 0xa9, 0x8d, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x43, + 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, + 0x53, 0x10, 0xc7, 0xd8, 0xa3, 0xb6, 0x01, 0x12, 0x0a, 0x0a, 0x04, 0x43, 0x50, 0x55, 0x53, 0x10, + 0xcb, 0xd7, 0x7e, 0x12, 0x18, 0x0a, 0x10, 0x43, 0x50, 0x55, 0x53, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, + 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xad, 0x91, 0xc6, 0xe0, 0x01, 0x12, 0x16, 0x0a, + 0x0e, 0x44, 0x49, 0x53, 0x4b, 0x53, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x10, + 0x9f, 0x97, 0xc9, 0xa8, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x45, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, + 0x10, 0xbd, 0xd8, 0xea, 0xe5, 0x01, 0x12, 0x28, 0x0a, 0x21, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, + 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, + 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0xc9, 0xbf, 0xf3, 0x47, + 0x12, 0x2c, 0x0a, 0x24, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4c, 0x42, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, + 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x99, 0xad, 0xbd, 0xb2, 0x01, 0x12, 0x29, + 0x0a, 0x22, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, + 0x43, 0x4f, 0x4c, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, + 0x55, 0x4c, 0x45, 0x53, 0x10, 0xe8, 0xb8, 0xa2, 0x1e, 0x12, 0x1d, 0x0a, 0x15, 0x45, 0x58, 0x54, + 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x56, 0x50, 0x4e, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, + 0x59, 0x53, 0x10, 0xae, 0xbb, 0xf5, 0x81, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x46, 0x49, 0x52, 0x45, + 0x57, 0x41, 0x4c, 0x4c, 0x53, 0x10, 0xd3, 0xe6, 0xc8, 0xb2, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x46, + 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, + 0x95, 0x82, 0xa8, 0xce, 0x01, 0x12, 0x2f, 0x0a, 0x28, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, + 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, + 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x53, 0x10, 0xe1, 0xad, 0xbc, 0x4e, 0x12, 0x30, 0x0a, 0x28, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, + 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, + 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, + 0x45, 0x53, 0x10, 0xad, 0xec, 0x9b, 0x9c, 0x01, 0x12, 0x31, 0x0a, 0x29, 0x47, 0x4c, 0x4f, 0x42, + 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x58, + 0x59, 0x5f, 0x4c, 0x42, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, + 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xa9, 0xd9, 0xed, 0xbe, 0x01, 0x12, 0x20, 0x0a, 0x19, 0x47, + 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, + 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0x9c, 0xc5, 0xb0, 0x14, 0x12, 0x2f, 0x0a, + 0x28, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, + 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xaf, 0x90, 0xae, 0x7a, 0x12, 0x39, + 0x0a, 0x31, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, + 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, + 0x4f, 0x52, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, + 0x43, 0x45, 0x53, 0x10, 0xd4, 0xde, 0xa1, 0x9a, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x47, 0x50, 0x55, + 0x53, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xa9, 0x80, + 0xe4, 0x12, 0x12, 0x15, 0x0a, 0x0d, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, + 0x43, 0x4b, 0x53, 0x10, 0xae, 0xaf, 0xfc, 0x89, 0x01, 0x12, 0x0d, 0x0a, 0x06, 0x49, 0x4d, 0x41, + 0x47, 0x45, 0x53, 0x10, 0xf8, 0xec, 0xb5, 0x07, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x53, 0x10, 0xde, 0x9c, 0xd0, 0x3e, 0x12, 0x17, 0x0a, 0x0f, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xbe, 0xc9, + 0xdb, 0xa9, 0x01, 0x12, 0x1e, 0x0a, 0x17, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x53, 0x10, 0xb0, + 0xa2, 0xc5, 0x30, 0x12, 0x19, 0x0a, 0x12, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, + 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x10, 0xef, 0xb7, 0xed, 0x6b, 0x12, 0x15, + 0x0a, 0x0d, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x53, 0x10, + 0x85, 0x8b, 0xfe, 0xc5, 0x01, 0x12, 0x2a, 0x0a, 0x23, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, + 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xd6, 0xd6, 0xa3, + 0x4c, 0x12, 0x2b, 0x0a, 0x23, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, + 0x54, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x54, 0x4f, + 0x54, 0x41, 0x4c, 0x5f, 0x4d, 0x42, 0x50, 0x53, 0x10, 0xf3, 0xba, 0xd9, 0xca, 0x01, 0x12, 0x1f, + 0x0a, 0x17, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, + 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x50, 0x53, 0x10, 0xaa, 0xf1, 0x87, 0x88, 0x01, 0x12, + 0x19, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x52, + 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0x80, 0xe9, 0xae, 0x5e, 0x12, 0x31, 0x0a, 0x2a, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x44, + 0x49, 0x52, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, + 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x84, 0xe9, 0x85, 0x7f, 0x12, 0x19, 0x0a, + 0x12, 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, + 0x4f, 0x54, 0x53, 0x10, 0x9d, 0x9d, 0x96, 0x48, 0x12, 0x18, 0x0a, 0x10, 0x49, 0x4e, 0x5f, 0x55, + 0x53, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0x90, 0xe2, 0xdf, + 0xbf, 0x01, 0x12, 0x1e, 0x0a, 0x17, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x42, 0x41, 0x43, + 0x4b, 0x55, 0x50, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x91, 0x92, + 0xd1, 0x0f, 0x12, 0x21, 0x0a, 0x19, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x4e, 0x41, + 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x53, 0x10, + 0x93, 0xcc, 0xac, 0xdc, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, + 0x53, 0x44, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x10, 0xc5, 0x98, 0xe3, 0x9d, + 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x31, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xa6, 0xdb, 0xde, + 0x11, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xc5, 0x8c, 0xb2, + 0x1f, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x33, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xe4, 0xbd, 0x85, + 0x2d, 0x12, 0x16, 0x0a, 0x0e, 0x4d, 0x41, 0x43, 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x4d, 0x41, + 0x47, 0x45, 0x53, 0x10, 0x90, 0xf3, 0x91, 0xd5, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4e, 0x32, 0x41, + 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xad, 0xc7, 0xe2, 0x7e, 0x12, 0x10, 0x0a, 0x08, 0x4e, 0x32, + 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0x8a, 0xdb, 0xdc, 0xa7, 0x01, 0x12, 0x0f, 0x0a, 0x07, + 0x4e, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0x86, 0x83, 0xcb, 0xc6, 0x01, 0x12, 0x10, 0x0a, + 0x08, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0x85, 0xb8, 0xbf, 0xe7, 0x01, 0x12, + 0x1a, 0x0a, 0x13, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, + 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0xdf, 0xfd, 0x87, 0x47, 0x12, 0x1e, 0x0a, 0x17, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0x8d, 0xb7, 0xda, 0x30, 0x12, 0x20, 0x0a, 0x19, 0x4e, + 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, + 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, 0x10, 0xbe, 0xdb, 0x9b, 0x30, 0x12, 0x2a, 0x0a, + 0x23, 0x4e, 0x45, 0x54, 0x5f, 0x4c, 0x42, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, + 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xad, 0xfd, 0xa4, 0x4b, 0x12, 0x2f, 0x0a, 0x27, 0x4e, 0x45, 0x54, + 0x5f, 0x4c, 0x42, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, + 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, + 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xb3, 0x88, 0xe6, 0xa9, 0x01, 0x12, 0x39, 0x0a, 0x31, 0x4e, 0x45, + 0x54, 0x5f, 0x4c, 0x42, 0x5f, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, + 0x55, 0x54, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, + 0xf0, 0xe8, 0xb4, 0x94, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x47, 0x52, + 0x4f, 0x55, 0x50, 0x53, 0x10, 0xb1, 0xfd, 0xde, 0x0b, 0x12, 0x16, 0x0a, 0x0e, 0x4e, 0x4f, 0x44, + 0x45, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x53, 0x10, 0x9c, 0xb2, 0xb9, 0xe2, + 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, + 0x5f, 0x38, 0x30, 0x47, 0x42, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xc8, 0xe8, 0xc7, 0x88, 0x01, + 0x12, 0x18, 0x0a, 0x10, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, + 0x47, 0x50, 0x55, 0x53, 0x10, 0x92, 0x80, 0xdf, 0xf0, 0x01, 0x12, 0x16, 0x0a, 0x0f, 0x4e, 0x56, + 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4b, 0x38, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x87, 0xec, + 0x92, 0x4e, 0x12, 0x16, 0x0a, 0x0e, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4c, 0x34, 0x5f, + 0x47, 0x50, 0x55, 0x53, 0x10, 0xba, 0xcd, 0xc8, 0xea, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x4e, 0x56, + 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa1, + 0x82, 0xe9, 0x70, 0x12, 0x1b, 0x0a, 0x14, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, + 0x30, 0x30, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x8e, 0xdd, 0x83, 0x66, + 0x12, 0x16, 0x0a, 0x0e, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x47, 0x50, + 0x55, 0x53, 0x10, 0xbe, 0xa7, 0xac, 0x87, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x4e, 0x56, 0x49, 0x44, + 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xab, + 0xd5, 0xf4, 0xfb, 0x01, 0x12, 0x15, 0x0a, 0x0e, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, + 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xc2, 0x81, 0x90, 0x24, 0x12, 0x1a, 0x0a, 0x12, 0x4e, + 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x34, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, + 0x53, 0x10, 0xaf, 0xeb, 0xbf, 0x98, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x4e, 0x56, 0x49, 0x44, 0x49, + 0x41, 0x5f, 0x56, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa7, 0xb6, 0xd3, 0x3d, + 0x12, 0x18, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x52, 0x4f, + 0x52, 0x49, 0x4e, 0x47, 0x53, 0x10, 0xa7, 0xea, 0xb6, 0x07, 0x12, 0x28, 0x0a, 0x21, 0x50, 0x44, + 0x5f, 0x45, 0x58, 0x54, 0x52, 0x45, 0x4d, 0x45, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x50, + 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4f, 0x50, 0x53, 0x10, + 0xed, 0xd6, 0x97, 0x21, 0x12, 0x17, 0x0a, 0x10, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, + 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xc9, 0x8d, 0xe3, 0x77, 0x12, 0x1f, 0x0a, + 0x18, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x43, + 0x41, 0x4c, 0x5f, 0x53, 0x53, 0x44, 0x5f, 0x47, 0x42, 0x10, 0x88, 0x93, 0xaf, 0x7c, 0x12, 0x28, + 0x0a, 0x21, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, + 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, 0x38, 0x30, 0x47, 0x42, 0x5f, 0x47, + 0x50, 0x55, 0x53, 0x10, 0x8a, 0xea, 0xb9, 0x48, 0x12, 0x23, 0x0a, 0x1c, 0x50, 0x52, 0x45, 0x45, + 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, + 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x90, 0x9c, 0xe9, 0x20, 0x12, 0x23, 0x0a, + 0x1b, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, + 0x44, 0x49, 0x41, 0x5f, 0x4b, 0x38, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xc9, 0xe0, 0xe5, + 0xb2, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, + 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4c, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, + 0x10, 0xb8, 0xb8, 0xf0, 0x2f, 0x12, 0x24, 0x0a, 0x1c, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, + 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, + 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x9f, 0x9e, 0xf3, 0xa0, 0x01, 0x12, 0x28, 0x0a, 0x20, 0x50, + 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, + 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, + 0x8c, 0x9b, 0xc1, 0x95, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, + 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x47, + 0x50, 0x55, 0x53, 0x10, 0xbc, 0x92, 0xd4, 0xcc, 0x01, 0x12, 0x25, 0x0a, 0x1e, 0x50, 0x52, 0x45, + 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, + 0x50, 0x34, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa9, 0xe2, 0xd0, 0x78, + 0x12, 0x21, 0x0a, 0x1a, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, + 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xc0, + 0xec, 0xb7, 0x69, 0x12, 0x25, 0x0a, 0x1e, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, + 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x34, 0x5f, 0x56, 0x57, 0x53, + 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xad, 0xf8, 0x9b, 0x15, 0x12, 0x23, 0x0a, 0x1c, 0x50, 0x52, + 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, + 0x5f, 0x56, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa5, 0xd2, 0xdd, 0x6d, 0x12, + 0x3d, 0x0a, 0x36, 0x50, 0x53, 0x43, 0x5f, 0x49, 0x4c, 0x42, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, + 0x4d, 0x45, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, + 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x45, + 0x52, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x83, 0x93, 0x9d, 0x6e, 0x12, 0x27, + 0x0a, 0x20, 0x50, 0x53, 0x43, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, + 0x42, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, + 0x45, 0x53, 0x10, 0xfb, 0xa2, 0xcb, 0x50, 0x12, 0x22, 0x0a, 0x1a, 0x50, 0x55, 0x42, 0x4c, 0x49, + 0x43, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, + 0x46, 0x49, 0x58, 0x45, 0x53, 0x10, 0xcc, 0xa1, 0xe2, 0xe0, 0x01, 0x12, 0x21, 0x0a, 0x19, 0x50, + 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, + 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x45, 0x53, 0x10, 0xb6, 0x92, 0xf3, 0xfd, 0x01, 0x12, 0x1b, + 0x0a, 0x14, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x53, + 0x43, 0x41, 0x4c, 0x45, 0x52, 0x53, 0x10, 0xbc, 0x9c, 0x80, 0x0e, 0x12, 0x31, 0x0a, 0x2a, 0x52, + 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, + 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xdd, 0xec, 0x82, 0x02, 0x12, 0x35, + 0x0a, 0x2d, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4c, 0x42, 0x5f, 0x42, + 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, + 0xed, 0xea, 0xa5, 0xc3, 0x01, 0x12, 0x27, 0x0a, 0x20, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, + 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, + 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x53, 0x10, 0x90, 0xbe, 0xf3, 0x11, 0x12, 0x2c, + 0x0a, 0x25, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x42, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, + 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0x90, 0xee, 0xe5, 0x41, 0x12, 0x31, 0x0a, 0x2a, + 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, + 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, + 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xab, 0xcf, 0xf4, 0x2d, 0x12, + 0x13, 0x0a, 0x0c, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, + 0xa7, 0xbc, 0xc8, 0x0f, 0x12, 0x18, 0x0a, 0x11, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, 0x10, 0xe1, 0x9c, 0x84, 0x28, 0x12, 0x0f, + 0x0a, 0x07, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x53, 0x10, 0xaa, 0xbc, 0x8b, 0xeb, 0x01, 0x12, + 0x0e, 0x0a, 0x06, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x53, 0x10, 0xca, 0x96, 0xba, 0x83, 0x01, 0x12, + 0x18, 0x0a, 0x11, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, + 0x43, 0x49, 0x45, 0x53, 0x10, 0xef, 0xa6, 0xaf, 0x5a, 0x12, 0x23, 0x0a, 0x1c, 0x53, 0x45, 0x43, + 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, 0x5f, 0x50, + 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xc6, 0xa6, 0xe0, 0x76, 0x12, 0x31, + 0x0a, 0x29, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, + 0x59, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, + 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xad, 0xe7, 0xa5, 0xb1, + 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, + 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x45, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, + 0x10, 0xc9, 0xa7, 0xc0, 0xe0, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, + 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, + 0xa9, 0xd4, 0x87, 0x61, 0x12, 0x27, 0x0a, 0x20, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, + 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xcc, 0xc8, 0xa9, 0x3c, 0x12, 0x1b, 0x0a, + 0x13, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, + 0x45, 0x4e, 0x54, 0x53, 0x10, 0xe6, 0xb1, 0xeb, 0xe0, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x53, 0x4e, + 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x10, 0x8f, 0xe6, 0xdf, 0xa3, 0x01, 0x12, 0x13, 0x0a, + 0x0c, 0x53, 0x53, 0x44, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x10, 0xd1, 0xaf, + 0x8f, 0x4d, 0x12, 0x18, 0x0a, 0x10, 0x53, 0x53, 0x4c, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, + 0x49, 0x43, 0x41, 0x54, 0x45, 0x53, 0x10, 0xaf, 0x82, 0xb6, 0xb4, 0x01, 0x12, 0x17, 0x0a, 0x10, + 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, + 0x10, 0xf1, 0xad, 0xd2, 0x2c, 0x12, 0x1e, 0x0a, 0x16, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, + 0x42, 0x59, 0x4f, 0x49, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, + 0xf1, 0x8a, 0xc2, 0x83, 0x01, 0x12, 0x2b, 0x0a, 0x23, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, + 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x44, + 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0x96, 0xe1, 0x9d, + 0xe1, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x53, 0x10, 0xa5, 0xfc, 0xf3, 0xc8, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x54, 0x32, 0x41, 0x5f, 0x43, + 0x50, 0x55, 0x53, 0x10, 0xe7, 0xe1, 0xfe, 0xf8, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x54, 0x32, 0x44, + 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xc4, 0xf5, 0xf8, 0x21, 0x12, 0x1b, 0x0a, 0x14, 0x54, 0x41, + 0x52, 0x47, 0x45, 0x54, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x49, + 0x45, 0x53, 0x10, 0xca, 0xcb, 0xd6, 0x68, 0x12, 0x1a, 0x0a, 0x13, 0x54, 0x41, 0x52, 0x47, 0x45, + 0x54, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x49, 0x45, 0x53, 0x10, 0xa3, + 0xf5, 0xa0, 0x4e, 0x12, 0x18, 0x0a, 0x10, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x10, 0xb0, 0xda, 0xd5, 0x87, 0x01, 0x12, 0x14, 0x0a, + 0x0c, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x50, 0x4f, 0x4f, 0x4c, 0x53, 0x10, 0x89, 0x97, + 0x88, 0xa6, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x53, + 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x49, 0x45, 0x53, 0x10, 0xeb, 0xe4, 0xf5, 0x4b, 0x12, 0x19, + 0x0a, 0x12, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x54, 0x43, 0x50, 0x5f, 0x50, 0x52, 0x4f, + 0x58, 0x49, 0x45, 0x53, 0x10, 0xc0, 0x9e, 0xf3, 0x56, 0x12, 0x1a, 0x0a, 0x13, 0x54, 0x41, 0x52, + 0x47, 0x45, 0x54, 0x5f, 0x56, 0x50, 0x4e, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x53, + 0x10, 0xa8, 0xbb, 0xe3, 0x23, 0x12, 0x10, 0x0a, 0x08, 0x55, 0x52, 0x4c, 0x5f, 0x4d, 0x41, 0x50, + 0x53, 0x10, 0x87, 0xcf, 0xc7, 0xb4, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x56, 0x50, 0x4e, 0x5f, 0x47, + 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x53, 0x10, 0xba, 0x8b, 0xfe, 0x10, 0x12, 0x12, 0x0a, 0x0b, + 0x56, 0x50, 0x4e, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x10, 0x80, 0xd1, 0xdf, 0x31, + 0x12, 0x1b, 0x0a, 0x14, 0x58, 0x50, 0x4e, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, + 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x10, 0xad, 0x87, 0xb2, 0x2d, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, 0x04, 0x0a, 0x11, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x0a, + 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xcd, 0xff, 0xc8, 0xc5, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, + 0x75, 0x6f, 0x74, 0x61, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, + 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0c, + 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0xbf, 0xbc, 0xda, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x18, 0xbb, 0x97, 0x8d, 0x31, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8f, 0x89, 0xf0, 0xbd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xba, 0x97, + 0xb9, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x72, 0x6f, 0x6c, 0x6c, + 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xc0, 0xe4, 0x96, 0xe3, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0d, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x44, 0x69, 0x6d, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, 0x0a, 0x0d, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, + 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, 0x4c, 0x4c, 0x4f, 0x55, 0x54, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, + 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x87, 0xa8, 0xdd, 0xdf, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x52, + 0x4f, 0x4c, 0x4c, 0x4f, 0x55, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xb8, 0xd7, 0xe7, 0x0c, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x6f, 0x6c, + 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x07, + 0x52, 0x61, 0x77, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb8, 0xc8, 0x82, 0x98, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x31, 0x5f, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0xbd, 0x94, 0xf8, 0x95, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x31, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x54, 0x41, 0x52, 0x10, 0x85, 0x87, 0x05, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x68, 0x61, 0x31, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0xbe, 0x03, 0x0a, 0x2c, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xca, + 0x01, 0x0a, 0x3b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x80, + 0xc2, 0x9a, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x35, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, - 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x12, 0x6d, 0x0a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, - 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xa8, 0xaf, 0xe3, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xc1, 0x03, 0x0a, 0x32, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xc1, 0x01, 0x0a, 0x38, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x94, 0xfc, 0xc4, 0x51, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x32, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcf, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2d, + 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0xae, 0xbf, 0x83, 0x76, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, + 0x08, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x18, 0x9f, 0xf8, 0xb9, 0xa7, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x91, 0xe3, 0xf9, + 0x5b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, + 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x81, 0x05, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x01, 0x52, 0x0a, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, + 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, + 0x18, 0xfb, 0xa1, 0xe2, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xa9, 0x02, 0x0a, 0x1c, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x71, 0x0a, 0x1b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x81, 0xad, 0xe4, 0xce, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xeb, 0x01, 0x0a, - 0x12, 0x50, 0x61, 0x74, 0x63, 0x68, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, - 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, - 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, - 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xaf, 0x05, 0x0a, 0x0b, 0x50, - 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x63, 0x0a, 0x14, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xaa, 0xb4, 0xd7, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0xb7, 0xe5, 0xc5, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x66, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x72, 0x6c, - 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xea, 0xab, 0xb6, 0xab, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, - 0x74, 0x70, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x02, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x72, 0x6c, 0x52, 0x65, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, + 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xee, 0xf6, 0x85, 0x28, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x08, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x7a, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x18, 0xc7, 0xa4, 0xad, 0x37, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x44, + 0x4f, 0x57, 0x4e, 0x10, 0xa2, 0xb9, 0x80, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x9b, + 0x15, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x1a, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x04, 0x52, 0x0c, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x61, 0x74, - 0x68, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xdd, 0xc0, 0xe6, 0x31, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x09, 0x70, 0x61, 0x74, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x4b, - 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x81, 0x87, - 0xb7, 0xb3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xc3, 0xb1, 0x9e, 0xb1, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, + 0x0a, 0x14, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xde, 0x02, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, + 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa3, 0x02, 0x0a, - 0x08, 0x50, 0x61, 0x74, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x05, 0x70, 0x61, 0x74, - 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, - 0x68, 0x73, 0x12, 0x54, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xec, 0xa9, 0xb9, 0xca, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0c, 0x75, - 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xac, 0xa1, 0x98, 0xc1, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x0b, 0x75, 0x72, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x22, 0x9e, 0x03, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x58, - 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0xaa, 0xe2, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x48, 0x02, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x90, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x41, 0x50, 0x50, - 0x4c, 0x59, 0x49, 0x4e, 0x47, 0x10, 0xb4, 0xcb, 0xec, 0xa7, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x10, 0x0a, - 0x09, 0x45, 0x46, 0x46, 0x45, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x87, 0xf3, 0xb8, 0x74, 0x12, - 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x11, 0x0a, 0x09, - 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x10, 0xa4, 0x87, 0xe1, 0xe6, 0x01, 0x12, - 0x1a, 0x0a, 0x12, 0x55, 0x4e, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x4c, - 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x89, 0xb4, 0xda, 0x95, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0xd9, 0x02, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4d, - 0x0a, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, - 0x8d, 0xba, 0xb8, 0x9c, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0c, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x40, 0x0a, - 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x69, - 0x61, 0x6d, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x64, 0x18, 0xbb, 0xb0, 0xec, 0xd6, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x69, 0x61, 0x6d, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xd8, 0xb9, 0xd4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x61, 0x6d, 0x5f, 0x6f, 0x77, - 0x6e, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x6d, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, - 0x57, 0x61, 0x66, 0x53, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x98, 0xab, 0x83, 0xe2, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, - 0x66, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x52, 0x0e, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x22, 0xe0, - 0x02, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, - 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x54, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x1a, 0x6e, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xc6, 0x02, 0x0a, 0x1b, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, - 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, - 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x5c, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, - 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x10, 0xec, 0xa4, 0xaf, 0x23, 0x12, 0x25, - 0x0a, 0x1e, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0xe7, 0xe0, 0xd2, 0x2d, 0x22, 0x3f, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, - 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xb5, - 0x99, 0xec, 0x2b, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, - 0x45, 0x10, 0xd6, 0x97, 0xe4, 0x52, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x14, 0x50, - 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, - 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x80, 0x82, 0x4a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xfe, 0x0a, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x63, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0xc5, 0xfc, 0xcb, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x16, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, - 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x39, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x91, 0xc5, 0xf9, 0xe0, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x17, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xa5, 0xf9, 0xb7, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xfb, 0xc6, 0xd2, 0xdf, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0xfb, 0xa1, - 0xe2, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xda, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, + 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x15, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc2, 0xb2, - 0xdc, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x09, 0x52, 0x13, 0x75, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x2c, 0x0a, 0x0e, 0x76, 0x6d, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x18, 0xb2, 0xa7, 0x88, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0c, 0x76, 0x6d, - 0x44, 0x6e, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, - 0x12, 0x78, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xc1, 0xcd, 0xf5, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x10, - 0x78, 0x70, 0x6e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x88, 0x01, 0x01, 0x22, 0x9e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, - 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, - 0x0a, 0x0e, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, - 0x10, 0xc8, 0x9e, 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, - 0x4d, 0x10, 0xb7, 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, - 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, - 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, - 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, - 0x87, 0x91, 0xde, 0x01, 0x22, 0x92, 0x01, 0x0a, 0x0c, 0x56, 0x6d, 0x44, 0x6e, 0x73, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x56, 0x4d, 0x5f, 0x44, 0x4e, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x44, 0x45, - 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0x85, 0xdb, 0xda, 0xa4, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x56, 0x4d, 0x5f, 0x44, 0x4e, - 0x53, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x9a, 0xbb, 0x82, 0x11, 0x12, 0x15, - 0x0a, 0x0d, 0x5a, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, - 0x86, 0xfd, 0xd9, 0xaf, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x5a, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4f, - 0x4e, 0x4c, 0x59, 0x10, 0xe7, 0xba, 0xc3, 0xf8, 0x01, 0x22, 0x69, 0x0a, 0x10, 0x58, 0x70, 0x6e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, - 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x58, 0x50, 0x4e, 0x5f, 0x50, - 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, - 0x0b, 0x0a, 0x04, 0x48, 0x4f, 0x53, 0x54, 0x10, 0xa8, 0xdb, 0x87, 0x01, 0x12, 0x26, 0x0a, 0x1e, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x58, 0x50, 0x4e, 0x5f, - 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0xa9, - 0xfa, 0xa7, 0xa2, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, - 0x72, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x76, 0x6d, 0x5f, 0x64, 0x6e, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x21, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, - 0x0a, 0x0c, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb7, - 0x93, 0xcd, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x48, - 0x00, 0x52, 0x0b, 0x78, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x45, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x51, 0x0a, 0x0c, 0x78, 0x70, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb7, 0x93, 0xcd, 0x3f, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x58, 0x70, 0x6e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x78, 0x70, 0x6e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x78, - 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x17, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x18, 0xa5, 0xfc, 0xb2, 0x4e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x5a, 0x0a, 0x1b, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb3, 0xda, 0x93, 0x32, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf5, 0x01, 0x0a, 0x24, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, - 0x0a, 0x0c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xd3, - 0xba, 0xdb, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x0b, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, - 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, 0x85, 0x94, 0x01, 0x12, 0x0f, - 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, 0xc1, 0xbe, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, - 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x56, - 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, 0x01, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x22, 0xe8, 0x07, - 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, - 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, - 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x64, 0x6e, - 0x73, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x70, 0x18, 0xb5, 0x95, 0xf6, 0x72, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x64, 0x6e, - 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, - 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x66, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, - 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x73, 0x18, 0x8b, 0xbe, 0x85, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, - 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x18, 0xca, 0xa7, 0x8f, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0c, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, - 0xf1, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, - 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x10, 0xa4, 0xc6, 0xb3, 0xf7, - 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x43, 0x4f, 0x4e, 0x46, - 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, - 0x54, 0x45, 0x10, 0xcf, 0x95, 0xa7, 0xe5, 0x01, 0x12, 0x28, 0x0a, 0x20, 0x50, 0x52, 0x45, 0x46, - 0x49, 0x58, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0xb1, 0xf5, 0xc0, - 0xb4, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x52, 0x45, 0x4d, - 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, - 0x10, 0xe7, 0xf5, 0xcc, 0x87, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x50, 0x54, 0x52, 0x5f, 0x43, 0x4f, - 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x45, 0x44, 0x10, 0xcf, 0xb0, 0xed, 0xf4, 0x01, 0x12, 0x21, - 0x0a, 0x19, 0x52, 0x45, 0x56, 0x45, 0x52, 0x53, 0x45, 0x5f, 0x44, 0x4e, 0x53, 0x5f, 0x4c, 0x4f, - 0x4f, 0x4b, 0x55, 0x50, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xaf, 0xbb, 0x83, 0x8d, - 0x01, 0x12, 0x10, 0x0a, 0x09, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0xee, - 0xb3, 0xc8, 0x1f, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, - 0x6e, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, - 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf0, 0x02, 0x0a, 0x1a, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, + 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x57, 0x0a, 0x25, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, + 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, + 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x5a, 0x0a, + 0x28, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, + 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x48, 0x0a, 0x18, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, + 0x18, 0xd9, 0x8b, 0x80, 0xec, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, + 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x5f, 0x67, 0x62, 0x22, 0x7c, 0x0a, 0x27, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, + 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, + 0x0a, 0x14, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xab, 0x83, 0xe3, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x73, 0x79, + 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x22, 0xe4, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x4c, 0x0a, 0x31, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, + 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xc8, 0xae, 0xef, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xf2, 0x02, 0x0a, 0x1e, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, @@ -149617,681 +157106,154 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x86, 0x02, 0x0a, 0x2b, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x21, 0x0a, 0x08, 0x69, - 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xa5, 0xe0, 0x97, 0x45, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x07, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x95, 0x07, 0x0a, 0x15, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x35, - 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, - 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x69, 0x70, - 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, - 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0xf0, 0x9f, 0x87, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0f, 0x69, - 0x73, 0x4c, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xc7, 0xe7, 0xa1, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x1c, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x75, 0x62, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x73, 0x18, 0x8c, 0xfe, 0x8b, 0x5a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x53, - 0x75, 0x62, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x19, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x73, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x41, 0x4e, 0x4e, - 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x44, 0x10, 0xfb, 0x91, 0x8c, 0xae, 0x01, 0x12, 0x10, 0x0a, 0x08, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x14, - 0x0a, 0x0c, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x10, 0xcd, - 0xd8, 0x98, 0x92, 0x01, 0x12, 0x18, 0x0a, 0x11, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x54, 0x4f, - 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x55, 0x4e, 0x43, 0x45, 0x10, 0xf1, 0xb1, 0xe9, 0x1e, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xae, 0x04, 0x0a, - 0x23, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, - 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x74, 0x0a, 0x0a, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x50, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xee, 0x02, - 0x0a, 0x19, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe8, - 0x03, 0x0a, 0x2d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x53, 0x75, 0x62, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x12, 0x34, 0x0a, 0x11, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x65, 0x5f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0xda, 0x8a, 0xe9, 0xc5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x10, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x69, - 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0a, 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdf, 0x8b, 0x92, 0xa8, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x09, 0x69, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x22, 0x40, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, - 0x01, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xeb, 0x98, - 0xf9, 0x80, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, - 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x69, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x21, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x6e, 0x0a, 0x19, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x96, 0x82, 0xaa, - 0x96, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x17, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, - 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, - 0x8c, 0x25, 0x0a, 0x05, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0xbb, 0x97, 0x8d, 0x31, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x18, 0xb0, 0xeb, 0x97, 0xfe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x6d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x18, 0xb3, 0xe5, 0xcf, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6f, 0x77, - 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, - 0xa1, 0xfb, 0x99, 0x35, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x22, 0xde, 0x23, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, - 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, - 0x52, 0x49, 0x43, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x41, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, - 0x10, 0xb9, 0xfe, 0x86, 0x49, 0x12, 0x16, 0x0a, 0x0f, 0x41, 0x46, 0x46, 0x49, 0x4e, 0x49, 0x54, - 0x59, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xcb, 0xa9, 0xd2, 0x33, 0x12, 0x13, 0x0a, - 0x0b, 0x41, 0x55, 0x54, 0x4f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x53, 0x10, 0xdc, 0xe0, 0xda, - 0xe0, 0x01, 0x12, 0x16, 0x0a, 0x0f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x55, - 0x43, 0x4b, 0x45, 0x54, 0x53, 0x10, 0xde, 0x89, 0xd0, 0x41, 0x12, 0x18, 0x0a, 0x10, 0x42, 0x41, - 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xc9, - 0xc3, 0xc8, 0x80, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, - 0x10, 0xf5, 0xff, 0xa8, 0xf2, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x43, 0x32, 0x5f, 0x43, 0x50, 0x55, - 0x53, 0x10, 0xbb, 0xeb, 0xb8, 0x97, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x43, 0x33, 0x5f, 0x43, 0x50, - 0x55, 0x53, 0x10, 0xda, 0x9c, 0x8c, 0xa5, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x43, 0x4f, 0x4d, 0x4d, - 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0xde, 0xd7, 0xc0, 0xd9, 0x01, 0x12, 0x18, 0x0a, - 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x41, 0x32, 0x5f, 0x43, 0x50, - 0x55, 0x53, 0x10, 0xd6, 0xa2, 0xa5, 0x1c, 0x12, 0x1a, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, - 0x54, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xf8, 0xe2, - 0xd3, 0x86, 0x01, 0x12, 0x18, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, - 0x5f, 0x43, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xd8, 0x8f, 0xd7, 0x6a, 0x12, 0x18, 0x0a, - 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x33, 0x5f, 0x43, 0x50, - 0x55, 0x53, 0x10, 0xf7, 0xc0, 0xaa, 0x78, 0x12, 0x16, 0x0a, 0x0e, 0x43, 0x4f, 0x4d, 0x4d, 0x49, - 0x54, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xce, 0xad, 0xb6, 0x8b, 0x01, 0x12, - 0x19, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x45, 0x32, 0x5f, - 0x43, 0x50, 0x55, 0x53, 0x10, 0xda, 0xfc, 0x88, 0xb9, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x43, 0x4f, - 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x53, - 0x10, 0xd5, 0xcb, 0xc2, 0xaa, 0x01, 0x12, 0x24, 0x0a, 0x1c, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, - 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x53, 0x44, 0x5f, 0x54, 0x4f, - 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x10, 0x88, 0xec, 0x86, 0x93, 0x01, 0x12, 0x17, 0x0a, 0x11, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4d, 0x33, 0x5f, 0x43, 0x50, 0x55, - 0x53, 0x10, 0x81, 0xe2, 0x23, 0x12, 0x27, 0x0a, 0x1f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, - 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4d, 0x49, - 0x5a, 0x45, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xde, 0xdc, 0x99, 0xe9, 0x01, 0x12, 0x19, - 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x32, 0x41, 0x5f, - 0x43, 0x50, 0x55, 0x53, 0x10, 0xb0, 0xaa, 0x8d, 0x13, 0x12, 0x19, 0x0a, 0x12, 0x43, 0x4f, 0x4d, - 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, - 0x8d, 0xbe, 0x87, 0x3c, 0x12, 0x19, 0x0a, 0x11, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, - 0x44, 0x5f, 0x4e, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xa3, 0xa7, 0xe9, 0x99, 0x01, 0x12, - 0x27, 0x0a, 0x1f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, - 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, 0x38, 0x30, 0x47, 0x42, 0x5f, 0x47, 0x50, - 0x55, 0x53, 0x10, 0xa5, 0x9f, 0xb4, 0xdd, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x43, 0x4f, 0x4d, 0x4d, - 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, - 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x95, 0xfd, 0x98, 0xb3, 0x01, 0x12, 0x20, 0x0a, 0x19, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, - 0x5f, 0x4b, 0x38, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa4, 0xb6, 0xeb, 0x01, 0x12, 0x1f, - 0x0a, 0x18, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, - 0x49, 0x41, 0x5f, 0x4c, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xfd, 0xd3, 0x91, 0x09, 0x12, - 0x21, 0x0a, 0x1a, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, - 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa4, 0xff, - 0xa2, 0x33, 0x12, 0x20, 0x0a, 0x18, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f, - 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x81, - 0xae, 0xf5, 0xa5, 0x01, 0x12, 0x1f, 0x0a, 0x18, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, - 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, - 0x10, 0x85, 0x88, 0xd9, 0x42, 0x12, 0x20, 0x0a, 0x1a, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, - 0x45, 0x44, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x56, 0x31, 0x30, 0x30, 0x5f, 0x47, - 0x50, 0x55, 0x53, 0x10, 0xaa, 0xb3, 0x0d, 0x12, 0x1a, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, - 0x54, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x32, 0x41, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xea, 0xc4, - 0xa9, 0x8d, 0x01, 0x12, 0x1a, 0x0a, 0x12, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, - 0x5f, 0x54, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xc7, 0xd8, 0xa3, 0xb6, 0x01, 0x12, - 0x0a, 0x0a, 0x04, 0x43, 0x50, 0x55, 0x53, 0x10, 0xcb, 0xd7, 0x7e, 0x12, 0x18, 0x0a, 0x10, 0x43, - 0x50, 0x55, 0x53, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x53, 0x10, - 0xad, 0x91, 0xc6, 0xe0, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x49, 0x53, 0x4b, 0x53, 0x5f, 0x54, - 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x10, 0x9f, 0x97, 0xc9, 0xa8, 0x01, 0x12, 0x0f, 0x0a, - 0x07, 0x45, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xbd, 0xd8, 0xea, 0xe5, 0x01, 0x12, 0x28, - 0x0a, 0x21, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, - 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, - 0x4c, 0x45, 0x53, 0x10, 0xc9, 0xbf, 0xf3, 0x47, 0x12, 0x2c, 0x0a, 0x24, 0x45, 0x58, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4c, 0x42, 0x5f, - 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, - 0x10, 0x99, 0xad, 0xbd, 0xb2, 0x01, 0x12, 0x29, 0x0a, 0x22, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, - 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x46, 0x4f, 0x52, 0x57, - 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0xe8, 0xb8, 0xa2, - 0x1e, 0x12, 0x1d, 0x0a, 0x15, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x56, 0x50, - 0x4e, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x53, 0x10, 0xae, 0xbb, 0xf5, 0x81, 0x01, - 0x12, 0x11, 0x0a, 0x09, 0x46, 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x53, 0x10, 0xd3, 0xe6, - 0xc8, 0xb2, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, - 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x95, 0x82, 0xa8, 0xce, 0x01, 0x12, 0x2f, 0x0a, - 0x28, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, - 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xe1, 0xad, 0xbc, 0x4e, 0x12, 0x30, - 0x0a, 0x28, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, - 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0xad, 0xec, 0x9b, 0x9c, 0x01, - 0x12, 0x31, 0x0a, 0x29, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4c, 0x42, 0x5f, 0x42, 0x41, 0x43, - 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xa9, 0xd9, - 0xed, 0xbe, 0x01, 0x12, 0x20, 0x0a, 0x19, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, - 0x10, 0x9c, 0xc5, 0xb0, 0x14, 0x12, 0x2f, 0x0a, 0x28, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, - 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, - 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, - 0x53, 0x10, 0xaf, 0x90, 0xae, 0x7a, 0x12, 0x39, 0x0a, 0x31, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, - 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x46, 0x46, 0x49, - 0x43, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, - 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xd4, 0xde, 0xa1, 0x9a, - 0x01, 0x12, 0x17, 0x0a, 0x10, 0x47, 0x50, 0x55, 0x53, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x52, 0x45, - 0x47, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xa9, 0x80, 0xe4, 0x12, 0x12, 0x15, 0x0a, 0x0d, 0x48, 0x45, - 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x53, 0x10, 0xae, 0xaf, 0xfc, 0x89, - 0x01, 0x12, 0x0d, 0x0a, 0x06, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x10, 0xf8, 0xec, 0xb5, 0x07, - 0x12, 0x10, 0x0a, 0x09, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x10, 0xde, 0x9c, - 0xd0, 0x3e, 0x12, 0x17, 0x0a, 0x0f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x47, - 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xbe, 0xc9, 0xdb, 0xa9, 0x01, 0x12, 0x1e, 0x0a, 0x17, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, - 0x4e, 0x41, 0x47, 0x45, 0x52, 0x53, 0x10, 0xb0, 0xa2, 0xc5, 0x30, 0x12, 0x19, 0x0a, 0x12, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, - 0x53, 0x10, 0xef, 0xb7, 0xed, 0x6b, 0x12, 0x15, 0x0a, 0x0d, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x53, 0x10, 0x85, 0x8b, 0xfe, 0xc5, 0x01, 0x12, 0x2a, 0x0a, - 0x23, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x54, - 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, - 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xd6, 0xd6, 0xa3, 0x4c, 0x12, 0x2b, 0x0a, 0x23, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, - 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x4d, 0x42, 0x50, 0x53, - 0x10, 0xf3, 0xba, 0xd9, 0xca, 0x01, 0x12, 0x1f, 0x0a, 0x17, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x50, - 0x53, 0x10, 0xaa, 0xf1, 0x87, 0x88, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0x80, 0xe9, - 0xae, 0x5e, 0x12, 0x31, 0x0a, 0x2a, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x54, - 0x52, 0x41, 0x46, 0x46, 0x49, 0x43, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, - 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, - 0x10, 0x84, 0xe9, 0x85, 0x7f, 0x12, 0x19, 0x0a, 0x12, 0x49, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x43, - 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x10, 0x9d, 0x9d, 0x96, 0x48, - 0x12, 0x18, 0x0a, 0x10, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, - 0x53, 0x53, 0x45, 0x53, 0x10, 0x90, 0xe2, 0xdf, 0xbf, 0x01, 0x12, 0x1e, 0x0a, 0x17, 0x49, 0x4e, - 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x5f, 0x53, 0x43, 0x48, 0x45, - 0x44, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x91, 0x92, 0xd1, 0x0f, 0x12, 0x21, 0x0a, 0x19, 0x49, 0x4e, - 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x5f, 0x53, 0x43, - 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x93, 0xcc, 0xac, 0xdc, 0x01, 0x12, 0x1a, 0x0a, - 0x12, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x53, 0x44, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, - 0x5f, 0x47, 0x42, 0x10, 0xc5, 0x98, 0xe3, 0x9d, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x31, 0x5f, - 0x43, 0x50, 0x55, 0x53, 0x10, 0xa6, 0xdb, 0xde, 0x11, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x32, 0x5f, - 0x43, 0x50, 0x55, 0x53, 0x10, 0xc5, 0x8c, 0xb2, 0x1f, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x33, 0x5f, - 0x43, 0x50, 0x55, 0x53, 0x10, 0xe4, 0xbd, 0x85, 0x2d, 0x12, 0x16, 0x0a, 0x0e, 0x4d, 0x41, 0x43, - 0x48, 0x49, 0x4e, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x53, 0x10, 0x90, 0xf3, 0x91, 0xd5, - 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4e, 0x32, 0x41, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xad, 0xc7, - 0xe2, 0x7e, 0x12, 0x10, 0x0a, 0x08, 0x4e, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0x8a, - 0xdb, 0xdc, 0xa7, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x4e, 0x32, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, - 0x86, 0x83, 0xcb, 0xc6, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, - 0x53, 0x10, 0x85, 0xb8, 0xbf, 0xe7, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x4e, 0x45, 0x54, 0x57, 0x4f, - 0x52, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0xdf, - 0xfd, 0x87, 0x47, 0x12, 0x1e, 0x0a, 0x17, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x45, - 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0x8d, - 0xb7, 0xda, 0x30, 0x12, 0x20, 0x0a, 0x19, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x46, - 0x49, 0x52, 0x45, 0x57, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, - 0x10, 0xbe, 0xdb, 0x9b, 0x30, 0x12, 0x2a, 0x0a, 0x23, 0x4e, 0x45, 0x54, 0x5f, 0x4c, 0x42, 0x5f, - 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, - 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xad, 0xfd, 0xa4, - 0x4b, 0x12, 0x2f, 0x0a, 0x27, 0x4e, 0x45, 0x54, 0x5f, 0x4c, 0x42, 0x5f, 0x53, 0x45, 0x43, 0x55, - 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, - 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xb3, 0x88, 0xe6, - 0xa9, 0x01, 0x12, 0x39, 0x0a, 0x31, 0x4e, 0x45, 0x54, 0x5f, 0x4c, 0x42, 0x5f, 0x53, 0x45, 0x43, - 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x55, 0x4c, - 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, - 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xf0, 0xe8, 0xb4, 0x94, 0x01, 0x12, 0x12, 0x0a, - 0x0b, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0xb1, 0xfd, 0xde, - 0x0b, 0x12, 0x16, 0x0a, 0x0e, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, - 0x54, 0x45, 0x53, 0x10, 0x9c, 0xb2, 0xb9, 0xe2, 0x01, 0x12, 0x1d, 0x0a, 0x15, 0x4e, 0x56, 0x49, - 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, 0x38, 0x30, 0x47, 0x42, 0x5f, 0x47, 0x50, - 0x55, 0x53, 0x10, 0xc8, 0xe8, 0xc7, 0x88, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x4e, 0x56, 0x49, 0x44, - 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x92, 0x80, 0xdf, - 0xf0, 0x01, 0x12, 0x16, 0x0a, 0x0f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4b, 0x38, 0x30, - 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x87, 0xec, 0x92, 0x4e, 0x12, 0x16, 0x0a, 0x0e, 0x4e, 0x56, - 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4c, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xba, 0xcd, 0xc8, - 0xea, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, - 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xa1, 0x82, 0xe9, 0x70, 0x12, 0x1b, 0x0a, 0x14, 0x4e, - 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, - 0x50, 0x55, 0x53, 0x10, 0x8e, 0xdd, 0x83, 0x66, 0x12, 0x16, 0x0a, 0x0e, 0x4e, 0x56, 0x49, 0x44, - 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xbe, 0xa7, 0xac, 0x87, 0x01, - 0x12, 0x1a, 0x0a, 0x12, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x56, 0x57, - 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xab, 0xd5, 0xf4, 0xfb, 0x01, 0x12, 0x15, 0x0a, 0x0e, - 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xc2, - 0x81, 0x90, 0x24, 0x12, 0x1a, 0x0a, 0x12, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, 0x34, - 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xaf, 0xeb, 0xbf, 0x98, 0x01, 0x12, - 0x17, 0x0a, 0x10, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x56, 0x31, 0x30, 0x30, 0x5f, 0x47, - 0x50, 0x55, 0x53, 0x10, 0xa7, 0xb6, 0xd3, 0x3d, 0x12, 0x18, 0x0a, 0x11, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x4d, 0x49, 0x52, 0x52, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x53, 0x10, 0xa7, 0xea, - 0xb6, 0x07, 0x12, 0x28, 0x0a, 0x21, 0x50, 0x44, 0x5f, 0x45, 0x58, 0x54, 0x52, 0x45, 0x4d, 0x45, - 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, - 0x45, 0x44, 0x5f, 0x49, 0x4f, 0x50, 0x53, 0x10, 0xed, 0xd6, 0x97, 0x21, 0x12, 0x17, 0x0a, 0x10, - 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x50, 0x55, 0x53, - 0x10, 0xc9, 0x8d, 0xe3, 0x77, 0x12, 0x1f, 0x0a, 0x18, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, - 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x53, 0x44, 0x5f, 0x47, - 0x42, 0x10, 0x88, 0x93, 0xaf, 0x7c, 0x12, 0x28, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, - 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, - 0x30, 0x5f, 0x38, 0x30, 0x47, 0x42, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x8a, 0xea, 0xb9, 0x48, - 0x12, 0x23, 0x0a, 0x1c, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, - 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x41, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, - 0x10, 0x90, 0x9c, 0xe9, 0x20, 0x12, 0x23, 0x0a, 0x1b, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, - 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x4b, 0x38, 0x30, 0x5f, - 0x47, 0x50, 0x55, 0x53, 0x10, 0xc9, 0xe0, 0xe5, 0xb2, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x50, 0x52, - 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, - 0x5f, 0x4c, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xb8, 0xb8, 0xf0, 0x2f, 0x12, 0x24, 0x0a, - 0x1c, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, - 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x9f, 0x9e, - 0xf3, 0xa0, 0x01, 0x12, 0x28, 0x0a, 0x20, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, - 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x31, 0x30, 0x30, 0x5f, 0x56, - 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0x8c, 0x9b, 0xc1, 0x95, 0x01, 0x12, 0x22, 0x0a, - 0x1a, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, - 0x44, 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xbc, 0x92, 0xd4, 0xcc, - 0x01, 0x12, 0x25, 0x0a, 0x1e, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, - 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x50, 0x34, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, - 0x50, 0x55, 0x53, 0x10, 0xa9, 0xe2, 0xd0, 0x78, 0x12, 0x21, 0x0a, 0x1a, 0x50, 0x52, 0x45, 0x45, - 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x54, - 0x34, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xc0, 0xec, 0xb7, 0x69, 0x12, 0x25, 0x0a, 0x1e, 0x50, - 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, - 0x41, 0x5f, 0x54, 0x34, 0x5f, 0x56, 0x57, 0x53, 0x5f, 0x47, 0x50, 0x55, 0x53, 0x10, 0xad, 0xf8, - 0x9b, 0x15, 0x12, 0x23, 0x0a, 0x1c, 0x50, 0x52, 0x45, 0x45, 0x4d, 0x50, 0x54, 0x49, 0x42, 0x4c, - 0x45, 0x5f, 0x4e, 0x56, 0x49, 0x44, 0x49, 0x41, 0x5f, 0x56, 0x31, 0x30, 0x30, 0x5f, 0x47, 0x50, - 0x55, 0x53, 0x10, 0xa5, 0xd2, 0xdd, 0x6d, 0x12, 0x3d, 0x0a, 0x36, 0x50, 0x53, 0x43, 0x5f, 0x49, - 0x4c, 0x42, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x52, 0x5f, 0x46, 0x4f, 0x52, 0x57, - 0x41, 0x52, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, - 0x5f, 0x50, 0x52, 0x4f, 0x44, 0x55, 0x43, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, - 0x4b, 0x10, 0x83, 0x93, 0x9d, 0x6e, 0x12, 0x27, 0x0a, 0x20, 0x50, 0x53, 0x43, 0x5f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x42, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, - 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0xfb, 0xa2, 0xcb, 0x50, 0x12, - 0x22, 0x0a, 0x1a, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, - 0x49, 0x53, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x45, 0x53, 0x10, 0xcc, 0xa1, - 0xe2, 0xe0, 0x01, 0x12, 0x21, 0x0a, 0x19, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x44, 0x45, - 0x4c, 0x45, 0x47, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x45, 0x53, - 0x10, 0xb6, 0x92, 0xf3, 0xfd, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x53, 0x43, 0x41, 0x4c, 0x45, 0x52, 0x53, 0x10, 0xbc, - 0x9c, 0x80, 0x0e, 0x12, 0x31, 0x0a, 0x2a, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, - 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, - 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, - 0x53, 0x10, 0xdd, 0xec, 0x82, 0x02, 0x12, 0x35, 0x0a, 0x2d, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4e, 0x45, 0x54, 0x57, - 0x4f, 0x52, 0x4b, 0x5f, 0x4c, 0x42, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, - 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, 0xed, 0xea, 0xa5, 0xc3, 0x01, 0x12, 0x27, 0x0a, - 0x20, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, - 0x53, 0x10, 0x90, 0xbe, 0xf3, 0x11, 0x12, 0x2c, 0x0a, 0x25, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4c, 0x42, 0x5f, 0x42, - 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x53, 0x10, - 0x90, 0xee, 0xe5, 0x41, 0x12, 0x31, 0x0a, 0x2a, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, - 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x44, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, - 0x45, 0x53, 0x10, 0xab, 0xcf, 0xf4, 0x2d, 0x12, 0x13, 0x0a, 0x0c, 0x52, 0x45, 0x53, 0x45, 0x52, - 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xa7, 0xbc, 0xc8, 0x0f, 0x12, 0x18, 0x0a, 0x11, - 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, - 0x53, 0x10, 0xe1, 0x9c, 0x84, 0x28, 0x12, 0x0f, 0x0a, 0x07, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, - 0x53, 0x10, 0xaa, 0xbc, 0x8b, 0xeb, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x52, 0x4f, 0x55, 0x54, 0x45, - 0x53, 0x10, 0xca, 0x96, 0xba, 0x83, 0x01, 0x12, 0x18, 0x0a, 0x11, 0x53, 0x45, 0x43, 0x55, 0x52, - 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, 0x10, 0xef, 0xa6, 0xaf, - 0x5a, 0x12, 0x23, 0x0a, 0x1c, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x49, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, - 0x4e, 0x10, 0xc6, 0xa6, 0xe0, 0x76, 0x12, 0x31, 0x0a, 0x29, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, - 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, - 0x45, 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, - 0x49, 0x4f, 0x4e, 0x10, 0xad, 0xe7, 0xa5, 0xb1, 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x53, 0x45, 0x43, - 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x43, 0x45, 0x56, - 0x41, 0x4c, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0xc9, 0xa7, 0xc0, 0xe0, 0x01, 0x12, 0x1c, - 0x0a, 0x15, 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, - 0x59, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0xa9, 0xd4, 0x87, 0x61, 0x12, 0x27, 0x0a, 0x20, - 0x53, 0x45, 0x43, 0x55, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, - 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, - 0x10, 0xcc, 0xc8, 0xa9, 0x3c, 0x12, 0x1b, 0x0a, 0x13, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, - 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x53, 0x10, 0xe6, 0xb1, 0xeb, - 0xe0, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x10, - 0x8f, 0xe6, 0xdf, 0xa3, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x53, 0x53, 0x44, 0x5f, 0x54, 0x4f, 0x54, - 0x41, 0x4c, 0x5f, 0x47, 0x42, 0x10, 0xd1, 0xaf, 0x8f, 0x4d, 0x12, 0x18, 0x0a, 0x10, 0x53, 0x53, - 0x4c, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x53, 0x10, 0xaf, - 0x82, 0xb6, 0xb4, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0xf1, 0xad, 0xd2, 0x2c, 0x12, 0x1e, 0x0a, - 0x16, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x42, 0x59, 0x4f, 0x49, 0x50, 0x5f, 0x41, 0x44, - 0x44, 0x52, 0x45, 0x53, 0x53, 0x45, 0x53, 0x10, 0xf1, 0x8a, 0xc2, 0x83, 0x01, 0x12, 0x2b, 0x0a, - 0x23, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, - 0x4e, 0x47, 0x45, 0x53, 0x10, 0x96, 0xe1, 0x9d, 0xe1, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x53, 0x55, - 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0xa5, 0xfc, 0xf3, 0xc8, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x54, 0x32, 0x41, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xe7, 0xe1, 0xfe, 0xf8, - 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x54, 0x32, 0x44, 0x5f, 0x43, 0x50, 0x55, 0x53, 0x10, 0xc4, 0xf5, - 0xf8, 0x21, 0x12, 0x1b, 0x0a, 0x14, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x48, 0x54, 0x54, - 0x50, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x49, 0x45, 0x53, 0x10, 0xca, 0xcb, 0xd6, 0x68, 0x12, - 0x1a, 0x0a, 0x13, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, - 0x52, 0x4f, 0x58, 0x49, 0x45, 0x53, 0x10, 0xa3, 0xf5, 0xa0, 0x4e, 0x12, 0x18, 0x0a, 0x10, 0x54, - 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x53, 0x10, - 0xb0, 0xda, 0xd5, 0x87, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, - 0x50, 0x4f, 0x4f, 0x4c, 0x53, 0x10, 0x89, 0x97, 0x88, 0xa6, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x54, - 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x53, 0x53, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x49, 0x45, - 0x53, 0x10, 0xeb, 0xe4, 0xf5, 0x4b, 0x12, 0x19, 0x0a, 0x12, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, - 0x5f, 0x54, 0x43, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x49, 0x45, 0x53, 0x10, 0xc0, 0x9e, 0xf3, - 0x56, 0x12, 0x1a, 0x0a, 0x13, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x56, 0x50, 0x4e, 0x5f, - 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x53, 0x10, 0xa8, 0xbb, 0xe3, 0x23, 0x12, 0x10, 0x0a, - 0x08, 0x55, 0x52, 0x4c, 0x5f, 0x4d, 0x41, 0x50, 0x53, 0x10, 0x87, 0xcf, 0xc7, 0xb4, 0x01, 0x12, - 0x13, 0x0a, 0x0c, 0x56, 0x50, 0x4e, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59, 0x53, 0x10, - 0xba, 0x8b, 0xfe, 0x10, 0x12, 0x12, 0x0a, 0x0b, 0x56, 0x50, 0x4e, 0x5f, 0x54, 0x55, 0x4e, 0x4e, - 0x45, 0x4c, 0x53, 0x10, 0x80, 0xd1, 0xdf, 0x31, 0x12, 0x1b, 0x0a, 0x14, 0x58, 0x50, 0x4e, 0x5f, - 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, - 0x10, 0xad, 0x87, 0xb2, 0x2d, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, - 0x77, 0x6e, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, - 0x04, 0x0a, 0x11, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x45, 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x5e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0xcd, 0xff, 0xc8, 0xc5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x45, 0x78, 0x63, 0x65, - 0x65, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0c, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0xbf, 0xbc, 0xda, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, - 0x52, 0x0b, 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x1c, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0xbb, 0x97, 0x8d, 0x31, 0x20, 0x01, - 0x28, 0x01, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, - 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8f, 0x89, 0xf0, - 0xbd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xba, 0x97, 0xb9, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0e, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0xc0, 0xe4, 0x96, 0xe3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0d, - 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, - 0x1a, 0x3d, 0x0a, 0x0f, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x65, 0x0a, 0x0d, 0x52, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, - 0x4c, 0x4c, 0x4f, 0x55, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0b, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x87, 0xa8, - 0xdd, 0xdf, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x52, 0x4f, 0x4c, 0x4c, 0x4f, 0x55, 0x54, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0xb8, 0xd7, 0xe7, 0x0c, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x75, 0x74, 0x75, 0x72, - 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x6f, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x07, 0x52, 0x61, 0x77, 0x44, 0x69, 0x73, 0x6b, 0x12, - 0x2e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0xb8, 0xc8, 0x82, 0x98, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x2c, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x31, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x18, 0xbd, 0x94, 0xf8, 0x95, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0c, 0x73, 0x68, - 0x61, 0x31, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x38, 0x0a, - 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x54, - 0x41, 0x49, 0x4e, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, - 0x54, 0x41, 0x52, 0x10, 0x85, 0x87, 0x05, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, - 0x68, 0x61, 0x31, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xbe, 0x03, 0x0a, 0x2c, 0x52, 0x65, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x94, 0x01, 0x0a, 0x30, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x12, 0x60, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, + 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x31, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xca, 0x01, 0x0a, 0x3b, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x80, 0xc2, 0x9a, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x35, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc1, 0x03, 0x0a, 0x32, 0x52, 0x65, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x12, 0x60, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x55, 0x0a, 0x32, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0xc1, 0x01, 0x0a, 0x38, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x94, 0xfc, 0xc4, 0x51, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x32, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, + 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x22, 0xc0, 0x03, 0x0a, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xe0, 0xba, 0xbe, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x8d, 0x82, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x1e, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, + 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8d, 0xce, 0xc2, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x1b, 0x6d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, + 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x22, 0x2d, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, + 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x22, + 0x4b, 0x0a, 0x1b, 0x4d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, + 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, + 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x53, 0x54, + 0x5f, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, + 0x57, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, + 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x0a, 0x31, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xcf, 0x01, 0x0a, 0x31, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x52, + 0x0a, 0x22, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0xa1, 0xf6, 0xaf, 0x13, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, + 0x1e, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4f, 0x6e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, + 0x01, 0x01, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc0, 0x01, 0x0a, 0x2d, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x02, 0x0a, + 0x32, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x01, + 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd1, 0x01, 0x0a, + 0x30, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x59, 0x0a, 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xde, 0x9b, 0xa9, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x4d, 0x0a, 0x2a, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcf, 0x01, 0x0a, - 0x09, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xae, 0xbf, 0x83, 0x76, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x72, 0x18, 0x9f, 0xf8, 0xb9, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x81, - 0x05, 0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x53, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0xb3, - 0xcb, 0xd1, 0xf5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x48, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x18, 0xfb, 0xa1, 0xe2, 0x3b, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x6f, 0x74, - 0x61, 0x52, 0x06, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x06, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, - 0xee, 0xf6, 0x85, 0x28, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x0b, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x7a, 0x6f, - 0x6e, 0x65, 0x73, 0x18, 0xc7, 0xa4, 0xad, 0x37, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x6f, - 0x6e, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, - 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0xa2, 0xb9, 0x80, 0x01, - 0x12, 0x07, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x9b, 0x15, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, - 0x7a, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x13, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0xc3, 0xb1, 0x9e, 0xb1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xde, - 0x02, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, - 0xda, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, + 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, + 0x93, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, + 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, + 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0xa9, + 0x9f, 0xa0, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x7b, 0x0a, 0x2d, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x22, 0xf7, 0x02, 0x0a, 0x21, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x48, + 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, + 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, @@ -150306,445 +157268,202 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x57, 0x0a, 0x25, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x5a, 0x0a, 0x28, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x22, 0x48, 0x0a, 0x18, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, - 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, - 0x07, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xd9, 0x8b, 0x80, 0xec, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x73, 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x22, 0x7c, 0x0a, 0x27, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, - 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x14, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xab, - 0x83, 0xe3, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x22, 0xe4, 0x02, 0x0a, 0x17, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe9, 0x01, 0x0a, + 0x28, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xe7, 0xf0, 0xfc, 0x2b, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, + 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, + 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, + 0x41, 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, 0x12, 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, + 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x47, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, + 0xc7, 0xf2, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x6e, 0x61, + 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xd0, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x22, 0x4c, 0x0a, 0x31, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xc8, - 0xae, 0xef, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xf2, - 0x02, 0x0a, 0x1e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8d, 0x01, 0x0a, 0x31, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x31, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x44, 0x65, 0x74, 0x61, 0x63, + 0x68, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x58, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xad, 0x91, 0xba, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x9d, 0x02, 0x0a, 0x3a, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x47, 0x65, 0x74, + 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x10, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x18, + 0xc2, 0xca, 0xfc, 0xc3, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, - 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0x94, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x12, 0x60, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x31, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x12, 0x60, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xa9, 0xd5, 0xf8, 0xfa, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x12, - 0x70, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x22, 0x55, 0x0a, 0x32, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xc0, 0x03, 0x0a, 0x2e, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, - 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xe0, 0xba, - 0xbe, 0xc0, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0e, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x8d, - 0x82, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x1e, 0x6d, - 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, - 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8d, 0xce, - 0xc2, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x1b, 0x6d, 0x6f, 0x73, 0x74, 0x44, 0x69, - 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x2d, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, - 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, 0x6f, 0x73, 0x74, 0x44, - 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x00, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6d, 0x6f, - 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x0a, - 0x31, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, - 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, - 0xcf, 0x01, 0x0a, 0x31, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x22, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xa1, 0xf6, 0xaf, - 0x13, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x1e, 0x73, 0x6b, 0x69, 0x70, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x4f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, - 0x6b, 0x69, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x6f, 0x6e, - 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0xc0, 0x01, 0x0a, 0x2d, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, - 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, - 0x79, 0x49, 0x67, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8d, 0x02, 0x0a, 0x32, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x73, 0x18, 0xf3, 0xc6, 0xe8, 0x81, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x01, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd1, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xde, - 0x9b, 0xa9, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x4d, 0x0a, 0x2a, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0b, - 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, - 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0xa9, 0x9f, 0xa0, 0xa0, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0x7b, 0x0a, - 0x2d, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, - 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x18, 0xe4, 0x81, 0xbb, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xf7, 0x02, 0x0a, 0x21, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x57, 0x69, 0x74, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe9, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0xe7, 0xf0, 0xfc, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, - 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, 0x12, - 0x0e, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x9f, 0xc3, 0xea, 0x39, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0xad, 0x01, 0x0a, 0x28, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, - 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, - 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x64, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x8c, 0xc7, 0xf2, 0xcb, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, - 0x50, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x22, 0xd0, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, - 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0x9d, 0x02, 0x0a, 0x3a, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x18, 0xc2, 0xca, 0xfc, 0xc3, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x6a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x73, 0x12, 0x43, - 0x0a, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x18, 0xf3, 0xc6, 0xe8, 0x81, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x52, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x51, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x47, 0x65, 0x74, + 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x6b, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x48, 0x49, 0x45, 0x52, 0x41, 0x52, + 0x43, 0x48, 0x59, 0x10, 0x95, 0xc4, 0xaa, 0x21, 0x12, 0x0f, 0x0a, 0x07, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x10, 0x8e, 0xcc, 0xb3, 0xc5, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x4e, 0x45, 0x54, + 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xb0, 0xe2, + 0xfd, 0x5a, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x16, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x40, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x09, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x51, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xe8, 0x87, 0x91, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, - 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, - 0x01, 0x01, 0x22, 0x6b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, - 0x0a, 0x09, 0x48, 0x49, 0x45, 0x52, 0x41, 0x52, 0x43, 0x48, 0x59, 0x10, 0x95, 0xc4, 0xaa, 0x21, - 0x12, 0x0f, 0x0a, 0x07, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x8e, 0xcc, 0xb3, 0xc5, - 0x01, 0x12, 0x17, 0x0a, 0x10, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x52, 0x45, 0x47, - 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0xb0, 0xe2, 0xfd, 0x5a, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, - 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x57, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, - 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xcb, 0x01, 0x0a, - 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x8e, 0xc5, 0xa4, 0xc0, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, - 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, - 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, - 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x62, 0x0a, 0x31, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2d, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, - 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x70, - 0x0a, 0x1c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0xb5, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, - 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe8, 0x01, 0x0a, 0x2d, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, - 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0x97, 0x02, 0x0a, 0x33, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, - 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, 0x03, - 0x0a, 0x22, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, - 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0xad, 0x01, 0x0a, 0x31, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xb3, 0xe7, 0xb6, 0x91, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfa, 0x02, 0x0a, 0x1f, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, + 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x48, 0x01, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x22, 0x62, 0x0a, 0x31, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x1c, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xe8, 0x01, 0x0a, 0x2d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x97, 0x02, 0x0a, 0x33, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, 0x03, 0x0a, 0x22, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, @@ -150756,376 +157475,102 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, - 0x6c, 0x12, 0xa2, 0x01, 0x0a, 0x2d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x83, 0xc0, 0x8b, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, - 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x28, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8b, 0x03, 0x0a, 0x23, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, - 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, - 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xaf, 0x01, 0x0a, - 0x31, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xb9, 0xd1, 0xb7, 0xba, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0xba, 0x02, 0x0a, 0x1b, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, - 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x96, 0x01, 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xfe, 0xdb, 0xe9, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x24, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xf0, 0x02, 0x0a, 0x21, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, - 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, - 0x73, 0x6b, 0x12, 0xa9, 0x01, 0x0a, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xee, 0xc1, 0xa1, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x2a, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0x87, 0x03, 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x33, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xdd, 0xbc, 0x17, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x03, - 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, - 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, - 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xbb, 0x01, 0x0a, 0x36, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0xc3, 0x95, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, - 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbb, - 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, - 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x6c, 0x12, 0xad, 0x01, 0x0a, 0x31, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb3, 0xe7, 0xb6, 0x91, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0xfa, 0x02, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xee, 0x01, 0x0a, - 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, - 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9d, 0x02, - 0x0a, 0x2c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, - 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, - 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, - 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x01, - 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, - 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, + 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0xa2, 0x01, 0x0a, 0x2d, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc0, 0x8b, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x28, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8b, 0x03, + 0x0a, 0x23, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0xaf, 0x01, 0x0a, 0x31, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb9, 0xd1, 0xb7, 0xba, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x22, 0x5b, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xff, 0x09, - 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, - 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x95, 0x96, 0xf3, 0xe5, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, - 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, - 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x12, 0x62, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xc3, 0xfa, 0xf7, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x48, 0x06, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, - 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x07, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x68, - 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x83, 0x91, 0x94, - 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x09, 0x52, - 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x75, 0x0a, 0x14, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbf, 0xa0, 0x89, 0xc1, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x53, 0x4b, 0x55, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x0a, - 0x52, 0x13, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x1d, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x9f, 0xc7, 0x83, 0x6c, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x0b, 0x52, 0x1b, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, - 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, - 0x1a, 0x43, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x73, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, - 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, - 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, - 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, - 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x12, 0x10, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, 0xee, 0xec, 0xeb, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, - 0xd5, 0x02, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x41, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x75, - 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0xb0, 0xc3, 0xb3, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x16, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0xa2, 0xba, - 0x96, 0x77, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xa1, - 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x5f, 0x52, - 0x45, 0x53, 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, - 0x00, 0x12, 0x16, 0x0a, 0x0f, 0x41, 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb9, 0xc3, 0xaf, 0x5f, 0x12, 0x15, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, - 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xae, 0xcc, 0xde, 0x50, - 0x12, 0x1b, 0x0a, 0x14, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x53, - 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x9f, 0xa8, 0xcf, 0x6d, 0x12, 0x13, 0x0a, - 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, - 0xfb, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, - 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x8f, 0x04, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, - 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, - 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x1a, 0x69, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xda, 0x02, 0x0a, 0x0f, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, - 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, - 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xba, 0x02, 0x0a, 0x1b, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x96, 0x01, + 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfe, 0xdb, 0xe9, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x24, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, 0x21, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0xa9, 0x01, 0x0a, 0x2f, 0x64, + 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xee, + 0xc1, 0xa1, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x68, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x12, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, - 0x73, 0x6b, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xa0, 0xe9, 0xcf, 0x06, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x6b, - 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x6b, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0xb6, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa7, 0xec, 0xcc, 0xbe, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, - 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2a, 0x64, 0x69, 0x73, 0x6b, + 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, @@ -151133,869 +157578,1106 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x11, - 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x87, 0x03, 0x0a, 0x25, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x33, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xf6, 0xdd, 0xbc, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x03, 0x0a, 0x27, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x76, 0x0a, - 0x1d, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa0, - 0xc2, 0xab, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0xbb, 0x01, 0x0a, 0x36, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0xc3, + 0x95, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, + 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, + 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xee, 0x01, 0x0a, 0x26, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, + 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9d, 0x02, 0x0a, 0x2c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xd1, 0x8a, 0xc6, 0xed, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, + 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x25, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, + 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x1f, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x0f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x5b, 0x0a, 0x13, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xff, 0x09, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x95, 0x96, 0xf3, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x6a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x0f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0xc3, 0xfa, 0xf7, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x06, 0x52, 0x0e, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, + 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x0c, 0x73, + 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x83, 0x91, 0x94, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x09, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x75, 0x0a, 0x14, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xbf, 0xa0, 0x89, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x4b, 0x55, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x0a, 0x52, 0x13, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x1d, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x18, 0x9f, 0xc7, 0x83, 0x6c, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0b, 0x52, 0x1b, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0d, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x73, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, + 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, + 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, + 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, + 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, + 0x8f, 0x25, 0x12, 0x10, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, + 0xee, 0xec, 0xeb, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, + 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x68, 0x61, 0x72, + 0x65, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x13, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x79, 0x12, 0x41, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb0, 0xc3, + 0xb3, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x63, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0xa2, 0xba, 0x96, 0x77, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xa1, 0x01, 0x0a, 0x16, 0x43, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x22, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x55, 0x4d, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0f, 0x41, + 0x4e, 0x59, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb9, + 0xc3, 0xaf, 0x5f, 0x12, 0x15, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xae, 0xcc, 0xde, 0x50, 0x12, 0x1b, 0x0a, 0x14, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x9f, 0xa8, 0xcf, 0x6d, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, 0x1b, 0x0a, 0x19, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, + 0x79, 0x22, 0x8f, 0x04, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, + 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, + 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, + 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x69, 0x0a, 0x0a, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0xda, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x68, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, + 0x12, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x6b, 0x75, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0xa0, 0xe9, 0xcf, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x10, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x53, 0x6b, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x5f, 0x73, 0x6b, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x16, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xa7, 0xec, 0xcc, 0xbe, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x64, 0x69, 0x73, 0x6b, 0x73, - 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x21, 0x52, - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xcd, 0x02, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xac, 0x02, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x76, 0x0a, 0x1d, 0x64, 0x69, 0x73, 0x6b, 0x73, + 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa0, 0xc2, 0xab, 0x25, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x82, 0x02, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x17, 0x52, 0x65, + 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, + 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, + 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, 0x24, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x95, 0xaa, 0xfc, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x20, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, + 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x27, 0x52, 0x65, + 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, + 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x18, 0x52, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x8a, 0x01, 0x0a, - 0x24, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, - 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x95, 0xaa, 0xfc, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x20, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0x8e, 0x02, 0x0a, 0x27, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, - 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xd8, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8c, 0x01, 0x0a, 0x24, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, - 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xd1, 0xdb, 0xce, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x12, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x8e, 0xe1, 0xe8, 0x41, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0xd8, 0xa0, 0xe9, 0x5d, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, - 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x22, 0x73, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, - 0x0b, 0x41, 0x43, 0x43, 0x45, 0x4c, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xcb, 0xec, 0xf9, - 0xcc, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x53, 0x44, 0x10, - 0xf0, 0xf5, 0xd6, 0xf2, 0x01, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x10, - 0x81, 0xe2, 0xd6, 0x3a, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x56, 0x43, 0x50, - 0x55, 0x10, 0xf2, 0xba, 0xa0, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, - 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x40, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x18, 0xff, 0xec, 0x83, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0xc5, 0x01, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x57, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x80, 0x0a, 0x0a, 0x0e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x12, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8d, - 0x01, 0x0a, 0x1d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, - 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0x9b, 0x84, 0xf2, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, - 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x02, 0x52, - 0x1a, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x79, - 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x8c, 0x9b, 0x9b, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x03, - 0x52, 0x14, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x80, 0x01, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb0, 0xd0, 0xb9, - 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x05, 0x52, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x0f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xc3, 0xfa, - 0xf7, 0x76, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x09, 0x52, - 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x7f, 0x0a, 0x18, 0x73, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0xdf, 0xd6, 0x81, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x0b, 0x52, 0x16, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x72, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, - 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, - 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x85, 0xe6, 0x88, 0xe6, 0x01, 0x12, 0x0f, - 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, - 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x6f, - 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbe, 0x04, 0x0a, - 0x1c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x59, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, - 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x8c, 0x01, 0x0a, 0x24, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd1, 0xdb, + 0xce, 0xb9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x21, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x10, + 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x8e, 0xe1, 0xe8, 0x41, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x63, 0x63, + 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xd8, 0xa0, 0xe9, 0x5d, 0x20, 0x01, + 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x73, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0b, 0x41, 0x43, 0x43, 0x45, 0x4c, + 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0xcb, 0xec, 0xf9, 0xcc, 0x01, 0x12, 0x11, 0x0a, 0x09, + 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x53, 0x44, 0x10, 0xf0, 0xf5, 0xd6, 0xf2, 0x01, 0x12, + 0x0d, 0x0a, 0x06, 0x4d, 0x45, 0x4d, 0x4f, 0x52, 0x59, 0x10, 0x81, 0xe2, 0xd6, 0x3a, 0x12, 0x13, + 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x97, 0xbe, + 0x98, 0xfb, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x56, 0x43, 0x50, 0x55, 0x10, 0xf2, 0xba, 0xa0, 0x01, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x40, 0x0a, 0x16, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xff, 0xec, 0x83, + 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x22, 0xc5, 0x01, 0x0a, 0x1a, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x11, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, + 0xe1, 0x9c, 0xcc, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc0, 0x01, - 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x44, 0x61, 0x69, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x64, 0x61, - 0x79, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0xb4, 0x98, 0xaa, 0xb0, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x43, - 0x79, 0x63, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x9b, 0x91, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x63, - 0x79, 0x63, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x22, 0x2a, 0x0a, 0x28, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, - 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xcf, 0x02, 0x0a, - 0x22, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x19, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0xb8, 0x8c, 0xf8, 0x05, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x17, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb5, 0xc2, 0xde, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x87, - 0xbb, 0xd6, 0x7c, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x07, 0x76, 0x6d, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x22, 0x5c, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, - 0x11, 0x0a, 0x0a, 0x43, 0x4f, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0xd2, 0xab, - 0x9e, 0x31, 0x12, 0x1f, 0x0a, 0x17, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xed, 0x8f, - 0xb3, 0xdd, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc4, - 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x08, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x9b, 0x91, 0x4a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x2d, 0x0a, 0x0e, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x79, 0x63, - 0x6c, 0x65, 0x18, 0xfc, 0x88, 0x97, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0c, - 0x68, 0x6f, 0x75, 0x72, 0x73, 0x49, 0x6e, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, - 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x69, 0x6e, - 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xf4, 0x03, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2f, - 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0xdd, 0xac, 0xe8, 0x6d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, - 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xde, 0x83, 0xc9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, - 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x11, 0x76, - 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x18, 0xdc, 0x90, 0xbc, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, - 0x48, 0x03, 0x52, 0x0f, 0x76, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x78, 0x0a, 0x10, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0xac, 0xe5, 0x9f, 0xcb, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x80, 0x0a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, + 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x1d, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x9b, 0x84, 0xf2, 0xe1, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x04, 0x52, 0x0e, 0x76, - 0x6d, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x76, 0x6d, 0x5f, 0x73, - 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x60, 0x0a, 0x2c, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x08, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x97, 0xa5, 0x9a, 0xb3, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x85, - 0x03, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, - 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd2, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, + 0x6b, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x02, 0x52, 0x1a, 0x64, 0x69, 0x73, 0x6b, 0x43, + 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x16, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0x8c, 0x9b, 0x9b, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x03, 0x52, 0x14, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x18, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb0, 0xd0, 0xb9, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, + 0x05, 0x52, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xc3, 0xfa, 0xf7, 0x76, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb0, 0xd0, 0xb9, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x48, 0x00, 0x52, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x1b, - 0x0a, 0x19, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xda, 0x01, 0x0a, 0x38, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x73, 0x74, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x7f, 0x0a, 0x18, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xdf, + 0xd6, 0x81, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x0b, 0x52, 0x16, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, + 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x88, 0x01, 0x01, 0x22, 0x72, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, + 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, + 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, + 0x45, 0x44, 0x10, 0x85, 0xe6, 0x88, 0xe6, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, + 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x20, + 0x0a, 0x1e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, + 0x6e, 0x63, 0x79, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x1b, + 0x0a, 0x19, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbe, 0x04, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, + 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc0, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x43, + 0x79, 0x63, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x0d, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x69, 0x6e, 0x5f, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0xb4, 0x98, 0xaa, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x00, 0x52, 0x0b, 0x64, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x22, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x9b, + 0x91, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x28, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, + 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xcf, 0x02, 0x0a, 0x22, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x6c, + 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, + 0x19, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0xb8, 0x8c, 0xf8, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x17, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xb5, 0xc2, 0xde, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x63, 0x6f, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x08, + 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x87, 0xbb, 0xd6, 0x7c, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x02, 0x52, 0x07, 0x76, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x22, + 0x5c, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, + 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, + 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x43, 0x4f, 0x4c, + 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0xd2, 0xab, 0x9e, 0x31, 0x12, 0x1f, 0x0a, 0x17, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4c, 0x4c, + 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xed, 0x8f, 0xb3, 0xdd, 0x01, 0x42, 0x1c, 0x0a, + 0x1a, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x63, 0x6f, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x76, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc4, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x6f, 0x75, 0x72, 0x6c, + 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x94, 0x9b, 0x91, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x68, 0x6f, + 0x75, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0xfc, 0x88, 0x97, + 0xfb, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0c, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x49, + 0x6e, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, + 0xf4, 0x03, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2f, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xdd, 0xac, 0xe8, 0x6d, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x23, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xde, 0x83, + 0xc9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, + 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x11, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0xdc, 0x90, 0xbc, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x87, 0xef, 0xc1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x73, - 0x74, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x36, 0x0a, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xb3, 0xf8, 0x97, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xd8, 0x03, 0x0a, 0x24, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x7f, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xf3, 0xca, 0xdc, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, + 0x63, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x03, 0x52, 0x0f, 0x76, 0x6d, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x78, 0x0a, 0x10, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x18, 0xac, 0xe5, 0x9f, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0f, - 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x97, - 0xa5, 0x9a, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x04, 0x52, 0x0e, 0x76, 0x6d, 0x53, 0x74, 0x6f, 0x70, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x76, 0x6d, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x60, 0x0a, 0x2c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x18, 0x97, 0xa5, 0x9a, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x85, 0x03, 0x0a, 0x12, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, + 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xd2, 0x01, 0x0a, 0x1c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x94, 0x01, 0x0a, 0x18, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb0, + 0xd0, 0xb9, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x16, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xda, 0x01, 0x0a, 0x38, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x36, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x87, 0xef, 0xc1, 0x90, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x8a, 0xb3, 0xf8, 0x97, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x6e, + 0x65, 0x78, 0x74, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x22, 0xd8, 0x03, 0x0a, 0x24, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x7f, 0x0a, 0x10, 0x72, + 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, + 0xf3, 0xca, 0xdc, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, - 0x01, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x88, - 0x01, 0x0a, 0x13, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x8e, 0x95, 0xb2, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x08, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x97, 0xa5, 0x9a, 0xb3, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x01, 0x52, 0x08, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x88, 0x01, 0x0a, 0x13, 0x73, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x8e, 0x95, 0xb2, 0x58, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x48, 0x02, 0x52, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x48, 0x02, 0x52, 0x12, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, - 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x22, 0xfb, 0x02, 0x0a, 0x33, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x74, 0x65, - 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x6d, + 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xfb, 0x02, + 0x0a, 0x33, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, + 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x93, 0xc2, 0xd1, 0x9a, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x65, + 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, + 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xc9, 0xcd, 0xc2, 0x99, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x12, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x4f, 0x6e, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x16, 0x41, 0x50, 0x50, 0x4c, 0x59, 0x5f, 0x52, 0x45, + 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0xe4, + 0x94, 0x92, 0xff, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x41, 0x55, 0x54, + 0x4f, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x53, 0x10, 0xf9, 0xc8, 0xbb, 0x7b, + 0x12, 0x28, 0x0a, 0x21, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, + 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x44, + 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xa1, 0xff, 0x83, 0x72, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, - 0x73, 0x18, 0x93, 0xc2, 0xd1, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x10, 0x6d, - 0x61, 0x78, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x79, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xc9, 0xcd, 0xc2, 0x99, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x12, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x9f, - 0x01, 0x0a, 0x12, 0x4f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x44, 0x49, 0x53, - 0x4b, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x16, 0x41, 0x50, - 0x50, 0x4c, 0x59, 0x5f, 0x52, 0x45, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4f, - 0x4c, 0x49, 0x43, 0x59, 0x10, 0xe4, 0x94, 0x92, 0xff, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x4b, 0x45, - 0x45, 0x50, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, - 0x53, 0x10, 0xf9, 0xc8, 0xbb, 0x7b, 0x12, 0x28, 0x0a, 0x21, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xa1, 0xff, 0x83, 0x72, - 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x22, 0x96, 0x03, 0x0a, 0x2c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x12, 0x60, 0x0a, 0x0e, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x18, 0xfd, 0xe3, 0x8a, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, - 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x0f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0xa5, 0xb1, 0xa3, 0x12, 0x20, 0x01, 0x28, 0x0b, + 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x6e, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x96, 0x03, 0x0a, 0x2c, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x60, 0x0a, 0x0e, + 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0xfd, + 0xe3, 0x8a, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x44, 0x61, 0x69, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x61, + 0x69, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x63, + 0x0a, 0x0f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x18, 0xa5, 0xb1, 0xa3, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x48, 0x01, + 0x52, 0x0e, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x0f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x95, 0x89, 0xb9, 0xab, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x43, - 0x79, 0x63, 0x6c, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x53, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x0f, 0x77, 0x65, 0x65, - 0x6b, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x95, 0x89, 0xb9, - 0xab, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x57, - 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x48, 0x02, 0x52, 0x0e, 0x77, 0x65, - 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x6c, - 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x22, 0x8d, 0x03, 0x0a, 0x36, 0x52, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, + 0x79, 0x63, 0x6c, 0x65, 0x48, 0x02, 0x52, 0x0e, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x61, + 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x22, 0x8d, 0x03, 0x0a, 0x36, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x25, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc9, 0xda, + 0xdd, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0xdd, 0x93, 0xec, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x88, 0x01, 0x01, + 0x12, 0x77, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0xc9, 0xda, 0xdd, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, - 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x18, 0xdd, 0x93, 0xec, 0xb7, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x67, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6c, - 0x75, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x77, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x67, 0x6f, 0x6f, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, + 0xed, 0xb3, 0x9c, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, + 0x6c, 0x75, 0x73, 0x68, 0x22, 0x7d, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, + 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x64, 0x61, 0x79, 0x5f, 0x6f, 0x66, 0x5f, 0x77, 0x65, 0x65, 0x6b, + 0x73, 0x18, 0xda, 0x9f, 0xfb, 0x7a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, - 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0xed, 0xb3, 0x9c, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x67, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x22, 0x7d, 0x0a, 0x19, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x57, 0x65, 0x65, 0x6b, - 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x60, 0x0a, 0x0c, 0x64, 0x61, 0x79, 0x5f, 0x6f, - 0x66, 0x5f, 0x77, 0x65, 0x65, 0x6b, 0x73, 0x18, 0xda, 0x9f, 0xfb, 0x7a, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, - 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x0a, 0x64, - 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x73, 0x22, 0xce, 0x02, 0x0a, 0x22, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x57, 0x65, 0x65, 0x6b, - 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, - 0x12, 0x17, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x9c, 0x87, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x03, 0x64, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x9b, 0x91, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x12, 0x11, 0x0a, 0x0d, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x10, 0x00, 0x12, - 0x0e, 0x0a, 0x06, 0x46, 0x52, 0x49, 0x44, 0x41, 0x59, 0x10, 0xdf, 0xf2, 0xe3, 0xe0, 0x01, 0x12, - 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, - 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x4f, 0x4e, 0x44, 0x41, 0x59, 0x10, 0x90, 0xca, 0x8b, 0x3f, 0x12, - 0x10, 0x0a, 0x08, 0x53, 0x41, 0x54, 0x55, 0x52, 0x44, 0x41, 0x59, 0x10, 0xb9, 0x8f, 0x87, 0x85, - 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x53, 0x55, 0x4e, 0x44, 0x41, 0x59, 0x10, 0xd0, 0x8b, 0xd2, 0x93, - 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x54, 0x48, 0x55, 0x52, 0x53, 0x44, 0x41, 0x59, 0x10, 0xda, 0xb3, - 0xe6, 0x62, 0x12, 0x0f, 0x0a, 0x07, 0x54, 0x55, 0x45, 0x53, 0x44, 0x41, 0x59, 0x10, 0xad, 0xec, - 0xa9, 0x84, 0x01, 0x12, 0x11, 0x0a, 0x09, 0x57, 0x45, 0x44, 0x4e, 0x45, 0x53, 0x44, 0x41, 0x59, - 0x10, 0xb6, 0xce, 0x9e, 0xc9, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x61, 0x79, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x0e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x0d, - 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x90, 0xf8, - 0xb6, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x68, 0x79, 0x73, 0x69, - 0x63, 0x61, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, - 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x22, 0xc0, 0x01, 0x0a, - 0x15, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xc4, 0x0b, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x61, 0x73, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xa1, 0xc5, 0xcc, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x73, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x07, 0x61, 0x73, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x35, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xe0, 0xb2, - 0xea, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x64, 0x65, 0x73, 0x74, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x68, 0x6f, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x82, 0xfa, 0xec, 0xb3, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0c, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x68, 0x75, 0x62, 0x18, 0xb3, 0xb5, 0xde, 0x5e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x48, 0x75, - 0x62, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, - 0x5f, 0x69, 0x6c, 0x62, 0x18, 0xdd, 0xba, 0xde, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, - 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x6c, 0x62, 0x88, 0x01, 0x01, 0x12, 0x33, - 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x97, 0xeb, 0xd1, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, - 0x69, 0x70, 0x18, 0xa9, 0xaf, 0xcd, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x09, 0x6e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0xec, 0xa1, 0x89, 0x7d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, - 0x48, 0x6f, 0x70, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, - 0x10, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x18, 0xfe, 0x93, 0xe4, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0e, 0x6e, - 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x12, 0x36, 0x0a, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x76, 0x70, 0x6e, - 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x95, 0xe5, 0xf0, 0xf7, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0e, 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x56, 0x70, 0x6e, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0f, - 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, - 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xa8, 0xcd, - 0xb2, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xf0, 0xb6, 0x9e, 0xb3, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x11, 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, - 0x99, 0xe8, 0xd8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x41, - 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xd7, 0x88, 0xc1, 0xed, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0x6c, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, - 0x55, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, - 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0f, 0x0a, 0x07, - 0x44, 0x52, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xa0, 0xe7, 0xcf, 0xec, 0x01, 0x12, 0x10, 0x0a, - 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xeb, 0x98, 0xf9, 0x80, 0x01, 0x12, - 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x22, - 0x60, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x42, 0x47, 0x50, 0x10, 0xab, 0x81, - 0x04, 0x12, 0x0e, 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0xee, 0x84, 0x83, 0x93, - 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x10, 0xdd, 0xee, 0xbc, 0x93, - 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x10, 0xb3, 0x83, 0xc6, - 0x59, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x68, - 0x75, 0x62, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, - 0x69, 0x6c, 0x62, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x70, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, - 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x81, 0x02, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x73, 0x18, 0xc8, 0xca, 0xf9, 0x3f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x4c, - 0x69, 0x73, 0x74, 0x73, 0x12, 0x33, 0x0a, 0x11, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xa0, 0xb5, 0xeb, 0xf4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x50, 0x61, - 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, - 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, - 0x53, 0x45, 0x47, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x19, - 0x0a, 0x12, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x51, 0x55, - 0x45, 0x4e, 0x43, 0x45, 0x10, 0xb0, 0x8f, 0xf7, 0x69, 0x12, 0x15, 0x0a, 0x0d, 0x41, 0x53, 0x5f, - 0x43, 0x4f, 0x4e, 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x54, 0x10, 0xf3, 0xcd, 0xad, 0xb2, 0x01, - 0x12, 0x12, 0x0a, 0x0b, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, - 0xae, 0xd2, 0xf2, 0x32, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x10, 0xb5, - 0x9d, 0xa4, 0x9d, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xce, 0x02, 0x0a, 0x09, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x37, - 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x69, 0x63, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x44, 0x61, + 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x0a, 0x64, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, + 0x65, 0x6b, 0x73, 0x22, 0xce, 0x02, 0x0a, 0x22, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x6c, 0x79, 0x43, 0x79, 0x63, 0x6c, + 0x65, 0x44, 0x61, 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x17, 0x0a, 0x03, 0x64, 0x61, + 0x79, 0x18, 0x9c, 0x87, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x64, 0x61, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x94, 0x9b, 0x91, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x8a, 0xe9, 0xee, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x22, 0x9f, + 0x01, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x52, 0x49, + 0x44, 0x41, 0x59, 0x10, 0xdf, 0xf2, 0xe3, 0xe0, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x49, 0x4e, 0x56, + 0x41, 0x4c, 0x49, 0x44, 0x10, 0xd7, 0xfb, 0xed, 0xfc, 0x01, 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x4f, + 0x4e, 0x44, 0x41, 0x59, 0x10, 0x90, 0xca, 0x8b, 0x3f, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x41, 0x54, + 0x55, 0x52, 0x44, 0x41, 0x59, 0x10, 0xb9, 0x8f, 0x87, 0x85, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x53, + 0x55, 0x4e, 0x44, 0x41, 0x59, 0x10, 0xd0, 0x8b, 0xd2, 0x93, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x54, + 0x48, 0x55, 0x52, 0x53, 0x44, 0x41, 0x59, 0x10, 0xda, 0xb3, 0xe6, 0x62, 0x12, 0x0f, 0x0a, 0x07, + 0x54, 0x55, 0x45, 0x53, 0x44, 0x41, 0x59, 0x10, 0xad, 0xec, 0xa9, 0x84, 0x01, 0x12, 0x11, 0x0a, + 0x09, 0x57, 0x45, 0x44, 0x4e, 0x45, 0x53, 0x44, 0x41, 0x59, 0x10, 0xb6, 0xce, 0x9e, 0xc9, 0x01, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x64, 0x61, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x0d, 0x70, 0x68, 0x79, 0x73, 0x69, + 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x90, 0xf8, 0xb6, 0xdd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x48, 0x6f, + 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x14, 0x75, 0x70, 0x63, 0x6f, 0x6d, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xf0, 0xa0, + 0xb4, 0x6c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x48, 0x01, 0x52, 0x13, 0x75, 0x70, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, + 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x70, 0x68, 0x79, 0x73, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x68, 0x6f, 0x73, 0x74, + 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x75, 0x70, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x15, 0x52, 0x65, + 0x73, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc4, 0x0b, 0x0a, + 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x73, 0x18, 0xa1, 0xc5, 0xcc, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x73, 0x50, 0x61, 0x74, + 0x68, 0x52, 0x07, 0x61, 0x73, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, + 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xe0, 0xb2, 0xea, 0xb5, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x64, 0x65, 0x73, 0x74, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, + 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, + 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x82, 0xfa, 0xec, 0xb3, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x68, 0x6f, 0x70, 0x5f, 0x68, 0x75, 0x62, 0x18, 0xb3, 0xb5, 0xde, 0x5e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x08, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x48, 0x75, 0x62, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6c, + 0x62, 0x18, 0xdd, 0xba, 0xde, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0a, 0x6e, 0x65, + 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x6c, 0x62, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x97, 0xeb, 0xd1, 0xbb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x26, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x70, 0x18, + 0xa9, 0xaf, 0xcd, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xec, 0xa1, 0x89, + 0x7d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0xfe, + 0x93, 0xe4, 0xc4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x78, 0x74, + 0x48, 0x6f, 0x70, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, + 0x13, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x95, 0xe5, 0xf0, 0xf7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, + 0x52, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0f, 0x52, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xa8, 0xcd, 0xb2, 0xc7, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xf0, 0xb6, 0x9e, 0xb3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, + 0x52, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x08, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xd7, 0x88, 0xc1, 0xed, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x6c, + 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, + 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, + 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x44, 0x52, 0x4f, + 0x50, 0x50, 0x45, 0x44, 0x10, 0xa0, 0xe7, 0xcf, 0xec, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, + 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0xeb, 0x98, 0xf9, 0x80, 0x01, 0x12, 0x0e, 0x0a, 0x07, + 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x22, 0x60, 0x0a, 0x09, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x42, 0x47, 0x50, 0x10, 0xab, 0x81, 0x04, 0x12, 0x0e, + 0x0a, 0x06, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x10, 0xee, 0x84, 0x83, 0x93, 0x01, 0x12, 0x0e, + 0x0a, 0x06, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x10, 0xdd, 0xee, 0xbc, 0x93, 0x01, 0x12, 0x0e, + 0x0a, 0x07, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x10, 0xb3, 0x83, 0xc6, 0x59, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x68, 0x75, 0x62, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6c, 0x62, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x70, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x68, 0x6f, 0x70, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x76, 0x70, + 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, + 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x22, 0x81, 0x02, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x73, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x08, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, + 0xc8, 0xca, 0xf9, 0x3f, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x73, 0x12, 0x33, 0x0a, 0x11, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xa0, 0xb5, 0xeb, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x70, 0x61, 0x74, 0x68, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0f, 0x50, 0x61, 0x74, 0x68, 0x53, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x5f, 0x53, 0x45, 0x47, + 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x12, 0x41, + 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, + 0x45, 0x10, 0xb0, 0x8f, 0xf7, 0x69, 0x12, 0x15, 0x0a, 0x0d, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x4e, + 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x54, 0x10, 0xf3, 0xcd, 0xad, 0xb2, 0x01, 0x12, 0x12, 0x0a, + 0x0b, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0xae, 0xd2, 0xf2, + 0x32, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x10, 0xb5, 0x9d, 0xa4, 0x9d, + 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xce, 0x02, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x06, 0x0a, 0x06, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x03, 0x62, 0x67, 0x70, 0x18, 0xcb, 0xf9, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x48, 0x00, 0x52, 0x03, 0x62, 0x67, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x09, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x18, 0xdd, 0xad, 0xee, 0xd7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, - 0x65, 0x72, 0x52, 0x08, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x12, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4b, - 0x0a, 0x1d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, - 0x9f, 0xa2, 0x8c, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x1b, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, - 0xda, 0xf4, 0xe0, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x17, 0x6d, 0x64, - 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x9a, 0xae, 0xf1, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, - 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4b, 0x65, 0x79, 0x52, 0x15, 0x6d, 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x18, 0xf2, - 0xf6, 0xcd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x74, - 0x73, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x62, 0x67, - 0x70, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x7c, 0x0a, 0x17, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, - 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xbd, 0xf2, 0xd0, 0x33, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x80, 0x04, 0x0a, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x06, 0x0a, 0x06, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x03, 0x62, 0x67, 0x70, 0x18, 0xcb, 0xf9, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x48, 0x00, 0x52, 0x03, 0x62, 0x67, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x47, 0x0a, 0x09, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0xdd, 0xad, + 0xee, 0xd7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x52, + 0x08, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x1d, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x9f, 0xa2, 0x8c, + 0x8e, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x1b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4b, + 0x0a, 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0xda, 0xf4, 0xe0, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, + 0x0a, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x17, 0x6d, 0x64, 0x35, 0x5f, 0x61, + 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x9a, 0xae, 0xf1, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x64, 0x35, 0x41, + 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, + 0x52, 0x15, 0x6d, 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x18, 0xf2, 0xf6, 0xcd, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x03, 0x0a, 0x09, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xbb, 0x95, 0xeb, 0x94, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x61, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xb6, 0xde, 0x85, - 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, - 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x65, 0x0a, 0x14, 0x61, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, - 0xcc, 0xd8, 0xf3, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, - 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x61, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x17, - 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0xfc, 0xf4, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x03, 0x61, 0x73, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, - 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xbc, 0xe5, - 0xfc, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, - 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x22, - 0x4d, 0x0a, 0x0d, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, - 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, - 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0xf1, 0xfe, 0xa5, 0xb9, 0x01, 0x12, 0x0e, - 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, 0xa1, 0xc4, 0xfd, 0x36, 0x22, 0x47, - 0x0a, 0x10, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, - 0x53, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, - 0x54, 0x53, 0x10, 0xd8, 0x8f, 0xdd, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x61, - 0x73, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xf7, 0x0d, 0x0a, 0x0d, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0e, 0x61, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xbb, 0x95, - 0xeb, 0x94, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x61, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x18, 0xb6, 0xde, 0x85, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, - 0x74, 0x69, 0x73, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x65, 0x0a, 0x14, 0x61, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x18, 0xcc, 0xd8, 0xf3, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x64, 0x76, - 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, - 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x12, 0x42, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, - 0xbc, 0x9c, 0xf6, 0x58, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x17, 0x61, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x03, 0x62, 0x66, 0x64, 0x18, 0xa0, 0xf9, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x74, 0x73, 0x12, 0x20, + 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x62, 0x67, 0x70, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x7c, 0x0a, 0x17, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, + 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0xbd, 0xf2, 0xd0, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x22, 0x80, 0x04, 0x0a, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x51, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, + 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x03, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x42, 0x67, 0x70, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xbb, 0x95, 0xeb, 0x94, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x4d, 0x6f, 0x64, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xb6, 0xde, 0x85, 0x0a, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0x65, 0x0a, 0x14, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xcc, 0xd8, 0xf3, + 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x42, 0x66, 0x64, - 0x48, 0x02, 0x52, 0x03, 0x62, 0x66, 0x64, 0x88, 0x01, 0x01, 0x12, 0x77, 0x0a, 0x18, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xc4, 0x88, 0xc4, 0xe5, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x65, - 0x61, 0x72, 0x6e, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x15, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x1d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6c, 0x65, - 0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, - 0x72, 0x69, 0x74, 0x79, 0x18, 0xc4, 0xe2, 0xc6, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, - 0x52, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, - 0xa3, 0xf6, 0xc3, 0x56, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x49, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd1, 0xc3, 0xe4, 0xd0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x07, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x38, 0x0a, 0x14, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, - 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xd3, 0x85, 0xab, 0x0d, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x08, 0x52, 0x12, 0x69, 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb6, - 0x83, 0xea, 0x52, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, - 0x6d, 0x64, 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x91, 0xbd, 0x83, 0x86, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x18, 0x6d, 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, - 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x9f, 0xb4, 0x96, - 0x21, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0c, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xd9, 0x97, 0x87, 0x63, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x0d, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x90, 0xfb, 0xad, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x16, 0x70, 0x65, - 0x65, 0x72, 0x49, 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x19, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x9d, 0xc7, 0xa7, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, - 0x52, 0x17, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4d, 0x0a, 0x0d, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, + 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x03, 0x61, + 0x73, 0x6e, 0x18, 0xfc, 0xf4, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x03, 0x61, 0x73, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, + 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xbc, 0xe5, 0xfc, 0x83, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, + 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x22, 0x4d, 0x0a, 0x0d, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x43, @@ -152005,2034 +158687,2184 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x53, 0x10, - 0xd8, 0x8f, 0xdd, 0x01, 0x22, 0x39, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x14, - 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x41, 0x42, - 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x83, 0xc2, - 0xe4, 0x1f, 0x12, 0x0b, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x8e, 0xdb, 0x9d, 0x01, 0x22, - 0x67, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, - 0x41, 0x4e, 0x41, 0x47, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, - 0x12, 0x1d, 0x0a, 0x15, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x41, - 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xcb, 0xd2, 0xea, 0xda, 0x01, 0x12, - 0x17, 0x0a, 0x0f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x10, 0xf3, 0x8b, 0xa6, 0x97, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x64, 0x76, - 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, - 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x62, 0x66, - 0x64, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6c, 0x65, 0x61, - 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, - 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1e, 0x0a, - 0x1c, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, - 0x61, 0x73, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x65, 0x65, 0x72, - 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x22, 0xd6, 0x03, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, - 0x70, 0x50, 0x65, 0x65, 0x72, 0x42, 0x66, 0x64, 0x12, 0x38, 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x5f, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, - 0x18, 0xee, 0xb9, 0x94, 0x59, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x69, 0x6e, - 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, - 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xc7, 0xd1, 0xc2, 0xf9, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x6d, 0x69, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0xc1, 0xfb, - 0x9d, 0x5b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xb9, 0x8d, 0xc3, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x19, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x22, - 0x79, 0x0a, 0x19, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x25, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, - 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, - 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x41, 0x53, - 0x53, 0x49, 0x56, 0x45, 0x10, 0x87, 0xf6, 0xd7, 0xdc, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, - 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x61, 0x6c, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x42, 0x1e, 0x0a, 0x1c, - 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x4b, 0x0a, 0x21, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xbd, 0xf2, 0xd0, 0x33, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xa8, 0x05, 0x0a, 0x0f, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, - 0x08, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xa5, 0xe0, 0x97, 0x45, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x4d, 0x0a, 0x1e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0xce, 0xea, 0xf7, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x1c, - 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x33, 0x0a, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0xf9, 0xbf, 0xfe, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb6, 0x83, 0xea, 0x52, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x34, 0x0a, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x98, 0xd2, 0x8b, 0x30, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x05, 0x52, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x13, 0x72, 0x65, 0x64, 0x75, 0x6e, - 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe7, - 0xe8, 0xbc, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x12, 0x72, 0x65, 0x64, 0x75, - 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0a, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x67, 0x0a, 0x0e, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x15, 0x4d, - 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, - 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xcb, 0xd2, 0xea, 0xda, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4d, 0x41, - 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0xf3, 0x8b, - 0xa6, 0x97, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x76, - 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x16, 0x0a, - 0x14, 0x5f, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xd0, 0x02, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, - 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, - 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x1a, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x4d, 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, - 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x10, 0x0a, 0x09, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xe3, - 0xbb, 0xd1, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x26, - 0x0a, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, - 0xc7, 0xc1, 0xae, 0xf0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x72, 0x61, 0x69, 0x6e, - 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x1e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa2, 0x99, 0xdd, 0xfd, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x01, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x79, 0x6e, 0x61, - 0x6d, 0x69, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x23, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x9b, 0x89, 0xdb, 0x7b, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0xcf, 0xaa, - 0xd6, 0xef, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x15, 0x69, 0x63, 0x6d, 0x70, 0x5f, 0x69, - 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, - 0xca, 0xd0, 0xde, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x12, 0x69, 0x63, 0x6d, 0x70, - 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, - 0x01, 0x12, 0x53, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x9d, 0xd1, 0xc1, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0xd8, 0x8f, 0xdd, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x61, 0x73, 0x6e, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0xf7, 0x0d, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xbb, 0x95, 0xeb, 0x94, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x61, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0xb6, 0xde, + 0x85, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x65, 0x0a, 0x14, 0x61, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x18, 0xcc, 0xd8, 0xf3, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x4c, 0x6f, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x04, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x18, 0xe1, 0xc9, 0x9e, 0x77, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x50, - 0x65, 0x72, 0x56, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x18, 0xb3, 0xad, 0xe4, 0x58, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x50, 0x65, 0x72, 0x56, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x61, - 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfd, - 0xb8, 0xf4, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x13, 0x6e, 0x61, 0x74, 0x49, - 0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x07, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x8e, 0xf0, - 0x8b, 0x38, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x3f, - 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x51, 0x0a, 0x22, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x74, - 0x6f, 0x5f, 0x6e, 0x61, 0x74, 0x18, 0xdb, 0xef, 0xa1, 0x78, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, - 0x52, 0x1d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x18, 0xc5, 0xd4, 0xa5, 0xc6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x52, 0x0b, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x4e, 0x0a, 0x20, 0x74, - 0x63, 0x70, 0x5f, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x69, - 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, - 0xed, 0xeb, 0xb0, 0x6a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x1c, 0x74, 0x63, 0x70, 0x45, - 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x19, 0x74, - 0x63, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xfd, 0xbb, 0xf3, 0xf4, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x0b, 0x52, 0x15, 0x74, 0x63, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x61, 0x69, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x4c, - 0x0a, 0x1f, 0x74, 0x63, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0xa6, 0xfb, 0xe1, 0x61, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x1b, 0x74, 0x63, - 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x6c, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x14, - 0x75, 0x64, 0x70, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x5f, 0x73, 0x65, 0x63, 0x18, 0xc6, 0xb2, 0xfa, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0d, 0x52, - 0x11, 0x75, 0x64, 0x70, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, - 0x65, 0x63, 0x88, 0x01, 0x01, 0x22, 0x98, 0x01, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x6f, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x54, 0x57, - 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, 0x49, - 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, 0x85, - 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, - 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, - 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, - 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, 0x45, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, 0x01, - 0x22, 0x60, 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, - 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x10, 0x00, 0x12, - 0x18, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x53, 0x57, 0x47, 0x10, 0xc8, 0xce, 0xfd, 0x4b, 0x12, 0x17, 0x0a, 0x10, 0x45, 0x4e, 0x44, - 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x4d, 0x10, 0xb2, 0xea, - 0x9c, 0x1b, 0x22, 0x61, 0x0a, 0x13, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x41, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x41, 0x4c, - 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x09, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xbc, 0xe0, 0xf8, - 0x56, 0x12, 0x12, 0x0a, 0x0b, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, - 0x10, 0x85, 0xc1, 0xc9, 0x7c, 0x22, 0xc2, 0x01, 0x0a, 0x1d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x12, 0x30, 0x0a, 0x2c, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x55, 0x42, 0x4e, - 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, - 0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x1d, 0x41, 0x4c, 0x4c, - 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x41, 0x4c, 0x4c, - 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0xd8, 0x93, 0xe8, 0x55, 0x12, - 0x2c, 0x0a, 0x25, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, - 0x4b, 0x53, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x49, - 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0xbb, 0xc3, 0xbe, 0x58, 0x12, 0x1b, 0x0a, - 0x13, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, - 0x4f, 0x52, 0x4b, 0x53, 0x10, 0xfe, 0xa2, 0xe4, 0xf6, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, - 0x75, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, - 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x79, 0x6e, 0x61, - 0x6d, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x18, 0x0a, 0x16, 0x5f, - 0x69, 0x63, 0x6d, 0x70, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, - 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6e, 0x61, 0x74, 0x5f, - 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x61, 0x74, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x74, 0x63, - 0x70, 0x5f, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x69, 0x64, - 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x1c, - 0x0a, 0x1a, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x22, 0x0a, 0x20, - 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, - 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x75, 0x64, 0x70, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x22, 0xc7, 0x01, 0x0a, 0x12, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x22, 0x59, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x10, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, - 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, 0x12, 0x13, 0x0a, - 0x0b, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x80, 0xb0, 0xcf, - 0x92, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xe9, 0xc3, 0xaa, 0xaa, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, - 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc5, 0xb3, 0xb7, 0x31, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xec, 0xdb, 0x9a, 0xff, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x80, 0x01, 0x0a, 0x13, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, - 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xf5, 0xbb, 0xa8, - 0x64, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x14, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x70, - 0x73, 0x18, 0xa3, 0xc5, 0xc1, 0xa2, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x49, 0x70, 0x73, 0x22, 0xc8, - 0x02, 0x0a, 0x18, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0xd9, 0xc1, 0x84, 0x7e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x61, 0x74, 0x18, 0xf2, - 0xca, 0x94, 0xb9, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x22, 0x90, 0x01, - 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, - 0x47, 0x45, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0d, - 0x41, 0x4c, 0x4c, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0xb0, 0xaf, - 0xfd, 0x10, 0x12, 0x22, 0x0a, 0x1b, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x45, - 0x43, 0x4f, 0x4e, 0x44, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, - 0x53, 0x10, 0x9c, 0xb4, 0xd8, 0x5b, 0x12, 0x18, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, - 0x59, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xc2, 0x93, 0xd6, 0x8d, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x03, 0x0a, 0x0c, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x62, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x85, 0xac, 0xdf, 0xbc, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x56, 0x0a, 0x16, 0x62, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x66, - 0x6f, 0x72, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xf9, 0xfb, 0xf6, 0x38, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x12, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, + 0x42, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xbc, 0x9c, 0xf6, + 0x58, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x03, 0x62, 0x66, 0x64, 0x18, 0xa0, 0xf9, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x52, 0x13, 0x62, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x46, 0x6f, - 0x72, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x0f, 0x62, 0x67, 0x70, 0x5f, 0x70, - 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xfb, 0xd7, 0x95, 0x68, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x0a, 0x6e, 0x61, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0xd0, 0x99, 0x8b, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, - 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0xd1, 0x0a, 0x0a, 0x19, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x4f, 0x0a, 0x11, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, - 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xac, 0xd9, 0xfc, 0x9e, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, - 0x75, 0x74, 0x65, 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xf1, 0xb8, 0xd3, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x42, 0x66, 0x64, 0x48, 0x02, 0x52, + 0x03, 0x62, 0x66, 0x64, 0x88, 0x01, 0x01, 0x12, 0x77, 0x0a, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x18, 0xc4, 0x88, 0xc4, 0xe5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x48, 0x00, 0x52, 0x09, 0x62, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x18, 0xa3, 0xf6, 0xc3, 0x56, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x49, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, - 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xd3, 0x85, 0xab, 0x0d, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x12, 0x69, 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, - 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, + 0x70, 0x50, 0x65, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, + 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x12, 0x4a, 0x0a, 0x1d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, + 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x18, 0xc4, 0xe2, 0xc6, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x1a, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0xa3, 0xf6, 0xc3, + 0x56, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, + 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd1, 0xc3, 0xe4, 0xd0, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, + 0x0a, 0x14, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xd3, 0x85, 0xab, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x08, 0x52, 0x12, 0x69, 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb6, 0x83, 0xea, 0x52, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, 0x6d, 0x64, 0x35, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x91, 0xbd, 0x83, 0x86, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0a, 0x52, 0x18, 0x6d, 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x9f, 0xb4, 0x96, 0x21, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x0c, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0xd9, 0x97, 0x87, 0x63, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0d, + 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x42, 0x0a, 0x19, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x90, 0xfb, + 0xad, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x16, 0x70, 0x65, 0x65, 0x72, 0x49, + 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x19, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x9d, 0xc7, 0xa7, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x17, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4d, 0x0a, 0x0d, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, 0x49, 0x53, + 0x45, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, + 0x4f, 0x4d, 0x10, 0xf1, 0xfe, 0xa5, 0xb9, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, + 0x55, 0x4c, 0x54, 0x10, 0xa1, 0xc4, 0xfd, 0x36, 0x22, 0x47, 0x0a, 0x10, 0x41, 0x64, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x1b, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x44, 0x56, 0x45, 0x52, 0x54, + 0x49, 0x53, 0x45, 0x44, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x53, 0x10, 0x00, 0x12, 0x12, 0x0a, + 0x0b, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x53, 0x10, 0xd8, 0x8f, 0xdd, + 0x01, 0x22, 0x39, 0x0a, 0x06, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, + 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x83, 0xc2, 0xe4, 0x1f, 0x12, + 0x0b, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x8e, 0xdb, 0x9d, 0x01, 0x22, 0x67, 0x0a, 0x0e, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, + 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, + 0x15, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x41, + 0x43, 0x48, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0xcb, 0xd2, 0xea, 0xda, 0x01, 0x12, 0x17, 0x0a, 0x0f, + 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, + 0xf3, 0x8b, 0xa6, 0x97, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x62, 0x66, 0x64, 0x42, 0x20, + 0x0a, 0x1e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, + 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x17, 0x0a, + 0x15, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6d, + 0x64, 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, + 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x22, 0xd6, 0x03, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, + 0x65, 0x72, 0x42, 0x66, 0x64, 0x12, 0x38, 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xee, 0xb9, + 0x94, 0x59, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, + 0x3b, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0xc7, 0xd1, 0xc2, 0xf9, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, + 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0xc1, 0xfb, 0x9d, 0x5b, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x6f, 0x64, 0x65, 0x18, 0xb9, 0x8d, 0xc3, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x19, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x22, 0x79, 0x0a, 0x19, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, + 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, + 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, + 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, + 0x45, 0x10, 0x87, 0xf6, 0xd7, 0xdc, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, + 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x4b, 0x0a, 0x21, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, + 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xbd, 0xf2, 0xd0, 0x33, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xa8, 0x05, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x08, 0x69, 0x70, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xa5, 0xe0, 0x97, 0x45, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x07, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, + 0x1e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0xce, 0xea, 0xf7, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x1c, 0x6c, 0x69, 0x6e, + 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x18, 0xf9, 0xbf, 0xfe, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x6c, + 0x6c, 0x18, 0xf9, 0xbf, 0xfe, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, - 0x01, 0x12, 0x31, 0x0a, 0x10, 0x6d, 0x64, 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0xcb, 0x91, 0x90, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x05, 0x52, 0x0e, 0x6d, 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x34, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xff, 0xd5, 0xcb, 0x40, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x07, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, - 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xd9, 0x97, 0x87, 0x63, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x08, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, - 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x90, 0xfb, 0xad, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, - 0x16, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x19, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x9d, 0xc7, 0xa7, 0xdf, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0a, 0x52, 0x17, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0b, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0c, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, - 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0xb1, - 0x96, 0xb5, 0xa3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x75, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xe8, 0xb7, 0x9e, 0x70, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, - 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x75, - 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xa8, 0xca, - 0xf8, 0x31, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0d, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x22, 0x45, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, - 0x57, 0x4e, 0x10, 0xa2, 0xb9, 0x80, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0xaa, 0xf0, 0xc4, 0xce, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x9b, - 0x15, 0x22, 0x70, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x20, - 0x0a, 0x19, 0x4d, 0x44, 0x35, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, - 0x4e, 0x41, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x4c, 0x45, 0x4d, 0x10, 0xb3, 0x91, 0xfd, 0x42, - 0x12, 0x21, 0x0a, 0x19, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x89, 0x8e, - 0x84, 0xbc, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, - 0x76, 0x36, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, - 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, - 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x65, - 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x75, 0x70, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xb9, 0x05, 0x0a, 0x15, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x6c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x86, - 0xb4, 0xc8, 0xf3, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x42, 0x0a, - 0x1c, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xad, 0x90, - 0xb7, 0x93, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x41, 0x75, - 0x74, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x74, 0x49, 0x70, - 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, - 0x73, 0x18, 0xc9, 0x8e, 0xc8, 0x91, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x64, 0x72, 0x61, - 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, - 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x3f, 0x0a, 0x18, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x74, - 0x72, 0x61, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, - 0x64, 0x18, 0xe2, 0xe9, 0xb5, 0xae, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x14, 0x6d, - 0x69, 0x6e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x4e, 0x65, 0x65, - 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, - 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x52, 0x0a, 0x22, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x74, 0x5f, - 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xec, 0xb6, 0xa8, 0xf4, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x02, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x95, 0xc5, 0xee, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x72, 0x75, 0x6c, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x47, 0x0a, 0x1f, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0xd7, 0xe9, 0xba, 0x65, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x1b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0x37, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xa2, 0xb2, 0xd9, 0xf1, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6d, 0x69, - 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x5f, - 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x25, 0x0a, 0x23, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xfd, 0x02, 0x0a, 0x22, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, - 0x0e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, - 0xd5, 0xef, 0xb6, 0x63, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, - 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xc7, 0xc1, 0xae, 0xf0, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x38, - 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x69, 0x70, 0x73, 0x5f, - 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x84, 0xca, 0xa9, 0xa8, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x00, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x70, 0x73, 0x4e, - 0x65, 0x65, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x22, 0x6e, 0x75, 0x6d, 0x5f, - 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, - 0x68, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xec, - 0xb6, 0xa8, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x56, - 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, - 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xec, 0xdb, 0x9a, 0xff, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x5f, 0x69, 0x70, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, - 0x25, 0x0a, 0x23, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x8d, 0x01, 0x0a, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, - 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x6a, 0x0a, 0x16, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, - 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, - 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x73, 0x18, 0xca, 0xa4, 0xdd, 0x94, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xb6, 0x83, 0xea, 0x52, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x0e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, + 0x0a, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x98, 0xd2, 0x8b, 0x30, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, + 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x13, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, + 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe7, 0xe8, 0xbc, 0xf9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x12, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, + 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, + 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x67, 0x0a, 0x0e, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x4d, 0x45, 0x4e, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x15, 0x4d, 0x41, 0x4e, 0x41, + 0x47, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x41, 0x54, 0x54, 0x41, 0x43, 0x48, 0x4d, 0x45, 0x4e, + 0x54, 0x10, 0xcb, 0xd2, 0xea, 0xda, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0xf3, 0x8b, 0xa6, 0x97, 0x01, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x21, 0x0a, + 0x1f, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x70, 0x6e, 0x5f, + 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, + 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, + 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x22, 0xd0, 0x02, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, + 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x1a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x64, + 0x35, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd5, 0x11, 0x0a, 0x09, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0xe3, 0xbb, 0xd1, 0x80, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0d, 0x64, + 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xc7, 0xc1, 0xae, + 0xf0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, + 0x49, 0x70, 0x73, 0x12, 0x4c, 0x0a, 0x1e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x79, + 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa2, 0x99, 0xdd, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x01, 0x52, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, + 0x50, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x55, 0x0a, 0x23, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, + 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x9b, 0x89, 0xdb, 0x7b, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x02, 0x52, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0xcf, 0xaa, 0xd6, 0xef, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x15, 0x69, 0x63, 0x6d, 0x70, 0x5f, 0x69, 0x64, 0x6c, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xca, 0xd0, 0xde, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x12, 0x69, 0x63, 0x6d, 0x70, 0x49, 0x64, 0x6c, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x53, + 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x9d, 0xd1, 0xc1, + 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x48, 0x04, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x18, 0xe1, 0xc9, 0x9e, 0x77, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x65, 0x72, 0x56, + 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x18, 0xb3, 0xad, 0xe4, 0x58, 0x20, 0x01, 0x28, + 0x05, 0x48, 0x06, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x50, 0x65, 0x72, + 0x56, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, + 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfd, 0xb8, 0xf4, 0xcc, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x13, 0x6e, 0x61, 0x74, 0x49, 0x70, 0x41, 0x6c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x07, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x8e, 0xf0, 0x8b, 0x38, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x3f, 0x0a, 0x05, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x07, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x22, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, + 0x61, 0x74, 0x18, 0xdb, 0xef, 0xa1, 0x78, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x1d, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, + 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x57, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xc5, + 0xd4, 0xa5, 0xc6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x52, 0x0b, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x4e, 0x0a, 0x20, 0x74, 0x63, 0x70, 0x5f, + 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x6c, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xed, 0xeb, 0xb0, + 0x6a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0a, 0x52, 0x1c, 0x74, 0x63, 0x70, 0x45, 0x73, 0x74, 0x61, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x19, 0x74, 0x63, 0x70, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xfd, 0xbb, 0xf3, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x0b, 0x52, 0x15, 0x74, 0x63, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x1f, 0x74, + 0x63, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, + 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xa6, + 0xfb, 0xe1, 0x61, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0c, 0x52, 0x1b, 0x74, 0x63, 0x70, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x14, 0x75, 0x64, 0x70, 0x5f, 0x69, 0x64, 0x6c, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xc6, 0xb2, + 0xfa, 0x1e, 0x20, 0x01, 0x28, 0x05, 0x48, 0x0e, 0x52, 0x11, 0x75, 0x64, 0x70, 0x49, 0x64, 0x6c, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x22, 0x98, + 0x01, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x6f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, + 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x49, 0x45, + 0x52, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0e, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xc8, 0x9e, 0x85, 0x94, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x50, + 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, + 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x29, + 0x0a, 0x21, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, + 0x49, 0x44, 0x45, 0x53, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, + 0x41, 0x52, 0x44, 0x10, 0xc2, 0x87, 0x91, 0xde, 0x01, 0x22, 0x88, 0x01, 0x0a, 0x0d, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x18, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x1e, 0x45, 0x4e, 0x44, + 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x4c, 0x42, 0x10, 0x82, 0xba, 0xb6, 0xd1, + 0x01, 0x12, 0x18, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x53, 0x57, 0x47, 0x10, 0xc8, 0xce, 0xfd, 0x4b, 0x12, 0x17, 0x0a, 0x10, 0x45, + 0x4e, 0x44, 0x50, 0x4f, 0x49, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x4d, 0x10, + 0xb2, 0xea, 0x9c, 0x1b, 0x22, 0x61, 0x0a, 0x13, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x41, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x20, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x41, 0x54, 0x5f, 0x49, 0x50, 0x5f, + 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x00, 0x12, 0x10, 0x0a, 0x09, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xbc, + 0xe0, 0xf8, 0x56, 0x12, 0x12, 0x0a, 0x0b, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x5f, 0x4f, 0x4e, + 0x4c, 0x59, 0x10, 0x85, 0xc1, 0xc9, 0x7c, 0x22, 0xc2, 0x01, 0x0a, 0x1d, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x70, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x12, 0x30, 0x0a, 0x2c, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x53, 0x55, + 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, + 0x45, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x1d, 0x41, + 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x41, + 0x4c, 0x4c, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0xd8, 0x93, 0xe8, + 0x55, 0x12, 0x2c, 0x0a, 0x25, 0x41, 0x4c, 0x4c, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, 0x54, 0x57, + 0x4f, 0x52, 0x4b, 0x53, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, + 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0xbb, 0xc3, 0xbe, 0x58, 0x12, + 0x1b, 0x0a, 0x13, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x55, 0x42, 0x4e, 0x45, + 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x10, 0xfe, 0xa2, 0xe4, 0xf6, 0x01, 0x22, 0x3a, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x56, + 0x41, 0x54, 0x45, 0x10, 0xe3, 0xe2, 0xb2, 0xc0, 0x01, 0x12, 0x0d, 0x0a, 0x06, 0x50, 0x55, 0x42, + 0x4c, 0x49, 0x43, 0x10, 0xe9, 0xcc, 0xc2, 0x6a, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x75, 0x74, + 0x6f, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x42, 0x21, + 0x0a, 0x1f, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, + 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x69, 0x63, + 0x6d, 0x70, 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, + 0x73, 0x65, 0x63, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x6d, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, + 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x61, 0x74, 0x42, 0x23, 0x0a, 0x21, 0x5f, 0x74, 0x63, 0x70, 0x5f, + 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x69, 0x64, 0x6c, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x1c, 0x0a, 0x1a, + 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x74, + 0x63, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, + 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x75, 0x64, 0x70, 0x5f, + 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x22, 0xc7, 0x01, 0x0a, 0x12, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x4c, 0x6f, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0xf8, 0x96, 0xa3, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x59, 0x0a, 0x06, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4c, 0x4c, + 0x10, 0x81, 0xfb, 0x03, 0x12, 0x13, 0x0a, 0x0b, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x53, 0x5f, 0x4f, + 0x4e, 0x4c, 0x59, 0x10, 0x80, 0xb0, 0xcf, 0x92, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x4c, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xe9, + 0xc3, 0xaa, 0xaa, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x85, 0x02, 0x0a, 0x0d, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc5, + 0xb3, 0xb7, 0x31, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0xec, 0xdb, 0x9a, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0a, + 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x22, 0xf6, 0x01, 0x0a, 0x13, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, + 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x15, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x69, 0x70, 0x73, 0x18, 0xf5, 0xbb, 0xa8, 0x64, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x70, 0x73, + 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xed, 0xd0, 0xee, + 0x5a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x33, 0x0a, 0x14, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, + 0x5f, 0x69, 0x70, 0x73, 0x18, 0xa3, 0xc5, 0xc1, 0xa2, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x49, 0x70, + 0x73, 0x12, 0x38, 0x0a, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, + 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xff, 0xf9, 0xb7, + 0x28, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x74, + 0x44, 0x72, 0x61, 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xc8, 0x02, 0x0a, 0x18, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x18, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x18, 0xd9, 0xc1, 0x84, 0x7e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x12, 0x38, 0x0a, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x61, 0x74, 0x18, 0xf2, 0xca, 0x94, 0xb9, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x4e, 0x61, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x54, 0x6f, 0x4e, + 0x61, 0x74, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, + 0x5f, 0x54, 0x4f, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0d, 0x41, 0x4c, 0x4c, + 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0xb0, 0xaf, 0xfd, 0x10, 0x12, + 0x22, 0x0a, 0x1b, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, + 0x44, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x53, 0x10, 0x9c, + 0xb4, 0xd8, 0x5b, 0x12, 0x18, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x5f, 0x49, + 0x50, 0x5f, 0x52, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xc2, 0x93, 0xd6, 0x8d, 0x01, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x8a, 0x03, 0x0a, 0x0c, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x62, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x85, 0xac, 0xdf, 0xbc, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x52, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x56, 0x0a, 0x16, + 0x62, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xf9, 0xfb, 0xf6, 0x38, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, + 0x13, 0x62, 0x65, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x46, 0x6f, 0x72, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x0f, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xfb, 0xd7, 0x95, 0x68, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x0a, 0x6e, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0xd0, 0x99, 0x8b, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x22, 0xd1, 0x0a, 0x0a, 0x19, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x4f, 0x0a, 0x11, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0xac, 0xd9, 0xfc, 0x9e, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, + 0x52, 0x10, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0xf1, 0xb8, 0xd3, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, + 0x52, 0x09, 0x62, 0x66, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0xa3, 0xf6, + 0xc3, 0x56, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x49, 0x70, 0x76, 0x36, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x38, 0x0a, 0x14, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xd3, 0x85, 0xab, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x12, 0x69, 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x69, 0x6e, + 0x6b, 0x65, 0x64, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0xf9, + 0xbf, 0xfe, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x6c, 0x69, 0x6e, 0x6b, + 0x65, 0x64, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x31, + 0x0a, 0x10, 0x6d, 0x64, 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0xcb, 0x91, 0x90, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0e, + 0x6d, 0x64, 0x35, 0x41, 0x75, 0x74, 0x68, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, + 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x73, 0x18, 0xff, 0xd5, 0xcb, 0x40, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x10, + 0x6e, 0x75, 0x6d, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xd9, 0x97, 0x87, 0x63, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x08, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x19, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x90, 0xfb, 0xad, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x16, 0x70, 0x65, + 0x65, 0x72, 0x49, 0x70, 0x76, 0x36, 0x4e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x19, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x9d, 0xc7, 0xa7, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, + 0x52, 0x17, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0xb1, 0x96, 0xb5, 0xa3, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0xe8, 0xb7, 0x9e, 0x70, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x06, 0x75, + 0x70, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x75, 0x70, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0xa8, 0xca, 0xf8, 0x31, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0d, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x22, 0x45, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, + 0xa2, 0xb9, 0x80, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, + 0xaa, 0xf0, 0xc4, 0xce, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x9b, 0x15, 0x22, 0x70, + 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x19, 0x4d, + 0x44, 0x35, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x5f, 0x50, 0x52, 0x4f, 0x42, 0x4c, 0x45, 0x4d, 0x10, 0xb3, 0x91, 0xfd, 0x42, 0x12, 0x21, 0x0a, + 0x19, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x89, 0x8e, 0x84, 0xbc, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x66, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x17, + 0x0a, 0x15, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x65, 0x64, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x6d, 0x64, 0x35, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, + 0x69, 0x70, 0x76, 0x36, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, + 0x74, 0x69, 0x6d, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xb9, 0x05, 0x0a, 0x15, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x37, 0x0a, 0x16, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x86, 0xb4, 0xc8, 0xf3, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x6c, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x42, 0x0a, 0x1c, 0x64, 0x72, + 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xad, 0x90, 0xb7, 0x93, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x41, + 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x42, + 0x0a, 0x1c, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xc9, + 0x8e, 0xc8, 0x91, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x74, 0x49, + 0x70, 0x73, 0x12, 0x3f, 0x0a, 0x18, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, + 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0xe2, + 0xe9, 0xb5, 0xae, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x45, + 0x78, 0x74, 0x72, 0x61, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x52, 0x0a, 0x22, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xec, 0xb6, 0xa8, 0xf4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x02, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x95, 0xc5, 0xee, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd7, 0x03, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, - 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb6, 0xfc, 0xbd, 0x59, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x45, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb8, - 0xed, 0x90, 0x44, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x12, 0x0a, 0x03, 0x69, 0x6e, 0x73, 0x18, 0xee, 0xaf, 0x06, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x03, 0x69, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xf6, 0xd6, 0xf2, 0x48, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x1b, - 0x0a, 0x07, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x18, 0x82, 0xa1, 0x9b, 0xf7, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x84, 0xe9, 0xcb, 0x1c, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x83, 0x01, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0xa9, 0xd6, 0xde, 0x1d, 0x12, - 0x15, 0x0a, 0x0e, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4c, 0x4f, - 0x47, 0x10, 0x81, 0xe1, 0xa0, 0x24, 0x12, 0x0a, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x8c, - 0xec, 0x7f, 0x12, 0x15, 0x0a, 0x0d, 0x44, 0x45, 0x4e, 0x59, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, - 0x4c, 0x4f, 0x47, 0x10, 0xfe, 0xe9, 0xc9, 0xa7, 0x01, 0x12, 0x09, 0x0a, 0x03, 0x4c, 0x4f, 0x47, - 0x10, 0xa4, 0xce, 0x04, 0x12, 0x10, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x10, 0xf4, 0xb4, 0xa4, 0x7c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x9b, 0x04, 0x0a, 0x0e, 0x53, 0x53, 0x4c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, - 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x8f, 0xe5, 0xbb, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0xa8, 0xdc, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, - 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, - 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, - 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, - 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, - 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, - 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, - 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, - 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, - 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xbf, 0x09, 0x0a, 0x11, 0x53, 0x61, 0x76, 0x65, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, - 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, - 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xf2, 0xf5, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x01, 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x64, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd4, 0xb5, 0x9a, 0x20, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x85, 0xed, 0xc4, 0x81, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x03, 0x52, 0x11, 0x64, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, - 0xe7, 0x96, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, - 0x69, 0x7a, 0x65, 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, - 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, - 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x18, 0xd1, 0xe0, 0xe7, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x47, 0x0a, 0x1f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0xd7, 0xe9, 0xba, 0x65, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x1b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4e, + 0x61, 0x74, 0x49, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x0a, + 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xa2, 0xb2, 0xd9, 0xf1, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x5f, 0x6e, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x25, 0x0a, 0x23, + 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x73, 0x22, 0xfd, 0x02, 0x0a, 0x22, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4e, 0x61, 0x74, + 0x52, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x27, 0x0a, 0x0e, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x73, 0x18, 0xd5, 0xef, 0xb6, + 0x63, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x74, + 0x49, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, + 0x5f, 0x69, 0x70, 0x73, 0x18, 0xc7, 0xc1, 0xae, 0xf0, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x73, 0x12, 0x38, 0x0a, 0x14, 0x6d, + 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x69, 0x70, 0x73, 0x5f, 0x6e, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x18, 0x84, 0xca, 0xa9, 0xa8, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, + 0x11, 0x6d, 0x69, 0x6e, 0x45, 0x78, 0x74, 0x72, 0x61, 0x49, 0x70, 0x73, 0x4e, 0x65, 0x65, 0x64, + 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x22, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x6d, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, + 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0xec, 0xb6, 0xa8, 0xf4, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x1d, 0x6e, 0x75, 0x6d, 0x56, 0x6d, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x4e, 0x61, 0x74, 0x4d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xec, 0xdb, 0x9a, 0xff, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x02, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x69, 0x70, 0x73, 0x5f, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, 0x25, 0x0a, 0x23, + 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x6d, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x22, 0x8d, 0x01, 0x0a, 0x14, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0xd2, - 0xd1, 0xec, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x18, 0xb9, 0xda, 0xd5, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x09, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, - 0xf3, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, 0xc1, - 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0xa7, 0xbb, 0xbd, 0xca, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0b, 0x52, - 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x14, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x8a, 0xab, 0x80, 0xea, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0c, 0x52, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x3e, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x04, 0x4e, 0x56, 0x4d, 0x45, 0x10, 0xe0, 0x82, 0x93, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, - 0x53, 0x49, 0x10, 0xa6, 0x81, 0x9b, 0x01, 0x22, 0x3f, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, - 0x10, 0xb5, 0x99, 0xec, 0x2b, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, - 0x49, 0x54, 0x45, 0x10, 0xd6, 0x97, 0xe4, 0x52, 0x22, 0x5d, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, - 0x0a, 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, - 0x41, 0x47, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, - 0xee, 0xec, 0xeb, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, - 0x54, 0x45, 0x10, 0xce, 0xa2, 0xa7, 0x30, 0x22, 0x3f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, - 0x54, 0x10, 0x97, 0xf5, 0xd5, 0xdb, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x43, 0x52, 0x41, 0x54, - 0x43, 0x48, 0x10, 0xda, 0xfd, 0xf0, 0xec, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x75, 0x74, - 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x62, 0x6f, 0x6f, - 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x22, 0x6a, 0x0a, 0x16, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x50, 0x72, + 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0xa2, 0x01, 0x0a, 0x11, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, + 0x18, 0xca, 0xa4, 0xdd, 0x94, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x07, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd7, 0x03, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1e, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, + 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb8, 0xed, 0x90, 0x44, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x12, 0x0a, 0x03, 0x69, 0x6e, 0x73, 0x18, 0xee, 0xaf, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, + 0x69, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x18, 0xf6, 0xd6, 0xf2, 0x48, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0a, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x07, 0x6e, + 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x18, 0x82, 0xa1, 0x9b, 0xf7, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x84, 0xe9, 0xcb, 0x1c, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x83, 0x01, + 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0c, + 0x0a, 0x05, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x10, 0xa9, 0xd6, 0xde, 0x1d, 0x12, 0x15, 0x0a, 0x0e, + 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4c, 0x4f, 0x47, 0x10, 0x81, + 0xe1, 0xa0, 0x24, 0x12, 0x0a, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x8c, 0xec, 0x7f, 0x12, + 0x15, 0x0a, 0x0d, 0x44, 0x45, 0x4e, 0x59, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x4c, 0x4f, 0x47, + 0x10, 0xfe, 0xe9, 0xc9, 0xa7, 0x01, 0x12, 0x09, 0x0a, 0x03, 0x4c, 0x4f, 0x47, 0x10, 0xa4, 0xce, + 0x04, 0x12, 0x10, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xf4, + 0xb4, 0xa4, 0x7c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9b, + 0x04, 0x0a, 0x0e, 0x53, 0x53, 0x4c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, + 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, + 0x8f, 0xe5, 0xbb, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x18, 0xc1, 0xa8, 0xdc, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, + 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, + 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, + 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, + 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, + 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, + 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, + 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, + 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x09, 0x0a, + 0x11, 0x53, 0x61, 0x76, 0x65, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, + 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0a, 0x61, + 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x62, 0x6f, 0x6f, 0x74, 0x18, 0xf2, 0xf5, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, + 0x04, 0x62, 0x6f, 0x6f, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd4, 0xb5, 0x9a, 0x20, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, + 0x65, 0x79, 0x48, 0x03, 0x52, 0x11, 0x64, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, + 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x9c, 0xe9, 0xac, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x64, + 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x67, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x73, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, + 0xd1, 0xe0, 0xe7, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x52, 0x0f, 0x67, 0x75, 0x65, 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0xd2, 0xd1, 0xec, 0x2f, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xb9, 0xda, + 0xd5, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, + 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0xa3, 0xf3, 0xcc, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9b, 0xd0, 0xc1, 0x54, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x2c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0xa7, 0xbb, 0xbd, 0xca, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x0b, 0x52, 0x0c, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, + 0x14, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x8a, 0xab, 0x80, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0c, 0x52, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x88, 0x01, 0x01, 0x22, 0x3e, 0x0a, 0x09, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x56, + 0x4d, 0x45, 0x10, 0xe0, 0x82, 0x93, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x43, 0x53, 0x49, 0x10, + 0xa6, 0x81, 0x9b, 0x01, 0x22, 0x3f, 0x0a, 0x04, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x09, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xb5, 0x99, + 0xec, 0x2b, 0x12, 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, + 0x10, 0xd6, 0x97, 0xe4, 0x52, 0x22, 0x5d, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, + 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, + 0x10, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, 0xee, 0xec, 0xeb, + 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, + 0xce, 0xa2, 0xa7, 0x30, 0x22, 0x3f, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, + 0x12, 0x12, 0x0a, 0x0a, 0x50, 0x45, 0x52, 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x97, + 0xf5, 0xd5, 0xdb, 0x01, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x43, 0x52, 0x41, 0x54, 0x43, 0x48, 0x10, + 0xda, 0xfd, 0xf0, 0xec, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x16, + 0x0a, 0x14, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x87, + 0x04, 0x0a, 0x09, 0x53, 0x61, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x2b, 0x0a, 0x0c, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0xd3, 0xd2, 0xb1, + 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, + 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x2c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0xa7, 0xbb, 0xbd, 0xca, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x0c, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, + 0x14, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x8a, 0xab, 0x80, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, + 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, + 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, + 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0xc7, + 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x5d, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, + 0x42, 0x59, 0x54, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, + 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, 0xee, 0xec, 0xeb, 0x01, + 0x12, 0x11, 0x0a, 0x0a, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0xce, + 0xa2, 0xa7, 0x30, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x22, 0x87, 0x04, 0x0a, 0x09, 0x53, 0x61, 0x76, 0x65, 0x64, 0x44, 0x69, 0x73, 0x6b, 0x12, - 0x2b, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, - 0xd3, 0xd2, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0xa7, 0xbb, 0xbd, 0xca, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, - 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x14, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x8a, 0xab, 0x80, 0xea, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x12, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, - 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, - 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, - 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, - 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x5d, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, - 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, - 0x47, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, 0xee, - 0xec, 0xeb, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, - 0x45, 0x10, 0xce, 0xa2, 0xa7, 0x30, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x15, - 0x53, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xd3, 0xbb, 0xbc, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xd6, 0xf2, 0xb0, 0x2e, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, - 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x88, 0x01, 0x01, 0x22, 0x5d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, - 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, - 0xb0, 0xf6, 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x10, - 0x99, 0xeb, 0xdc, 0x1f, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, - 0x8f, 0x25, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x22, 0xc3, 0x08, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x69, 0x6e, 0x67, 0x12, 0x34, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0xfb, 0xb7, 0xa4, 0xa7, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, - 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbb, 0xff, 0x99, 0x33, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x72, - 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x66, 0x0a, 0x1a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x72, - 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, - 0xe6, 0xaf, 0xe6, 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x17, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, - 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xbb, 0xa4, 0xa2, 0x97, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x04, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x70, 0x75, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x66, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0xa3, 0x84, 0x9a, 0xdc, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, + 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x15, 0x53, 0x63, 0x61, + 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xd3, 0xbb, 0xbc, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xd6, 0xf2, 0xb0, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, + 0x22, 0x5d, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, + 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0e, + 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x10, + 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, + 0x12, 0x0f, 0x0a, 0x08, 0x4f, 0x42, 0x53, 0x4f, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x99, 0xeb, 0xdc, + 0x1f, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x22, 0xc3, 0x08, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, + 0x12, 0x34, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0xfb, 0xb7, 0xa4, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x00, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xbb, 0xff, 0x99, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x19, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x66, + 0x0a, 0x1a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0xe6, 0xaf, 0xe6, + 0x7f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x17, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x53, 0x73, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x63, 0x70, 0x75, 0x73, 0x18, 0xbb, 0xa4, 0xa2, 0x97, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x04, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x70, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x5c, 0x0a, 0x0f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x65, 0x73, 0x18, 0xa3, 0x84, 0x9a, 0xdc, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x52, + 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x36, 0x0a, 0x13, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xdc, 0xf2, 0xe7, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x11, 0x6f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x65, 0x6d, + 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0xa1, 0xe5, 0xcb, 0x9a, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x06, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0xd7, 0x96, 0x1e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x07, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x22, 0x93, 0x01, 0x0a, 0x19, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x54, 0x45, 0x52, + 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xab, 0xf3, 0xe5, 0xbf, + 0x01, 0x12, 0x2e, 0x0a, 0x27, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x54, 0x45, + 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xb3, 0xc1, 0xa9, + 0x2c, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x82, 0x80, 0x9c, 0x01, 0x22, 0x59, + 0x0a, 0x11, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x4f, 0x4e, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, + 0x41, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x49, 0x47, 0x52, 0x41, 0x54, + 0x45, 0x10, 0x8b, 0xc3, 0x81, 0x4f, 0x12, 0x11, 0x0a, 0x09, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, + 0x41, 0x54, 0x45, 0x10, 0xc1, 0x9c, 0xcb, 0xfb, 0x01, 0x22, 0x54, 0x0a, 0x11, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x20, + 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x56, + 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x4c, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x50, 0x4f, 0x54, 0x10, 0x82, 0xe2, 0x9b, 0x01, 0x12, 0x10, 0x0a, + 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x42, + 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x73, 0x73, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6f, 0x6e, 0x5f, + 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xde, 0x01, 0x0a, 0x16, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x79, 0x52, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x12, 0x36, 0x0a, 0x13, 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, - 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0xdc, 0xf2, 0xe7, 0x1e, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x05, 0x52, 0x11, 0x6f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x69, 0x6e, - 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x70, 0x72, - 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0xa1, 0xe5, 0xcb, 0x9a, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, 0x62, - 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, - 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0xd7, 0x96, 0x1e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x22, 0x93, 0x01, 0x0a, 0x19, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, - 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, 0xab, - 0xf3, 0xe5, 0xbf, 0x01, 0x12, 0x2e, 0x0a, 0x27, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, - 0x5f, 0x54, 0x45, 0x52, 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0xb3, 0xc1, 0xa9, 0x2c, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x82, 0x80, 0x9c, - 0x01, 0x22, 0x59, 0x0a, 0x11, 0x4f, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x74, - 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x4e, 0x5f, 0x48, 0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x49, 0x4e, - 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x4d, 0x49, 0x47, - 0x52, 0x41, 0x54, 0x45, 0x10, 0x8b, 0xc3, 0x81, 0x4f, 0x12, 0x11, 0x0a, 0x09, 0x54, 0x45, 0x52, - 0x4d, 0x49, 0x4e, 0x41, 0x54, 0x45, 0x10, 0xc1, 0x9c, 0xcb, 0xfb, 0x01, 0x22, 0x54, 0x0a, 0x11, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, - 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x50, 0x4f, 0x54, 0x10, 0x82, 0xe2, 0x9b, 0x01, - 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, - 0xe7, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, - 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x69, - 0x6e, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x70, 0x75, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x6f, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, - 0x6e, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x65, 0x65, 0x6d, 0x70, 0x74, 0x69, - 0x62, 0x6c, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x22, 0xde, 0x01, 0x0a, 0x16, 0x53, - 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xa4, 0xd1, 0xa8, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x19, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0xa2, 0xba, 0x96, - 0x77, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x57, 0x0a, - 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0xa5, 0x12, 0x12, 0x0d, 0x0a, 0x06, 0x4e, 0x4f, - 0x54, 0x5f, 0x49, 0x4e, 0x10, 0xb1, 0xbc, 0xeb, 0x4c, 0x12, 0x1b, 0x0a, 0x14, 0x4f, 0x50, 0x45, - 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0xfc, 0xff, 0xba, 0x3d, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x0c, 0x53, - 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x07, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x67, 0x62, 0x18, 0xbd, 0xc5, 0x8a, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x06, 0x64, 0x69, 0x73, 0x6b, 0x47, 0x62, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x67, 0x62, 0x22, 0x63, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x65, - 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x73, 0x18, 0x9a, 0xb6, 0xbd, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc2, 0x04, - 0x0a, 0x1e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x79, 0x12, 0x17, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0xdf, 0xbc, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0xa4, 0xd1, 0xa8, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0xa2, 0xba, 0x96, 0x77, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x57, 0x0a, 0x08, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x07, + 0x0a, 0x02, 0x49, 0x4e, 0x10, 0xa5, 0x12, 0x12, 0x0d, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x49, + 0x4e, 0x10, 0xb1, 0xbc, 0xeb, 0x4c, 0x12, 0x1b, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, + 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xfc, + 0xff, 0xba, 0x3d, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x0c, 0x53, 0x63, 0x72, 0x61, + 0x74, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x07, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x67, 0x62, 0x18, 0xbd, 0xc5, 0x8a, 0x1d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x06, + 0x64, 0x69, 0x73, 0x6b, 0x47, 0x62, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x67, 0x62, 0x22, 0x63, 0x0a, 0x0a, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x9a, 0xb6, 0xbd, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xc2, 0x04, 0x0a, 0x1e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, - 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0a, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x5b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, + 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x74, 0x61, + 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, + 0xdc, 0x01, 0x0a, 0x37, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, 0x0a, 0x1d, 0x70, + 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0xfa, 0x8c, 0xd7, + 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x1b, 0x70, 0x72, + 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x20, 0x0a, 0x1e, + 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x22, 0xc5, + 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x57, 0x0a, + 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x18, 0xef, 0xa6, 0xf7, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xdc, 0x01, 0x0a, 0x37, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7f, - 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, - 0xfa, 0x8c, 0xd7, 0xff, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x7c, 0x0a, 0x19, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x09, 0x77, 0x61, 0x66, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0xd4, 0xc3, 0xdb, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, - 0x1b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x20, 0x0a, 0x1e, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, - 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, - 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x57, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0xef, 0xa6, 0xf7, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x64, 0x57, 0x61, 0x66, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x77, 0x61, 0x66, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x61, 0x66, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x22, 0xa5, 0x0c, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x85, 0x01, 0x0a, 0x1a, 0x61, 0x64, 0x61, 0x70, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdf, 0xfb, 0xd1, 0x47, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x48, 0x00, 0x52, 0x18, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, + 0x7d, 0x0a, 0x17, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xc0, 0xd3, 0x9d, 0xd6, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x76, + 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x01, 0x52, 0x15, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x16, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0xcd, 0x84, 0xff, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x44, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x03, 0x52, 0x14, 0x64, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, + 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, + 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, + 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x06, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x18, 0x72, 0x65, + 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0xd4, 0xbd, 0xf7, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, + 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, + 0x0a, 0x52, 0x16, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0b, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x05, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x7c, 0x0a, 0x19, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x57, 0x61, 0x66, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x51, 0x0a, 0x09, 0x77, 0x61, 0x66, 0x5f, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x18, 0xd4, 0xc3, 0xdb, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x08, 0x77, 0x61, - 0x66, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x61, - 0x66, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xb9, 0x0b, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x85, 0x01, 0x0a, 0x1a, 0x61, - 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdf, 0xfb, 0xd1, 0x47, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, - 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x18, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, - 0x01, 0x01, 0x12, 0x7d, 0x0a, 0x17, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xc0, 0xd3, - 0x9d, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x01, 0x52, 0x15, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, - 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x16, 0x64, 0x64, 0x6f, 0x73, - 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0xcd, 0x84, 0xff, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x44, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x03, 0x52, 0x14, 0x64, 0x64, 0x6f, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, - 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, - 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, - 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, - 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x4f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x80, 0x01, 0x0a, - 0x18, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xdb, 0xd4, 0xbd, 0xf7, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x63, 0x61, - 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x48, 0x0a, 0x52, 0x16, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x44, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xf7, 0x91, 0xf5, 0x33, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x64, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x12, - 0x0a, 0x0b, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x41, 0x52, 0x4d, 0x4f, 0x52, 0x10, 0xf5, 0x9c, - 0xa4, 0x7c, 0x12, 0x17, 0x0a, 0x10, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x41, 0x52, 0x4d, 0x4f, - 0x52, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x10, 0xc7, 0xa2, 0xc7, 0x77, 0x12, 0x1b, 0x0a, 0x13, 0x43, - 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x41, 0x52, 0x4d, 0x4f, 0x52, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, - 0x52, 0x4b, 0x10, 0xc4, 0xac, 0xf9, 0xe8, 0x01, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x61, 0x64, 0x61, - 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x61, 0x64, 0x76, 0x61, - 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, - 0x64, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, - 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, - 0x68, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x22, 0xe6, 0x01, 0x0a, 0x26, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, - 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9c, - 0x01, 0x0a, 0x1a, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x5f, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x64, - 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xa3, 0xd9, - 0xc3, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x44, 0x64, - 0x6f, 0x73, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, - 0x00, 0x52, 0x17, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x44, 0x64, 0x6f, 0x73, 0x44, 0x65, 0x66, - 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x1d, 0x0a, - 0x1b, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x5f, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x64, 0x65, - 0x66, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x85, 0x02, 0x0a, - 0x3d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0xa3, 0x89, 0xc0, 0x0d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x11, 0x75, + 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0b, 0x43, 0x4c, 0x4f, 0x55, 0x44, + 0x5f, 0x41, 0x52, 0x4d, 0x4f, 0x52, 0x10, 0xf5, 0x9c, 0xa4, 0x7c, 0x12, 0x17, 0x0a, 0x10, 0x43, + 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x41, 0x52, 0x4d, 0x4f, 0x52, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x10, + 0xc7, 0xa2, 0xc7, 0x77, 0x12, 0x1b, 0x0a, 0x13, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x5f, 0x41, 0x52, + 0x4d, 0x4f, 0x52, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xc4, 0xac, 0xf9, 0xe8, + 0x01, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x61, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, + 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1b, 0x0a, + 0x19, 0x5f, 0x72, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xe6, 0x01, 0x0a, + 0x26, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x44, 0x64, 0x6f, - 0x73, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, - 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x30, 0x0a, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, - 0x74, 0x79, 0x18, 0xb5, 0xd8, 0x90, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, - 0x72, 0x75, 0x6c, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x88, 0x01, - 0x01, 0x22, 0x52, 0x0a, 0x0e, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, - 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, - 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, 0xb4, - 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, - 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, - 0x6c, 0x69, 0x74, 0x79, 0x22, 0xc5, 0x03, 0x0a, 0x23, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x82, 0x01, 0x0a, - 0x12, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0xb9, 0xd9, 0x99, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x6a, 0x73, - 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, - 0x67, 0x18, 0xd9, 0x84, 0xda, 0x86, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x6a, - 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0xc9, 0xbd, 0x84, 0x43, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, - 0x01, 0x01, 0x22, 0x4d, 0x0a, 0x0b, 0x4a, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, - 0x67, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4a, - 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x08, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, - 0x01, 0x22, 0x43, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, - 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, - 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, - 0x10, 0xe7, 0xe1, 0xe6, 0x4c, 0x12, 0x0f, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, - 0x10, 0xe2, 0x8a, 0xe4, 0xfd, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x5d, 0x0a, 0x33, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, - 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x4a, 0x73, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x18, 0xb3, 0xe2, 0xa7, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x22, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x64, - 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x9f, 0x9b, 0x83, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0e, 0x64, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x22, 0x52, 0x0a, 0x0e, 0x44, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x44, 0x4f, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x45, - 0x44, 0x10, 0xa2, 0xb0, 0xb5, 0x1e, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, - 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x64, 0x6f, - 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x02, 0x0a, - 0x12, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x03, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x24, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x63, - 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x11, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, - 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xea, 0x84, 0xbc, 0xd5, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x53, 0x69, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x5e, - 0x0a, 0x17, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, - 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x89, - 0x07, 0x0a, 0x12, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x69, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0xa8, 0xa0, 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x18, 0xc5, 0xb3, 0xb7, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9c, 0x01, 0x0a, 0x1a, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x37, 0x5f, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xa3, 0xd9, 0xc3, 0xd0, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x44, 0x64, 0x6f, 0x73, 0x44, 0x65, 0x66, 0x65, 0x6e, + 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x17, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x37, 0x44, 0x64, 0x6f, 0x73, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x37, 0x5f, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9d, 0x03, 0x0a, 0x3d, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x4c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x44, 0x64, 0x6f, 0x73, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0xb5, 0xd8, 0x90, 0xd8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x74, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x18, 0x9d, 0xab, 0xe3, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x04, 0x52, - 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x18, 0x70, 0x72, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x66, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xe3, 0x9f, 0x96, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x48, 0x05, 0x52, 0x16, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0xc8, 0xc7, 0xa3, 0x68, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x88, 0x01, - 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0xa4, 0xf3, - 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x07, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x71, 0x0a, 0x12, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xfb, 0xc9, 0x9a, - 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x37, + 0x44, 0x64, 0x6f, 0x73, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x22, 0x52, 0x0a, 0x0e, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, + 0x59, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x45, 0x4d, 0x49, 0x55, 0x4d, 0x10, 0xb7, + 0xb4, 0xc1, 0xbe, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, + 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xbd, 0x04, 0x0a, 0x4c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x61, 0x70, 0x74, 0x69, 0x76, 0x65, + 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x4c, 0x61, 0x79, 0x65, 0x72, 0x37, 0x44, 0x64, 0x6f, 0x73, 0x44, 0x65, 0x66, 0x65, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0xbe, 0xed, 0x99, 0x28, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x1d, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x89, 0xb5, 0x9a, 0x21, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x17, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x45, 0x78, 0x70, 0x69, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x27, + 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0xc3, 0x9c, 0xb9, 0x8b, 0x01, 0x20, 0x01, 0x28, + 0x02, 0x48, 0x02, 0x52, 0x23, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x49, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x1a, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x9a, 0xa0, 0x82, 0xf9, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x17, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x4c, 0x6f, 0x61, 0x64, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x23, 0x0a, + 0x21, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x63, 0x42, 0x2a, 0x0a, 0x28, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x1d, 0x0a, + 0x1b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x04, 0x0a, 0x23, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x82, 0x01, + 0x0a, 0x12, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0xb9, 0xd9, 0x99, 0x35, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x73, 0x6f, 0x6e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x10, 0x6a, + 0x73, 0x6f, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, + 0x6e, 0x67, 0x18, 0xd9, 0x84, 0xda, 0x86, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, + 0x6a, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x23, + 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0xc9, 0xbd, 0x84, 0x43, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0xb2, + 0xef, 0xe2, 0xc8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x49, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0x6b, + 0x0a, 0x0b, 0x4a, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, + 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x5f, + 0x50, 0x41, 0x52, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x49, 0x53, + 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0xfc, 0xd4, 0xb0, 0xf6, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, + 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x12, 0x1c, 0x0a, + 0x15, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x47, + 0x52, 0x41, 0x50, 0x48, 0x51, 0x4c, 0x10, 0x92, 0xbf, 0x81, 0x33, 0x22, 0x43, 0x0a, 0x08, 0x4c, + 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, + 0x12, 0x0d, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0xe7, 0xe1, 0xe6, 0x4c, 0x12, + 0x0f, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x42, 0x4f, 0x53, 0x45, 0x10, 0xe2, 0x8a, 0xe4, 0xfd, 0x01, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, + 0x5f, 0x70, 0x61, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x67, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x5d, 0x0a, 0x33, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4a, 0x73, 0x6f, + 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, + 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0xb3, + 0xe2, 0xa7, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x30, 0x0a, 0x0f, + 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x94, 0x9f, 0x9b, 0x83, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x64, 0x6f, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x52, + 0x0a, 0x0e, 0x44, 0x64, 0x6f, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x44, 0x44, + 0x4f, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, + 0x0f, 0x0a, 0x08, 0x41, 0x44, 0x56, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x10, 0xa2, 0xb0, 0xb5, 0x1e, + 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, + 0xe7, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x64, 0x6f, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x03, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x24, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x63, 0x61, 0x70, 0x74, 0x63, 0x68, 0x61, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, + 0x11, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0xea, 0x84, 0xbc, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, + 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x53, 0x69, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x88, + 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, + 0x73, 0x69, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x5e, 0x0a, 0x17, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x84, 0x08, 0x0a, 0x12, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0x1e, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xb6, 0xfc, 0xbd, 0x59, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, + 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x69, 0x0a, 0x0d, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, 0xb8, 0x9c, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x48, 0x08, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x10, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xbb, 0x92, - 0xee, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x48, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x70, 0x72, 0x65, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x61, 0x66, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, - 0x77, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x22, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x85, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x73, 0x18, 0xcd, 0xab, - 0xfa, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x32, 0x53, 0x65, + 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x02, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x50, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0xc5, 0xb3, 0xb7, 0x31, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xbf, 0xf2, 0xeb, 0x60, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc9, 0x02, 0x0a, 0x19, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xc2, 0x86, - 0xfe, 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, - 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0xf5, 0xf3, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x04, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x0d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0xf4, 0xf8, 0xfa, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x48, 0x01, 0x52, - 0x04, 0x65, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0xbd, 0xe3, 0xd6, 0x99, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, - 0x64, 0x45, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x22, 0x40, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x45, 0x44, - 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, 0x53, 0x52, 0x43, 0x5f, 0x49, - 0x50, 0x53, 0x5f, 0x56, 0x31, 0x10, 0x89, 0xfd, 0xe8, 0x21, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, - 0x72, 0x22, 0x49, 0x0a, 0x1f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x72, 0x63, 0x5f, 0x69, 0x70, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xd3, 0x80, 0x87, 0xce, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x73, 0x72, 0x63, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x99, 0x01, 0x0a, - 0x28, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, - 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x0a, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe5, 0xf8, 0xbf, 0x63, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x06, 0x0a, 0x31, 0x53, 0x65, 0x63, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x48, 0x05, 0x52, 0x0c, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x83, 0x01, 0x0a, + 0x18, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, 0x77, + 0x61, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0xe3, 0x9f, 0x96, 0x38, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x95, - 0x01, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, - 0x65, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0xf6, 0xde, - 0xdf, 0x4a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, - 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x17, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x45, - 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x9f, 0xa4, 0x93, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x06, 0x52, 0x16, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x18, 0xc8, 0xc7, + 0xa3, 0x68, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x07, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, + 0x18, 0xa4, 0xf3, 0xa1, 0xd4, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x08, 0x52, 0x08, 0x70, 0x72, + 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x71, 0x0a, 0x12, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0xfb, 0xc9, 0x9a, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x09, 0x52, 0x10, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x10, + 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0xbb, 0x92, 0xee, 0x4d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x0a, 0x52, 0x0f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1b, 0x0a, + 0x19, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x5f, + 0x77, 0x61, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, + 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, + 0x69, 0x74, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0xac, 0x01, 0x0a, 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x85, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, + 0x64, 0x73, 0x18, 0xcd, 0xab, 0xfa, 0x29, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x73, 0x22, 0xa9, + 0x01, 0x0a, 0x32, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xfd, 0xc1, 0xc7, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0a, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xbf, + 0xf2, 0xeb, 0x60, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xc9, 0x02, 0x0a, 0x19, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x58, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0xc2, 0x86, 0xfe, 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x39, 0x0a, 0x04, 0x65, 0x78, 0x70, 0x72, 0x18, 0xf5, 0xf3, 0xbe, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x48, 0x01, 0x52, 0x04, 0x65, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, + 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, + 0xbd, 0xe3, 0xd6, 0x99, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x22, 0x40, 0x0a, + 0x0d, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x45, 0x78, 0x70, 0x72, 0x12, 0x1c, + 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x58, 0x50, 0x52, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, + 0x53, 0x52, 0x43, 0x5f, 0x49, 0x50, 0x53, 0x5f, 0x56, 0x31, 0x10, 0x89, 0xfd, 0xe8, 0x21, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x65, + 0x78, 0x70, 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x65, + 0x64, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x22, 0x49, 0x0a, 0x1f, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x72, 0x63, + 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xd3, 0x80, 0x87, 0xce, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x22, 0xad, 0x03, 0x0a, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x91, 0xd7, 0xee, 0xa0, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x12, 0x21, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0xb5, + 0xb0, 0x93, 0xb5, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x73, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0c, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x73, 0x18, 0xc3, 0x8f, 0xcd, 0x7b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x70, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x08, 0x73, 0x72, 0x63, + 0x5f, 0x61, 0x73, 0x6e, 0x73, 0x18, 0xf2, 0xbd, 0x97, 0x38, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, + 0x73, 0x72, 0x63, 0x41, 0x73, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x72, 0x63, 0x5f, 0x69, + 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xd3, 0x80, 0x87, 0xce, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x73, 0x72, 0x63, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, + 0x1f, 0x0a, 0x09, 0x73, 0x72, 0x63, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0xf7, 0xbb, 0x9e, + 0xd4, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x73, 0x72, 0x63, 0x50, 0x6f, 0x72, 0x74, 0x73, + 0x12, 0x2b, 0x0a, 0x10, 0x73, 0x72, 0x63, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x73, 0x18, 0x96, 0xe3, 0x9f, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, + 0x72, 0x63, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x81, 0x01, + 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0xa3, 0x89, 0xc0, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x52, 0x11, + 0x75, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x22, 0x77, 0x0a, 0x35, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0xa2, 0xba, 0x96, 0x77, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x28, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, + 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6d, 0x0a, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe5, 0xf8, 0xbf, 0x63, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x9f, - 0x01, 0x0a, 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x18, 0x88, 0x9e, 0xba, 0xa2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, + 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x06, 0x0a, 0x31, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x95, 0x01, 0x0a, + 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, + 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0xf6, 0xde, 0xdf, 0x4a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, + 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x17, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x12, 0x95, 0x01, 0x0a, 0x1a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x18, 0x9f, 0xa4, 0x93, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x1b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x12, 0x8f, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x69, - 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x9e, 0xaa, 0x9f, - 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, - 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, - 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, - 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x14, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x55, 0x72, 0x69, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0xe3, 0xe3, 0xd5, 0xed, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2f, - 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, - 0x74, 0x18, 0x8d, 0xaf, 0xd6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x73, 0x65, 0x74, 0x22, 0xf0, 0x01, 0x0a, 0x3c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0xe1, 0x1b, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x6f, 0x70, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x76, 0x61, - 0x6c, 0x18, 0xa1, 0x8e, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, - 0x88, 0x01, 0x01, 0x22, 0x72, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x44, - 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x43, - 0x4f, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x9f, 0xcc, 0xcd, 0x66, 0x12, 0x11, 0x0a, 0x09, - 0x45, 0x4e, 0x44, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0xad, 0xe3, 0xeb, 0xe9, 0x01, 0x12, - 0x0e, 0x0a, 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0xbf, 0xe7, 0xed, 0xd2, 0x01, 0x12, - 0x12, 0x0a, 0x0a, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0xcc, 0xd2, - 0xe6, 0xa0, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, - 0x54, 0x48, 0x10, 0xf4, 0xdf, 0xc2, 0x42, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6f, 0x70, 0x42, 0x06, - 0x0a, 0x04, 0x5f, 0x76, 0x61, 0x6c, 0x22, 0xed, 0x08, 0x0a, 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, - 0x10, 0x62, 0x61, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x63, 0x18, 0xd6, 0x9a, 0xba, 0x14, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, - 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, - 0x72, 0x0a, 0x0d, 0x62, 0x61, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x18, 0xbb, 0xa8, 0xff, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, + 0x61, 0x6d, 0x73, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x9f, 0x01, 0x0a, + 0x1f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x18, 0x88, 0x9e, 0xba, 0xa2, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x48, 0x01, 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xcf, 0xc6, 0xe8, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xfc, 0x9d, 0xd6, 0xc6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x0c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x16, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, - 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xae, 0xbe, - 0x95, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x13, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, - 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x65, 0x6e, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0xee, 0xc3, 0x9a, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x65, 0x6e, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xa1, 0xca, 0xda, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0c, 0x65, - 0x78, 0x63, 0x65, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x7b, - 0x0a, 0x17, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe6, 0x8c, 0xed, 0xe1, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, + 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x1b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x8f, + 0x01, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x5f, + 0x74, 0x6f, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x9e, 0xaa, 0x9f, 0x2b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, - 0x06, 0x52, 0x15, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x7f, 0x0a, 0x14, 0x72, - 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, - 0x6f, 0x6c, 0x64, 0x18, 0x88, 0xbf, 0xcf, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, - 0x6f, 0x6c, 0x64, 0x48, 0x07, 0x52, 0x12, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x22, 0xab, 0x01, 0x0a, - 0x0c, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, - 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, - 0x43, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, - 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, 0x12, 0x13, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x43, - 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xfb, 0xa3, 0x83, 0xec, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x48, - 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0xa4, 0xd4, 0xd6, 0x2b, 0x12, - 0x11, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0xfc, 0xd2, 0xc4, - 0x94, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x50, 0x10, 0xa7, 0x12, 0x12, 0x12, 0x0a, 0x0b, 0x52, - 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xd8, 0xf8, 0xf7, 0x25, 0x12, - 0x09, 0x0a, 0x03, 0x53, 0x4e, 0x49, 0x10, 0xce, 0x82, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x46, - 0x46, 0x5f, 0x49, 0x50, 0x10, 0xae, 0xc7, 0x98, 0xd1, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x62, - 0x61, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, - 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6e, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x17, 0x0a, - 0x15, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x68, 0x72, - 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x8b, 0x03, 0x0a, 0x34, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x35, 0x0a, 0x13, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0xc3, 0x9a, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x13, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9d, 0xed, - 0xa6, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0xb4, 0x01, - 0x0a, 0x10, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, - 0x12, 0x13, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, - 0xfb, 0xa3, 0x83, 0xec, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, - 0x41, 0x44, 0x45, 0x52, 0x10, 0xa4, 0xd4, 0xd6, 0x2b, 0x12, 0x11, 0x0a, 0x09, 0x48, 0x54, 0x54, - 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0xfc, 0xd2, 0xc4, 0x94, 0x01, 0x12, 0x07, 0x0a, 0x02, - 0x49, 0x50, 0x10, 0xa7, 0x12, 0x12, 0x12, 0x0a, 0x0b, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x10, 0xd8, 0xf8, 0xf7, 0x25, 0x12, 0x09, 0x0a, 0x03, 0x53, 0x4e, 0x49, - 0x10, 0xce, 0x82, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x46, 0x46, 0x5f, 0x49, 0x50, 0x10, 0xae, - 0xc7, 0x98, 0xd1, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, - 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x2b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x55, 0x72, 0x69, 0x73, 0x54, 0x6f, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x12, 0x2a, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0xe3, 0xe3, 0xd5, 0xed, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x0f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, + 0x8d, 0xaf, 0xd6, 0xed, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x22, 0xf0, 0x01, 0x0a, 0x3c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x64, 0x57, 0x61, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x78, + 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0xe1, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x02, 0x6f, 0x70, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, + 0xa1, 0x8e, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x03, 0x76, 0x61, 0x6c, 0x88, 0x01, + 0x01, 0x22, 0x72, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x50, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x43, 0x4f, 0x4e, + 0x54, 0x41, 0x49, 0x4e, 0x53, 0x10, 0x9f, 0xcc, 0xcd, 0x66, 0x12, 0x11, 0x0a, 0x09, 0x45, 0x4e, + 0x44, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x10, 0xad, 0xe3, 0xeb, 0xe9, 0x01, 0x12, 0x0e, 0x0a, + 0x06, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x10, 0xbf, 0xe7, 0xed, 0xd2, 0x01, 0x12, 0x12, 0x0a, + 0x0a, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x53, 0x5f, 0x41, 0x4e, 0x59, 0x10, 0xcc, 0xd2, 0xe6, 0xa0, + 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x52, 0x54, 0x53, 0x5f, 0x57, 0x49, 0x54, 0x48, + 0x10, 0xf4, 0xdf, 0xc2, 0x42, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x6f, 0x70, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x76, 0x61, 0x6c, 0x22, 0xed, 0x08, 0x0a, 0x22, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x1c, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x8f, 0xa2, - 0x9d, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, - 0x65, 0x63, 0x18, 0xd7, 0xcb, 0xcb, 0x13, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0b, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x22, 0xbf, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, - 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4a, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0c, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, - 0x41, 0x4c, 0x5f, 0x33, 0x30, 0x32, 0x10, 0x81, 0xd6, 0xd9, 0xbc, 0x01, 0x12, 0x18, 0x0a, 0x10, - 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x41, 0x50, 0x54, 0x43, 0x48, 0x41, - 0x10, 0xc1, 0x9c, 0xb1, 0xf7, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x10, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x33, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0xea, 0x8b, 0xba, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6c, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xdf, 0xb3, 0xaf, 0x9d, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x26, 0x53, - 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x29, 0x0a, 0x27, 0x53, 0x65, 0x6e, 0x64, 0x44, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, - 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, - 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x9a, 0xb6, 0xbd, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, - 0x18, 0xf3, 0x95, 0xce, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x04, 0x6e, 0x65, 0x78, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x18, 0xe2, 0x88, 0xab, 0x34, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, - 0xc5, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x8e, 0x01, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1a, 0x52, 0x45, - 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, - 0x59, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0xc9, 0xd8, 0xe9, 0xef, 0x01, 0x12, 0x26, - 0x0a, 0x1f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4f, - 0x4e, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x53, 0x10, 0xdf, 0xaa, 0xad, 0x61, 0x12, 0x26, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, - 0x5f, 0x42, 0x49, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xa8, 0xdb, 0x9c, 0x56, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x53, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x18, 0x9c, 0x97, 0x89, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x73, 0x18, 0x9f, 0x99, 0x92, 0x4f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xc9, 0x0b, 0x0a, - 0x11, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xc8, 0x97, 0xb8, 0x22, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, - 0x12, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0xdc, 0xf9, 0xa4, - 0x88, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x76, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0xc7, 0xb6, 0x84, 0xc0, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x30, 0x0a, 0x10, 0x62, + 0x61, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x18, + 0xd6, 0x9a, 0xba, 0x14, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x6e, 0x44, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x72, 0x0a, + 0x0d, 0x62, 0x61, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0xbb, + 0xa8, 0xff, 0xee, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x48, 0x01, + 0x52, 0x0c, 0x62, 0x61, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xcf, 0xc6, 0xe8, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0xfc, 0x9d, 0xd6, 0xc6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x0c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x85, 0x01, 0x0a, 0x16, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, + 0x6b, 0x65, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xae, 0xbe, 0x95, 0x10, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x15, 0x63, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x73, 0x18, 0x9e, 0x99, 0xa5, 0x61, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, - 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0c, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x18, 0x8d, 0xd8, 0x89, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x18, 0x85, 0x87, 0xbc, 0xad, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x13, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, - 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x0b, 0x6e, 0x61, 0x74, 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x98, 0x8f, 0xdb, - 0xb2, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x73, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xd1, - 0xa8, 0x9c, 0x76, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x72, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x19, 0x70, 0x73, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xee, 0xfa, 0xcf, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x13, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, + 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x35, 0x0a, 0x13, 0x65, 0x6e, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0xee, 0xc3, 0x9a, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x65, 0x6e, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x2b, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xa1, 0xca, 0xda, 0x4f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x63, + 0x65, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x7b, 0x0a, 0x17, + 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe6, 0x8c, 0xed, 0xe1, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x06, 0x52, + 0x15, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x7f, 0x0a, 0x14, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x88, 0xbf, 0xcf, 0x96, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x48, 0x09, 0x52, - 0x16, 0x70, 0x73, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x72, 0x65, - 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0xe4, 0xc3, 0xeb, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x14, - 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, - 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x87, 0xfc, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, - 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x10, 0x41, 0x43, 0x43, - 0x45, 0x50, 0x54, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x94, 0xf7, - 0xf0, 0x23, 0x12, 0x15, 0x0a, 0x0d, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x4d, 0x41, 0x4e, - 0x55, 0x41, 0x4c, 0x10, 0xdd, 0xed, 0xf1, 0xb1, 0x01, 0x12, 0x28, 0x0a, 0x21, 0x43, 0x4f, 0x4e, - 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, - 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xb4, - 0xa0, 0xbf, 0x10, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x70, 0x72, 0x6f, 0x64, - 0x75, 0x63, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xa1, 0x04, 0x0a, 0x1f, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, - 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, - 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6f, 0x0a, - 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xaa, 0x03, 0x0a, - 0x22, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xe5, 0xdd, 0xa4, 0x79, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x95, 0xbb, 0x9c, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x70, 0x73, - 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0xdd, 0xa5, 0xa3, 0x8b, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0f, 0x70, 0x73, 0x63, - 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, - 0x94, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, - 0x12, 0x0f, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0xa7, 0x9f, 0xd2, - 0x75, 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, - 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4e, - 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xbc, 0x8b, 0xa2, 0xa4, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, - 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x08, 0x52, 0x45, - 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x19, 0x0a, 0x12, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0xca, 0xcc, 0x8b, 0x14, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, - 0x6d, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x73, 0x63, - 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x25, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x9a, 0x9e, 0xd4, 0x3e, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0xde, 0x8f, 0xe6, 0x62, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x0a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x32, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x72, - 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0xa8, 0x8a, 0xe5, 0xa6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x4f, 0x72, 0x4e, 0x75, 0x6d, - 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x22, 0xe6, - 0x02, 0x0a, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, + 0x64, 0x48, 0x07, 0x52, 0x12, 0x72, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x54, 0x68, + 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x22, 0xab, 0x01, 0x0a, 0x0c, 0x45, + 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x18, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, + 0x5f, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4c, 0x4c, + 0x10, 0x81, 0xfb, 0x03, 0x12, 0x13, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x43, 0x4f, 0x4f, + 0x4b, 0x49, 0x45, 0x10, 0xfb, 0xa3, 0x83, 0xec, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x48, 0x54, 0x54, + 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0xa4, 0xd4, 0xd6, 0x2b, 0x12, 0x11, 0x0a, + 0x09, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, 0xfc, 0xd2, 0xc4, 0x94, 0x01, + 0x12, 0x07, 0x0a, 0x02, 0x49, 0x50, 0x10, 0xa7, 0x12, 0x12, 0x12, 0x0a, 0x0b, 0x52, 0x45, 0x47, + 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0xd8, 0xf8, 0xf7, 0x25, 0x12, 0x09, 0x0a, + 0x03, 0x53, 0x4e, 0x49, 0x10, 0xce, 0x82, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x46, 0x46, 0x5f, + 0x49, 0x50, 0x10, 0xae, 0xc7, 0x98, 0xd1, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x62, 0x61, 0x6e, + 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x62, 0x61, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x1a, 0x0a, 0x18, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, + 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x8b, 0x03, 0x0a, 0x34, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x35, 0x0a, + 0x13, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xee, 0xc3, 0x9a, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x13, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, + 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x9d, 0xed, 0xa6, 0x3f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, + 0x6e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0xb4, 0x01, 0x0a, 0x10, + 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x6e, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x21, 0x0a, 0x1d, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x45, 0x4e, + 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x81, 0xfb, 0x03, 0x12, 0x13, + 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xfb, 0xa3, + 0x83, 0xec, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, + 0x45, 0x52, 0x10, 0xa4, 0xd4, 0xd6, 0x2b, 0x12, 0x11, 0x0a, 0x09, 0x48, 0x54, 0x54, 0x50, 0x5f, + 0x50, 0x41, 0x54, 0x48, 0x10, 0xfc, 0xd2, 0xc4, 0x94, 0x01, 0x12, 0x07, 0x0a, 0x02, 0x49, 0x50, + 0x10, 0xa7, 0x12, 0x12, 0x12, 0x0a, 0x0b, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x10, 0xd8, 0xf8, 0xf7, 0x25, 0x12, 0x09, 0x0a, 0x03, 0x53, 0x4e, 0x49, 0x10, 0xce, + 0x82, 0x05, 0x12, 0x0e, 0x0a, 0x06, 0x58, 0x46, 0x46, 0x5f, 0x49, 0x50, 0x10, 0xae, 0xc7, 0x98, + 0xd1, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, + 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, + 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x91, 0x01, 0x0a, 0x2b, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, + 0x6c, 0x64, 0x12, 0x1c, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x8f, 0xa2, 0x9d, 0x2d, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, + 0x18, 0xd7, 0xcb, 0xcb, 0x13, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0b, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x76, 0x61, 0x6c, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x22, 0xbf, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x06, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4a, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x0c, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, + 0x5f, 0x33, 0x30, 0x32, 0x10, 0x81, 0xd6, 0xd9, 0xbc, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x47, 0x4f, + 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x41, 0x50, 0x54, 0x43, 0x48, 0x41, 0x10, 0xc1, + 0x9c, 0xb1, 0xf7, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xab, 0x02, 0x0a, 0x1e, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x73, 0x65, 0x72, 0x44, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1a, 0x0a, 0x04, 0x62, + 0x61, 0x73, 0x65, 0x18, 0xd1, 0x8d, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, + 0x62, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6d, 0x61, 0x73, 0x6b, 0x18, + 0xec, 0x8d, 0xcc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x61, 0x73, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x93, 0xc9, 0xdd, 0x19, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x81, 0xc0, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x04, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x22, 0x4a, 0x0a, 0x04, 0x42, + 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x42, 0x41, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, + 0x85, 0xcc, 0x89, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x87, 0xcc, 0x89, + 0x01, 0x12, 0x09, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0xc1, 0x87, 0x05, 0x12, 0x09, 0x0a, 0x03, + 0x55, 0x44, 0x50, 0x10, 0xa1, 0x8f, 0x05, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x8d, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x64, 0x0a, 0x15, 0x61, + 0x77, 0x73, 0x5f, 0x76, 0x34, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x97, 0xeb, 0xf8, 0xce, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x57, 0x53, 0x56, 0x34, 0x53, 0x69, + 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x13, 0x61, 0x77, 0x73, 0x56, 0x34, + 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x33, 0x0a, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xea, 0x8b, 0xba, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x6c, 0x73, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xdf, 0xb3, 0xaf, 0x9d, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6c, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x77, 0x73, 0x5f, 0x76, + 0x34, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x6c, 0x73, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8a, 0x01, 0x0a, 0x26, 0x53, 0x65, 0x6e, 0x64, 0x44, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, + 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, + 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x22, 0x29, 0x0a, 0x27, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, + 0x01, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x9a, 0xb6, 0xbd, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0xf3, 0x95, 0xce, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, + 0xe2, 0x88, 0xab, 0x34, 0x20, 0x01, 0x28, 0x03, 0x48, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x65, 0x78, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x0d, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1a, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, + 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x41, 0x4e, 0x59, 0x5f, 0x53, 0x45, + 0x52, 0x56, 0x45, 0x52, 0x10, 0xc9, 0xd8, 0xe9, 0xef, 0x01, 0x12, 0x26, 0x0a, 0x1f, 0x52, 0x45, + 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, + 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x53, 0x10, 0xdf, 0xaa, + 0xad, 0x61, 0x12, 0x26, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x42, 0x49, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xa8, 0xdb, 0x9c, 0x56, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x53, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x9c, + 0x97, 0x89, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x9f, 0x99, + 0x92, 0x4f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xc9, 0x0b, 0x0a, 0x11, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x6f, + 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0xc8, 0x97, 0xb8, 0x22, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x12, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, + 0x3c, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0xdc, 0xf9, 0xa4, 0x88, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, + 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0xc7, 0xb6, 0x84, 0xc0, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x73, + 0x75, 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, + 0x72, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x9e, + 0x99, 0xa5, 0x61, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, + 0x72, 0x52, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x12, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x0c, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x8d, + 0xd8, 0x89, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x85, 0x87, + 0xbc, 0xad, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x13, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0b, 0x6e, 0x61, 0x74, + 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x18, 0x98, 0x8f, 0xdb, 0xb2, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x61, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x73, 0x12, 0x40, + 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xd1, 0xa8, 0x9c, 0x76, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x64, 0x0a, 0x19, 0x70, 0x73, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xee, 0xfa, + 0xcf, 0xfb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x48, 0x09, 0x52, 0x16, 0x70, 0x73, 0x63, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, + 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0xe4, 0xc3, 0xeb, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0a, 0x52, 0x14, 0x72, 0x65, 0x63, 0x6f, + 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0e, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x87, 0xfc, 0x4e, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x95, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x23, 0x0a, 0x1f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, + 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x10, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, + 0x41, 0x55, 0x54, 0x4f, 0x4d, 0x41, 0x54, 0x49, 0x43, 0x10, 0x94, 0xf7, 0xf0, 0x23, 0x12, 0x15, + 0x0a, 0x0d, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x5f, 0x4d, 0x41, 0x4e, 0x55, 0x41, 0x4c, 0x10, + 0xdd, 0xed, 0xf1, 0xb1, 0x01, 0x12, 0x28, 0x0a, 0x21, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xb4, 0xa0, 0xbf, 0x10, 0x42, + 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x72, + 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x18, + 0x0a, 0x16, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x22, 0xa1, 0x04, 0x0a, 0x1f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, + 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, - 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, - 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, + 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, + 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0xa6, 0x92, 0xba, 0x92, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, - 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfc, 0x02, 0x0a, 0x26, 0x53, 0x65, - 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xbc, 0x01, 0x0a, 0x37, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xa4, 0xe9, 0xa8, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfd, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xbd, 0x01, 0x0a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xef, 0xd1, 0xc2, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6f, 0x0a, 0x0a, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xaa, 0x03, 0x0a, 0x22, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x31, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x18, 0xe5, 0xdd, 0xa4, 0x79, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x95, + 0xbb, 0x9c, 0x3e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0xdd, 0xa5, 0xa3, 0x8b, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0f, 0x70, 0x73, 0x63, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x94, 0x01, 0x0a, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, + 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0xa7, 0x9f, 0xd2, 0x75, 0x12, 0x0e, 0x0a, + 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0xec, 0xaa, 0xa3, 0xb5, 0x01, 0x12, 0x17, 0x0a, + 0x0f, 0x4e, 0x45, 0x45, 0x44, 0x53, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0xbc, 0x8b, 0xa2, 0xa4, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, + 0x45, 0x44, 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x19, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xca, 0xcc, + 0x8b, 0x14, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x72, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x73, 0x63, 0x5f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x25, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, + 0x31, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x9a, 0x9e, 0xd4, 0x3e, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0f, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0xde, 0x8f, 0xe6, 0x62, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, + 0x18, 0xa8, 0x8a, 0xe5, 0xa6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x4f, 0x72, 0x4e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, + 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x72, 0x5f, 0x6e, 0x75, 0x6d, 0x22, 0xe6, 0x02, 0x0a, 0x15, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x81, 0x03, 0x0a, 0x1a, 0x53, 0x65, 0x74, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x6f, - 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0xfe, 0x94, 0xb4, 0x65, 0x20, 0x01, - 0x28, 0x02, 0x48, 0x00, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x61, - 0x74, 0x69, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, + 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0xa6, 0x92, 0xba, 0x92, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfc, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0xbc, 0x01, 0x0a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, + 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xa4, 0xe9, 0xa8, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfd, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x18, 0x8a, 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x6d, 0x0a, 0x19, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb7, 0xdd, 0xf9, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, - 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, 0x03, 0x0a, - 0x28, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xc3, 0x01, 0x0a, - 0x39, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbb, 0xb6, 0xfe, 0xde, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x32, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfd, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0xbd, 0x01, 0x0a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, + 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xef, + 0xd1, 0xc2, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x81, 0x03, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0xfe, 0x94, 0xb4, 0x65, 0x20, 0x01, 0x28, 0x02, 0x48, 0x00, + 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xbd, 0x01, 0x0a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xba, 0x96, 0x83, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, - 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe4, 0x01, 0x0a, 0x27, 0x53, 0x65, 0x74, 0x43, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, 0xe4, + 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x6d, 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb7, 0xdd, 0xf9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x6f, + 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x88, 0x03, 0x0a, 0x28, 0x53, 0x65, 0x74, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xc3, 0x01, 0x0a, 0x39, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbb, 0xb6, 0xfe, 0xde, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x32, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, + 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, + 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xfd, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, + 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0xbd, 0x01, 0x0a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xba, 0x96, + 0x83, 0xa4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xc2, 0x03, 0x0a, 0x2a, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x37, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0xe7, 0x8d, 0xde, 0x8d, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x9a, 0x01, 0x0a, 0x17, + 0x70, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x94, 0xd1, 0x82, 0xc3, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9e, 0xbe, 0xe6, 0x8a, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb9, - 0x02, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0xaf, 0x01, 0x0a, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xa3, 0x3c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x02, 0x0a, 0x24, 0x53, - 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0xff, 0xb2, 0xda, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, - 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9e, - 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x27, 0x0a, - 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xd4, 0xb5, 0x9a, - 0x20, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, - 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x15, 0x70, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa5, 0x01, 0x0a, 0x1a, 0x50, 0x65, 0x72, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x71, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xc0, 0x02, 0x0a, 0x42, 0x53, 0x65, 0x74, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x3d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x88, 0xa4, 0x93, 0x2e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1c, + 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x88, 0x01, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x41, + 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0xb4, 0xc3, 0x80, 0x27, 0x12, 0x0b, 0x0a, + 0x04, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x82, 0xb7, 0x80, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, 0xa6, 0xd9, 0x01, 0x12, 0x12, 0x0a, 0x0a, 0x50, 0x52, + 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x45, 0x44, 0x10, 0xdb, 0xb4, 0x82, 0xf2, 0x01, 0x12, 0x12, + 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x50, 0x41, 0x47, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x86, 0x83, + 0xcb, 0x4e, 0x12, 0x13, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x97, 0xbe, 0x98, 0xfb, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x27, + 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9e, 0xbe, 0xe6, + 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xb9, 0x02, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xc4, 0x02, 0x0a, 0x29, 0x53, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, - 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, - 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0xaf, 0x01, 0x0a, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0xc0, + 0xa3, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2c, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x85, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb4, 0xab, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x2a, 0x53, 0x65, 0x74, 0x45, 0x64, - 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xf0, 0xb4, 0xab, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x1f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, - 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, + 0x02, 0x0a, 0x24, 0x53, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, + 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, + 0xff, 0xb2, 0xda, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x12, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0x9e, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x75, + 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x27, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0xd4, 0xb5, 0x9a, 0x20, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, - 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, - 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x12, 0x7e, 0x0a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbb, 0xb8, 0x98, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x53, - 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xa8, 0x01, 0x0a, 0x2f, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xde, 0x94, 0xcc, - 0x54, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xc4, 0x02, 0x0a, 0x29, 0x53, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb4, 0xab, 0x61, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x2a, 0x53, + 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, + 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0xff, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x85, + 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb4, 0xab, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xef, 0x01, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x12, 0x7e, 0x0a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbb, 0xb8, 0x98, 0xb6, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, - 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, - 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, - 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, - 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x24, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x12, 0x84, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x28, - 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, - 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, + 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, + 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xfb, 0x01, 0x0a, 0x17, 0x53, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, @@ -154047,61 +160879,100 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x1f, 0x53, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, - 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x21, 0x53, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xa8, + 0x01, 0x0a, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xde, 0x94, 0xcc, 0x54, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2a, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe7, 0x01, + 0x0a, 0x18, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xff, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x7e, 0x0a, 0x20, 0x7a, 0x6f, 0x6e, + 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbb, 0xb8, + 0x98, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x7a, 0x6f, 0x6e, + 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x23, 0x53, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xe9, + 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, + 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, + 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x1f, 0x53, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, + 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x96, 0x02, 0x0a, 0x27, 0x53, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, - 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, - 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x9d, 0x02, 0x0a, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x24, + 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, @@ -154117,42 +160988,40 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x82, 0x02, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x7e, 0x0a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbb, 0xb8, 0x98, 0xb6, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, - 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x65, - 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x90, 0x02, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, - 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x28, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, + 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x24, 0x53, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x80, 0x02, 0x0a, 0x1c, + 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x7e, + 0x0a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xbb, 0xb8, 0x98, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x1c, 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8e, + 0x02, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, @@ -154168,155 +161037,480 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0xea, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, - 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8c, 0x02, 0x0a, - 0x1d, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x12, 0x84, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xc7, 0x03, 0x0a, 0x2e, - 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, - 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xd1, 0x01, 0x0a, - 0x3e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xc5, 0xd9, 0xd6, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x37, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x96, 0x02, 0x0a, 0x27, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, + 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x1d, 0x53, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, + 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, + 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x9d, 0x02, 0x0a, 0x2e, 0x53, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, + 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x7e, 0x0a, 0x20, + 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xbb, 0xb8, 0x98, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, + 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x90, 0x02, 0x0a, + 0x21, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x93, 0x02, 0x0a, 0x24, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x83, 0xc7, 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, + 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb2, 0xe7, 0xdb, + 0xa0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x83, 0xc7, + 0xeb, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0xc7, 0x03, 0x0a, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, + 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x12, 0xd1, 0x01, 0x0a, 0x3e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc5, 0xd9, 0xd6, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x03, 0x0a, 0x34, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, - 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x37, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x03, 0x0a, 0x34, + 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, + 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xcb, 0x01, 0x0a, 0x3c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xcc, 0xc2, 0xa8, 0x59, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x35, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xce, 0x02, 0x0a, 0x17, + 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, + 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x02, 0x0a, + 0x14, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, + 0x7e, 0x0a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x8e, 0xea, 0x82, 0xae, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x1c, 0x7a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfb, + 0x01, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x78, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, + 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0xcb, 0x01, 0x0a, 0x3c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xcc, 0xc2, 0xa8, 0x59, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x53, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x35, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xce, 0x02, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, - 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd5, 0x02, 0x0a, + 0x1e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, - 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x7e, 0x0a, 0x20, 0x7a, 0x6f, 0x6e, - 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0xea, - 0x82, 0xae, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, 0x7b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, + 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf6, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, + 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x7a, 0x6f, 0x6e, - 0x65, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfb, 0x01, 0x0a, 0x22, 0x53, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, - 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, + 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xfd, 0x01, + 0x0a, 0x24, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, + 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xee, 0x01, + 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, + 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd2, + 0x02, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x8c, 0x01, 0x0a, 0x25, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe0, 0x81, 0x88, 0x63, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xdd, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, 0x7b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, + 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xf5, 0x01, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd1, 0x02, 0x0a, 0x1a, + 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, + 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xf7, 0x01, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x18, 0x53, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, + 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd7, 0x02, + 0x0a, 0x20, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, + 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, - 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd5, 0x02, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd0, 0x02, 0x0a, 0x19, + 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, @@ -154335,1211 +161529,1475 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf6, - 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, - 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x24, 0x53, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, - 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfb, + 0x02, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xab, 0x01, 0x0a, 0x30, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xee, + 0xae, 0xcc, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2b, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd2, 0x02, 0x0a, 0x18, 0x53, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe7, 0x02, 0x0a, + 0x1d, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x9c, 0x01, 0x0a, 0x2b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x8d, 0xc7, 0x98, 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, + 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x26, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9e, 0x02, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x8c, 0x01, 0x0a, 0x25, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xe0, 0x81, 0x88, 0x63, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x21, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdd, 0x02, - 0x0a, 0x26, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, - 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf5, 0x01, - 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, - 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, - 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xd6, 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x1e, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01, 0x0a, - 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9e, + 0xbe, 0xe6, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, + 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf4, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x4d, + 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0xa6, 0x01, 0x0a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xe8, 0x9e, 0xe5, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0xf1, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x84, 0x01, 0x0a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x99, 0xc6, 0x98, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, - 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, + 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcb, + 0x02, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x87, 0x01, + 0x0a, 0x23, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd4, 0xc0, 0xde, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd7, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x84, 0x03, 0x0a, + 0x21, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0xaa, 0x01, 0x0a, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xaf, 0xe4, 0xd3, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x2a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x03, 0x0a, 0x27, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, + 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0xbb, 0x01, 0x0a, 0x37, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x9a, 0x90, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, + 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x30, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf4, 0x02, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0xa3, 0x01, 0x0a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb1, 0xb9, 0xfc, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x28, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x6f, + 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa5, + 0x03, 0x0a, 0x29, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xd1, 0x02, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x56, - 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd6, 0xf8, 0xd5, - 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, - 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd0, 0x02, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x83, 0x01, 0x0a, 0x22, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, + 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0xc3, 0x01, 0x0a, 0x39, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, + 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xd6, 0xf8, 0xd5, 0x7b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfb, 0x02, 0x0a, 0x22, 0x53, 0x65, 0x74, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0xab, 0x01, 0x0a, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xee, 0xae, 0xcc, 0x5d, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, - 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0xf8, 0xce, 0x9d, 0x80, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, + 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x32, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, + 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0xb3, 0x01, 0x0a, 0x34, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xae, 0xc9, 0xf1, 0x61, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, 0x23, 0x53, 0x65, + 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe7, 0x02, 0x0a, 0x1d, 0x53, 0x65, 0x74, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x9c, 0x01, 0x0a, - 0x2b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8d, 0xc7, 0x98, - 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x26, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, - 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0x9e, 0x02, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x64, 0x88, 0x01, 0x01, 0x12, 0xb3, 0x01, 0x0a, 0x34, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc3, 0x98, + 0xf1, 0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2d, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, + 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x02, 0x0a, + 0x26, 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xbc, 0x01, 0x0a, 0x37, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe2, 0xf5, 0xe3, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x51, + 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x51, 0x75, + 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, + 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa6, + 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9e, 0xbe, 0xe6, 0x8a, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xf4, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe8, - 0x9e, 0xe5, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x69, - 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcb, 0x02, 0x0a, 0x16, 0x53, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5d, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd9, 0xac, + 0xee, 0xdc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x12, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, + 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc4, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, + 0xb4, 0xab, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, + 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x87, 0x01, 0x0a, 0x23, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xd4, 0xc0, 0xde, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x84, 0x03, 0x0a, 0x21, 0x53, 0x65, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, - 0xd4, 0xd5, 0x26, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xaa, 0x01, 0x0a, 0x30, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xaf, 0xe4, 0xd3, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2a, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xa5, 0x01, 0x0a, 0x2e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8a, 0xd1, 0xba, 0x76, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, + 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf3, 0x02, 0x0a, 0x2c, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb4, 0xab, 0x61, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe7, 0x02, 0x0a, 0x26, 0x53, + 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xf0, 0xb4, 0xab, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x1f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x30, 0x0a, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x83, 0x8f, 0x96, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe0, 0x02, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, + 0xb4, 0xab, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x27, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x8a, + 0xe4, 0xf8, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf4, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0xa6, 0x01, 0x0a, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xb8, 0x9e, 0xb2, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xfe, + 0x02, 0x0a, 0x31, 0x53, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa1, 0x03, - 0x0a, 0x27, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0xd5, 0xd4, 0xd5, 0x26, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xbb, 0x01, - 0x0a, 0x37, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9a, 0x90, 0x60, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x30, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xf4, 0x02, 0x0a, 0x1f, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xa3, 0x01, - 0x0a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xb1, 0xb9, 0xfc, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x28, 0x6e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x9f, 0x01, 0x0a, 0x2b, + 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb6, 0xdc, 0x8d, 0xc3, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x27, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xce, 0x03, 0x0a, 0x2f, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa5, 0x03, 0x0a, 0x29, 0x53, 0x65, 0x74, - 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, - 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0xc3, 0x01, 0x0a, 0x39, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, 0xce, 0x9d, 0x80, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x32, 0x73, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xf0, 0x02, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd9, 0x01, 0x0a, 0x41, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x87, + 0x84, 0xa6, 0xba, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, + 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xb3, 0x01, 0x0a, 0x34, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xae, 0xc9, 0xf1, 0x61, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x2d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xb3, - 0x01, 0x0a, 0x34, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc3, 0x98, 0xf1, 0x68, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, - 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe2, 0xd6, 0xf0, 0xef, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, - 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xff, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x51, 0x75, - 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0xbc, 0x01, 0x0a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xe2, 0xf5, 0xe3, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x30, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, - 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa6, 0x02, 0x0a, 0x1c, 0x53, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x5d, 0x0a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd9, 0xac, 0xee, 0xdc, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xc4, 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0x8b, 0x03, 0x0a, 0x29, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x85, 0x01, 0x0a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb4, 0xab, 0x61, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf4, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0xa6, 0x01, 0x0a, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xb8, 0x9e, 0xb2, 0x83, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x29, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x01, 0x12, 0xc5, 0x01, 0x0a, 0x3a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, + 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xdc, 0xab, 0xb2, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, + 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x80, + 0x03, 0x0a, 0x27, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xfe, 0x02, 0x0a, 0x31, 0x53, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xbf, 0x01, + 0x0a, 0x38, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbd, 0xcb, 0xc5, 0x46, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x31, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0xb5, 0x02, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x9f, 0x01, 0x0a, - 0x2b, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xb6, 0xdc, 0x8d, - 0xc3, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x1d, + 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xf4, + 0x9f, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x27, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xce, 0x03, 0x0a, 0x2f, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd9, 0x01, 0x0a, 0x41, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, - 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x87, 0x84, 0xa6, 0xba, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, - 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0x8b, 0x03, 0x0a, 0x29, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x21, 0x53, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0xc5, 0x01, 0x0a, 0x3a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xdc, 0xab, 0xb2, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x33, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0x80, 0x03, 0x0a, 0x27, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0xbf, - 0x01, 0x0a, 0x38, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbd, 0xcb, 0xc5, 0x46, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, - 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x31, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, - 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xb5, 0x02, 0x0a, 0x23, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, - 0x1d, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, - 0xf4, 0x9f, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x73, 0x73, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb0, 0x02, 0x0a, 0x21, 0x53, - 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x76, 0x0a, 0x1d, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xbc, 0xf4, 0x9f, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1a, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, - 0xcd, 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x02, - 0x0a, 0x16, 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x4b, 0x0a, 0x0d, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xf4, 0x9a, 0x85, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, - 0x74, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcc, - 0x02, 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, - 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x6d, 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb7, 0xdd, - 0xf9, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa9, 0x02, - 0x0a, 0x24, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x19, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb7, 0xdd, 0xf9, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x29, 0x53, 0x65, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xc3, 0x01, 0x0a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x88, 0x86, 0x88, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x32, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x01, 0x01, 0x12, 0x76, 0x0a, 0x1d, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xbc, 0xf4, 0x9f, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, + 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x10, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xcd, + 0xba, 0xc6, 0xa1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x02, 0x0a, + 0x16, 0x53, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xd2, 0x03, 0x0a, 0x2f, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, - 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, - 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4b, + 0x0a, 0x0d, 0x74, 0x61, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xf4, 0x9a, 0x85, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x74, + 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcc, 0x02, + 0x0a, 0x1e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd5, 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfd, 0xca, 0xc5, - 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6d, + 0x0a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb7, 0xdd, 0xf9, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x38, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa9, 0x02, 0x0a, + 0x24, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0xfe, 0xa5, 0xdd, 0x80, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x19, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xb7, 0xdd, 0xf9, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x29, 0x53, 0x65, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x12, 0xc3, 0x01, 0x0a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x88, 0x86, 0x88, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x32, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xd2, 0x03, 0x0a, 0x2f, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, + 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd6, 0x02, 0x0a, 0x25, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, - 0x6e, 0x0a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x95, 0xe6, - 0x8e, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd9, - 0x02, 0x0a, 0x26, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, - 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd5, 0x01, 0x0a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xfd, 0xca, 0xc5, 0x25, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x38, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x6e, 0x0a, 0x1a, 0x75, - 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x95, 0xe6, 0x8e, 0xbe, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x17, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa7, 0x02, 0x0a, 0x1f, 0x53, - 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd6, 0x02, 0x0a, 0x25, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x6e, 0x0a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, - 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x95, 0xe6, 0x8e, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x75, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xaa, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x12, 0x6e, 0x0a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x95, 0xe6, 0x8e, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x75, 0x72, 0x6c, 0x4d, 0x61, - 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0x81, 0x02, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, + 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x6e, + 0x0a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x95, 0xe6, 0x8e, + 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd9, 0x02, + 0x0a, 0x26, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, + 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x6e, 0x0a, 0x1a, 0x75, 0x72, + 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x95, 0xe6, 0x8e, 0xbe, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, + 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x17, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa7, 0x02, 0x0a, 0x1f, 0x53, 0x65, + 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x32, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0xe5, 0xbe, 0xd2, 0x62, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x12, 0x6e, 0x0a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x95, 0xe6, 0x8e, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x75, 0x72, 0x6c, + 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xaa, 0x02, 0x0a, 0x20, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x1e, 0x75, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xeb, 0xcc, - 0xd4, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9d, 0x03, 0x0a, 0x0d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5a, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xb6, 0xd6, 0xff, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x61, 0x70, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x9a, 0x97, 0xb8, 0xab, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x72, 0x0a, 0x0f, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x84, 0x01, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, - 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, - 0x10, 0xcb, 0xce, 0xcf, 0x22, 0x12, 0x14, 0x0a, 0x0c, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb3, 0xaa, 0x8f, 0x83, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x53, - 0x48, 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x92, 0xbc, 0xf6, 0xeb, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, - 0x10, 0xe7, 0xb1, 0xee, 0xa5, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x18, 0xec, 0xb0, 0xfa, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x12, 0x6e, 0x0a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x95, 0xe6, 0x8e, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x17, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, + 0x22, 0x81, 0x02, 0x0a, 0x22, 0x53, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x1e, 0x75, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xeb, 0xcc, 0xd4, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x75, 0x73, 0x61, 0x67, 0x65, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9d, 0x03, 0x0a, 0x0d, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x5a, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xb6, 0xd6, 0xff, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x61, + 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, + 0x61, 0x70, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x9a, 0x97, 0xb8, 0xab, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x72, 0x0a, 0x0f, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x81, 0xc8, 0xd2, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x87, 0x02, 0x0a, 0x16, 0x53, 0x68, - 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, - 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x69, 0x6e, 0x67, 0x18, 0xb6, 0xdb, 0x87, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, - 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, - 0x6f, 0x6f, 0x74, 0x18, 0xfe, 0x83, 0xf6, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x74, - 0x70, 0x6d, 0x18, 0xf7, 0xe4, 0xdb, 0x56, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0a, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x74, 0x70, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x1e, 0x0a, 0x1c, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, - 0x79, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, - 0x6f, 0x6f, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, - 0x74, 0x70, 0x6d, 0x22, 0xac, 0x02, 0x0a, 0x18, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x12, 0x66, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0xa3, 0xc7, 0xe9, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, + 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x84, + 0x01, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, + 0xcb, 0xce, 0xcf, 0x22, 0x12, 0x14, 0x0a, 0x0c, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xb3, 0xaa, 0x8f, 0x83, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x53, 0x48, + 0x41, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x92, 0xbc, 0xf6, 0xeb, 0x01, 0x12, 0x19, 0x0a, 0x11, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x10, + 0xe7, 0xb1, 0xee, 0xa5, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x1a, 0x53, 0x68, 0x61, 0x72, 0x65, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x81, 0xc8, 0xd2, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x87, 0x02, 0x0a, 0x16, 0x53, 0x68, 0x69, + 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x47, 0x0a, 0x1b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0xb6, 0xdb, 0x87, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x19, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x12, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6f, + 0x6f, 0x74, 0x18, 0xfe, 0x83, 0xf6, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x10, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x74, 0x70, + 0x6d, 0x18, 0xf7, 0xe4, 0xdb, 0x56, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0a, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x56, 0x74, 0x70, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, + 0x5f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6f, + 0x6f, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x74, + 0x70, 0x6d, 0x22, 0xac, 0x02, 0x0a, 0x18, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, + 0x66, 0x0a, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0xa3, 0xc7, 0xe9, 0xe8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0xa5, 0x90, 0x85, 0x99, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0xa5, 0x90, 0x85, 0x99, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, - 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, - 0x65, 0x79, 0x22, 0x78, 0x0a, 0x1d, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x65, 0x6b, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x9d, - 0xdc, 0xd4, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6b, 0x43, 0x65, - 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x65, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x18, - 0xe4, 0xd7, 0xa8, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x6b, 0x50, - 0x75, 0x62, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x6b, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x22, 0x7f, 0x0a, 0x1f, - 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x3f, 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6c, - 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xa7, 0xc4, 0x87, 0x75, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, - 0x74, 0x6f, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, - 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, - 0x5f, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x73, 0x0a, - 0x0c, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, - 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xeb, 0xf0, 0xee, 0xee, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x91, - 0x9f, 0xb0, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x27, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x99, 0x03, 0x0a, 0x28, 0x53, 0x69, 0x6d, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xbf, 0x01, 0x0a, - 0x37, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xdc, 0xf9, 0xcb, 0xa7, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x31, 0x6e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0x90, 0x13, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x12, 0x2b, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x18, 0xd3, 0xd2, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, - 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0xd8, 0xc8, - 0x9b, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc9, 0xda, 0xdd, 0x20, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x36, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x8d, 0xe8, 0xe5, 0x3b, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x03, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, - 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, - 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, - 0x47, 0x62, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xf4, 0xcb, 0xb9, 0xcf, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x07, 0x52, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x08, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, - 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x26, 0x0a, 0x0d, 0x6c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0xa8, 0x85, 0xd8, 0x15, 0x20, 0x03, 0x28, - 0x03, 0x52, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, - 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, - 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, - 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0c, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, - 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, - 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, - 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, - 0x17, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xfe, 0xf6, 0xd4, 0x14, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, - 0x79, 0x48, 0x0f, 0x52, 0x15, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, - 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd5, - 0xd9, 0xa5, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x74, 0x0a, 0x1a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0xe1, 0xa0, 0xb8, 0xfd, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x12, 0x52, 0x17, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0xd9, 0xcd, 0xc9, - 0xd8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x44, 0x69, 0x73, 0x6b, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xb6, 0xb5, - 0x70, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, + 0x6e, 0x74, 0x72, 0x79, 0x48, 0x02, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x4b, + 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, + 0x79, 0x22, 0x78, 0x0a, 0x1d, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x20, 0x0a, 0x07, 0x65, 0x6b, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x9d, 0xdc, + 0xd4, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x65, 0x6b, 0x43, 0x65, 0x72, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x65, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x18, 0xe4, + 0xd7, 0xa8, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x6b, 0x50, 0x75, + 0x62, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x65, 0x6b, 0x5f, 0x63, 0x65, 0x72, 0x74, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6b, 0x5f, 0x70, 0x75, 0x62, 0x22, 0x7f, 0x0a, 0x1f, 0x53, + 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3f, + 0x0a, 0x18, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6c, 0x65, + 0x61, 0x72, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xa7, 0xc4, 0x87, 0x75, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, + 0x6f, 0x4c, 0x65, 0x61, 0x72, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, + 0x1b, 0x0a, 0x19, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x73, 0x0a, 0x0c, + 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x22, 0x0a, 0x08, + 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xeb, 0xf0, 0xee, 0xee, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x91, 0x9f, + 0xb0, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x27, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x99, 0x03, 0x0a, 0x28, 0x53, 0x69, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x82, 0xfc, 0x8b, 0xe0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0xbf, 0x01, 0x0a, 0x37, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x69, 0x6d, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xdc, 0xf9, 0xcb, 0xa7, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x31, 0x6e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xe7, 0x14, 0x0a, 0x08, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, + 0x2b, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, + 0xd3, 0xd2, 0xb1, 0x90, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0c, + 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0xd8, 0xc8, 0x9b, + 0xdd, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc9, 0xda, 0xdd, 0x20, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x36, 0x0a, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x8d, 0xe8, 0xe5, 0x3b, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x03, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, + 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, + 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0xb7, 0x9a, 0xe7, 0x96, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x48, 0x06, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, + 0x62, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0e, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xf4, 0xcb, 0xb9, 0xcf, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x07, 0x52, 0x0d, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6f, 0x73, + 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xd1, 0xe0, 0xe7, 0x25, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, + 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0f, 0x67, 0x75, 0x65, + 0x73, 0x74, 0x4f, 0x73, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, + 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x10, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, + 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x26, + 0x0a, 0x0d, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, + 0xa8, 0x85, 0xd8, 0x15, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x73, 0x18, 0xd2, 0x88, 0x80, 0xa1, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x18, 0xd1, 0x81, 0x92, 0xa7, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0b, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x6e, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, + 0x73, 0x18, 0xab, 0xdd, 0xab, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x0c, 0x73, + 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x6e, 0x0a, 0x17, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0xfe, 0xf6, 0xd4, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x0f, 0x52, 0x15, 0x73, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xd5, 0xd9, 0xa5, 0x3b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, + 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x0a, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x74, 0x0a, 0x1a, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xe1, 0xa0, 0xb8, 0xfd, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x4b, 0x65, 0x79, 0x48, 0x12, 0x52, 0x17, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, + 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x55, 0x0a, 0x23, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0xfe, 0xe1, 0xca, 0xab, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x13, 0x52, 0x1f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, + 0x46, 0x6f, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0xd9, 0xcd, 0xc9, 0xd8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, + 0x73, 0x6b, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x83, 0xb6, 0xb5, 0x70, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x15, 0x52, 0x1c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x22, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xd7, 0xa7, 0xce, + 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, 0x52, 0x1e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x22, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xd7, - 0xa7, 0xce, 0x21, 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, 0x52, 0x1e, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x16, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xa7, 0xbb, - 0xbd, 0xca, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x17, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x8a, 0xab, 0x80, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x12, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0xed, 0xb3, 0x9c, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x17, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0xa7, 0xbb, 0xbd, 0xca, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x18, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x8a, 0xab, 0x80, 0xea, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x19, 0x52, 0x12, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0xed, 0xb3, 0x9c, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x52, 0x43, + 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, 0x18, 0x41, + 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, 0x0c, 0x0a, + 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, 0x06, 0x58, + 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x4e, 0x0a, 0x0c, 0x53, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, + 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x41, 0x52, 0x43, 0x48, + 0x49, 0x56, 0x45, 0x10, 0xa2, 0xd9, 0xd1, 0xf1, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, 0x54, 0x41, + 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x22, 0x72, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, + 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, + 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, + 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, 0xa6, 0xd9, 0x01, 0x12, + 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x12, 0x10, 0x0a, + 0x09, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa1, 0x9c, 0xcd, 0x7f, 0x22, + 0x5d, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x55, 0x50, 0x44, + 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, 0xee, 0xec, 0xeb, 0x01, 0x12, 0x11, 0x0a, 0x0a, 0x55, + 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0xce, 0xa2, 0xa7, 0x30, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, + 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, + 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, + 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd4, 0x02, 0x0a, + 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x10, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x74, 0x0a, 0x10, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xf9, 0xd1, 0xe0, + 0xdb, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xfd, 0x03, 0x0a, 0x27, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x71, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xde, 0xae, 0x91, + 0xc5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, 0xb6, + 0x2b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, + 0x01, 0x01, 0x1a, 0x97, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x6a, 0x0a, 0x0c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, - 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x18, 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xab, 0xd4, 0x9d, 0xbc, 0x01, 0x12, - 0x0c, 0x0a, 0x05, 0x41, 0x52, 0x4d, 0x36, 0x34, 0x10, 0xfa, 0xcb, 0xe9, 0x1d, 0x12, 0x0e, 0x0a, - 0x06, 0x58, 0x38, 0x36, 0x5f, 0x36, 0x34, 0x10, 0xc7, 0xa4, 0xe6, 0xca, 0x01, 0x22, 0x4e, 0x0a, - 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, - 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x4e, 0x41, 0x50, 0x53, - 0x48, 0x4f, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x41, 0x52, - 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, 0xa2, 0xd9, 0xd1, 0xf1, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x53, - 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0xbd, 0x9d, 0x8c, 0xe7, 0x01, 0x22, 0x72, 0x0a, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, - 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, 0xd9, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, 0xa7, 0x87, 0xfc, - 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, 0xa6, 0xd9, - 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x12, - 0x10, 0x0a, 0x09, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0xa1, 0x9c, 0xcd, - 0x7f, 0x22, 0x5d, 0x0a, 0x12, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x42, 0x59, 0x54, - 0x45, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, 0x55, - 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xc6, 0xee, 0xec, 0xeb, 0x01, 0x12, 0x11, 0x0a, - 0x0a, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0xce, 0xa2, 0xa7, 0x30, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x99, 0x01, 0x0a, + 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x00, 0x12, 0x14, 0x0a, + 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xe8, 0xec, + 0xb5, 0xc0, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x4e, 0x45, 0x41, 0x52, 0x45, 0x53, 0x54, 0x5f, 0x4d, + 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x10, 0xbb, 0xfe, 0xa7, 0x65, + 0x12, 0x1a, 0x0a, 0x12, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x4c, 0x4f, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0xf1, 0xc8, 0xc7, 0x85, 0x01, 0x12, 0x2a, 0x0a, 0x23, + 0x53, 0x54, 0x4f, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0xf0, 0x90, 0xc2, 0x77, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0x67, 0x0a, 0x40, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd4, 0x01, 0x0a, + 0x17, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x11, 0x64, 0x69, 0x73, + 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x6b, + 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6b, 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x22, 0x6e, 0x0a, 0x14, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x56, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xcf, 0xd9, 0xaa, 0x70, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x22, 0xc4, 0x0a, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x18, 0xfc, 0x86, 0x84, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, + 0x63, 0x61, 0x6e, 0x49, 0x70, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x38, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0xff, 0xb2, 0xda, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x01, 0x52, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, + 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x5d, 0x0a, 0x12, 0x67, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, + 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x1a, 0x6b, 0x65, 0x79, 0x5f, + 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xe2, 0xdc, 0xc0, 0x70, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x17, 0x6b, 0x65, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0xaf, 0xf6, 0xb5, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x05, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6d, 0x69, + 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0xf7, + 0x9b, 0xea, 0x73, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, + 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x12, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x73, 0x18, 0x8b, 0xda, 0x92, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x94, 0xcb, 0xb1, 0xb8, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x07, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0xb0, 0xc4, 0xab, 0x84, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, + 0x39, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x48, + 0x08, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x76, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4b, + 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x26, 0x4b, + 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xda, 0x91, 0xde, 0xde, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, + 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, + 0x10, 0x82, 0x80, 0x9c, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x70, + 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, - 0x62, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, - 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, - 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, - 0x65, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, - 0x15, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd4, 0x02, 0x0a, 0x0c, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, + 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x22, 0xbc, 0x07, 0x0a, 0x0e, 0x53, + 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, + 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x97, 0x83, 0xfd, + 0xa2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, + 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, + 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, + 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xed, 0xd3, 0x91, 0xd2, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x18, 0x9f, 0x9f, 0xa4, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x06, 0x52, 0x07, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0xa3, 0xf3, 0xa5, 0xac, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0a, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x18, 0xac, 0xf3, 0x81, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, + 0x0b, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x3e, 0x0a, 0x19, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0xe3, + 0xef, 0x93, 0xfc, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x5b, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x4d, 0x41, 0x4e, + 0x41, 0x47, 0x45, 0x44, 0x10, 0xff, 0xb6, 0xd2, 0xe4, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x53, 0x45, + 0x4c, 0x46, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x8c, 0xfb, 0x93, 0xcf, 0x01, + 0x12, 0x18, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x92, 0xfb, 0xdb, 0xd0, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x98, 0x04, 0x0a, 0x1c, 0x53, 0x73, + 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x59, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, + 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, + 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, + 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, + 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, + 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, + 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfb, 0x03, 0x0a, 0x23, 0x53, 0x73, 0x6c, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, + 0x77, 0x0a, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0xcd, 0xa7, 0xe7, 0xab, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x07, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0xaf, 0x88, 0x9b, 0x6c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd1, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, + 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x2e, 0x0a, 0x26, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x44, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0xd2, 0xc5, 0xb3, 0xe2, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, + 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, 0x01, 0x12, 0x1a, 0x0a, + 0x13, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcf, 0xab, 0xd0, 0x24, 0x12, 0x27, 0x0a, 0x1f, 0x50, 0x52, 0x4f, + 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0xab, 0xf0, 0x92, + 0x83, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x52, 0x45, 0x4e, 0x45, 0x57, 0x41, 0x4c, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x84, 0xbe, 0xa1, 0xcf, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x27, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x18, 0x97, 0x83, 0xfd, 0xa2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xa3, 0xf3, 0xa5, 0xac, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xc3, 0x01, 0x0a, 0x19, 0x53, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x73, 0x73, 0x6c, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb3, 0x04, 0x0a, + 0x19, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x65, 0x74, + 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x65, + 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x1a, 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, @@ -155554,527 +163012,237 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd4, 0x01, - 0x0a, 0x17, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x67, 0x0a, 0x13, 0x64, 0x69, 0x73, - 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x85, 0xed, 0xc4, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x48, 0x00, 0x52, 0x11, 0x64, 0x69, - 0x73, 0x6b, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, - 0x6b, 0x18, 0xc1, 0xee, 0xb4, 0xd7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, - 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x64, 0x69, 0x73, 0x6b, 0x22, 0x6e, 0x0a, 0x14, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x56, 0x0a, 0x0c, - 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0xcf, 0xd9, 0xaa, - 0x70, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x6b, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x22, 0xc4, 0x0a, 0x0a, 0x18, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x18, 0xfc, 0x86, 0x84, 0xdf, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x0c, 0x63, 0x61, 0x6e, 0x49, 0x70, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x38, 0x0a, 0x13, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, - 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xea, 0xff, 0xb2, 0xda, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x01, 0x52, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, - 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, - 0xcc, 0xca, 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x44, - 0x69, 0x73, 0x6b, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x5d, 0x0a, 0x12, 0x67, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, - 0x18, 0xef, 0xcc, 0x87, 0xdd, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x67, 0x75, 0x65, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x43, 0x0a, 0x1a, 0x6b, 0x65, 0x79, - 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xe2, 0xdc, 0xc0, 0x70, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x17, 0x6b, 0x65, 0x79, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x59, - 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x0c, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xb2, 0xb0, 0xca, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0xaf, 0xf6, 0xb5, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, 0x05, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0xf7, 0x9b, 0xea, 0x73, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, - 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, - 0x12, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x73, 0x18, 0x8b, 0xda, 0x92, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x94, 0xcb, 0xb1, 0xb8, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x07, 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0xb0, 0xc4, 0xab, - 0x84, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x12, 0x39, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x99, 0xe8, 0xd8, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x73, - 0x48, 0x08, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x2e, 0x0a, 0x26, - 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x56, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xda, 0x91, 0xde, 0xde, 0x01, 0x12, 0x0b, 0x0a, 0x04, - 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x53, 0x54, 0x4f, - 0x50, 0x10, 0x82, 0x80, 0x9c, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x69, - 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, - 0x6e, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x22, 0xbc, 0x07, 0x0a, 0x0e, - 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x29, - 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x97, 0x83, - 0xfd, 0xa2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, - 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xed, 0xd3, 0x91, 0xd2, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x07, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x18, 0x9f, 0x9f, 0xa4, 0x8e, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x48, 0x06, 0x52, 0x07, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0xa3, 0xf3, 0xa5, 0xac, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, - 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x0c, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x18, 0xac, 0xf3, 0x81, 0x9d, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x48, 0x0b, 0x52, 0x0b, 0x73, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x19, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x6c, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0xe3, 0xef, 0x93, 0xfc, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x73, 0x75, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x5b, - 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x4d, 0x41, - 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0xff, 0xb6, 0xd2, 0xe4, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x53, - 0x45, 0x4c, 0x46, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x8c, 0xfb, 0x93, 0xcf, - 0x01, 0x12, 0x18, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x92, 0xfb, 0xdb, 0xd0, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, - 0x6e, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x98, 0x04, 0x0a, 0x1c, 0x53, - 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x59, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, - 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, - 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfb, 0x03, 0x0a, 0x23, 0x53, 0x73, 0x6c, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x12, 0x77, 0x0a, 0x0d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0xcd, 0xa7, 0xe7, 0xab, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x67, 0x6f, + 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x49, 0x0a, + 0x28, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x08, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xbd, 0xc8, 0xb3, 0x75, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x15, 0x53, 0x73, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x18, 0xa3, 0xe4, 0x8d, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x07, 0x64, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x73, 0x18, 0xaf, 0x88, 0x9b, 0x6c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd1, 0x01, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x2e, 0x0a, 0x26, 0x4d, 0x41, 0x4e, 0x41, - 0x47, 0x45, 0x44, 0x5f, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0xd2, 0xc5, 0xb3, 0xe2, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, - 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, 0x01, 0x12, 0x1a, - 0x0a, 0x13, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xcf, 0xab, 0xd0, 0x24, 0x12, 0x27, 0x0a, 0x1f, 0x50, 0x52, - 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x4c, 0x59, 0x10, 0xab, 0xf0, - 0x92, 0x83, 0x01, 0x12, 0x16, 0x0a, 0x0e, 0x52, 0x45, 0x4e, 0x45, 0x57, 0x41, 0x4c, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x84, 0xbe, 0xa1, 0xcf, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x27, 0x53, 0x73, 0x6c, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x12, 0x29, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x18, 0x97, 0x83, 0xfd, 0xa2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, - 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0xa3, 0xf3, 0xa5, - 0xac, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xc3, 0x01, 0x0a, 0x19, 0x53, 0x73, 0x6c, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, - 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x73, 0x73, - 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x42, 0x0a, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb3, 0x04, - 0x0a, 0x19, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x65, - 0x74, 0x61, 0x67, 0x18, 0x95, 0xd2, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, - 0x65, 0x74, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x05, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x1a, 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x65, 0x74, 0x61, 0x67, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x0b, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x49, - 0x0a, 0x28, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x08, 0x66, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xbd, 0xc8, 0xb3, 0x75, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xb1, 0x01, 0x0a, 0x15, 0x53, 0x73, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x18, 0xa3, 0xe4, 0x8d, 0x64, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x0b, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xeb, 0x06, - 0x0a, 0x09, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xcb, 0xb2, 0xcb, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x29, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, - 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xfb, 0xc6, - 0xd2, 0xdf, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xa7, 0xe6, 0xf1, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x05, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0xa9, 0x93, 0xba, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0xd7, 0x88, 0xc1, 0xed, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x5e, 0x0a, 0x0d, 0x4d, - 0x69, 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x5f, 0x54, 0x4c, - 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x54, - 0x4c, 0x53, 0x5f, 0x31, 0x5f, 0x30, 0x10, 0xbe, 0xa4, 0xe5, 0x0f, 0x12, 0x0e, 0x0a, 0x07, 0x54, - 0x4c, 0x53, 0x5f, 0x31, 0x5f, 0x31, 0x10, 0xbf, 0xa4, 0xe5, 0x0f, 0x12, 0x0e, 0x0a, 0x07, 0x54, - 0x4c, 0x53, 0x5f, 0x31, 0x5f, 0x32, 0x10, 0xc0, 0xa4, 0xe5, 0x0f, 0x22, 0x65, 0x0a, 0x07, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, - 0x0a, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0xd4, 0x8d, 0xc3, 0x55, - 0x12, 0x0e, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0xf1, 0xfe, 0xa5, 0xb9, 0x01, - 0x12, 0x0d, 0x0a, 0x06, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x4e, 0x10, 0x9f, 0xbe, 0xf9, 0x3e, 0x12, - 0x11, 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0xdb, 0xe8, - 0xdb, 0x7c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x69, - 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x4b, 0x0a, 0x12, 0x53, - 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x73, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x73, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xec, 0x02, 0x0a, 0x20, 0x53, 0x74, 0x61, + 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xeb, 0x06, 0x0a, + 0x09, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x18, 0xcb, 0xb2, 0xcb, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x29, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, + 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0xfb, 0xc6, 0xd2, + 0xdf, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x46, + 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0xa7, 0xe6, 0xf1, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0xa9, 0x93, 0xba, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0xd7, 0x88, 0xc1, 0xed, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x5e, 0x0a, 0x0d, 0x4d, 0x69, + 0x6e, 0x54, 0x6c, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x19, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x5f, 0x54, 0x4c, 0x53, + 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x54, 0x4c, + 0x53, 0x5f, 0x31, 0x5f, 0x30, 0x10, 0xbe, 0xa4, 0xe5, 0x0f, 0x12, 0x0e, 0x0a, 0x07, 0x54, 0x4c, + 0x53, 0x5f, 0x31, 0x5f, 0x31, 0x10, 0xbf, 0xa4, 0xe5, 0x0f, 0x12, 0x0e, 0x0a, 0x07, 0x54, 0x4c, + 0x53, 0x5f, 0x31, 0x5f, 0x32, 0x10, 0xc0, 0xa4, 0xe5, 0x0f, 0x22, 0x65, 0x0a, 0x07, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0a, + 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0xd4, 0x8d, 0xc3, 0x55, 0x12, + 0x0e, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0xf1, 0xfe, 0xa5, 0xb9, 0x01, 0x12, + 0x0d, 0x0a, 0x06, 0x4d, 0x4f, 0x44, 0x45, 0x52, 0x4e, 0x10, 0x9f, 0xbe, 0xf9, 0x3e, 0x12, 0x11, + 0x0a, 0x0a, 0x52, 0x45, 0x53, 0x54, 0x52, 0x49, 0x43, 0x54, 0x45, 0x44, 0x10, 0xdb, 0xe8, 0xdb, + 0x7c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, + 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6d, 0x69, 0x6e, + 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x4b, 0x0a, 0x12, 0x53, 0x73, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, + 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x73, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xec, 0x02, 0x0a, 0x20, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, + 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0xa6, 0x01, 0x0a, 0x2e, 0x64, 0x69, 0x73, + 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xda, 0x9e, 0xc0, 0xe0, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0xa6, 0x01, 0x0a, 0x2e, 0x64, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8b, 0x03, 0x0a, 0x26, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x12, 0xb9, 0x01, 0x0a, 0x35, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xda, 0x9e, 0xc0, - 0xe0, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0xc8, 0x96, + 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x29, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8b, 0x03, 0x0a, 0x26, 0x53, 0x74, 0x61, 0x72, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, - 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0xb9, 0x01, 0x0a, 0x35, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0xc8, - 0x96, 0xe2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x89, 0x03, 0x0a, 0x25, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, - 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x34, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xff, - 0xfe, 0xcf, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x72, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x89, 0x03, 0x0a, 0x25, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x34, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xff, 0xfe, + 0xcf, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x69, 0x74, + 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x66, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xaa, 0xe2, 0xa0, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x22, 0xd3, 0x05, 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x59, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, 0x2d, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x6e, 0x0a, + 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x5f, 0x70, 0x73, 0x18, 0x8d, + 0xd3, 0x80, 0xfe, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x57, 0x69, - 0x74, 0x68, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0x8c, 0x01, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x66, 0x0a, 0x0f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0xaa, 0xe2, 0xa0, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, - 0x0a, 0x10, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x22, 0xf4, 0x01, 0x0a, 0x1c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, + 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x12, 0x6d, 0x0a, + 0x0d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x5f, 0x70, 0x73, 0x18, 0xdb, + 0x9b, 0xef, 0x66, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x1a, 0x79, 0x0a, 0x0a, + 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x55, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7e, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x59, 0x0a, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x18, 0xf6, 0xcc, 0xca, - 0x2d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x73, - 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x1a, 0x79, - 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x55, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc0, 0x01, 0x0a, 0x26, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x70, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x7e, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x49, 0x50, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x54, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x70, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc0, 0x01, 0x0a, 0x26, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, + 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x5c, 0x0a, 0x0a, + 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x05, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x10, 0xec, + 0xa4, 0xaf, 0x23, 0x12, 0x25, 0x0a, 0x1e, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, + 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe7, 0xe0, 0xd2, 0x2d, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x25, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x70, 0x12, 0x28, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0xbb, 0xe4, 0xce, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x5c, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x15, @@ -156083,34 +163251,66 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x10, 0xec, 0xa4, 0xaf, 0x23, 0x12, 0x25, 0x0a, 0x1e, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0xe7, 0xe0, 0xd2, 0x2d, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xc2, 0x01, 0x0a, - 0x1f, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xce, 0x01, 0x0a, 0x25, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, - 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x90, 0x01, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0xc2, + 0xe4, 0xe3, 0xe6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0xc2, 0x01, 0x0a, 0x1f, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xce, 0x01, 0x0a, 0x25, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, + 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe4, 0x02, 0x0a, 0x24, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xb6, + 0x01, 0x0a, 0x34, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x95, 0xf8, 0xaf, 0xa5, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, + 0x73, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2e, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, + 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x22, 0xe4, 0x02, 0x0a, 0x24, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, + 0x2a, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xb6, 0x01, 0x0a, 0x34, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, @@ -156122,236 +163322,505 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x2e, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf0, 0x02, 0x0a, 0x2a, 0x53, 0x74, - 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0xb6, 0x01, 0x0a, 0x34, 0x64, 0x69, 0x73, - 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x61, 0x73, - 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x95, 0xf8, 0xaf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x2e, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x89, 0x02, 0x0a, - 0x13, 0x53, 0x74, 0x6f, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x18, 0xcf, 0xe9, 0xad, 0x98, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x6f, - 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd5, 0x11, 0x0a, 0x0a, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, - 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, - 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0xe4, 0xc4, - 0xa1, 0x48, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x46, 0x6c, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x14, 0x65, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x18, 0xf6, 0x92, 0xb6, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x12, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, - 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x30, 0x0a, 0x0f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0xf9, 0x89, 0xa4, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, - 0xe8, 0xa2, 0xb4, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x12, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, - 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, - 0x0a, 0x10, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0xdd, 0xf5, 0xd1, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0e, - 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x18, 0x8a, 0x9c, 0x9f, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, - 0x52, 0x0d, 0x69, 0x70, 0x76, 0x36, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x54, - 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x9d, 0xd1, 0xc1, - 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0c, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, - 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xce, - 0xe8, 0xfd, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0f, 0x52, 0x15, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, - 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x8e, 0xcc, 0x82, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x17, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x75, 0x72, - 0x70, 0x6f, 0x73, 0x65, 0x18, 0x9e, 0xfa, 0xef, 0x96, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, - 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x12, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, - 0x72, 0x6f, 0x6c, 0x65, 0x18, 0xf6, 0x80, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x13, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, - 0xe3, 0xff, 0x94, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x15, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x16, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x79, 0x0a, 0x0e, 0x49, 0x70, - 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, - 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x10, 0x0a, - 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x12, - 0x24, 0x0a, 0x1c, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x49, - 0x50, 0x56, 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, - 0xa5, 0xf6, 0xa4, 0x95, 0x01, 0x22, 0xbe, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, - 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, 0x4f, 0x4f, 0x47, - 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x15, 0x44, - 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0xf3, 0xa9, 0x84, 0xd7, 0x01, 0x12, 0x2d, 0x0a, 0x25, 0x45, 0x4e, - 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, - 0x47, 0x4c, 0x45, 0x10, 0xba, 0xca, 0x89, 0xcc, 0x01, 0x12, 0x2b, 0x0a, 0x23, 0x45, 0x4e, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x56, 0x4d, 0x5f, - 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, - 0x10, 0xd7, 0xfa, 0xb6, 0x89, 0x01, 0x22, 0xae, 0x01, 0x0a, 0x07, 0x50, 0x75, 0x72, 0x70, 0x6f, - 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x23, 0x0a, 0x1c, 0x49, 0x4e, 0x54, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0x89, 0x02, 0x0a, 0x13, 0x53, 0x74, 0x6f, 0x70, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x18, 0xcf, 0xe9, 0xad, + 0x98, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, + 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x87, 0x12, 0x0a, 0x0a, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x10, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x73, + 0x18, 0xe4, 0xc4, 0xa1, 0x48, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0e, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, + 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xf6, 0x92, 0xb6, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xf9, 0x89, 0xa4, 0xdb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x0e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x18, 0xe8, 0xa2, 0xb4, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x12, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, + 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x08, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x31, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xdd, 0xf5, 0xd1, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x09, 0x52, 0x0e, 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x63, 0x69, 0x64, + 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x8a, 0x9c, 0x9f, 0x82, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0a, 0x52, 0x0d, 0x69, 0x70, 0x76, 0x36, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x54, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x9d, 0xd1, 0xc1, 0xa7, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x0c, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, + 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x18, 0xce, 0xe8, 0xfd, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0f, 0x52, 0x15, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1a, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x8e, 0xcc, 0x82, 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, + 0x52, 0x17, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, + 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x9e, 0xfa, 0xef, 0x96, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x11, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x12, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0xf6, 0x80, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x13, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x64, 0x0a, 0x13, 0x73, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0xe3, 0xff, 0x94, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, + 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x73, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x14, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x15, 0x52, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x16, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x79, 0x0a, + 0x0e, 0x49, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x56, + 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, + 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, + 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, + 0x85, 0x01, 0x12, 0x24, 0x0a, 0x1c, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x10, 0xa5, 0xf6, 0xa4, 0x95, 0x01, 0x22, 0xbe, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x76, 0x36, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x24, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x47, + 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1d, + 0x0a, 0x15, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, + 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0xf3, 0xa9, 0x84, 0xd7, 0x01, 0x12, 0x2d, 0x0a, + 0x25, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, + 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, 0x10, 0xba, 0xca, 0x89, 0xcc, 0x01, 0x12, 0x2b, 0x0a, 0x23, + 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x4f, 0x55, 0x54, 0x42, 0x4f, 0x55, 0x4e, 0x44, 0x5f, + 0x56, 0x4d, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x4f, 0x5f, 0x47, 0x4f, 0x4f, + 0x47, 0x4c, 0x45, 0x10, 0xd7, 0xfa, 0xb6, 0x89, 0x01, 0x22, 0xe0, 0x01, 0x0a, 0x07, 0x50, 0x75, + 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14, + 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x50, + 0x52, 0x4f, 0x58, 0x59, 0x10, 0xf2, 0xcb, 0xe0, 0x70, 0x12, 0x23, 0x0a, 0x1c, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x10, 0xd9, 0xb6, 0xce, 0x76, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0xe3, 0xe2, 0xb2, 0xc0, 0x01, 0x12, - 0x17, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x46, 0x43, 0x5f, 0x31, - 0x39, 0x31, 0x38, 0x10, 0xdb, 0xfe, 0xc5, 0x79, 0x12, 0x1e, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x56, - 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x4e, - 0x45, 0x43, 0x54, 0x10, 0xc4, 0xf4, 0xf9, 0x16, 0x12, 0x1d, 0x0a, 0x16, 0x52, 0x45, 0x47, 0x49, - 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, - 0x58, 0x59, 0x10, 0xee, 0xb6, 0xfd, 0x48, 0x22, 0x3a, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, - 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, 0x4c, - 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, 0xe6, - 0x89, 0x96, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0xc2, 0xd3, - 0xcd, 0xa2, 0x01, 0x22, 0x69, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, - 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, 0x0a, 0x12, 0x10, 0x0a, 0x09, - 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, 0xcb, 0xd5, 0x0a, 0x12, 0x1e, - 0x0a, 0x16, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xd9, 0xd1, 0x91, 0x8e, 0x01, 0x22, 0x3c, - 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x08, - 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xea, 0xd5, 0x8c, 0xe5, 0x01, 0x12, 0x0c, - 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, 0x25, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, - 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, - 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x17, 0x0a, 0x15, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, - 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, - 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x1b, 0x0a, - 0x19, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x75, - 0x72, 0x70, 0x6f, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x22, 0x8c, 0x04, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, - 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, - 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x13, 0x0a, 0x0b, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0xa5, + 0xc8, 0xae, 0xaf, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, + 0x52, 0x46, 0x43, 0x5f, 0x31, 0x39, 0x31, 0x38, 0x10, 0xdb, 0xfe, 0xc5, 0x79, 0x12, 0x1e, 0x0a, + 0x17, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, + 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0xc4, 0xf4, 0xf9, 0x16, 0x12, 0x1d, 0x0a, + 0x16, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, + 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0xee, 0xb6, 0xfd, 0x48, 0x22, 0x3a, 0x0a, 0x04, + 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, + 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, + 0x55, 0x50, 0x10, 0xc2, 0xd3, 0xcd, 0xa2, 0x01, 0x22, 0x69, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, + 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, + 0x0a, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, + 0xcb, 0xd5, 0x0a, 0x12, 0x1e, 0x0a, 0x16, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xd9, 0xd1, + 0x91, 0x8e, 0x01, 0x22, 0x3c, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, + 0x00, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xea, 0xd5, + 0x8c, 0xe5, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, 0x8f, + 0x25, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x42, 0x17, 0x0a, + 0x15, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, + 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, + 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, + 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x1d, 0x0a, 0x1b, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x76, 0x36, + 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x8c, 0x04, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, + 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x68, 0x0a, 0x0a, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, - 0xd8, 0x02, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0xae, 0x05, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x14, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, + 0x82, 0x9b, 0xb4, 0x53, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, + 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, + 0x94, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, + 0x70, 0x72, 0x18, 0xdc, 0xa4, 0xb8, 0x57, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x45, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, + 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0xd8, 0xe7, + 0xe5, 0xfc, 0x01, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2b, + 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x18, 0xc9, 0xbb, 0xbb, 0xb4, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x13, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x76, 0x61, 0x6c, 0x12, 0x22, 0x0a, 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x41, 0x47, 0x47, 0x52, 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x56, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x56, 0x41, 0x4c, 0x5f, 0x31, 0x30, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xcc, 0xd1, 0xa5, 0xe8, 0x01, + 0x12, 0x17, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x31, 0x35, 0x5f, + 0x4d, 0x49, 0x4e, 0x10, 0xd1, 0xbc, 0xbf, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0e, 0x49, 0x4e, 0x54, + 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x31, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xaa, 0xd2, 0xf6, 0x20, + 0x12, 0x16, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x33, 0x30, 0x5f, + 0x53, 0x45, 0x43, 0x10, 0x89, 0xe0, 0xcc, 0x03, 0x12, 0x15, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, + 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x35, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xae, 0x8e, 0xd8, 0x22, 0x12, + 0x15, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x35, 0x5f, 0x53, 0x45, + 0x43, 0x10, 0xad, 0xba, 0xd8, 0x22, 0x22, 0x75, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0f, 0x43, 0x55, + 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0xbd, 0xd8, + 0xe3, 0x1d, 0x12, 0x1c, 0x0a, 0x14, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, + 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x92, 0xbd, 0xc1, 0x9f, 0x01, + 0x12, 0x1b, 0x0a, 0x14, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, + 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x84, 0xcd, 0xbf, 0x4e, 0x42, 0x17, 0x0a, + 0x15, 0x5f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, + 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, + 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, + 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, + 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xcd, 0xf0, 0xb4, 0x9e, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x63, 0x0a, 0x23, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, + 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, + 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x49, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x18, 0xc5, 0xd4, 0xa5, 0xc6, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x0b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8b, 0x01, 0x0a, + 0x2a, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x65, 0x74, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0xce, 0xe8, 0xfd, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x00, 0x52, 0x15, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, + 0x19, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x0a, 0x53, + 0x75, 0x62, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x06, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0xb2, 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x22, 0x4e, 0x0a, 0x06, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1a, 0x43, 0x4f, 0x4e, + 0x53, 0x49, 0x53, 0x54, 0x45, 0x4e, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x53, 0x55, 0x42, + 0x53, 0x45, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb4, 0x98, 0xfc, 0x33, 0x12, 0x0b, 0x0a, 0x04, + 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x22, 0x8c, 0x02, 0x0a, 0x16, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x33, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x5f, 0x73, 0x73, 0x64, 0x18, 0xcf, 0xe9, 0xad, 0x98, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, + 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x5f, 0x73, 0x73, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xa6, 0x01, 0x0a, 0x20, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x6f, + 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x04, 0x0a, + 0x0e, 0x54, 0x43, 0x50, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, + 0x1a, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x8f, 0xe5, + 0xbb, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x18, 0xc1, 0xa8, 0xdc, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, + 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, + 0x15, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, + 0x54, 0x10, 0xe4, 0x88, 0xdb, 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, + 0x4d, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, + 0x0a, 0x10, 0x55, 0x53, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, + 0x52, 0x54, 0x10, 0xcc, 0xd1, 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, + 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, + 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, + 0x9f, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x04, 0x54, 0x61, + 0x67, 0x73, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, + 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xbf, 0x04, 0x0a, 0x0f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, + 0xac, 0x9d, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, + 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x08, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3c, + 0x0a, 0x16, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x6c, 0x65, 0x73, 0x73, 0x18, 0xa8, 0xe3, 0xc6, 0x30, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x09, 0x52, 0x14, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x6c, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x42, 0x19, 0x0a, 0x17, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x6c, 0x65, 0x73, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x13, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, + 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, + 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xca, 0x01, 0x0a, + 0x1b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x13, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x18, 0xc3, 0xd5, 0xa8, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe6, 0x04, 0x0a, 0x0f, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x35, 0x0a, + 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, + 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x68, 0x74, 0x74, + 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xde, 0xce, 0xa6, 0xd5, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x03, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, + 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, + 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, + 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x18, 0xee, 0xce, 0xb1, + 0x88, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x07, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, + 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, + 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x0a, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, + 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, + 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, + 0x61, 0x70, 0x22, 0xcc, 0x03, 0x0a, 0x1d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, @@ -156359,212 +163828,190 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, + 0x6e, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x4a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x22, 0xe2, 0x02, 0x0a, 0x13, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x41, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, + 0x8a, 0xfc, 0xe7, 0xae, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x52, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xae, 0x05, 0x0a, 0x13, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x39, 0x0a, 0x14, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x82, 0x9b, 0xb4, 0x53, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, - 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x83, 0xcb, 0xd4, 0x94, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x01, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, - 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x18, 0xdc, 0xa4, - 0xb8, 0x57, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x45, 0x78, 0x70, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x66, 0x6c, 0x6f, 0x77, 0x5f, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0xd8, 0xe7, 0xe5, 0xfc, 0x01, 0x20, 0x01, - 0x28, 0x02, 0x48, 0x03, 0x52, 0x0c, 0x66, 0x6c, 0x6f, 0x77, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0xaf, 0xf6, 0xb5, 0x29, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0xc9, 0xbb, 0xbb, - 0xb4, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x22, - 0x0a, 0x1e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x41, 0x47, 0x47, 0x52, - 0x45, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, - 0x10, 0x00, 0x12, 0x17, 0x0a, 0x0f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x31, - 0x30, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xcc, 0xd1, 0xa5, 0xe8, 0x01, 0x12, 0x17, 0x0a, 0x0f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x31, 0x35, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xd1, - 0xbc, 0xbf, 0xea, 0x01, 0x12, 0x15, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, - 0x5f, 0x31, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xaa, 0xd2, 0xf6, 0x20, 0x12, 0x16, 0x0a, 0x0f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x33, 0x30, 0x5f, 0x53, 0x45, 0x43, 0x10, 0x89, - 0xe0, 0xcc, 0x03, 0x12, 0x15, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, - 0x35, 0x5f, 0x4d, 0x49, 0x4e, 0x10, 0xae, 0x8e, 0xd8, 0x22, 0x12, 0x15, 0x0a, 0x0e, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x56, 0x41, 0x4c, 0x5f, 0x35, 0x5f, 0x53, 0x45, 0x43, 0x10, 0xad, 0xba, 0xd8, - 0x22, 0x22, 0x75, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, - 0x12, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, - 0x41, 0x54, 0x41, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x0f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, - 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0xbd, 0xd8, 0xe3, 0x1d, 0x12, 0x1c, 0x0a, - 0x14, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x45, 0x54, - 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0x92, 0xbd, 0xc1, 0x9f, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x49, - 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, - 0x41, 0x54, 0x41, 0x10, 0x84, 0xcd, 0xbf, 0x4e, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, - 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8f, 0x01, 0x0a, 0x18, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, - 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0xcd, 0xf0, 0xb4, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x63, 0x0a, - 0x23, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0b, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x18, 0xc5, 0xd4, 0xa5, 0xc6, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8b, 0x01, 0x0a, 0x2a, 0x53, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x18, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0xce, 0xe8, 0xfd, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x15, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb2, - 0xca, 0xb6, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x88, 0x01, 0x01, 0x22, 0x4e, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x14, - 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x4c, 0x49, - 0x43, 0x59, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1a, 0x43, 0x4f, 0x4e, 0x53, 0x49, 0x53, 0x54, 0x45, - 0x4e, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x45, 0x54, 0x54, 0x49, - 0x4e, 0x47, 0x10, 0xb4, 0x98, 0xfc, 0x33, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, - 0xb8, 0xce, 0x92, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0x8c, 0x02, 0x0a, 0x16, 0x53, 0x75, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x11, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x18, - 0xcf, 0xe9, 0xad, 0x98, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x69, 0x73, - 0x63, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x73, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x64, 0x69, - 0x73, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x73, 0x64, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xa6, - 0x01, 0x0a, 0x20, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, - 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x04, 0x0a, 0x0e, 0x54, 0x43, 0x50, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x81, 0xb1, 0xd2, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x89, 0x87, 0xe7, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, - 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0xc5, 0xeb, 0xcc, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x70, 0x6f, - 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x8f, 0xe5, 0xbb, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x04, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0xc1, 0xa8, 0xdc, 0x5d, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x88, 0x01, 0x01, 0x22, 0x7e, 0x0a, 0x11, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x55, 0x53, - 0x45, 0x5f, 0x46, 0x49, 0x58, 0x45, 0x44, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xe4, 0x88, 0xdb, - 0x5a, 0x12, 0x16, 0x0a, 0x0e, 0x55, 0x53, 0x45, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x44, 0x5f, 0x50, - 0x4f, 0x52, 0x54, 0x10, 0xbf, 0xcf, 0xc7, 0xa6, 0x01, 0x12, 0x18, 0x0a, 0x10, 0x55, 0x53, 0x45, - 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xcc, 0xd1, - 0xf5, 0xac, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, - 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x0a, 0x04, 0x54, 0x61, 0x67, 0x73, 0x12, 0x28, 0x0a, - 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, - 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x22, 0xbf, 0x04, 0x0a, 0x0f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x11, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x82, 0xac, 0x9d, 0x15, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x57, 0x69, - 0x74, 0x68, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, - 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, - 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6c, - 0x65, 0x73, 0x73, 0x18, 0xa8, 0xe3, 0xc6, 0x30, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x14, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x6c, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x6c, 0x65, - 0x73, 0x73, 0x22, 0xe2, 0x02, 0x0a, 0x13, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, - 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x41, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, + 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x2a, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, + 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xb4, 0xe5, 0xcd, 0x4a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0xc4, 0x01, 0x0a, 0x28, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x71, 0x75, 0x69, 0x63, + 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0xad, 0xa1, 0xdb, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x71, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x88, 0x01, 0x01, 0x22, 0x58, 0x0a, 0x0c, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, + 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xc8, + 0xdd, 0xa6, 0x73, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x83, 0xb3, + 0xa0, 0xd1, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x22, 0x5c, 0x0a, 0x2b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x22, 0xcb, 0x08, 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x39, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb8, 0xef, + 0x97, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x2f, 0x0a, 0x0f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x70, 0x18, 0xb4, 0xe5, 0xcd, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, + 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, + 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xde, 0xce, 0xa6, + 0xd5, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x4b, 0x65, + 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, + 0x63, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x06, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, + 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, + 0x18, 0xee, 0xce, 0xb1, 0x88, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x09, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x42, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x71, 0x75, + 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0xad, 0xa1, 0xdb, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0c, 0x71, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0c, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x33, + 0x0a, 0x11, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0xf2, 0xde, 0x87, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, + 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x6c, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x18, 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x09, 0x73, 0x73, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, + 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0f, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x22, 0x58, 0x0a, 0x0c, + 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x5f, 0x4f, + 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x49, 0x53, + 0x41, 0x42, 0x4c, 0x45, 0x10, 0xc8, 0xdd, 0xa6, 0x73, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x4e, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0x83, 0xb3, 0xa0, 0xd1, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x70, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, + 0x6e, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0x9f, + 0x04, 0x0a, 0x1e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, + 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, + 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, + 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x1a, 0x6f, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x4b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xe4, 0x02, 0x0a, 0x14, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, @@ -156580,66 +164027,179 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xca, 0x01, 0x0a, 0x1b, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, - 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5b, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0xc3, - 0xd5, 0xa8, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, - 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe6, 0x04, 0x0a, 0x0f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, - 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, - 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, 0x65, 0x65, - 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, - 0x73, 0x65, 0x63, 0x18, 0xde, 0xce, 0xa6, 0xd5, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, - 0x17, 0x68, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xea, 0x04, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, + 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x0a, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x90, 0xc4, 0x8a, + 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, 0x51, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x0a, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, 0x34, 0x0a, 0x09, 0x4e, + 0x61, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4e, 0x41, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x06, 0x4e, 0x4f, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x83, 0xbb, 0xfe, + 0x4c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x98, 0x04, 0x0a, 0x1c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, + 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, + 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, + 0xe0, 0x02, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, + 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, + 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x22, 0xc3, 0x01, 0x0a, 0x19, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x56, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0xd0, 0xd2, 0xad, 0xbb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, + 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x9c, 0x07, 0x0a, 0x0a, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, + 0x70, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0xf9, 0xc8, 0xf0, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x18, 0xfe, 0x94, 0xb4, 0x65, 0x20, 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, + 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, + 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x18, 0xee, 0xce, 0xb1, 0x88, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x07, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, - 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, - 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, - 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, - 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0xcc, 0x03, - 0x0a, 0x1d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, - 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x91, 0x86, 0xca, + 0x51, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x32, 0x0a, 0x10, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x79, 0x18, 0xb1, 0xc1, 0x99, 0xdd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, + 0x52, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, + 0x79, 0x88, 0x01, 0x01, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, + 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x41, 0x46, + 0x46, 0x49, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x43, 0x4c, 0x49, 0x45, + 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x9b, 0xdc, 0xe9, 0xa4, 0x01, 0x12, 0x1f, 0x0a, 0x18, 0x43, + 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x4e, 0x4f, 0x5f, 0x44, 0x45, 0x53, 0x54, + 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x94, 0x9a, 0xcd, 0x32, 0x12, 0x1b, 0x0a, 0x14, + 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x50, + 0x52, 0x4f, 0x54, 0x4f, 0x10, 0xae, 0xf2, 0xdc, 0x69, 0x12, 0x16, 0x0a, 0x0f, 0x43, 0x4c, 0x49, + 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0xa4, 0xc5, 0x89, + 0x0c, 0x12, 0x18, 0x0a, 0x10, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, + 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xb4, 0xce, 0xca, 0xb0, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x48, + 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0xa8, 0x89, 0xdc, 0x5f, + 0x12, 0x13, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, + 0xfb, 0xa3, 0x83, 0xec, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, + 0x92, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x61, + 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x05, 0x0a, 0x03, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x8c, 0x04, 0x0a, 0x18, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, @@ -156650,156 +164210,175 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x6e, 0x0a, 0x0a, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, - 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xe2, 0x02, 0x0a, - 0x13, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, - 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xcf, 0x01, 0x0a, 0x1c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, - 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x8a, 0xfc, 0xe7, 0xae, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, - 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, + 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x68, + 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x12, 0x4e, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0xb5, 0xd6, 0xba, 0xb5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x0e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0x7a, 0x0a, 0x20, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x22, + 0x6c, 0x0a, 0x1d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x41, 0x64, + 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, + 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x7d, 0x0a, + 0x23, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x22, 0x6f, 0x0a, 0x20, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, + 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xb3, 0x01, + 0x0a, 0x15, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0xa9, 0x9f, 0xa0, 0xa0, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x2a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xb4, 0xe5, 0xcd, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x88, - 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0xc4, 0x01, 0x0a, 0x28, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, - 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x18, 0xad, 0xa1, 0xdb, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x0c, 0x71, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x88, 0x01, - 0x01, 0x22, 0x58, 0x0a, 0x0c, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x51, - 0x55, 0x49, 0x43, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, - 0x0a, 0x07, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xc8, 0xdd, 0xa6, 0x73, 0x12, 0x0e, - 0x0a, 0x06, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x83, 0xb3, 0xa0, 0xd1, 0x01, 0x12, 0x0b, - 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x5c, 0x0a, - 0x2b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x10, - 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, - 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x73, 0x6c, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0xcb, 0x08, 0x0a, 0x10, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x12, 0x39, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xb8, 0xef, 0x97, 0x10, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x13, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xb4, - 0xe5, 0xcd, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, - 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, - 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1b, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0xde, 0xce, 0xa6, 0xd5, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x48, 0x05, 0x52, 0x17, 0x68, 0x74, 0x74, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, - 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x88, 0x01, 0x01, 0x12, - 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x02, + 0x69, 0x6e, 0x67, 0x22, 0x3c, 0x0a, 0x0f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x22, 0x59, 0x0a, 0x28, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, + 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x28, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xb4, 0xe5, 0xcd, 0x4a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0xad, 0x01, + 0x0a, 0x25, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, + 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, + 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, + 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x5a, 0x0a, + 0x29, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x73, + 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, + 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x94, 0x05, 0x0a, 0x0e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2f, 0x0a, 0x0f, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, + 0xb4, 0xe5, 0xcd, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, + 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x18, 0xee, 0xce, 0xb1, 0x88, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0xad, 0xa1, 0xdb, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0a, 0x52, 0x0c, 0x71, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xf2, - 0xde, 0x87, 0x8d, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x54, 0x6c, 0x73, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, - 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x73, - 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, - 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, 0xfd, 0xe0, 0x8c, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, - 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x06, 0x75, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x22, 0x58, 0x0a, 0x0c, 0x51, 0x75, 0x69, 0x63, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x51, 0x55, 0x49, 0x43, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, - 0x44, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x07, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, - 0xc8, 0xdd, 0xa6, 0x73, 0x12, 0x0e, 0x0a, 0x06, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x83, - 0xb3, 0xa0, 0xd1, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, - 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6b, - 0x65, 0x65, 0x70, 0x5f, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x5f, 0x73, 0x65, 0x63, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0x9f, 0x04, 0x0a, 0x1e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, + 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0xc5, + 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x09, 0x73, 0x73, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, + 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, + 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, + 0x9f, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, + 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, @@ -156807,389 +164386,121 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6f, 0x0a, 0x0a, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, - 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, 0x0a, 0x14, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, + 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x22, 0xc6, 0x01, 0x0a, 0x1a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x58, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x80, 0xd7, 0xfa, 0x7c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x59, 0x0a, 0x28, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x25, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0b, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, + 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, + 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, + 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, + 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xcb, 0x04, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x18, 0xee, 0xce, 0xb1, 0x88, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x05, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x69, 0x6e, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, + 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, + 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, + 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x99, 0x04, 0x0a, 0x1c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, + 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, + 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, + 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xa5, 0x04, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x6e, 0x61, 0x74, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x90, 0xc4, 0x8a, 0xf3, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x06, 0x52, 0x09, 0x6e, 0x61, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, - 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x88, 0x01, 0x01, 0x22, 0x34, 0x0a, 0x09, 0x4e, 0x61, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x4e, 0x41, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x06, - 0x4e, 0x4f, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0x83, 0xbb, 0xfe, 0x4c, 0x42, 0x15, 0x0a, 0x13, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x61, 0x74, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x98, 0x04, 0x0a, 0x1c, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x59, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, - 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, - 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6c, 0x0a, 0x0a, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc3, 0x01, 0x0a, 0x19, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xd0, 0xd2, 0xad, 0xbb, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x42, - 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd7, - 0x06, 0x0a, 0x0a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, - 0x0b, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0xf9, 0xc8, 0xf0, - 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x50, - 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, - 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, - 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0xfe, 0x94, 0xb4, 0x65, 0x20, - 0x01, 0x28, 0x02, 0x48, 0x03, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x52, - 0x61, 0x74, 0x69, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x18, 0xfe, 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, - 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, - 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x10, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0xb1, 0xc1, 0x99, 0xdd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x53, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x1e, 0x0a, - 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x41, 0x46, 0x46, 0x49, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x00, 0x12, 0x11, 0x0a, - 0x09, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x10, 0x9b, 0xdc, 0xe9, 0xa4, 0x01, - 0x12, 0x1f, 0x0a, 0x18, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x4e, 0x4f, - 0x5f, 0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x94, 0x9a, 0xcd, - 0x32, 0x12, 0x1b, 0x0a, 0x14, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x10, 0xae, 0xf2, 0xdc, 0x69, 0x12, 0x16, - 0x0a, 0x0f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x50, 0x52, 0x4f, 0x54, - 0x4f, 0x10, 0xa4, 0xc5, 0x89, 0x0c, 0x12, 0x18, 0x0a, 0x10, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, - 0x54, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xb4, 0xce, 0xca, 0xb0, 0x01, - 0x12, 0x13, 0x0a, 0x0c, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, - 0x10, 0xa8, 0x89, 0xdc, 0x5f, 0x12, 0x13, 0x0a, 0x0b, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x43, 0x4f, - 0x4f, 0x4b, 0x49, 0x45, 0x10, 0xfb, 0xa3, 0x83, 0xec, 0x01, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, - 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x22, 0x8c, 0x04, 0x0a, 0x18, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, - 0x6f, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, - 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, - 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, - 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, - 0x6f, 0x6f, 0x6c, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8f, 0x01, 0x0a, 0x18, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x12, 0x4e, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xb5, 0xd6, 0xba, 0xb5, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x0e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, - 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x7a, 0x0a, 0x20, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, - 0x6f, 0x6c, 0x73, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x22, 0x6c, 0x0a, 0x1d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x41, - 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, - 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x7d, - 0x0a, 0x23, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, 0xae, 0xaf, 0xe6, 0xd5, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, - 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x22, 0x6f, 0x0a, - 0x20, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0xfe, - 0xfc, 0xef, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xb3, - 0x01, 0x0a, 0x15, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0xa9, 0x9f, 0xa0, 0xa0, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, - 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, - 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x3c, 0x0a, 0x0f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x18, 0x91, 0xe3, 0xf9, 0x5b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x22, 0x59, 0x0a, 0x28, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, - 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x6f, 0x0a, - 0x28, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0f, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0xb4, 0xe5, 0xcd, - 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0xad, - 0x01, 0x0a, 0x25, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, - 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, - 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x5a, - 0x0a, 0x29, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x73, - 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, - 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x73, 0x6c, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x22, 0x94, 0x05, 0x0a, 0x0e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2f, 0x0a, - 0x0f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, - 0x18, 0xb4, 0xe5, 0xcd, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x12, 0x35, - 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, - 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0xfe, - 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x07, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x18, 0x8f, 0xa2, 0xc3, 0xae, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, - 0xc5, 0xfd, 0xe0, 0x8c, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x09, 0x73, 0x73, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, - 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, - 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, - 0xb7, 0x9f, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, + 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, @@ -157205,295 +164516,189 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc6, 0x01, 0x0a, 0x1a, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, - 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x58, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, - 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x80, 0xd7, 0xfa, 0x7c, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x10, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, - 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x59, 0x0a, - 0x28, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xad, 0x01, 0x0a, 0x25, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, 0x65, 0x74, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, - 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, - 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, - 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, - 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, - 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0xcb, 0x04, 0x0a, 0x0e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x04, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x18, 0xee, 0xce, 0xb1, 0x88, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x18, 0xfe, 0xba, 0xbc, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0b, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, - 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0xb8, 0xce, 0x92, 0x01, 0x12, - 0x10, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x5f, 0x56, 0x31, 0x10, 0xac, 0xa4, 0xb7, 0x9f, - 0x01, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x69, 0x6e, 0x64, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x99, 0x04, 0x0a, 0x1c, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, - 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, - 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc1, 0x06, 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, + 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0xb5, 0x9a, 0xcc, 0x96, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6d, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x22, 0xe0, 0x02, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, - 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x40, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, - 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc1, 0x06, 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, - 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, - 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x18, 0xb5, 0x9a, 0xcc, 0x96, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, - 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, - 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, - 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, - 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, - 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, - 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x07, 0x74, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x8b, 0xfa, 0xed, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x60, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, - 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, - 0x00, 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, - 0x9d, 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, - 0xa8, 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0xbd, 0x90, 0xa6, 0xd9, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, - 0xc3, 0x8f, 0x25, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9e, 0x04, 0x0a, 0x1e, 0x54, 0x61, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, + 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x07, 0x74, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x18, 0x8b, 0xfa, 0xed, 0x31, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x60, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, + 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xb9, 0xbd, 0x9d, + 0xd9, 0x01, 0x12, 0x10, 0x0a, 0x08, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0xa8, + 0xa7, 0x87, 0xfc, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, + 0x90, 0xa6, 0xd9, 0x01, 0x12, 0x0c, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x83, 0xc3, + 0x8f, 0x25, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9e, 0x04, 0x0a, 0x1e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x5b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, - 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, - 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, - 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6e, 0x0a, 0x0a, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, 0x0a, 0x14, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, + 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, + 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, + 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, - 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, - 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x6e, 0x0a, 0x0a, 0x49, + 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xe4, 0x02, 0x0a, 0x14, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, + 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xcc, 0x01, 0x0a, 0x1b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x5d, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x88, 0x93, 0xca, 0xbf, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x11, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, - 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, - 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xcc, 0x01, 0x0a, 0x1b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x5d, 0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x88, 0x93, 0xca, 0xbf, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x11, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, - 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x22, 0xa6, 0x05, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x12, 0x33, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x82, 0xd9, 0xf1, 0x88, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, - 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1d, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, - 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xd9, 0x83, 0xbc, 0x14, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x01, 0x52, 0x1a, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x84, 0xd2, 0xfe, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, - 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x37, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x98, 0xa2, 0xf7, 0xce, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x03, 0x52, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x65, 0x78, 0x70, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xef, 0xea, 0x80, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x1c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xae, 0xf8, 0xf1, - 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x07, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x86, 0xdf, 0x9d, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x54, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x1a, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0xa5, 0xc8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x07, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, - 0x6c, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, - 0x6f, 0x64, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x22, - 0x0a, 0x20, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, + 0xa6, 0x05, 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, + 0x33, 0x0a, 0x11, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x82, 0xd9, 0xf1, 0x88, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, + 0x6c, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1d, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x72, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xd9, 0x83, 0xbc, 0x14, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, + 0x52, 0x1a, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x0e, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x18, 0x84, 0xd2, 0xfe, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x61, + 0x63, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x37, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x98, 0xa2, 0xf7, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x03, 0x52, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x65, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xef, 0xea, 0x80, 0x09, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x1c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x65, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xae, 0xf8, 0xf1, 0x3f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x07, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x86, 0xdf, 0x9d, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, + 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, + 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, + 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0xa5, 0xc8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, + 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, + 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, - 0x64, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0x87, 0x02, 0x0a, 0x1d, 0x54, 0x65, - 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, + 0x64, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x22, 0x0a, + 0x20, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0xf4, 0x01, 0x0a, 0x26, 0x54, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0xf5, 0x01, 0x0a, 0x27, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, @@ -157504,13 +164709,104 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, - 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x2b, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x1d, 0x54, 0x65, 0x73, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, + 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x22, 0xf9, 0x01, 0x0a, 0x2b, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, + 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, + 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd3, 0x01, + 0x0a, 0x27, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, + 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x1e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, + 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x21, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, + 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x22, 0xf7, 0x01, 0x0a, 0x29, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, + 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x24, 0x54, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, @@ -157524,37 +164820,24 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0xd3, 0x01, 0x0a, 0x27, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xec, 0x01, 0x0a, 0x1e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, - 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x21, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0xee, 0x01, 0x0a, 0x20, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0xf3, 0x01, 0x0a, 0x25, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, @@ -157567,93 +164850,14 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x29, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, - 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, - 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, - 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf2, 0x01, 0x0a, - 0x24, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0xee, 0x01, 0x0a, 0x20, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, - 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x25, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, - 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x98, 0x02, 0x0a, 0x2a, 0x54, 0x65, 0x73, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, - 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x97, 0x02, 0x0a, 0x2d, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x98, 0x02, 0x0a, 0x2a, 0x54, 0x65, 0x73, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, @@ -157664,26 +164868,9 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xfc, 0x01, - 0x0a, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, - 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, - 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, - 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8c, 0x02, 0x0a, - 0x22, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x22, 0x97, 0x02, 0x0a, 0x2d, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, @@ -157698,27 +164885,95 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x25, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x96, 0x02, 0x0a, 0x28, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, - 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x6e, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, + 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x8c, 0x02, 0x0a, 0x22, 0x54, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, + 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, + 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x25, 0x54, 0x65, + 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x96, 0x02, 0x0a, 0x28, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x9b, 0x02, 0x0a, 0x2d, 0x54, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x23, 0x54, 0x65, 0x73, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, @@ -157733,27 +164988,62 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x23, 0x54, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x34, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, - 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, - 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, - 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, - 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xa2, - 0x02, 0x0a, 0x34, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x8e, 0x02, 0x0a, 0x24, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, + 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x22, 0x95, 0x02, 0x0a, 0x27, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x98, 0x02, 0x0a, 0x2a, 0x54, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, @@ -157769,63 +165059,28 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x8e, 0x02, 0x0a, 0x24, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, - 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, - 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x63, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x21, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x95, 0x02, 0x0a, 0x27, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, - 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, - 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, - 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x98, 0x02, 0x0a, - 0x2a, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, - 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xef, 0x01, 0x0a, 0x21, 0x54, 0x65, 0x73, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x23, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, @@ -157838,7 +165093,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x23, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, @@ -157853,1342 +165108,872 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x91, 0x02, - 0x0a, 0x23, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x21, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0xa6, 0xc5, 0xb7, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x1e, 0x74, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x3d, 0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x84, 0xe9, 0xcb, 0x1c, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x3e, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0b, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x84, 0xe9, 0xcb, 0x1c, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x4f, 0x0a, 0x07, 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x12, 0x1a, 0x0a, 0x04, 0x68, - 0x69, 0x67, 0x68, 0x18, 0xa2, 0xbb, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x04, - 0x68, 0x69, 0x67, 0x68, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0xd4, - 0xc6, 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x6f, - 0x77, 0x22, 0xe8, 0x02, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x64, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x18, 0x90, 0xff, 0xf6, 0xb8, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3d, 0x0a, + 0x16, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x84, 0xe9, 0xcb, 0x1c, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3e, 0x0a, 0x17, + 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x84, 0xe9, 0xcb, 0x1c, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4f, 0x0a, 0x07, + 0x55, 0x69, 0x6e, 0x74, 0x31, 0x32, 0x38, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x69, 0x67, 0x68, 0x18, + 0xa2, 0xbb, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x04, 0x68, 0x69, 0x67, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x03, 0x6c, 0x6f, 0x77, 0x18, 0xd4, 0xc6, 0x06, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x01, 0x52, 0x03, 0x6c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x68, 0x69, 0x67, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x6f, 0x77, 0x22, 0xfb, 0x04, + 0x0a, 0x13, 0x55, 0x70, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x0e, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x99, 0xa3, 0xe2, 0x2d, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x0d, 0x63, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x18, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x81, 0xbb, 0x86, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x15, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x9e, 0x9d, 0xf7, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x11, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0xba, 0x9e, 0xda, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xa0, 0xae, 0xce, 0x81, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x45, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0xb9, + 0xb0, 0xc9, 0xe1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x22, 0x67, + 0x0a, 0x11, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, + 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x07, 0x4f, 0x4e, 0x47, 0x4f, 0x49, 0x4e, 0x47, + 0x10, 0xdb, 0xa6, 0xcf, 0xe1, 0x01, 0x12, 0x0e, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0xf7, 0xaa, 0xf0, 0x10, 0x12, 0x0f, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x10, 0xaa, 0xf0, 0xc4, 0xce, 0x01, 0x22, 0x58, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, + 0x10, 0x8d, 0xa1, 0x8f, 0xe4, 0x01, 0x12, 0x14, 0x0a, 0x0c, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0xaf, 0xa4, 0xfe, 0xe9, 0x01, 0x12, 0x13, 0x0a, 0x0b, + 0x55, 0x4e, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x94, 0xc4, 0xce, 0xd6, + 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x63, 0x68, 0x65, + 0x64, 0x75, 0x6c, 0x65, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xe8, 0x02, 0x0a, 0x21, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x64, 0x0a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x90, 0xff, 0xf6, 0xb8, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x14, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x11, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, + 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, + 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, + 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, + 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x34, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, - 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb4, 0x02, 0x0a, - 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, - 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x96, 0x02, + 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, + 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x67, 0x0a, 0x17, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x98, 0xce, 0xc7, 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9d, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, + 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe2, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, + 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x4a, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xd0, 0xab, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, + 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, + 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, + 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xb6, 0x02, 0x0a, 0x22, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x67, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xda, 0x84, + 0x91, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0x96, 0x02, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x18, 0xf5, 0xe3, 0xdd, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0d, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x67, 0x0a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x98, 0xce, 0xc7, - 0xb5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf6, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, + 0x0a, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x18, 0x80, 0xfa, 0xd5, 0xf3, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xed, 0xb0, 0xe0, 0x13, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8a, 0x02, + 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, + 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc7, 0x04, 0x0a, 0x15, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, 0xf0, + 0xfe, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x15, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9d, 0x02, 0x0a, - 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, - 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x2e, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x94, 0x8d, 0x82, 0x81, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x4b, 0x0a, 0x1e, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x8d, 0xce, 0xc2, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x1b, 0x6d, + 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, + 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, + 0x6f, 0x6e, 0x65, 0x22, 0x2d, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x00, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, + 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, + 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, + 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x42, + 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, + 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf8, 0x02, 0x0a, 0x25, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x34, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe8, 0xc0, 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x70, 0x0a, 0x1a, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x94, 0xae, 0x9b, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xe2, 0x02, 0x0a, - 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x4a, - 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0xf0, 0xd0, 0xab, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, - 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, - 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, - 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, - 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, - 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x22, 0xb6, 0x02, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x67, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xda, 0x84, 0x91, 0x8a, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x44, - 0x65, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, - 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf6, 0x01, 0x0a, 0x15, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x18, 0x80, 0xfa, 0xd5, 0xf3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x12, 0x56, 0x0a, 0x11, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xed, - 0xb0, 0xe0, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0xb9, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, + 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x12, 0x95, 0x01, 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd9, + 0xaa, 0x82, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x10, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, - 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0x8a, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x60, 0x0a, 0x15, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x24, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd0, 0x03, 0x0a, 0x33, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, + 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x12, 0xd5, 0x01, 0x0a, 0x40, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbe, 0xc1, 0xb6, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x38, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdf, + 0x03, 0x0a, 0x39, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0xd8, 0x01, 0x0a, 0x41, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa7, 0xae, 0xba, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, - 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x39, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x22, 0xc7, 0x04, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x56, - 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x18, 0xf8, 0xf0, 0xfe, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, - 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x94, 0x8d, 0x82, 0x81, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x1e, 0x6d, 0x6f, 0x73, 0x74, 0x5f, 0x64, - 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x8d, 0xce, 0xc2, 0x1f, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x1b, 0x6d, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, - 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, - 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, - 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, - 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0x2d, 0x0a, 0x0d, 0x4d, 0x69, 0x6e, - 0x69, 0x6d, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, 0x5f, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, 0x6f, 0x73, 0x74, - 0x44, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, - 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x28, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4d, 0x4f, 0x53, 0x54, 0x5f, 0x44, 0x49, 0x53, 0x52, 0x55, 0x50, - 0x54, 0x49, 0x56, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, 0x5f, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x61, - 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x6d, 0x6f, 0x73, - 0x74, 0x5f, 0x64, 0x69, 0x73, 0x72, 0x75, 0x70, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6c, 0x6c, - 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf8, 0x02, 0x0a, 0x25, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe8, 0xc0, - 0x9d, 0xae, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x70, - 0x0a, 0x1a, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x85, 0x94, 0xae, - 0x9b, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x18, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, + 0x22, 0xc0, 0x02, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, + 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, + 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, + 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0xcc, 0x02, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, + 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, + 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xb9, 0x02, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x95, 0x01, 0x0a, 0x28, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x18, 0xd9, 0xaa, 0x82, 0x6b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0x93, 0x03, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x95, 0x96, 0xf3, 0xe5, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, 0xa3, 0xbb, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x24, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, - 0x64, 0x22, 0xd0, 0x03, 0x0a, 0x33, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0xd5, 0x01, 0x0a, 0x40, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xbe, 0xc1, 0xb6, - 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x38, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdf, 0x03, 0x0a, 0x39, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x16, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x18, 0xc3, 0xf7, 0xf3, - 0x76, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0xd8, 0x01, 0x0a, 0x41, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, - 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa7, 0xae, 0xba, 0x2a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x39, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xc0, 0x02, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x18, 0xd7, 0xfd, 0xd2, 0xf6, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x5c, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf6, 0xf0, 0xff, 0x62, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x75, 0x74, - 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xcc, 0x02, 0x0a, 0x21, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x6a, 0x0a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa3, 0x81, - 0xdf, 0xa5, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x93, 0x03, 0x0a, 0x1d, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x95, 0x96, 0xf3, 0xe5, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x5c, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf8, 0xa3, 0xbb, 0x74, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, - 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xee, - 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, - 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x4a, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xf0, 0xd0, 0xab, 0x0c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, - 0xb9, 0x02, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x60, - 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x02, 0x0a, 0x19, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x70, + 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, - 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, - 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x18, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, - 0xee, 0xc1, 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, - 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x60, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xa1, 0xee, 0xf4, 0x87, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, - 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xee, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x9d, 0x9b, 0xbc, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x69, 0x73, 0x6b, + 0x12, 0x4a, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xf0, 0xd0, 0xab, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, + 0x64, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x05, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x92, 0x02, 0x0a, 0x13, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, - 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, - 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0xc4, 0x80, 0x82, 0x4a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdc, - 0x02, 0x0a, 0x2b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, - 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, - 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, - 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x83, 0x01, 0x0a, 0x21, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, - 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd8, 0x96, 0xdd, 0x81, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x73, 0x68, 0x69, - 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, - 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, - 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xec, 0x01, - 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, - 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, - 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, - 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, 0x08, 0x0a, - 0x06, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, - 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x63, - 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xaa, 0xb4, 0xd7, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x12, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb7, 0xe5, 0xc5, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x66, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xea, 0xab, - 0xb6, 0xab, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, - 0x72, 0x6c, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, - 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x06, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0a, 0x68, - 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0xa0, 0x87, 0xd7, 0x94, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, - 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x4d, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, - 0x18, 0xdb, 0x88, 0xc5, 0x81, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xb9, 0x02, 0x0a, 0x1e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0c, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0xe5, 0xaa, 0xa4, + 0x93, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x60, 0x0a, 0x15, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0xa8, 0xc3, 0xa4, 0x60, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, - 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0a, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0xa1, 0x9c, - 0xc9, 0x34, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x65, 0x73, 0x74, 0x52, 0x05, 0x74, 0x65, 0x73, - 0x74, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x22, 0xd0, 0x02, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, + 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, + 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x9b, 0x02, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, + 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x22, 0x8d, 0x03, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0xee, 0xc1, 0xe0, 0x32, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xcc, 0x87, 0xd5, 0x16, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x60, 0x0a, 0x14, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xa1, 0xee, 0xf4, 0x87, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0xa2, 0xb9, 0xba, + 0xee, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, + 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, + 0x7a, 0x6f, 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x22, 0x92, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, 0x41, 0x02, 0xf2, + 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, + 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xc4, 0x80, 0x82, 0x4a, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xdc, 0x02, 0x0a, 0x2b, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x95, 0xa9, 0xda, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x83, 0x01, 0x0a, 0x21, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xd8, 0x96, 0xdd, 0x81, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x73, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, 0xc7, + 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0a, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, + 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, + 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xe1, 0x90, 0xb7, 0x50, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, + 0x61, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x94, 0x08, 0x0a, 0x06, 0x55, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xaa, 0xb4, 0xd7, 0xb4, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, - 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, - 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, - 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x3f, 0x0a, 0x0f, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, - 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x22, 0xcc, 0x03, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x54, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x37, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x98, 0xa2, 0xf7, 0xce, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x65, 0x78, - 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xef, 0xea, - 0x80, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x1c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x86, 0xdf, 0x9d, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, + 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x18, 0xb7, 0xe5, 0xc5, 0xb0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x66, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x72, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x18, 0xea, 0xab, 0xb6, 0xab, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, + 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x03, + 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x18, 0xe4, 0xd1, 0xf3, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x66, 0x69, + 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0d, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, + 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x06, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0a, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0xa0, 0x87, 0xd7, 0x94, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x65, - 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0xa5, 0xc8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, - 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, - 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, - 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, - 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x5f, 0x0a, 0x10, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x54, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x87, 0x02, 0x0a, 0x16, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x73, 0x18, 0xe4, 0xf1, 0xf1, 0x93, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x61, - 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x2d, 0x0a, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0xc8, 0xb4, 0x98, 0x3d, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, - 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, - 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x18, 0xb6, 0xe2, 0x9f, 0xf1, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, - 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x46, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x73, 0x73, 0x65, 0x64, 0x18, 0xbd, 0x81, 0xf2, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, - 0x0a, 0x74, 0x65, 0x73, 0x74, 0x50, 0x61, 0x73, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, - 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, - 0x64, 0x22, 0x82, 0x04, 0x0a, 0x15, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x52, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, - 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, - 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, - 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, - 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0d, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x18, 0xdb, 0x88, 0xc5, 0x81, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x74, 0x68, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x73, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x0b, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x3c, + 0x0a, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0xa1, 0x9c, 0xc9, 0x34, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x54, 0x65, 0x73, 0x74, 0x52, 0x05, 0x74, 0x65, 0x73, 0x74, 0x73, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x72, 0x6c, + 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x69, + 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0xd0, 0x02, + 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x38, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, + 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, - 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x55, 0x72, 0x6c, 0x4d, 0x61, - 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x08, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x18, 0xe7, 0x8e, 0xa4, 0x31, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x52, 0x07, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb8, 0x02, 0x0a, 0x16, - 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x16, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, - 0x18, 0xaf, 0x85, 0x81, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x6c, 0x6f, 0x61, 0x64, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x12, - 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x88, 0x01, 0x01, 0x22, 0x92, 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, - 0x20, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, - 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, - 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, - 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x18, 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x8b, 0xb6, 0x92, 0xf4, 0x01, 0x12, 0x29, - 0x0a, 0x21, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, - 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0xbc, 0xbb, 0x87, 0xfb, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x75, 0x0a, 0x17, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, - 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xef, 0x01, - 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x0c, - 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0xf5, 0xcb, 0x9a, - 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x70, 0x61, 0x74, 0x68, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0xb9, - 0xe8, 0xd1, 0x13, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x70, 0x61, 0x74, 0x68, 0x50, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x3b, 0x0a, 0x15, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0xa1, 0xef, 0xf2, 0xc9, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x13, 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x16, 0x0a, - 0x14, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, - 0xa9, 0x08, 0x0a, 0x10, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x38, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xf6, 0x92, 0xb6, - 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, - 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xa2, 0xb4, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x01, 0x52, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, - 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0xdd, 0xf5, 0xd1, 0xf0, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0e, 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x75, - 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x9e, 0xfa, 0xef, 0x96, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x05, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0xf6, 0x80, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x13, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, - 0x18, 0xe3, 0xff, 0x94, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x52, 0x11, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, - 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x53, 0x0a, 0x0e, 0x49, 0x70, 0x76, 0x36, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, - 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, - 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xbd, 0xed, 0x96, 0x85, 0x01, 0x22, 0xae, 0x01, 0x0a, 0x07, - 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, - 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x23, - 0x0a, 0x1c, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x53, - 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x10, 0xd9, - 0xb6, 0xce, 0x76, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0xe3, - 0xe2, 0xb2, 0xc0, 0x01, 0x12, 0x17, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, - 0x52, 0x46, 0x43, 0x5f, 0x31, 0x39, 0x31, 0x38, 0x10, 0xdb, 0xfe, 0xc5, 0x79, 0x12, 0x1e, 0x0a, - 0x17, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, - 0x5f, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0xc4, 0xf4, 0xf9, 0x16, 0x12, 0x1d, 0x0a, - 0x16, 0x52, 0x45, 0x47, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, - 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0xee, 0xb6, 0xfd, 0x48, 0x22, 0x3a, 0x0a, 0x04, - 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, - 0x44, 0x5f, 0x52, 0x4f, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x86, 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, - 0x55, 0x50, 0x10, 0xc2, 0xd3, 0xcd, 0xa2, 0x01, 0x22, 0x49, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, - 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, - 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, - 0x0a, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, - 0xcb, 0xd5, 0x0a, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x17, 0x0a, 0x15, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, - 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x70, 0x76, 0x36, - 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x75, 0x72, - 0x70, 0x6f, 0x73, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x95, 0x01, 0x0a, 0x1e, - 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, - 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, - 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, - 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xcd, 0xf0, 0xb4, 0x9e, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xef, 0x02, 0x0a, 0x1f, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, - 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, - 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, - 0x0b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc0, 0x97, 0x9e, - 0x87, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xbb, 0xb0, - 0xd7, 0x98, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, - 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x9a, 0x02, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x29, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x9a, 0xcc, 0x80, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x24, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x22, 0xe2, 0x01, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, - 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x12, 0x84, 0x01, 0x0a, 0x22, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0xef, 0xd1, 0xe4, 0xbc, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x15, 0x56, 0x6d, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x73, 0x12, 0x2b, 0x0a, 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0xf5, 0xe7, 0xd8, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x7b, - 0x0a, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, - 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x89, 0x80, 0x95, 0x7a, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, - 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe5, 0x04, - 0x0a, 0x29, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x64, - 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xc1, 0xe3, 0xc7, 0xbc, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x14, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x50, 0x6f, 0x72, - 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x12, 0x6e, 0x61, 0x74, 0x5f, 0x69, - 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x9a, 0xb0, - 0xcc, 0xfd, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x61, 0x74, 0x49, 0x70, 0x50, 0x6f, - 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x19, 0x6e, 0x75, 0x6d, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0xf9, 0xa5, 0xff, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x00, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x72, 0x61, 0x69, 0x6e, - 0x4e, 0x61, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x6e, - 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x18, 0x80, 0xdb, 0x80, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x10, - 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x61, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x7a, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0xc8, 0xee, 0xea, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x73, 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x3a, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, - 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xd8, 0xa3, 0xfc, 0xd1, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x69, 0x70, - 0x18, 0xff, 0xa2, 0xb9, 0x47, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x49, 0x70, 0x88, 0x01, 0x01, 0x42, - 0x1c, 0x0a, 0x1a, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x72, - 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x16, 0x0a, - 0x14, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x74, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, - 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, - 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x22, 0x92, 0x03, 0x0a, 0x38, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x73, 0x4e, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, - 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xc1, - 0xe3, 0xc7, 0xbc, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x4e, - 0x61, 0x74, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2f, - 0x0a, 0x12, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x73, 0x18, 0x9a, 0xb0, 0xcc, 0xfd, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, - 0x6e, 0x61, 0x74, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, - 0x41, 0x0a, 0x19, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x61, - 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0xf9, 0xa5, 0xff, - 0x9f, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x74, - 0x61, 0x6c, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x80, 0xdb, 0x80, 0x8f, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, - 0x61, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xec, 0xdb, 0x9a, 0xff, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xf0, 0x02, 0x0a, 0x19, 0x56, - 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, - 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, - 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, - 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc0, 0x06, - 0x0a, 0x0a, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x12, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, - 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, - 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x60, - 0x0a, 0x0e, 0x76, 0x70, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, - 0x18, 0x85, 0xcd, 0xe5, 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x70, - 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x52, 0x0d, 0x76, 0x70, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, - 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x49, 0x0a, 0x09, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, - 0x81, 0xe8, 0xca, 0x0a, 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, - 0x59, 0x10, 0xa6, 0xcb, 0xd5, 0x0a, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, - 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, - 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, - 0x6b, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x8c, 0x04, 0x0a, 0x18, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, - 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, - 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, - 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, - 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, - 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, - 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, - 0xd8, 0x02, 0x0a, 0x0e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, - 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, - 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0x3f, 0x0a, 0x0f, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, + 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, + 0x61, 0x70, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, + 0x70, 0x22, 0xcc, 0x03, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x65, 0x73, 0x74, + 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x13, 0x65, + 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, + 0x72, 0x6c, 0x18, 0x98, 0xa2, 0xf7, 0xce, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, + 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x55, 0x72, + 0x6c, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x1f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xef, 0xea, 0x80, 0x09, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x02, 0x52, 0x1c, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x86, + 0xdf, 0x9d, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x68, + 0x6f, 0x73, 0x74, 0x18, 0xa8, 0xeb, 0xc3, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0xa5, 0xc8, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0xb5, + 0x8d, 0x8f, 0xb2, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x42, 0x22, + 0x0a, 0x20, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x22, 0x5f, 0x0a, 0x10, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x65, 0x73, 0x74, 0x48, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x1c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0xf1, 0xa2, 0xb2, 0x35, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x87, 0x02, 0x0a, 0x16, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0b, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0xe4, 0xf1, 0xf1, 0x93, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x12, 0x2d, 0x0a, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x18, 0xc8, 0xb4, 0x98, 0x3d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0d, + 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, + 0x73, 0x18, 0xb6, 0xe2, 0x9f, 0xf1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x12, + 0x27, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x18, 0xbd, + 0x81, 0xf2, 0x5b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x73, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x22, 0x82, 0x04, 0x0a, 0x15, + 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, + 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, + 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, + 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, + 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x77, 0x0a, 0x10, 0x56, 0x70, - 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x63, - 0x0a, 0x0f, 0x76, 0x70, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x8a, 0xed, 0xbe, 0xd1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, + 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x64, 0x0a, 0x0a, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0xeb, 0x02, 0x0a, 0x30, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x67, 0x68, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x75, 0x6e, 0x73, 0x61, 0x74, 0x69, - 0x73, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x8a, 0xf7, 0x9d, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x11, 0x75, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x73, - 0x66, 0x69, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x66, 0x0a, - 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x19, 0x43, - 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, - 0x41, 0x4e, 0x43, 0x59, 0x5f, 0x4d, 0x45, 0x54, 0x10, 0x9b, 0xca, 0xf5, 0xf0, 0x01, 0x12, 0x25, - 0x0a, 0x1d, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x44, - 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x10, - 0x8f, 0xd4, 0x89, 0xf4, 0x01, 0x22, 0x59, 0x0a, 0x11, 0x55, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x73, - 0x66, 0x69, 0x65, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, - 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, - 0x49, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1b, - 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, - 0x4c, 0x53, 0x5f, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x10, 0xfd, 0xf6, 0xd4, 0x1a, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x75, - 0x6e, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x22, 0x83, 0x02, 0x0a, 0x16, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x17, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xaa, 0x9a, 0xda, 0x4b, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x00, 0x52, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, - 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xe1, 0xde, 0x9c, 0x66, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x14, 0x70, 0x65, 0x65, 0x72, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x74, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x98, 0xa2, 0xd4, 0x25, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, - 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xff, 0x02, 0x0a, 0x1d, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x70, 0x6e, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x15, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x18, 0x8d, 0xee, 0xc7, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, - 0x70, 0x65, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, - 0x63, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xbc, 0xe9, 0xb3, 0x86, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x47, 0x63, 0x70, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x91, 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, + 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x22, 0xa2, 0x01, 0x0a, 0x11, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x53, 0x63, 0x6f, 0x70, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x08, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, + 0x70, 0x73, 0x18, 0xe7, 0x8e, 0xa4, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x67, 0x68, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x07, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x8b, 0xfa, - 0xed, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, - 0x65, 0x65, 0x72, 0x5f, 0x67, 0x63, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x1d, 0x56, 0x70, - 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x40, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x8a, 0xf7, - 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0xdc, 0xf1, 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x69, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, - 0x69, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x74, 0x0a, - 0x1c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x22, 0xb2, 0x01, 0x0a, 0x15, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, - 0x0c, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x9a, 0xfb, - 0xca, 0x7b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x0b, 0x76, 0x70, 0x6e, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x0e, 0x0a, 0x09, 0x56, 0x70, 0x6e, - 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, - 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xe1, 0xa4, 0x83, 0x9f, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x27, 0x0a, 0x0b, 0x69, 0x6b, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x9c, 0xd0, 0x90, 0x68, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x0a, 0x69, 0x6b, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, - 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, - 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, - 0x65, 0x6c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, - 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x18, 0xb5, 0xac, 0xa7, 0x97, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x07, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, - 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x8d, 0xee, 0xc7, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x08, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x1f, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x87, 0xe5, 0xf2, - 0xd7, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x09, 0x52, 0x1c, 0x70, 0x65, 0x65, 0x72, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x65, 0x65, - 0x72, 0x5f, 0x67, 0x63, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xbc, 0xe9, - 0xb3, 0x86, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x47, - 0x63, 0x70, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, - 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x18, 0xa4, 0xda, 0xdf, 0xb6, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0b, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1e, - 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0c, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3a, - 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, - 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0xba, 0xdd, 0x90, 0xab, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x72, 0x61, 0x66, 0x66, - 0x69, 0x63, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x72, 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, - 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x0e, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, - 0x12, 0x2c, 0x0a, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0xca, 0xa7, 0x8f, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0c, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, - 0x0a, 0x12, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0xe3, 0xe8, 0x99, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, - 0x52, 0x10, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0xf2, 0x9f, 0xb7, 0x56, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xcb, 0x80, 0xf6, 0xfd, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x12, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, - 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xf9, 0x83, 0xf6, 0xc1, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x13, 0x52, 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, - 0xf3, 0x8c, 0xe2, 0x2d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x14, 0x52, 0x13, 0x76, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd3, 0x02, - 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, - 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x1c, - 0x0a, 0x14, 0x41, 0x4c, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x53, 0x10, 0xc0, 0xc9, 0x83, 0x99, 0x01, 0x12, 0x1a, 0x0a, 0x13, - 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x82, 0x9d, 0x9f, 0x0b, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, 0x50, 0x52, - 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, 0xcc, 0x01, - 0x12, 0x12, 0x0a, 0x0b, 0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, - 0xf8, 0x8e, 0xaf, 0x2a, 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, - 0x90, 0xa6, 0xd9, 0x01, 0x12, 0x16, 0x0a, 0x0f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, 0x41, - 0x4e, 0x44, 0x53, 0x48, 0x41, 0x4b, 0x45, 0x10, 0xe8, 0xd9, 0xa1, 0x5b, 0x12, 0x1b, 0x0a, 0x13, - 0x4e, 0x45, 0x47, 0x4f, 0x54, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x55, 0x52, 0x45, 0x10, 0xec, 0xc5, 0xe8, 0xab, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x4e, 0x45, 0x54, - 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xf7, 0xc0, 0xbb, 0x5c, 0x12, - 0x1a, 0x0a, 0x13, 0x4e, 0x4f, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x53, 0x10, 0xf0, 0x98, 0x9b, 0x39, 0x12, 0x14, 0x0a, 0x0c, 0x50, - 0x52, 0x4f, 0x56, 0x49, 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, - 0x01, 0x12, 0x0f, 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xfe, 0x88, - 0x84, 0x53, 0x12, 0x0f, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xad, 0xbb, - 0xec, 0xd3, 0x01, 0x12, 0x1e, 0x0a, 0x17, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x46, - 0x4f, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0xca, - 0xc4, 0xed, 0x13, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x05, - 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6b, 0x65, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, - 0x72, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, - 0x16, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x70, 0x65, 0x65, 0x72, - 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, - 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x63, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, - 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x89, 0x04, 0x0a, 0x17, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x07, 0x75, 0x72, + 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, + 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xb8, 0x02, 0x0a, 0x16, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, + 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x37, 0x0a, 0x16, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, + 0x6e, 0x67, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x18, 0xaf, 0x85, 0x81, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x14, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, + 0x6e, 0x67, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x8e, 0x88, 0xaf, 0x5d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x48, + 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x22, 0x92, + 0x01, 0x0a, 0x14, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, + 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x4e, 0x44, 0x45, 0x46, + 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, + 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x45, 0x53, 0x10, 0x00, 0x12, 0x0f, 0x0a, + 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, 0xa7, 0xfd, 0x10, 0x12, 0x18, + 0x0a, 0x10, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x44, 0x10, 0x8b, 0xb6, 0x92, 0xf4, 0x01, 0x12, 0x29, 0x0a, 0x21, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x43, 0x48, 0x45, 0x4d, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0xbc, 0xbb, + 0x87, 0xfb, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x75, 0x0a, 0x17, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, + 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xef, 0x01, 0x0a, 0x0a, 0x55, 0x72, 0x6c, 0x52, + 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x0c, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0xf5, 0xcb, 0x9a, 0x4c, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x0b, 0x68, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x36, 0x0a, 0x13, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0xb9, 0xe8, 0xd1, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x11, 0x70, 0x61, 0x74, 0x68, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, + 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x70, 0x61, 0x74, + 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x18, 0xa1, 0xef, 0xf2, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x13, + 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, + 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0xdb, 0x08, 0x0a, 0x10, 0x55, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x38, + 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xf6, 0x92, 0xb6, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x14, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0xe8, 0xa2, 0xb4, 0xf1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x12, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x76, 0x36, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x31, 0x0a, 0x10, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0xdd, 0xf5, 0xd1, 0xf0, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x0e, 0x69, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, + 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, + 0x9e, 0xfa, 0xef, 0x96, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x07, 0x70, 0x75, 0x72, + 0x70, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, + 0xf6, 0x80, 0xd6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x6a, 0x0a, 0x13, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xe3, 0xff, 0x94, 0x41, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x11, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x49, 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, + 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x91, 0xb5, + 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xee, 0xa7, 0xe4, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x08, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, + 0x22, 0x53, 0x0a, 0x0e, 0x49, 0x70, 0x76, 0x36, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x49, 0x50, 0x56, 0x36, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0xcb, + 0xa7, 0xfd, 0x10, 0x12, 0x10, 0x0a, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, + 0xbd, 0xed, 0x96, 0x85, 0x01, 0x22, 0xe0, 0x01, 0x0a, 0x07, 0x50, 0x75, 0x72, 0x70, 0x6f, 0x73, + 0x65, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x50, + 0x55, 0x52, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14, 0x47, 0x4c, 0x4f, 0x42, + 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x58, 0x59, + 0x10, 0xf2, 0xcb, 0xe0, 0x70, 0x12, 0x23, 0x0a, 0x1c, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, + 0x4c, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x53, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, + 0x41, 0x4e, 0x43, 0x45, 0x52, 0x10, 0xd9, 0xb6, 0xce, 0x76, 0x12, 0x0f, 0x0a, 0x07, 0x50, 0x52, + 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0xe3, 0xe2, 0xb2, 0xc0, 0x01, 0x12, 0x13, 0x0a, 0x0b, 0x50, + 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x4e, 0x41, 0x54, 0x10, 0xa5, 0xc8, 0xae, 0xaf, 0x01, + 0x12, 0x17, 0x0a, 0x10, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x46, 0x43, 0x5f, + 0x31, 0x39, 0x31, 0x38, 0x10, 0xdb, 0xfe, 0xc5, 0x79, 0x12, 0x1e, 0x0a, 0x17, 0x50, 0x52, 0x49, + 0x56, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, + 0x4e, 0x45, 0x43, 0x54, 0x10, 0xc4, 0xf4, 0xf9, 0x16, 0x12, 0x1d, 0x0a, 0x16, 0x52, 0x45, 0x47, + 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x5f, 0x50, 0x52, + 0x4f, 0x58, 0x59, 0x10, 0xee, 0xb6, 0xfd, 0x48, 0x22, 0x3a, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, + 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x52, 0x4f, + 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x86, + 0xe6, 0x89, 0x96, 0x01, 0x12, 0x0e, 0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0xc2, + 0xd3, 0xcd, 0xa2, 0x01, 0x22, 0x49, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x09, 0x49, + 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, 0x0a, 0x12, 0x10, 0x0a, + 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, 0xcb, 0xd5, 0x0a, 0x42, + 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, + 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x95, 0x01, 0x0a, 0x1e, 0x55, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x0d, 0x69, 0x70, + 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0xca, 0xcd, 0xe4, 0x2e, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xcd, 0xf0, 0xb4, 0x9e, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x09, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xef, 0x02, 0x0a, 0x1f, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, @@ -159196,29 +165981,217 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, - 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, - 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x67, 0x0a, 0x0a, 0x49, 0x74, - 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0xd6, 0x02, 0x0a, 0x0d, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, + 0x67, 0x22, 0x9d, 0x01, 0x0a, 0x13, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0b, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xc0, 0x97, 0x9e, 0x87, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xbb, 0xb0, 0xd7, 0x98, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x22, 0x9a, 0x02, 0x0a, 0x1b, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, + 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, + 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x96, 0x01, 0x0a, 0x29, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x75, + 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x9a, 0xcc, 0x80, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x24, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x55, 0x72, + 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x07, + 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x22, 0xe2, + 0x01, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x07, 0x75, 0x72, + 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x8c, 0x95, 0x81, 0xaf, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x84, 0x01, 0x0a, + 0x22, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0xef, 0xd1, 0xe4, 0xbc, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x15, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x2b, 0x0a, + 0x0d, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0xf5, + 0xe7, 0xd8, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x7b, 0x0a, 0x16, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x6d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x89, 0x80, 0x95, 0x7a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x14, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xe5, 0x04, 0x0a, 0x29, 0x56, 0x6d, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, + 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x18, 0x64, 0x72, 0x61, 0x69, 0x6e, + 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x18, 0xc1, 0xe3, 0xc7, 0xbc, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x64, + 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x12, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x9a, 0xb0, 0xcc, 0xfd, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x61, 0x74, 0x49, 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, + 0x6e, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x19, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x18, 0xf9, 0xa5, 0xff, 0x9f, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x15, 0x6e, + 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x50, + 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x80, + 0xdb, 0x80, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x54, + 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x61, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x7a, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, + 0x18, 0xc8, 0xee, 0xea, 0xe7, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, + 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x4e, 0x61, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x0c, 0x72, + 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x15, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x69, 0x70, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x18, 0xd8, 0xa3, 0xfc, 0xd1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x49, 0x70, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x69, 0x70, 0x18, 0xff, 0xa2, 0xb9, + 0x47, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, + 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x49, 0x70, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, + 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, + 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6e, 0x75, + 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x69, + 0x70, 0x22, 0x92, 0x03, 0x0a, 0x38, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x4e, + 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, + 0x0a, 0x18, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0xc1, 0xe3, 0xc7, 0xbc, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x49, 0x70, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x12, 0x6e, 0x61, + 0x74, 0x5f, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, + 0x18, 0x9a, 0xb0, 0xcc, 0xfd, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6e, 0x61, 0x74, 0x49, + 0x70, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x19, 0x6e, + 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, + 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0xf9, 0xa5, 0xff, 0x9f, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x72, + 0x61, 0x69, 0x6e, 0x4e, 0x61, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x36, + 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x74, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x80, 0xdb, 0x80, 0x8f, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x01, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x61, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0xec, 0xdb, 0x9a, 0xff, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x02, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, + 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x16, + 0x0a, 0x14, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x61, 0x74, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0xf0, 0x02, 0x0a, 0x19, 0x56, 0x6d, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6d, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4e, 0x61, + 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, + 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, + 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xc0, 0x06, 0x0a, 0x0a, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, + 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, + 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, + 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x10, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0xff, 0xbf, 0xc1, 0xee, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1a, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0xae, 0xb4, 0x85, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, + 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x07, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, + 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x91, 0xb5, 0x8b, 0xcb, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x0e, 0x76, 0x70, + 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x18, 0x85, 0xcd, 0xe5, + 0x2b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x0d, 0x76, + 0x70, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x49, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x63, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, 0x00, 0x12, 0x10, + 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x10, 0x81, 0xe8, 0xca, 0x0a, + 0x12, 0x10, 0x0a, 0x09, 0x49, 0x50, 0x56, 0x34, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0xa6, 0xcb, + 0xd5, 0x0a, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x8c, 0x04, 0x0a, + 0x18, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x55, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, @@ -159226,225 +166199,561 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, + 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, 0x6e, 0x72, 0x65, + 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, + 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x88, 0x01, 0x01, 0x1a, 0x68, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x05, 0x0a, + 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd8, 0x02, 0x0a, 0x0e, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, + 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x77, 0x0a, 0x10, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x63, 0x0a, 0x0f, 0x76, 0x70, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x8a, 0xed, + 0xbe, 0xd1, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0e, 0x76, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0xeb, 0x02, 0x0a, 0x30, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x48, 0x69, 0x67, 0x68, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, 0x89, + 0xab, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x75, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, + 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x8a, 0xf7, 0x9d, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x11, 0x75, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x66, 0x0a, 0x05, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x19, 0x43, 0x4f, 0x4e, 0x4e, 0x45, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, 0x4e, 0x43, 0x59, + 0x5f, 0x4d, 0x45, 0x54, 0x10, 0x9b, 0xca, 0xf5, 0xf0, 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x43, 0x4f, + 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x44, 0x55, 0x4e, 0x44, 0x41, + 0x4e, 0x43, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x10, 0x8f, 0xd4, 0x89, 0xf4, + 0x01, 0x22, 0x59, 0x0a, 0x11, 0x55, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, + 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, + 0x4e, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x41, 0x54, 0x49, 0x53, 0x46, 0x49, 0x45, 0x44, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1b, 0x49, 0x4e, 0x43, 0x4f, + 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x54, 0x55, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x43, + 0x4f, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x10, 0xfd, 0xf6, 0xd4, 0x1a, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x75, 0x6e, 0x73, 0x61, 0x74, + 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x83, 0x02, + 0x0a, 0x16, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x17, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x18, 0xaa, 0x9a, 0xda, 0x4b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x15, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x16, 0x70, 0x65, 0x65, 0x72, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x18, 0xe1, 0xde, 0x9c, 0x66, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x14, 0x70, + 0x65, 0x65, 0x72, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x98, 0xa2, 0xd4, 0x25, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x09, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, + 0x18, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x70, 0x65, + 0x65, 0x72, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x75, 0x72, 0x6c, 0x22, 0xff, 0x02, 0x0a, 0x1d, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x56, 0x70, 0x6e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x15, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x8d, + 0xee, 0xc7, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x70, 0x65, 0x65, 0x72, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x63, 0x70, 0x5f, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xbc, 0xe9, 0xb3, 0x86, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x47, 0x63, 0x70, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x67, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x91, + 0x89, 0xab, 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x69, 0x67, 0x68, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x48, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4c, + 0x0a, 0x07, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x8b, 0xfa, 0xed, 0x31, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x18, 0x0a, 0x16, + 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, + 0x67, 0x63, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xd1, 0x01, 0x0a, 0x1d, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, + 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0xf4, 0x8a, 0xf7, 0x92, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x16, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x26, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0xdc, 0xf1, + 0xdc, 0xc1, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x1a, + 0x0a, 0x18, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, + 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x74, 0x0a, 0x1c, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x18, 0x9d, 0x90, 0xb7, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, - 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, - 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x56, - 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x18, 0xc0, 0xf1, 0xfa, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x0a, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa6, 0x01, 0x0a, 0x10, - 0x57, 0x61, 0x66, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x12, 0x1b, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0xfe, 0x9d, 0xf5, 0x4b, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x58, 0x0a, - 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdb, 0x81, 0xdb, - 0x53, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, + 0xb2, 0x01, 0x0a, 0x15, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x76, 0x70, 0x6e, + 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x9a, 0xfb, 0xca, 0x7b, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x0b, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x0e, 0x0a, 0x09, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x35, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0xb6, 0x8f, 0xc7, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xfc, 0x87, 0xd6, 0xc9, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x30, 0x0a, 0x0f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xe1, 0xa4, 0x83, 0x9f, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0e, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0b, + 0x69, 0x6b, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x9c, 0xd0, 0x90, 0x68, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x0a, 0x69, 0x6b, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, + 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x33, 0x0a, 0x11, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x99, 0xf0, 0xf7, 0x54, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x06, 0x52, 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0xff, 0xbf, 0xc1, 0xee, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x61, 0x66, + 0x66, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0xb5, 0xac, 0xa7, + 0x97, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x72, 0x61, + 0x66, 0x66, 0x69, 0x63, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x8b, 0xf5, 0xcd, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x15, 0x70, 0x65, 0x65, 0x72, + 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x18, 0x8d, 0xee, 0xc7, 0xb7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x13, 0x70, + 0x65, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x1f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x87, 0xe5, 0xf2, 0xd7, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x09, 0x52, 0x1c, 0x70, 0x65, 0x65, 0x72, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x10, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x63, + 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xbc, 0xe9, 0xb3, 0x86, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x47, 0x63, 0x70, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, + 0x5f, 0x69, 0x70, 0x18, 0xa4, 0xda, 0xdf, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, + 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x70, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0c, 0x52, + 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x5f, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0xba, 0xdd, 0x90, 0xab, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, + 0x18, 0xc9, 0xae, 0xee, 0x46, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x06, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, + 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, + 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0d, + 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0xca, 0xa7, + 0x8f, 0xb6, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0c, 0x73, 0x68, 0x61, 0x72, 0x65, + 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x12, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0xe3, 0xe8, 0x99, 0xbe, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x10, 0x73, 0x68, + 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, + 0x01, 0x12, 0x1e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0xf2, 0x9f, 0xb7, 0x56, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x35, 0x0a, 0x12, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xcb, 0x80, 0xf6, 0xfd, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x12, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0xf9, 0x83, 0xf6, 0xc1, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x13, 0x52, 0x0a, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x15, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0xf3, 0x8c, 0xe2, 0x2d, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x14, 0x52, 0x13, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd3, 0x02, 0x0a, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x41, 0x4c, + 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x53, 0x10, 0xc0, 0xc9, 0x83, 0x99, 0x01, 0x12, 0x1a, 0x0a, 0x13, 0x41, 0x55, 0x54, 0x48, + 0x4f, 0x52, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, + 0x82, 0x9d, 0x9f, 0x0b, 0x12, 0x16, 0x0a, 0x0e, 0x44, 0x45, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, + 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xee, 0x93, 0xc4, 0xcc, 0x01, 0x12, 0x12, 0x0a, 0x0b, + 0x45, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0xf8, 0x8e, 0xaf, 0x2a, + 0x12, 0x0e, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xbd, 0x90, 0xa6, 0xd9, 0x01, + 0x12, 0x16, 0x0a, 0x0f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, 0x48, 0x41, 0x4e, 0x44, 0x53, 0x48, + 0x41, 0x4b, 0x45, 0x10, 0xe8, 0xd9, 0xa1, 0x5b, 0x12, 0x1b, 0x0a, 0x13, 0x4e, 0x45, 0x47, 0x4f, + 0x54, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, + 0xec, 0xc5, 0xe8, 0xab, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xf7, 0xc0, 0xbb, 0x5c, 0x12, 0x1a, 0x0a, 0x13, 0x4e, + 0x4f, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x53, 0x10, 0xf0, 0x98, 0x9b, 0x39, 0x12, 0x14, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, + 0x53, 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xed, 0xf5, 0xda, 0x8a, 0x01, 0x12, 0x0f, 0x0a, + 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0xfe, 0x88, 0x84, 0x53, 0x12, 0x0f, + 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0xad, 0xbb, 0xec, 0xd3, 0x01, 0x12, + 0x1e, 0x0a, 0x17, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x46, + 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0xca, 0xc4, 0xed, 0x13, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6b, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x70, 0x65, + 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x65, 0x65, 0x72, + 0x5f, 0x67, 0x63, 0x70, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x70, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x15, + 0x0a, 0x13, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x22, 0x89, 0x04, 0x0a, 0x17, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x54, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, + 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x57, 0x61, 0x66, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x22, 0x73, 0x0a, 0x1a, 0x57, 0x61, 0x66, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x73, - 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x9f, 0xbd, 0x90, 0x0d, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x01, 0x52, 0x0b, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x88, - 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x65, - 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x64, 0x0a, 0x1a, 0x57, 0x61, 0x69, - 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x84, 0x01, 0x0a, 0x1a, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, + 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, + 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0c, 0x75, + 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x9f, 0xa0, 0x86, 0x74, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, + 0x65, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x9c, 0xdf, + 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x67, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd6, 0x02, + 0x0a, 0x0d, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, + 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x94, 0xf7, 0xc8, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x95, 0xba, 0x86, 0x26, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x8d, 0x92, 0xc5, 0xd9, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x66, 0x4c, 0x69, 0x6e, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x18, + 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x04, 0x52, 0x07, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x56, 0x70, 0x6e, 0x54, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x46, 0x0a, 0x0b, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0xc0, + 0xf1, 0xfa, 0x4d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0a, 0x76, 0x70, 0x6e, + 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x9c, 0xdf, 0x96, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, + 0x07, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xa6, 0x01, 0x0a, 0x10, 0x57, 0x61, 0x66, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x07, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x18, 0xfe, 0x9d, 0xf5, 0x4b, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x0b, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xdb, 0x81, 0xdb, 0x53, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x66, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, + 0x22, 0x73, 0x0a, 0x1a, 0x57, 0x61, 0x66, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0b, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x18, 0x9f, 0xbd, 0x90, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x0b, + 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x22, 0x64, 0x0a, 0x1a, 0x57, 0x61, 0x69, 0x74, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x1a, + 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, + 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x18, 0x57, 0x61, 0x69, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x18, 0x57, 0x61, 0x69, 0x74, 0x5a, 0x6f, - 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x24, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xe7, 0xaa, 0xeb, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, - 0x6e, 0x65, 0x18, 0xac, 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x22, 0xf2, 0x08, 0x0a, 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaa, 0xdf, 0xbb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0xdc, 0x07, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x43, 0x4c, 0x45, 0x41, 0x4e, 0x55, 0x50, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xd8, 0x8c, 0xd6, 0x47, 0x12, 0x20, 0x0a, 0x18, 0x44, - 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0xc2, 0xdf, 0xeb, 0xba, 0x01, 0x12, 0x1c, 0x0a, - 0x14, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x96, 0xa4, 0x9e, 0xa5, 0x01, 0x12, 0x28, 0x0a, 0x20, 0x44, - 0x49, 0x53, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x52, 0x5f, - 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, - 0x97, 0x81, 0x95, 0xb0, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, - 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, - 0x8b, 0x8e, 0xc1, 0xd7, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, - 0x4c, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xc3, 0xbf, - 0xda, 0x53, 0x12, 0x1d, 0x0a, 0x15, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, - 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x4e, 0x10, 0xaf, 0xb6, 0x99, 0x9d, - 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x49, 0x4e, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x4b, 0x45, - 0x52, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, - 0x10, 0x8b, 0xd9, 0x82, 0xc7, 0x01, 0x12, 0x34, 0x0a, 0x2c, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, - 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, - 0x4f, 0x52, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x57, 0x49, 0x45, 0x47, 0x48, - 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x42, 0x10, 0xce, 0x9b, 0xbc, 0xbf, 0x01, 0x12, 0x20, 0x0a, 0x18, - 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, - 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xe7, 0xc8, 0xe5, 0x01, 0x12, 0x21, - 0x0a, 0x1a, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, - 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0xc5, 0xb0, 0xda, - 0x16, 0x12, 0x1f, 0x0a, 0x17, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x44, 0x45, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x4e, 0x43, 0x59, 0x10, 0xf7, 0xf8, 0xa2, - 0xa4, 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, - 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, - 0x4e, 0x45, 0x44, 0x10, 0x87, 0xa5, 0xfa, 0x9a, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x4e, 0x45, 0x58, - 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x50, 0x5f, - 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0xe7, 0xea, 0xe7, 0xb6, 0x01, 0x12, 0x2e, 0x0a, - 0x27, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x92, 0xe8, 0xfc, 0x45, 0x12, 0x23, 0x0a, - 0x1b, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xce, 0xcc, 0xaf, - 0xdd, 0x01, 0x12, 0x27, 0x0a, 0x20, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x4e, - 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xc2, 0xe8, 0x9d, 0x74, 0x12, 0x1c, 0x0a, 0x14, 0x4e, - 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, - 0x49, 0x4e, 0x47, 0x10, 0xb1, 0xcf, 0xf0, 0xc6, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4e, 0x4f, 0x54, - 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0xd4, 0xa8, 0xb7, 0x32, 0x12, 0x19, 0x0a, 0x12, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, - 0x54, 0x53, 0x5f, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x10, 0x88, 0xa6, 0xa9, 0x0e, 0x12, - 0x16, 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, - 0x53, 0x53, 0x10, 0x85, 0xae, 0x87, 0x13, 0x12, 0x1d, 0x0a, 0x16, 0x52, 0x45, 0x51, 0x55, 0x49, - 0x52, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x53, 0x5f, 0x41, 0x47, 0x52, 0x45, 0x45, 0x4d, 0x45, 0x4e, - 0x54, 0x10, 0x83, 0xce, 0xe4, 0x01, 0x12, 0x31, 0x0a, 0x29, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, - 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x42, 0x59, 0x5f, 0x4f, 0x54, 0x48, - 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x41, 0x52, 0x4e, - 0x49, 0x4e, 0x47, 0x10, 0xc1, 0xf4, 0xed, 0xec, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x52, 0x45, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, - 0x44, 0x10, 0xbc, 0xb7, 0xb2, 0x50, 0x12, 0x21, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, - 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x47, 0x4e, 0x4f, - 0x52, 0x45, 0x44, 0x10, 0xca, 0xd4, 0x9f, 0x83, 0x01, 0x12, 0x28, 0x0a, 0x21, 0x53, 0x49, 0x4e, - 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, - 0x50, 0x45, 0x52, 0x54, 0x59, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0xd1, - 0x89, 0xf8, 0x7f, 0x12, 0x1d, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, - 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x9f, 0x86, 0x9b, - 0xba, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x55, 0x4e, 0x52, 0x45, 0x41, 0x43, 0x48, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0xb4, 0xbd, 0xad, 0x06, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf3, 0x08, 0x0a, 0x08, - 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaa, 0xdf, 0xbb, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0xac, + 0xc7, 0xe4, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x7a, 0x6f, + 0x6e, 0x65, 0x22, 0xf2, 0x08, 0x0a, 0x07, 0x57, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1a, + 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0xaa, 0xdf, 0xbb, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x88, 0x01, 0x01, 0x22, 0xdc, 0x07, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, + 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, + 0x12, 0x15, 0x0a, 0x0e, 0x43, 0x4c, 0x45, 0x41, 0x4e, 0x55, 0x50, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0xd8, 0x8c, 0xd6, 0x47, 0x12, 0x20, 0x0a, 0x18, 0x44, 0x45, 0x50, 0x52, 0x45, + 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, + 0x53, 0x45, 0x44, 0x10, 0xc2, 0xdf, 0xeb, 0xba, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x44, 0x45, 0x50, + 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, + 0x44, 0x10, 0x96, 0xa4, 0x9e, 0xa5, 0x01, 0x12, 0x28, 0x0a, 0x20, 0x44, 0x49, 0x53, 0x4b, 0x5f, + 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, + 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x97, 0x81, 0x95, 0xb0, + 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, + 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x8b, 0x8e, 0xc1, 0xd7, + 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x50, + 0x49, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xc3, 0xbf, 0xda, 0x53, 0x12, 0x1d, + 0x0a, 0x15, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4f, 0x56, + 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x4e, 0x10, 0xaf, 0xb6, 0x99, 0x9d, 0x01, 0x12, 0x23, 0x0a, + 0x1b, 0x49, 0x4e, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, + 0x53, 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x8b, 0xd9, 0x82, + 0xc7, 0x01, 0x12, 0x34, 0x0a, 0x2c, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x48, 0x45, + 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x44, + 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x57, 0x49, 0x45, 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, + 0x4c, 0x42, 0x10, 0xce, 0x9b, 0xbc, 0xbf, 0x01, 0x12, 0x20, 0x0a, 0x18, 0x4c, 0x41, 0x52, 0x47, + 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x57, 0x41, 0x52, + 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xe7, 0xc8, 0xe5, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x4c, 0x49, + 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x51, 0x55, 0x4f, 0x54, + 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0xc5, 0xb0, 0xda, 0x16, 0x12, 0x1f, 0x0a, + 0x17, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, + 0x50, 0x45, 0x4e, 0x44, 0x45, 0x4e, 0x43, 0x59, 0x10, 0xf7, 0xf8, 0xa2, 0xa4, 0x01, 0x12, 0x25, + 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, + 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, + 0x87, 0xa5, 0xfa, 0x9a, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, + 0x50, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x46, 0x4f, 0x52, 0x57, + 0x41, 0x52, 0x44, 0x10, 0xe7, 0xea, 0xe7, 0xb6, 0x01, 0x12, 0x2e, 0x0a, 0x27, 0x4e, 0x45, 0x58, + 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x48, + 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x50, 0x56, 0x36, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x46, 0x41, 0x43, 0x45, 0x10, 0x92, 0xe8, 0xfc, 0x45, 0x12, 0x23, 0x0a, 0x1b, 0x4e, 0x45, 0x58, + 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, + 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xce, 0xcc, 0xaf, 0xdd, 0x01, 0x12, 0x27, + 0x0a, 0x20, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, + 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, + 0x52, 0x4b, 0x10, 0xc2, 0xe8, 0x9d, 0x74, 0x12, 0x1c, 0x0a, 0x14, 0x4e, 0x45, 0x58, 0x54, 0x5f, + 0x48, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, + 0xb1, 0xcf, 0xf0, 0xc6, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x52, 0x49, + 0x54, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xd4, 0xa8, 0xb7, 0x32, + 0x12, 0x19, 0x0a, 0x12, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x53, 0x5f, 0x4f, + 0x4e, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x10, 0x88, 0xa6, 0xa9, 0x0e, 0x12, 0x16, 0x0a, 0x0f, 0x50, + 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x85, + 0xae, 0x87, 0x13, 0x12, 0x1d, 0x0a, 0x16, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, + 0x54, 0x4f, 0x53, 0x5f, 0x41, 0x47, 0x52, 0x45, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x83, 0xce, + 0xe4, 0x01, 0x12, 0x31, 0x0a, 0x29, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, + 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x42, 0x59, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x52, + 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, + 0xc1, 0xf4, 0xed, 0xec, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xbc, 0xb7, + 0xb2, 0x50, 0x12, 0x21, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x56, 0x41, 0x4c, + 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x10, + 0xca, 0xd4, 0x9f, 0x83, 0x01, 0x12, 0x28, 0x0a, 0x21, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, + 0x59, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0xd1, 0x89, 0xf8, 0x7f, 0x12, + 0x1d, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, + 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x9f, 0x86, 0x9b, 0xba, 0x01, 0x12, 0x12, + 0x0a, 0x0b, 0x55, 0x4e, 0x52, 0x45, 0x41, 0x43, 0x48, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xb4, 0xbd, + 0xad, 0x06, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf3, 0x08, 0x0a, 0x08, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0xed, 0xdb, 0xba, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x34, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0xaa, 0xdf, 0xbb, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0xdc, 0x07, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x43, 0x4c, 0x45, 0x41, 0x4e, 0x55, + 0x50, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xd8, 0x8c, 0xd6, 0x47, 0x12, 0x20, 0x0a, + 0x18, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0xc2, 0xdf, 0xeb, 0xba, 0x01, 0x12, + 0x1c, 0x0a, 0x14, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x96, 0xa4, 0x9e, 0xa5, 0x01, 0x12, 0x28, 0x0a, + 0x20, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4c, 0x41, 0x52, 0x47, 0x45, + 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x53, 0x49, 0x5a, + 0x45, 0x10, 0x97, 0x81, 0x95, 0xb0, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, 0x58, 0x50, 0x45, 0x52, + 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, + 0x44, 0x10, 0x8b, 0x8e, 0xc1, 0xd7, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x45, 0x58, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, + 0xc3, 0xbf, 0xda, 0x53, 0x12, 0x1d, 0x0a, 0x15, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, + 0x4c, 0x55, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, 0x4e, 0x10, 0xaf, 0xb6, + 0x99, 0x9d, 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x49, 0x4e, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, + 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, + 0x45, 0x44, 0x10, 0x8b, 0xd9, 0x82, 0xc7, 0x01, 0x12, 0x34, 0x0a, 0x2c, 0x49, 0x4e, 0x56, 0x41, + 0x4c, 0x49, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, 0x48, 0x45, 0x43, 0x4b, + 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x5f, 0x57, 0x49, 0x45, + 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x42, 0x10, 0xce, 0x9b, 0xbc, 0xbf, 0x01, 0x12, 0x20, + 0x0a, 0x18, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xa6, 0xe7, 0xc8, 0xe5, 0x01, + 0x12, 0x21, 0x0a, 0x1a, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x48, 0x45, 0x41, + 0x44, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x10, 0xc5, + 0xb0, 0xda, 0x16, 0x12, 0x1f, 0x0a, 0x17, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x4e, 0x43, 0x59, 0x10, 0xf7, + 0xf8, 0xa2, 0xa4, 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, + 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x53, 0x53, + 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, 0x87, 0xa5, 0xfa, 0x9a, 0x01, 0x12, 0x22, 0x0a, 0x1a, 0x4e, + 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x49, + 0x50, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0xe7, 0xea, 0xe7, 0xb6, 0x01, 0x12, + 0x2e, 0x0a, 0x27, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, 0x49, 0x50, 0x56, 0x36, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x92, 0xe8, 0xfc, 0x45, 0x12, + 0x23, 0x0a, 0x1b, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0xce, + 0xcc, 0xaf, 0xdd, 0x01, 0x12, 0x27, 0x0a, 0x20, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x4e, + 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xc2, 0xe8, 0x9d, 0x74, 0x12, 0x1c, 0x0a, + 0x14, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x55, + 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xb1, 0xcf, 0xf0, 0xc6, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4e, + 0x4f, 0x54, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0xd4, 0xa8, 0xb7, 0x32, 0x12, 0x19, 0x0a, 0x12, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, + 0x55, 0x4c, 0x54, 0x53, 0x5f, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x47, 0x45, 0x10, 0x88, 0xa6, 0xa9, + 0x0e, 0x12, 0x16, 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x53, 0x55, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x10, 0x85, 0xae, 0x87, 0x13, 0x12, 0x1d, 0x0a, 0x16, 0x52, 0x45, 0x51, + 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x53, 0x5f, 0x41, 0x47, 0x52, 0x45, 0x45, 0x4d, + 0x45, 0x4e, 0x54, 0x10, 0x83, 0xce, 0xe4, 0x01, 0x12, 0x31, 0x0a, 0x29, 0x52, 0x45, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, 0x42, 0x59, 0x5f, 0x4f, + 0x54, 0x48, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x57, 0x41, + 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xc1, 0xf4, 0xed, 0xec, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x52, + 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x45, 0x44, 0x10, 0xbc, 0xb7, 0xb2, 0x50, 0x12, 0x21, 0x0a, 0x19, 0x53, 0x43, 0x48, 0x45, + 0x4d, 0x41, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x47, + 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x10, 0xca, 0xd4, 0x9f, 0x83, 0x01, 0x12, 0x28, 0x0a, 0x21, 0x53, + 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x50, + 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, + 0x10, 0xd1, 0x89, 0xf8, 0x7f, 0x12, 0x1d, 0x0a, 0x15, 0x55, 0x4e, 0x44, 0x45, 0x43, 0x4c, 0x41, + 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, 0x45, 0x53, 0x10, 0x9f, + 0x86, 0x9b, 0xba, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x55, 0x4e, 0x52, 0x45, 0x41, 0x43, 0x48, 0x41, + 0x42, 0x4c, 0x45, 0x10, 0xb4, 0xbd, 0xad, 0x06, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x64, + 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf5, 0x01, + 0x0a, 0x16, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x0f, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x8a, 0xc0, 0xae, 0x92, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x0d, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xa8, 0xa0, 0xb8, 0x9c, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x87, 0x80, 0xac, 0xc7, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0xdc, 0x07, - 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, - 0x4e, 0x45, 0x44, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x0e, 0x43, 0x4c, - 0x45, 0x41, 0x4e, 0x55, 0x50, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0xd8, 0x8c, 0xd6, - 0x47, 0x12, 0x20, 0x0a, 0x18, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, - 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0xc2, 0xdf, - 0xeb, 0xba, 0x01, 0x12, 0x1c, 0x0a, 0x14, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, - 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x96, 0xa4, 0x9e, 0xa5, - 0x01, 0x12, 0x28, 0x0a, 0x20, 0x44, 0x49, 0x53, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4c, - 0x41, 0x52, 0x47, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, - 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x97, 0x81, 0x95, 0xb0, 0x01, 0x12, 0x1e, 0x0a, 0x16, 0x45, - 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x55, 0x53, 0x45, 0x44, 0x10, 0x8b, 0x8e, 0xc1, 0xd7, 0x01, 0x12, 0x1b, 0x0a, 0x14, 0x45, - 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x57, 0x41, 0x52, 0x4e, - 0x49, 0x4e, 0x47, 0x10, 0xc3, 0xbf, 0xda, 0x53, 0x12, 0x1d, 0x0a, 0x15, 0x46, 0x49, 0x45, 0x4c, - 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x52, 0x49, 0x44, 0x45, - 0x4e, 0x10, 0xaf, 0xb6, 0x99, 0x9d, 0x01, 0x12, 0x23, 0x0a, 0x1b, 0x49, 0x4e, 0x4a, 0x45, 0x43, - 0x54, 0x45, 0x44, 0x5f, 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x44, 0x45, 0x50, 0x52, - 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x8b, 0xd9, 0x82, 0xc7, 0x01, 0x12, 0x34, 0x0a, 0x2c, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x5f, 0x43, - 0x48, 0x45, 0x43, 0x4b, 0x5f, 0x46, 0x4f, 0x52, 0x5f, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, - 0x5f, 0x57, 0x49, 0x45, 0x47, 0x48, 0x54, 0x45, 0x44, 0x5f, 0x4c, 0x42, 0x10, 0xce, 0x9b, 0xbc, - 0xbf, 0x01, 0x12, 0x20, 0x0a, 0x18, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x4c, - 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xa6, - 0xe7, 0xc8, 0xe5, 0x01, 0x12, 0x21, 0x0a, 0x1a, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x4f, 0x56, 0x45, - 0x52, 0x48, 0x45, 0x41, 0x44, 0x5f, 0x51, 0x55, 0x4f, 0x54, 0x41, 0x5f, 0x45, 0x58, 0x43, 0x45, - 0x45, 0x44, 0x10, 0xc5, 0xb0, 0xda, 0x16, 0x12, 0x1f, 0x0a, 0x17, 0x4d, 0x49, 0x53, 0x53, 0x49, - 0x4e, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x45, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x4e, - 0x43, 0x59, 0x10, 0xf7, 0xf8, 0xa2, 0xa4, 0x01, 0x12, 0x25, 0x0a, 0x1d, 0x4e, 0x45, 0x58, 0x54, - 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4e, 0x4f, 0x54, - 0x5f, 0x41, 0x53, 0x53, 0x49, 0x47, 0x4e, 0x45, 0x44, 0x10, 0x87, 0xa5, 0xfa, 0x9a, 0x01, 0x12, - 0x22, 0x0a, 0x1a, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x43, 0x41, 0x4e, 0x4e, - 0x4f, 0x54, 0x5f, 0x49, 0x50, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0xe7, 0xea, - 0xe7, 0xb6, 0x01, 0x12, 0x2e, 0x0a, 0x27, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x48, 0x41, 0x53, 0x5f, 0x4e, 0x4f, 0x5f, - 0x49, 0x50, 0x56, 0x36, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x46, 0x41, 0x43, 0x45, 0x10, 0x92, - 0xe8, 0xfc, 0x45, 0x12, 0x23, 0x0a, 0x1b, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, - 0x4e, 0x44, 0x10, 0xce, 0xcc, 0xaf, 0xdd, 0x01, 0x12, 0x27, 0x0a, 0x20, 0x4e, 0x45, 0x58, 0x54, - 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x4f, 0x4e, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0xc2, 0xe8, 0x9d, - 0x74, 0x12, 0x1c, 0x0a, 0x14, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x5f, 0x4e, 0x4f, - 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xb1, 0xcf, 0xf0, 0xc6, 0x01, 0x12, - 0x19, 0x0a, 0x12, 0x4e, 0x4f, 0x54, 0x5f, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x5f, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0xd4, 0xa8, 0xb7, 0x32, 0x12, 0x19, 0x0a, 0x12, 0x4e, 0x4f, - 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x53, 0x5f, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x47, 0x45, - 0x10, 0x88, 0xa6, 0xa9, 0x0e, 0x12, 0x16, 0x0a, 0x0f, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, - 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x85, 0xae, 0x87, 0x13, 0x12, 0x1d, 0x0a, - 0x16, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x54, 0x4f, 0x53, 0x5f, 0x41, 0x47, - 0x52, 0x45, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x83, 0xce, 0xe4, 0x01, 0x12, 0x31, 0x0a, 0x29, - 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x5f, - 0x42, 0x59, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0xc1, 0xf4, 0xed, 0xec, 0x01, 0x12, - 0x1b, 0x0a, 0x14, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, - 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0xbc, 0xb7, 0xb2, 0x50, 0x12, 0x21, 0x0a, 0x19, - 0x53, 0x43, 0x48, 0x45, 0x4d, 0x41, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x44, 0x10, 0xca, 0xd4, 0x9f, 0x83, 0x01, 0x12, - 0x28, 0x0a, 0x21, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x59, 0x5f, 0x54, 0x45, 0x4d, 0x50, - 0x4c, 0x41, 0x54, 0x45, 0x10, 0xd1, 0x89, 0xf8, 0x7f, 0x12, 0x1d, 0x0a, 0x15, 0x55, 0x4e, 0x44, - 0x45, 0x43, 0x4c, 0x41, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x52, 0x4f, 0x50, 0x45, 0x52, 0x54, 0x49, - 0x45, 0x53, 0x10, 0x9f, 0x86, 0x9b, 0xba, 0x01, 0x12, 0x12, 0x0a, 0x0b, 0x55, 0x4e, 0x52, 0x45, - 0x41, 0x43, 0x48, 0x41, 0x42, 0x4c, 0x45, 0x10, 0xb4, 0xbd, 0xad, 0x06, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0xf5, 0x01, 0x0a, 0x16, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x65, 0x64, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x0f, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, - 0x8a, 0xc0, 0xae, 0x92, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, - 0x0a, 0x0d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0xa8, 0xa0, 0xb8, 0x9c, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x01, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0xf8, 0x84, 0xc5, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x58, 0x70, + 0x48, 0x74, 0x74, 0x70, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x01, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0xf8, 0x84, + 0xc5, 0x86, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x68, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xcc, 0x01, 0x0a, 0x26, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x40, 0x0a, 0x18, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, + 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x9e, 0xf7, 0xc9, 0x30, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, + 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, + 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0xcb, 0x81, 0xd9, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf2, 0x01, 0x0a, 0x25, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, + 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x99, 0x96, 0xc1, 0x6c, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe0, 0x41, 0x02, 0xf2, 0x47, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3e, 0x0a, 0x17, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0xe8, 0xdc, 0xb1, 0x61, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x15, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x27, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x18, 0xf4, 0xcd, 0xa0, 0x42, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xe0, + 0x41, 0x02, 0xf2, 0x47, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0xcb, 0x81, 0xd9, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xd2, 0x02, 0x0a, 0x0b, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x9b, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0xc0, 0xcf, 0xf7, 0x2f, 0x20, 0x03, 0x28, @@ -159828,7 +167137,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x92, 0x13, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc5, 0x19, 0x0a, 0x0e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0xb0, 0x02, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, @@ -159893,35 +167202,125 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, - 0x12, 0xee, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x4f, 0x3a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x34, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x73, 0x12, 0xae, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x46, 0xda, 0x41, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, + 0x12, 0xd3, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x67, 0xda, + 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x12, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xee, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x1f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0xae, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x46, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x8c, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x2e, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x32, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x12, 0xd9, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x45, + 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x45, + 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0xda, 0x41, 0x39, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x81, 0x01, 0x3a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x9b, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x22, 0xae, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, + 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0xbc, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb2, 0x01, 0xda, 0x41, + 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x77, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x12, 0x8c, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x32, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, 0x63, 0x6b, + 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, + 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x8e, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, @@ -159931,1913 +167330,1891 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x17, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x45, 0x2f, 0x63, 0x6f, 0x6d, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x7d, 0x12, 0xd9, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x3a, 0x22, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, - 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x8e, 0x02, - 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa4, 0x22, 0x0a, 0x0f, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xb4, 0x02, 0x0a, 0x0f, 0x41, 0x64, + 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xbd, 0x01, 0xda, 0x41, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x17, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, 0x17, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x1a, 0x72, - 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x32, 0x92, 0x1e, 0x0a, 0x0f, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xb4, 0x02, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, - 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, + 0x2f, 0x61, 0x64, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, + 0x12, 0xd3, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0xda, 0x41, 0x17, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, + 0x2a, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0x95, 0x02, 0x0a, 0x12, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, + 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, + 0x79, 0x12, 0xcc, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, - 0xda, 0x41, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, 0x17, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x61, 0x64, - 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0xd3, 0x01, - 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x69, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, + 0x12, 0xb3, 0x02, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x2a, 0x47, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0x95, 0x02, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xb8, 0x01, 0xda, 0x41, + 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, + 0x3a, 0x21, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, + 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0xd5, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x22, 0x68, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, + 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xf2, + 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2c, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x5c, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0xcc, - 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x02, 0x51, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xce, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, + 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x22, 0x69, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x22, 0x52, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x6c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x92, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0xda, 0x41, + 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x32, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xb3, 0x02, - 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x37, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xdd, 0x02, + 0x0a, 0x15, 0x53, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xda, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, 0x01, 0x3a, 0x22, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5d, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x9d, 0x02, + 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xaf, 0x01, 0xda, 0x41, + 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, + 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd0, 0x02, + 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xb8, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd5, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x21, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x12, 0xd5, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0x68, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x7f, 0x3a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0xbe, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb3, 0x01, 0xda, 0x41, + 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xf2, 0x01, 0x0a, 0x06, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x94, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x8d, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, - 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x12, 0xb1, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x33, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x32, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xdd, 0x02, 0x0a, 0x15, 0x53, 0x65, - 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x01, 0xda, - 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x83, 0x01, 0x3a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x9d, 0x02, 0x0a, 0x0c, 0x53, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, + 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xdf, 0x05, 0x0a, + 0x09, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x0e, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xaf, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd0, 0x02, 0x0a, 0x11, 0x53, 0x65, - 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd5, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7f, 0x3a, 0x22, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x94, 0x02, 0x0a, - 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xb9, + 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x62, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, + 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 0xaa, 0x01, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x0c, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, + 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, + 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x9b, + 0x25, 0x0a, 0x05, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0xc9, 0x02, 0x0a, 0x13, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x01, + 0xda, 0x41, 0x3e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, + 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, + 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, + 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, + 0x2f, 0x61, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xaf, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, - 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x47, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xdf, 0x05, 0x0a, 0x09, 0x44, 0x69, 0x73, 0x6b, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, - 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, - 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x03, 0x47, 0x65, - 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, - 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x62, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, - 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 0xaa, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, - 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, + 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x41, 0xda, 0x41, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, - 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, - 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, - 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x9b, 0x25, 0x0a, 0x05, 0x44, 0x69, - 0x73, 0x6b, 0x73, 0x12, 0xc9, 0x02, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x8e, 0x02, 0x0a, + 0x0a, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xab, 0x01, 0xda, 0x41, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x2c, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x22, 0x62, 0x75, 0x6c, + 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, + 0x6b, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x84, 0x02, + 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd4, 0x01, 0xda, 0x41, 0x3e, 0x70, 0x72, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, - 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x7c, 0x3a, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, - 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, - 0xb5, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x3a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, + 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x12, 0xbf, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x65, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, + 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, + 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x41, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x8e, 0x02, 0x0a, 0x0a, 0x42, 0x75, 0x6c, 0x6b, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x22, 0x54, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x12, 0xcc, 0x01, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x22, 0x69, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, + 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd0, 0x01, 0x0a, 0x06, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x0d, 0x64, 0x69, + 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x31, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x9e, + 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, + 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, + 0xd9, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0xda, 0x41, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x62, 0x75, 0x6c, - 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, - 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x62, 0x3a, 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0xda, 0x41, 0x41, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, + 0x6b, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x82, 0x01, 0x3a, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, - 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x62, 0x75, - 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x84, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, - 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x5c, 0x3a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, - 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, - 0xbf, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, + 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x84, 0x02, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0xda, 0x41, 0x11, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, - 0x7d, 0x12, 0xa3, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, - 0x6b, 0x22, 0x54, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, - 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, - 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x12, 0xcc, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, - 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x69, 0xda, 0x41, 0x15, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, + 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa9, 0x01, 0xda, 0x41, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, + 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x60, 0x3a, 0x1d, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, + 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0x90, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xac, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x3a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x49, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x9b, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd0, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x76, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x04, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x48, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0xd9, 0x02, 0x0a, 0x16, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xde, 0x01, 0xda, 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, 0x73, - 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, - 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x82, 0x01, 0x3a, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x84, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69, 0x7a, - 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x69, - 0x7a, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xa9, 0x01, 0xda, 0x41, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x1d, 0x64, - 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3f, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, - 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x90, 0x02, - 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0xac, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x6d, 0x3a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x9b, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x12, 0xd4, 0x02, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, + 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xba, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xd4, - 0x02, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x01, 0xda, 0x41, 0x40, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, - 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x80, 0x01, 0x3a, 0x2e, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf0, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, - 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x38, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7a, 0xda, 0x41, - 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, - 0x73, 0x6b, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, - 0x73, 0x6b, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xe0, 0x02, 0x0a, 0x19, 0x53, 0x74, 0x6f, - 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01, 0xda, 0x41, 0x41, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, - 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x61, 0x73, 0x79, - 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, 0x01, 0x3a, 0x34, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, - 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdb, 0x01, 0xda, + 0x41, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, + 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x80, 0x01, 0x3a, 0x2e, 0x64, 0x69, 0x73, 0x6b, + 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, + 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf0, 0x01, 0x0a, 0x14, 0x53, + 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, + 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x7a, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, + 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, - 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, - 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xb5, 0x02, 0x0a, 0x12, - 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x44, - 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb4, 0x01, 0xda, - 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x3a, - 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, - 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, + 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xe0, 0x02, + 0x0a, 0x19, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, + 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, + 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, - 0x01, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x0d, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, - 0x73, 0x6b, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa9, 0x0d, 0x0a, 0x13, 0x45, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, - 0xf3, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x1c, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, - 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x52, 0x2a, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, + 0x01, 0xda, 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, + 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, 0x01, 0x3a, 0x34, 0x64, + 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x35, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x22, 0x77, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0xb5, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xb4, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, + 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, + 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x38, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, + 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, + 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa9, 0x0d, 0x0a, + 0x13, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x12, 0xf3, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, + 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x2a, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, - 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, 0x84, 0x02, 0x0a, 0x06, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, - 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x1d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x73, 0x12, 0xbd, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, + 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x03, 0x47, + 0x65, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x77, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, + 0x84, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x73, 0x12, 0xb2, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, - 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xc3, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x74, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xc6, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, - 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x7c, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x65, 0x78, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, + 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x1d, 0x65, 0x78, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x39, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xbd, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, - 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x32, 0x95, 0x24, 0x0a, 0x10, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xc7, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, - 0xda, 0x41, 0x34, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x24, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0xa4, 0x02, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x35, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xb2, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xc6, 0x02, 0x0a, 0x12, + 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb7, 0x01, 0xda, 0x41, 0x32, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x95, 0x24, 0x0a, 0x10, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xc7, 0x02, + 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0xda, 0x41, 0x2d, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0xda, 0x41, 0x34, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x68, 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xf0, 0x01, 0x0a, 0x0a, 0x43, 0x6c, - 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x69, 0x72, + 0x76, 0x3a, 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa4, 0x02, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, + 0x64, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, + 0x01, 0xda, 0x41, 0x2d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xf0, + 0x01, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x38, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0xda, 0x41, + 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, - 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x2a, + 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, + 0x12, 0xbc, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x22, 0x59, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, + 0xec, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, + 0x67, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xc5, + 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x58, 0xda, 0x41, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, + 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd0, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x61, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, + 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x7d, 0x2f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xdc, 0x01, 0x0a, - 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x78, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x2a, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x03, - 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0x59, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x68, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xc5, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xf8, 0x01, 0x0a, 0x06, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x58, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0xd0, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x35, 0x2e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, + 0x01, 0xda, 0x41, 0x22, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x18, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x22, 0x61, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x38, 0xda, 0x41, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0xf8, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, - 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x22, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, - 0xa3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x38, 0xda, 0x41, 0x00, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x49, 0xda, - 0x41, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x04, 0x4d, 0x6f, 0x76, - 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, 0x19, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x22, 0x44, 0x2f, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x10, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x49, 0xda, 0x41, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x6d, - 0x6f, 0x76, 0x65, 0x12, 0x8e, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x33, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0xda, 0x41, 0x28, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x32, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x7d, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, - 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x69, 0x73, + 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe8, 0x01, + 0x0a, 0x04, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, + 0x01, 0xda, 0x41, 0x19, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x8a, 0x4e, 0x1c, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x46, 0x22, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0x8e, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xbf, 0x01, 0xda, 0x41, 0x2d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0x85, 0x02, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xda, - 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf0, 0x01, 0x0a, 0x0a, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, - 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xa7, 0x02, 0x0a, - 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0xda, 0x41, + 0x28, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x18, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xaa, 0x02, 0x0a, 0x09, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x2d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x1d, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x49, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x70, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x85, 0x02, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x38, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x3a, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22, 0x51, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xf0, + 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x38, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0xda, 0x41, + 0x0f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x8a, 0x4e, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x12, 0xa7, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, + 0xb9, 0x01, 0xda, 0x41, 0x38, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x78, 0x3a, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xae, 0x02, 0x0a, 0x12, + 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0xda, 0x41, 0x2a, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, 0x21, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, + 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xae, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xa3, 0x01, 0xda, 0x41, 0x2a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xcf, 0x0a, 0x0a, 0x09, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x06, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x8a, 0x4e, 0x10, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x22, 0x55, 0xda, 0x41, 0x10, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, + 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x32, 0xcf, 0x0a, 0x0a, 0x09, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xc6, + 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xda, + 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, + 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x79, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x22, + 0x55, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x41, 0xda, 0x41, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xea, 0x01, - 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xda, 0x41, 0x22, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x11, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x3a, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x2f, - 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x06, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xda, 0x41, 0x22, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x2c, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x3a, 0x11, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x3a, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x99, 0x11, - 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xf2, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x11, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, + 0x12, 0x9f, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xda, - 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x2a, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x12, 0xdd, 0x01, 0x0a, - 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x22, 0x7a, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x12, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x12, 0x83, 0x02, 0x0a, - 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x41, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x73, 0x12, 0xea, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x8d, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, + 0x3a, 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x32, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x7d, 0x12, + 0xec, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, + 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x3a, + 0x11, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x1a, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x7d, 0x1a, 0x72, + 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x32, 0x99, 0x11, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, + 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x4b, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xf2, 0x01, 0x0a, + 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x9e, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x6e, 0x22, 0x8d, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x58, 0xda, - 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xa3, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x37, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, - 0x3a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x51, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x12, 0xbb, 0x02, - 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x46, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd0, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x7a, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xb7, 0x02, 0x0a, 0x09, - 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x2a, 0x51, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x7d, 0x12, 0xdd, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x46, 0x6f, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x7a, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x12, 0x51, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x7d, 0x12, 0x83, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 0x01, 0xda, 0x41, 0x38, 0x70, 0x72, 0x6f, 0x6a, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x3a, 0x19, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, - 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc9, 0x0b, 0x0a, 0x0f, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0xc9, 0x01, - 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x66, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x2a, 0x39, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2f, - 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xae, 0x01, 0x0a, 0x03, 0x47, 0x65, - 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x53, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, - 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xda, 0x01, 0x0a, 0x06, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, - 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x10, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x18, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0xa4, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x46, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x41, 0xda, 0x41, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x9a, - 0x02, 0x0a, 0x04, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xba, - 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x68, 0x3a, 0x26, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3e, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, 0x12, 0xa3, 0x02, 0x0a, 0x09, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x44, 0x2f, 0x63, 0x6f, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x58, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xfb, 0x0e, 0x0a, 0x15, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0xe6, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xa3, 0x02, 0x0a, + 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0xda, 0x41, 0x17, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x2a, - 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xc0, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x3a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, + 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x7d, 0x12, 0xbb, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x22, 0x69, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x12, 0xf8, 0x01, - 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd0, 0x01, + 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7a, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0xb7, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 0x01, 0xda, 0x41, + 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x78, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, + 0x2f, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc9, + 0x0b, 0x0a, 0x0f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x12, 0xc9, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x33, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3b, 0x2a, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, 0xae, + 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, + 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x53, 0xda, 0x41, 0x0f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x12, + 0xda, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x3a, 0x10, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x98, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x2e, 0x67, + 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0xa4, 0x01, 0x0a, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x41, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x12, 0x9a, 0x02, 0x0a, 0x04, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x01, 0xda, 0x41, - 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x3a, 0x18, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x32, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x12, 0xb0, 0x02, - 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x47, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xba, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x3a, 0x26, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x2f, 0x7b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, + 0x12, 0xa3, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x36, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x33, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x22, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xfb, 0x0e, 0x0a, 0x15, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, - 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, - 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0xe6, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x7c, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x12, 0xac, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x3d, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x12, 0xd2, 0x01, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x69, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x7d, 0x12, 0xf8, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xbb, 0x01, 0xda, 0x41, 0x31, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x6e, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x51, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x1a, - 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x32, 0xac, 0x12, 0x0a, 0x1b, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x12, 0xbc, 0x03, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x50, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x02, 0xda, 0x41, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0xaf, 0x01, 0x3a, 0x40, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, + 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x18, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xb7, 0x01, + 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x98, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xaf, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x3a, + 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x7d, 0x12, 0xb0, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xac, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbb, 0x01, 0xda, 0x41, 0x31, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xac, 0x12, 0x0a, 0x1b, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xbc, 0x03, 0x0a, 0x16, 0x41, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x12, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x02, 0xda, 0x41, 0x5f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xaf, 0x01, 0x3a, 0x40, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, + 0x2f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x81, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x2a, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x81, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xbc, 0x03, 0x0a, 0x16, + 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x02, 0xda, + 0x41, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, + 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xaf, 0x01, 0x3a, 0x40, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, + 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6b, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x7d, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xf2, 0x01, 0x0a, 0x03, 0x47, + 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x22, 0x7d, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, 0x12, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, + 0x92, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xa1, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x3a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0xc9, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x56, - 0x2a, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xbc, 0x03, 0x0a, 0x16, 0x44, 0x65, 0x74, 0x61, 0x63, - 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, - 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x02, 0xda, 0x41, 0x5f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, - 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0xaf, 0x01, 0x3a, 0x40, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x4d, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0xc0, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x92, + 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x22, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x64, - 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xf2, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x7d, 0xda, 0x41, 0x1e, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x56, 0x12, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0x92, 0x02, 0x0a, 0x06, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, - 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x5e, 0x3a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, - 0xc9, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xc0, 0x02, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6e, 0x74, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd0, 0x08, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xca, 0x01, 0x0a, + 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x46, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd1, 0x01, 0x0a, 0x06, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x58, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, + 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xba, 0x01, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x92, 0x01, 0xda, 0x41, 0x1e, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x6b, 0x22, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0xda, + 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x90, 0x4e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xa8, 0x01, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x42, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x72, - 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x04, 0x57, 0x61, 0x69, 0x74, 0x12, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5d, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x43, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x77, 0x61, 0x69, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x32, 0xd0, 0x08, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x46, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd1, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xcc, 0x05, 0x0a, 0x1c, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, - 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, - 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x90, 0x4e, - 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xa8, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x42, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0xbe, 0x01, 0x0a, 0x04, 0x57, 0x61, 0x69, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, + 0x41, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x35, 0x2a, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xb5, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x5d, 0xda, 0x41, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x22, 0x41, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x61, 0x69, - 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xcc, 0x05, 0x0a, 0x1c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0xda, 0x41, 0x09, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x2a, 0x33, 0x2f, 0x63, + 0x6f, 0x6e, 0x22, 0x4a, 0xda, 0x41, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x90, 0x4e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xa4, + 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x32, 0xda, 0x41, 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x7d, 0x12, 0xb5, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4a, 0xda, - 0x41, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x90, 0x4e, 0x01, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x04, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x32, 0xda, 0x41, - 0x00, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd1, 0x0b, 0x0a, 0x1d, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x87, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, 0x01, 0xda, 0x41, 0x1f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x2a, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, - 0x12, 0xfa, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x81, 0x01, 0xda, 0x41, 0x1f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x12, 0x98, 0x02, - 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xa5, 0x01, 0xda, 0x41, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd1, 0x0b, 0x0a, 0x1d, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x87, 0x02, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x94, + 0x01, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x2a, 0x57, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x81, + 0x01, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xce, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4f, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xc8, 0x02, 0x0a, 0x05, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, - 0x74, 0x63, 0x68, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x7d, 0x12, 0x98, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x42, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0xda, 0x41, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x20, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3d, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xce, 0x01, + 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0xda, 0x41, 0x40, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4f, 0xda, + 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, + 0x3d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xc8, + 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xd7, 0x01, 0xda, 0x41, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x3a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x3a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x57, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, - 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x83, 0x0d, 0x0a, 0x0c, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xcb, 0x01, 0x0a, 0x0e, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, - 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, - 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x32, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, + 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x83, 0x0d, + 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xcb, + 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xd4, 0x01, 0x0a, + 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, + 0xda, 0x41, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, + 0x2a, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x7d, 0x12, 0xbd, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x22, 0x60, 0xda, 0x41, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, + 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x7d, 0x12, 0xe6, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4b, 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xa8, 0x01, 0x0a, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x73, 0xda, 0x41, 0x14, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x2a, 0x41, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, - 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0xbd, - 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x60, 0xda, 0x41, - 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, - 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0xe6, - 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x84, 0x01, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x15, 0x68, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x44, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x44, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2c, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x15, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x32, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0x82, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x72, 0x6f, @@ -161846,1490 +169223,1528 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x84, - 0x03, 0x0a, 0x10, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, - 0x65, 0x77, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, - 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, - 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x22, 0x63, 0xda, 0x41, 0x13, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x66, 0x61, 0x6d, 0x69, 0x6c, - 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, - 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x7d, 0x1a, 0xa4, - 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xfc, 0x13, 0x0a, 0x06, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x12, 0xba, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0x82, 0x02, 0x0a, 0x06, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0xda, 0x41, - 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x2a, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0x84, 0x02, - 0x0a, 0x09, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, + 0x41, 0x2a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x41, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x1a, + 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x32, 0x84, 0x03, 0x0a, 0x10, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, + 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, + 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x22, 0x63, + 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, + 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x46, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x56, 0x69, 0x65, 0x77, 0x73, 0x2f, 0x7b, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x7d, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, + 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xfc, 0x13, 0x0a, 0x06, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0xba, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x5f, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x2a, 0x34, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x7d, 0x12, 0x84, 0x02, 0x0a, 0x09, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x72, 0x65, + 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0xda, 0x41, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x1b, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x2f, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x12, 0x9d, 0x01, 0x0a, 0x03, 0x47, 0x65, + 0x74, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xa2, 0x01, 0xda, 0x41, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x2c, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x1b, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x64, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x12, 0x9d, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, - 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x55, 0xda, 0x41, 0x0e, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x0d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x73, 0x2f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x2f, 0x7b, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, - 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5f, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x46, 0x12, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xcb, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0xba, 0x01, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x32, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x61, 0x6d, + 0x69, 0x6c, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, + 0x55, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x61, 0x6d, 0x69, + 0x6c, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x2f, 0x7b, 0x66, + 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5f, 0xda, 0x41, 0x10, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x12, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, + 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xcb, 0x01, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x0e, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2c, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x70, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x3e, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x12, 0x2c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0xda, + 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x3a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, + 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0x8b, 0x02, + 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x3e, - 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, - 0x12, 0x2c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0xd7, - 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x46, 0x3a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x32, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x2f, 0x7b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0x8b, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x22, 0xa6, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x6a, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x98, 0x02, 0x0a, 0x09, + 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xa6, 0x01, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x22, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, + 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xac, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x98, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6f, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xe3, 0x38, 0x0a, 0x15, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x12, 0xa1, 0x03, 0x0a, 0x10, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xa2, 0x02, 0xda, 0x41, 0x5e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa9, 0x01, 0x3a, 0x3a, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x51, 0xda, 0x41, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x12, 0xac, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, + 0xae, 0x03, 0x0a, 0x17, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x6f, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, - 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xe3, 0x38, 0x0a, 0x15, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xa1, - 0x03, 0x0a, 0x10, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x62, - 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x02, 0xda, + 0x41, 0x5a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, + 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0xac, 0x01, 0x3a, 0x36, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, + 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x72, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x12, 0x9c, 0x03, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x02, - 0xda, 0x41, 0x5e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x02, + 0xda, 0x41, 0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, - 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa9, 0x01, 0x3a, 0x3a, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x7d, 0x2f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x51, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xae, 0x03, 0x0a, 0x17, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x02, 0xda, 0x41, 0x5a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xac, 0x01, 0x3a, - 0x36, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x9c, 0x03, 0x0a, 0x0f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x02, 0xda, 0x41, 0x5d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, - 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0xa7, 0x01, 0x3a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6a, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x84, 0x02, 0x0a, 0x06, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x8a, 0x4e, - 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x2a, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa7, 0x01, 0x3a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x7d, 0x12, 0x9c, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, - 0x02, 0xda, 0x41, 0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa7, 0x01, 0x3a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x6a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, - 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, - 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0xc5, 0x03, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x4c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, - 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xb6, 0x02, 0xda, 0x41, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, - 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb7, - 0x01, 0x3a, 0x40, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x6a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, - 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0x88, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x7d, 0x12, 0x95, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x84, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, - 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, - 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xce, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x58, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xda, 0x41, 0x23, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x2a, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, 0x9c, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x02, 0xda, 0x41, 0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa7, 0x01, 0x3a, 0x39, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xa5, 0x02, 0x0a, - 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x93, - 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x12, 0x65, 0x2f, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xc5, 0x03, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x12, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x02, 0xda, 0x41, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0xb7, 0x01, 0x3a, 0x40, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xf8, 0x01, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0x88, 0x01, + 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, 0x95, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x1f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x73, 0x12, 0xcd, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x49, 0x2e, + 0x12, 0xce, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x58, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, + 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x12, 0xa5, 0x02, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, + 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x93, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x67, 0x12, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, + 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0xcd, 0x02, 0x0a, 0x14, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0xda, 0x41, 0x23, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, 0x22, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xd1, 0x02, 0x0a, 0x16, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x71, 0x22, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, - 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0xd1, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9f, 0x01, 0xda, 0x41, + 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x22, 0x71, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xc3, 0x02, + 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xda, 0x01, 0xda, 0x41, 0x43, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x7d, 0x12, 0xc0, 0x03, 0x0a, 0x17, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, - 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x48, 0x2e, 0x67, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, + 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x22, 0x71, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xb3, 0x02, 0xda, 0x41, 0x63, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, + 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xc3, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, - 0x63, 0x68, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xda, 0x01, 0xda, 0x41, 0x43, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x7d, 0x3a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x32, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb5, + 0x01, 0x3a, 0x3f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, + 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, 0xc0, - 0x03, 0x0a, 0x17, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x70, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xa6, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x45, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x02, 0xda, 0x41, 0x5f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, + 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0xab, 0x01, 0x3a, 0x3b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x6c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x90, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x02, 0xda, 0x41, - 0x63, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb5, 0x01, 0x3a, 0x3f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x72, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, - 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x50, - 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x12, 0xa6, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0xda, 0x41, 0x28, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x2c, 0x73, 0x69, 0x7a, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x22, + 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x69, + 0x7a, 0x65, 0x12, 0xb2, 0x03, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x02, 0xda, 0x41, 0x62, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb0, 0x01, 0x3a, 0x3e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x99, 0x03, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xa5, 0x02, 0xda, 0x41, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x6f, 0x6e, 0x22, 0x9e, 0x02, 0xda, 0x41, 0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xab, 0x01, 0x3a, - 0x3b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6c, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x90, 0x02, 0x0a, 0x06, 0x52, - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0xda, 0x41, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x73, - 0x69, 0x7a, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x22, 0x61, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, - 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, + 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, + 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa6, 0x01, 0x3a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0xb2, 0x03, - 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x12, 0xc5, 0x03, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, + 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xad, 0x02, 0xda, 0x41, 0x62, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x6f, 0x6e, 0x22, 0xb6, 0x02, 0xda, 0x41, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0xb0, 0x01, 0x3a, 0x3e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x73, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x99, 0x03, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, + 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0xb7, 0x01, 0x3a, 0x40, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, + 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x7d, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, + 0xf0, 0x14, 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x12, 0xdf, 0x02, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, + 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xef, 0x01, 0xda, 0x41, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8a, 0x01, 0x3a, 0x2e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x02, - 0xda, 0x41, 0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xa6, 0x01, 0x3a, 0x39, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4a, 0xda, 0x41, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xe6, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, + 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x0e, 0x5a, + 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, - 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xc5, - 0x03, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x4c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x02, - 0xda, 0x41, 0x64, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb7, 0x01, 0x3a, - 0x40, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xf0, 0x14, 0x0a, 0x0e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xdf, 0x02, - 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xef, 0x01, - 0xda, 0x41, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, - 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x8a, 0x01, 0x3a, 0x2e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0xd0, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, + 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, + 0x12, 0xd2, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x22, 0x71, 0xda, 0x41, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, + 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x12, 0xe6, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x33, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x1b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xd2, 0x01, 0x0a, 0x03, - 0x47, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x71, 0xda, - 0x41, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x24, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x17, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, - 0x12, 0xf7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x17, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3a, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x51, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, - 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xe6, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, + 0xb9, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xe1, 0x01, 0xda, 0x41, - 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x8c, 0x01, 0x3a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, - 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, - 0xee, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0xda, 0x41, 0x4d, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x51, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, + 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xe6, 0x02, 0x0a, 0x0d, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x22, 0xe1, 0x01, 0xda, 0x41, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, + 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8c, 0x01, 0x3a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0xee, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf8, 0x01, 0xda, 0x41, 0x4d, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, + 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x90, 0x01, 0x3a, 0x31, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x90, 0x01, - 0x3a, 0x31, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, + 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xe6, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0xda, 0x41, 0x4c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8d, + 0x01, 0x3a, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, - 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0xe6, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, - 0x74, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0xda, 0x41, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8d, 0x01, 0x3a, 0x30, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa4, 0x10, - 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x72, + 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x32, 0xa4, 0x10, 0x0a, 0x11, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x4d, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, - 0xe9, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, + 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, + 0x12, 0xd6, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x6f, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x03, - 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6a, 0xda, 0x41, 0x10, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xfa, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x22, 0x6f, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6a, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, + 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x1a, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x12, 0xb7, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x49, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xa1, 0x02, 0x0a, + 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb1, 0x01, 0xda, + 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x3a, 0x22, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0xfa, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, + 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0xc2, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, - 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x1a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xb7, 0x01, - 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x49, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x01, + 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7a, 0x3a, 0x21, 0x74, 0x65, 0x73, + 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xa1, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xc2, 0x02, 0x0a, 0x12, - 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb5, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, - 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7a, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, - 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb3, 0x64, 0x0a, 0x09, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x12, 0xb3, 0x02, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x64, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0xda, 0x41, 0x3e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, - 0x2c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x16, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xe2, 0x02, 0x0a, 0x13, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xe9, 0x01, 0xda, 0x41, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xc1, 0x01, - 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0xda, 0x41, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x12, 0x92, 0x02, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, - 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, - 0x68, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x8e, 0x67, 0x0a, 0x09, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb3, 0x02, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x41, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0xda, 0x41, 0x3e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x2c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, - 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x65, 0x3a, 0x16, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x61, 0x74, 0x74, 0x61, - 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x9e, 0x02, 0x0a, 0x0a, 0x42, 0x75, 0x6c, 0x6b, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6e, 0x63, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x66, 0x61, 0x63, 0x65, 0x2c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, + 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x6a, 0x3a, 0x16, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x61, 0x64, + 0x64, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xe2, 0x02, + 0x0a, 0x13, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x01, - 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x26, 0x62, - 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, - 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x62, 0x75, 0x6c, - 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0xcf, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0x9b, 0x02, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xa4, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, - 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x55, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xef, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x74, 0x61, - 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, - 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x4b, 0x2f, 0x63, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe9, 0x01, 0xda, 0x41, 0x46, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x30, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x64, - 0x65, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x12, 0xb7, 0x01, 0x0a, 0x03, 0x47, 0x65, - 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x61, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x22, 0x60, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x0a, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xab, 0x01, + 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, + 0x64, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x3a, 0x16, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, + 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, + 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, + 0x2f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x9e, 0x02, 0x0a, 0x0a, + 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, + 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x6a, 0x3a, 0x26, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0xcf, 0x01, 0x0a, + 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x71, 0xda, 0x41, 0x15, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0x9b, + 0x02, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x2c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2c, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0xef, 0x01, 0x0a, + 0x0a, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x32, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x64, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, + 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4d, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x7d, 0x12, 0xa2, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x3d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, - 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, - 0x12, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xef, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, - 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x75, 0x65, - 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x73, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x63, 0x65, 0x7d, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x44, 0x69, 0x73, 0x6b, 0x12, 0xb7, + 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x60, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, + 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0xa2, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x88, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0xd4, 0x01, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x22, 0x6d, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0xd8, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, - 0x68, 0x6f, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x22, - 0x6b, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, - 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xef, 0x01, + 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x75, 0x65, 0x73, 0x74, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x22, 0x73, 0xda, 0x41, 0x15, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x53, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, + 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, + 0x47, 0x75, 0x65, 0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, + 0xd4, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6d, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd8, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x63, + 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x73, 0x68, 0x6f, 0x74, 0x22, 0x6b, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, + 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, + 0x74, 0x12, 0xea, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, + 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, + 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x22, 0x6b, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, + 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x93, + 0x02, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x43, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, + 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, + 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x7c, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5e, 0x12, 0x5c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, + 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, + 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x12, 0xe1, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x3a, 0x11, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, + 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x22, + 0x6a, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, + 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x12, + 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x7d, 0x2f, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x73, 0x68, 0x6f, 0x74, 0x12, 0xea, 0x01, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x69, - 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x22, 0x6b, 0xda, 0x41, - 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, - 0x65, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x93, 0x02, 0x0a, 0x1b, 0x47, 0x65, - 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x7d, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x12, 0xf1, 0x02, 0x0a, 0x16, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x01, 0xda, 0x41, 0x49, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8e, + 0x01, 0x3a, 0x33, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, + 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, + 0xd3, 0x01, 0x0a, 0x05, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, - 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x22, 0x7c, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x5e, 0x12, 0x5c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x53, 0x68, 0x69, 0x65, 0x6c, 0x64, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, - 0xe1, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xda, 0x41, + 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x46, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x12, 0xd6, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, + 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, + 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x8a, 0x4e, + 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, + 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x96, + 0x02, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, - 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x3a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0xe3, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x72, 0x73, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0xda, + 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x58, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, + 0x73, 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x12, 0x84, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x22, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, + 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x90, + 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x61, + 0x75, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x22, 0x52, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, + 0x73, 0x65, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x98, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x36, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, 0x3a, 0x20, 0x7a, 0x6f, 0x6e, + 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, + 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xad, 0x02, 0x0a, + 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x22, 0x6a, 0xda, 0x41, 0x15, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x12, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, - 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x72, 0x65, 0x72, 0x73, 0x12, 0xf1, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xc8, 0x01, 0xda, 0x41, 0x3b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, + 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x25, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xe2, 0x02, 0x0a, + 0x13, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x01, 0xda, 0x41, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe9, 0x01, 0xda, 0x41, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8e, 0x01, 0x3a, 0x33, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x05, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x77, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, - 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x65, 0x74, - 0x12, 0xd6, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x78, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, - 0x22, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x96, 0x02, 0x0a, 0x17, 0x53, 0x65, - 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x72, 0x75, 0x70, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, - 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, - 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x6e, 0x64, 0x44, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, - 0x70, 0x74, 0x12, 0x84, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x87, 0x01, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x58, 0x22, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x90, 0x02, 0x0a, 0x11, 0x53, 0x65, - 0x74, 0x44, 0x69, 0x73, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x69, 0x73, - 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9b, - 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x22, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, - 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x44, 0x69, - 0x73, 0x6b, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x98, 0x02, 0x0a, - 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, - 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, 0x3a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, - 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xad, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x01, 0xda, - 0x41, 0x3b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x25, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x2f, 0x63, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x88, 0x01, 0x3a, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xe2, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, - 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x73, + 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0xc8, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xe9, 0x01, 0xda, 0x41, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, + 0x22, 0xd9, 0x01, 0xda, 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, - 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x88, 0x01, 0x3a, 0x30, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0xc8, 0x02, 0x0a, - 0x0e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd9, 0x01, 0xda, 0x41, - 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7e, 0x3a, 0x2b, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x8b, 0x02, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7e, 0x3a, 0x2b, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x8b, 0x02, 0x0a, + 0x0b, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xa2, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xda, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x6e, - 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x39, 0x2e, 0x67, 0x6f, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x2c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xda, 0x02, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x69, + 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xe5, 0x01, 0xda, 0x41, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, + 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, + 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x85, 0x01, 0x3a, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0xa3, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6f, 0x3a, 0x23, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x95, 0x02, + 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x63, 0x68, + 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x29, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, + 0x3a, 0x13, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, + 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0xd8, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe5, 0x01, 0xda, 0x41, 0x45, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0xda, 0x41, 0x44, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x70, 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, - 0x2f, 0x73, 0x65, 0x74, 0x4d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0xa3, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6f, 0x3a, 0x23, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x48, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, - 0x2f, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x95, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, - 0x6e, 0x67, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x2c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x65, 0x3a, 0x13, 0x73, 0x63, 0x68, - 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x84, 0x01, 0x3a, 0x2e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd8, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, @@ -163812,7 +171227,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x32, 0xe5, 0x0d, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x32, 0xe8, 0x0f, 0x0a, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x12, 0xd6, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, @@ -163854,689 +171269,681 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0xe8, 0x01, - 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x65, 0x74, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x80, 0x02, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, + 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, + 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x71, 0xda, + 0x41, 0x14, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x12, 0x52, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x73, 0x65, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0xe8, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, + 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x12, 0xab, 0x01, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x12, 0x82, 0x02, 0x0a, 0x05, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x2a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5b, 0x3a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x42, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x7d, 0x12, 0xa6, + 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x85, 0x01, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x15, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x12, 0xab, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, - 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x12, 0x82, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x2c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, - 0x3a, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x42, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x7d, 0x12, 0xa6, 0x02, 0x0a, 0x09, - 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x74, - 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x48, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb0, 0x05, 0x0a, 0x0c, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0xbd, 0x01, 0x0a, + 0x03, 0x47, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x60, 0xda, 0x41, 0x14, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x64, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x2f, 0x7b, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x12, 0xb8, 0x02, 0x0a, + 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x75, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, + 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xfa, + 0x0c, 0x0a, 0x08, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0xda, 0x41, 0x0f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x48, 0x2f, 0x63, 0x6f, 0x6d, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x7d, + 0x12, 0xa7, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x52, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, + 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, + 0x2f, 0x7b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x61, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd3, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x76, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x10, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, - 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb0, 0x05, 0x0a, 0x0c, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0xbd, 0x01, 0x0a, 0x03, 0x47, 0x65, - 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x60, 0xda, 0x41, 0x14, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x7d, 0x12, 0xb8, 0x02, 0x0a, 0x12, 0x54, 0x65, - 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x3a, - 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x6e, 0x73, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x40, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, - 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x65, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x33, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x46, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0xb0, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xac, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xfa, 0x0c, 0x0a, 0x08, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xeb, 0x0d, 0x0a, 0x0d, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0xd8, 0x01, + 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x76, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x93, 0x02, 0x45, 0x2a, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x7d, 0x12, 0xa7, 0x01, - 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x22, 0x52, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x6c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x7d, 0x12, 0xc7, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0xc2, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, + 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x63, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0xd1, 0x01, + 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x61, - 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x66, 0xda, 0x41, 0x10, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0xd3, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2d, 0x2e, 0x67, + 0x79, 0x12, 0xea, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x76, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x10, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4c, - 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0xda, - 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, - 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x12, - 0x8f, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4d, 0x3a, 0x16, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0xb0, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, - 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xac, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x71, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, - 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xeb, 0x0d, 0x0a, 0x0d, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x06, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0xda, - 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, - 0x2a, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0xc2, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x63, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x0c, 0x47, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x66, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xea, - 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x16, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0xab, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0xab, + 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x99, 0x02, 0x0a, 0x0c, 0x53, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xad, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x71, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xba, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb1, - 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x21, 0x74, 0x65, - 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, - 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x83, 0x06, 0x0a, 0x0c, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x6b, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x7b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, - 0xb3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4f, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x99, 0x02, 0x0a, + 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xad, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, - 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, - 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb8, 0x11, 0x0a, - 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x4e, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x2e, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xba, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, + 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x83, 0x06, 0x0a, 0x0c, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x0e, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0xda, 0x41, 0x21, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x2a, 0x57, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x7d, 0x12, 0xed, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, + 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, + 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, + 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x6b, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x7d, 0x12, 0xb3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x83, 0x01, - 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, - 0x6e, 0x74, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x22, 0x7c, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x8f, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x37, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x01, 0xda, 0x41, 0x2a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x61, 0x3a, 0x1b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, - 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x42, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0xcb, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x2e, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5b, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0xb5, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x22, 0xc4, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x80, 0x01, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4f, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd6, 0x02, 0x0a, 0x12, 0x54, - 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x21, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x60, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, - 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, + 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x86, 0x0d, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xf7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x57, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, - 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, + 0xf0, 0x13, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xdc, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4e, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xfe, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, + 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x2a, 0x57, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x12, 0xed, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xb5, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, - 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x2a, 0x6b, 0x2f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x83, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0x9e, 0x02, 0x0a, 0x03, 0x47, - 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0xa2, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x12, 0x6b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xb7, 0x02, 0x0a, 0x06, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x12, 0xec, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, - 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x7c, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x8f, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x01, + 0xda, 0x41, 0x2a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x1b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x42, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xcb, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc6, 0x01, 0xda, - 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, - 0x3a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5b, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x44, 0x12, 0x42, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xb5, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcf, 0x01, 0xda, 0x41, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, + 0x6e, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x1b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x32, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, + 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x12, 0xb5, 0x02, + 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, + 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xc4, + 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x80, 0x01, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd6, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, + 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0xc8, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x60, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, + 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x32, 0x86, 0x0d, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, + 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x12, 0xf7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x57, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xa6, 0x02, 0x0a, + 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, + 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x2a, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xf4, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x02, 0xda, 0x41, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x95, 0x01, 0x3a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, - 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x1a, 0x72, 0xca, 0x41, - 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x32, 0xd9, 0x17, 0x0a, 0x15, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x0e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, - 0x51, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x12, 0xb1, 0x03, 0x0a, 0x16, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x4a, 0x2e, + 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0x9e, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x02, - 0xda, 0x41, 0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, - 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xae, 0x01, 0x3a, 0x39, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x71, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, + 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x22, 0xa2, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, + 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x12, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xb7, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc6, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x3a, 0x26, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, - 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, - 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x84, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, + 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0xf4, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x85, 0x02, 0xda, 0x41, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, + 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x95, 0x01, 0x3a, 0x26, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x64, 0x67, 0x65, + 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x6b, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x67, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd9, 0x17, 0x0a, 0x15, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x99, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x5c, 0x2a, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xb1, 0x03, - 0x0a, 0x16, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x51, 0xda, 0x41, 0x07, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xb1, 0x03, + 0x0a, 0x16, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, @@ -164545,12 +171952,12 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, + 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xae, 0x01, 0x3a, 0x39, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x71, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, @@ -164558,1300 +171965,1361 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x63, + 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, + 0x73, 0x12, 0x84, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x22, 0x88, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, - 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0x95, 0x02, 0x0a, - 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, - 0x3a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x12, 0xce, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xda, + 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x2a, 0x5a, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, + 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xb1, 0x03, 0x0a, 0x16, 0x44, 0x65, 0x74, + 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x02, 0xda, 0x41, 0x5d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xae, 0x01, 0x3a, 0x39, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x71, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xf8, 0x01, 0x0a, + 0x03, 0x47, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x88, 0x01, 0xda, + 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0x95, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xaa, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x1f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, + 0xce, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x58, 0xda, 0x41, 0x0c, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x58, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0xb7, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x8f, 0x02, 0xda, 0x41, 0x5b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xaa, 0x01, + 0x3a, 0x37, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xd6, 0x02, 0x0a, 0x12, 0x54, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc5, 0x01, 0xda, 0x41, + 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x84, 0x01, 0x3a, + 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x5f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xb7, 0x03, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x49, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x8f, 0x02, - 0xda, 0x41, 0x5b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0xaa, 0x01, 0x3a, 0x37, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, - 0x69, 0x73, 0x74, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6f, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, - 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0xd6, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xc5, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x84, 0x01, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xbd, 0x22, 0x0a, - 0x17, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xd3, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, - 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0xda, 0x41, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7f, 0x3a, - 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, - 0x61, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xb0, - 0x02, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xbd, 0x22, 0x0a, 0x17, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0xda, - 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, - 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0xfc, 0x01, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x22, 0x53, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0xe8, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, + 0x69, 0x65, 0x73, 0x12, 0xd3, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0xda, 0x41, - 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4a, 0x2a, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, - 0x47, 0x65, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6a, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x7d, 0x12, 0x84, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, - 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, - 0x12, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xd7, 0x01, 0xda, 0x41, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7f, 0x3a, 0x24, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xdd, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x69, - 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xe8, 0x01, 0x0a, 0x07, 0x47, 0x65, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xb0, 0x02, 0x0a, 0x07, 0x41, 0x64, + 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x22, 0x72, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x52, 0x12, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0xfa, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, - 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x71, 0x3a, 0x1d, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xfc, 0x01, 0x0a, + 0x0a, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x3f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x8e, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, - 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0xba, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x22, 0x88, 0x01, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x9a, - 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x32, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xb6, 0x02, 0x0a, 0x09, - 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc4, 0x01, - 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x73, 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0x91, 0x02, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, + 0x2f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x22, 0x5a, 0x2f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xfc, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x38, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0xda, - 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x55, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xa5, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x6a, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0x84, 0x02, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0xda, 0x41, 0x17, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xdd, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb0, 0x01, 0xda, - 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x22, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0xc6, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x69, 0xda, 0x41, 0x10, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0xe8, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x72, 0xda, 0x41, 0x17, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x12, 0x50, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0xfa, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xda, 0x41, + 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x18, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xba, 0x01, 0x0a, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x9a, 0x02, 0x0a, 0x05, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0xb4, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x3a, - 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb7, 0x15, 0x0a, - 0x08, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xa3, 0x02, 0x0a, 0x0a, 0x41, 0x64, - 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xbd, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x61, 0x64, - 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x6c, 0x3a, 0x25, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x61, 0x64, - 0x64, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x43, 0x2f, 0x63, 0x6f, 0x6d, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x64, 0x3a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x48, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xb6, 0x02, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc4, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x1d, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0x91, 0x02, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x8f, 0x01, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, + 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, + 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0xfc, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x22, 0x53, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0xa5, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x74, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0xc2, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xc6, 0x02, 0x0a, 0x12, 0x54, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0xda, - 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x52, 0xda, 0x41, 0x0f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xff, - 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb4, 0x01, 0xda, + 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb7, 0x15, 0x0a, 0x08, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xa3, 0x02, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, + 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x01, 0xda, 0x41, 0x35, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x3a, 0x25, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x70, 0x65, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, + 0x61, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xc2, 0x01, 0x0a, 0x06, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x65, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x2a, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, + 0xa7, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x52, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, + 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, + 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xff, 0x01, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x68, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x06, + 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0xda, 0x41, 0x18, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x3a, + 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x12, 0x9c, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x40, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, + 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x12, 0xe9, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, - 0x12, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, + 0x12, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x45, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, - 0x12, 0xd3, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, + 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x50, + 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0xe4, 0x01, 0x0a, + 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x7d, 0x12, 0xb2, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x65, 0x74, 0x77, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xc6, 0x01, 0xda, 0x41, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x72, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xed, 0x01, 0x0a, 0x12, 0x53, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x54, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, + 0x54, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, - 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x42, 0x3a, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x9c, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x40, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xe9, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, - 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x64, 0xda, 0x41, 0x0f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x12, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, - 0x6c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x12, 0xe4, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, - 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x10, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x38, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xb2, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x78, + 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x4b, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x6f, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0xb2, 0x02, 0x0a, 0x0d, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc6, 0x01, 0xda, 0x41, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, + 0x6b, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, 0x28, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x65, 0x65, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, - 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0xed, 0x01, - 0x0a, 0x12, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x77, 0x69, 0x74, 0x63, 0x68, 0x54, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, - 0x65, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x78, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, - 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x73, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x54, 0x6f, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0xb2, 0x02, - 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc6, 0x01, 0xda, 0x41, 0x38, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, - 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, - 0x3a, 0x28, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x46, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x83, 0x1e, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xb2, 0x02, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xce, 0x01, 0xda, 0x41, 0x3e, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x26, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x0e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x46, 0xda, 0x41, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x1a, 0x72, 0xca, + 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x32, 0x83, 0x1e, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x12, 0xb2, 0x02, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x76, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x0e, - 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x45, 0x2a, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, - 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xc1, 0x02, 0x0a, 0x0b, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0xda, 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, - 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x7c, 0x3a, 0x29, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0xbe, 0x01, - 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x65, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xd6, - 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6e, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xce, 0x01, 0xda, 0x41, 0x3e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x64, + 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, + 0x26, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x64, 0x64, + 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xfa, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x36, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, - 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x12, 0xdf, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x61, 0x64, 0x64, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x46, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xd5, 0x01, 0x0a, + 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x6f, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0xda, 0x41, + 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x2a, + 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xc1, 0x02, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd7, + 0x01, 0xda, 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, + 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x29, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0xfd, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x2b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x13, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x32, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0x9a, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0xb1, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x72, 0x3a, 0x20, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, - 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe6, 0x01, 0xda, 0x41, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x73, - 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x85, - 0x03, 0x0a, 0x18, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, - 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, - 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, + 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, + 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x81, 0x02, 0xda, 0x41, 0x4f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x69, 0x6d, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x97, 0x01, 0x3a, - 0x37, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, - 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x73, 0x69, - 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, - 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0xbf, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x22, 0x65, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, + 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, + 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xd6, 0x01, 0x0a, 0x0c, 0x47, 0x65, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0xda, - 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x3a, - 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x54, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x22, 0x6e, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, + 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x50, 0x12, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb4, 0x10, 0x0a, - 0x0d, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xcd, - 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x49, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xea, - 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0xfa, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x2a, 0x4d, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, - 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x03, - 0x47, 0x65, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x74, 0xda, 0x41, 0x1c, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x77, 0xda, - 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x12, - 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xfb, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x25, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x16, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x12, 0xbc, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x9a, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, + 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4d, 0x3a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, + 0xad, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x4d, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, + 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, + 0xdf, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x56, 0xda, 0x41, 0x0e, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3f, 0x12, 0x3d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x12, 0xaa, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0xbe, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0xcc, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, 0xda, 0x41, 0x39, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x80, 0x01, 0x3a, - 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x22, 0x6f, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4f, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, - 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x32, 0xdf, 0x05, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x12, 0xc1, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, - 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, - 0x12, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6e, 0x6f, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2b, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x62, 0xda, - 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, + 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, + 0x73, 0x12, 0xfd, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x9f, 0x01, 0xda, 0x41, 0x2b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, + 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x3a, 0x13, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x43, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x7d, 0x12, 0x9a, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x36, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, 0x20, 0x7a, 0x6f, + 0x6e, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x7d, 0x12, 0xaa, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd8, + 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xe6, 0x01, 0xda, 0x41, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, + 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, + 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x85, 0x01, 0x3a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, + 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x85, 0x03, 0x0a, 0x18, 0x53, 0x69, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x4c, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, - 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xa4, - 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x90, 0x0f, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, - 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xd6, 0x01, 0x0a, 0x0e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, - 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0xf6, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, - 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x02, + 0xda, 0x41, 0x4f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x97, 0x01, 0x3a, 0x37, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x5c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x12, 0xbf, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x1f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x8a, 0x4e, + 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x54, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, + 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb4, 0x10, 0x0a, 0x0d, 0x4e, 0x6f, 0x64, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x0e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x49, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, + 0x12, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6e, 0x6f, 0x64, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xea, 0x01, 0x0a, 0x06, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xda, + 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x2a, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x2a, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, - 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x12, 0xe2, 0x01, 0x0a, - 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x22, 0x7d, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, - 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x53, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x7d, 0x12, 0x87, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x35, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x28, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x19, - 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, - 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xc5, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, - 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x59, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0xa9, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xd3, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x74, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xe2, 0x01, 0x0a, + 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc5, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x70, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, - 0x19, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, - 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x53, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x77, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x12, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x12, - 0xd2, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0xfb, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x32, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x16, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x3d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, + 0xbc, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x56, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x12, + 0x3d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xaa, + 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x01, 0xda, 0x41, - 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, - 0x01, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xbe, 0x01, 0xda, 0x41, 0x3a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, + 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, - 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, - 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xcc, 0x02, 0x0a, 0x12, + 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc3, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x80, 0x01, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, + 0x6f, 0x64, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xdf, + 0x05, 0x0a, 0x09, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xc1, 0x01, 0x0a, + 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0xda, 0x41, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x12, 0xb9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x62, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2f, 0x7b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 0xaa, 0x01, 0x0a, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x0c, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x80, 0x19, 0x0a, 0x08, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x32, 0x90, 0x0f, 0x0a, 0x10, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, + 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xd6, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x52, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x8a, - 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x22, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x12, 0xab, 0x02, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, + 0x6e, 0x67, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x4c, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xf6, + 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, - 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x63, 0x3a, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, + 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x55, 0x2a, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xbc, 0x01, 0x0a, 0x0d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, + 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x12, 0xe2, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x7d, 0xda, + 0x41, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, + 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x12, 0x87, 0x02, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x51, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x8a, 0x4e, 0x10, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x22, 0x2c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, - 0x48, 0x6f, 0x73, 0x74, 0x12, 0xa6, 0x02, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, - 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5d, 0x3a, 0x19, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, + 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xc5, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x59, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xa9, + 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xc5, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, 0x69, + 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6d, + 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, 0x19, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, + 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, + 0x6d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x12, 0xd2, 0x02, 0x0a, 0x12, 0x54, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x61, + 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, 0x01, 0x3a, 0x21, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x69, 0x72, 0x72, 0x6f, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, + 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x32, 0x80, 0x19, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0xbf, 0x01, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, + 0x6f, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x52, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2f, 0x22, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, + 0x73, 0x74, 0x12, 0xab, 0x02, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, + 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x2d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, - 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x30, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x85, 0x01, - 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x30, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x12, 0x9e, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, - 0x48, 0x6f, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3b, 0xda, 0x41, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x58, - 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x12, 0xbe, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x58, 0x70, - 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x40, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0xfd, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, - 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x3a, 0x2e, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x31, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0xbc, 0x01, 0x0a, 0x0d, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, + 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x90, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, - 0x78, 0x70, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, - 0x3a, 0x28, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, - 0x78, 0x70, 0x6e, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2b, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x58, - 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x08, 0x4d, 0x6f, 0x76, 0x65, - 0x44, 0x69, 0x73, 0x6b, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0xda, 0x41, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2e, 0x22, 0x2c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x12, + 0xa6, 0x02, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0xda, 0x41, 0x22, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x6f, 0x76, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x1a, 0x64, 0x69, 0x73, 0x6b, - 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x27, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x61, 0x3a, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x30, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x12, - 0xf9, 0x01, 0x0a, 0x0c, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x58, 0x70, 0x6e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, + 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x30, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, + 0x12, 0x1e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x12, 0x9e, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x12, + 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, + 0x48, 0x6f, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3b, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x12, 0x29, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, + 0x74, 0x12, 0xbe, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xda, 0x41, 0x26, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x1e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, - 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x86, 0x02, 0x0a, 0x19, - 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x47, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x22, 0x40, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x30, 0x12, 0x2e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x58, 0x70, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x12, 0xfd, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, + 0x73, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x90, 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x28, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x78, 0x70, 0x6e, 0x5f, 0x68, + 0x6f, 0x73, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x58, 0x70, 0x6e, 0x48, 0x6f, 0x73, + 0x74, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x08, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x12, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x44, 0x69, + 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x1a, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x6d, 0x6f, 0x76, 0x65, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x27, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x69, 0x73, 0x6b, 0x12, 0xf9, 0x01, 0x0a, 0x0c, 0x4d, + 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x82, 0x01, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x38, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0xbc, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x3c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xc0, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xda, 0x41, 0x26, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x34, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, - 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, - 0x69, 0x65, 0x72, 0x12, 0x91, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, - 0xda, 0x41, 0x26, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x1e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x86, 0x02, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x19, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x55, 0x3a, 0x1e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc4, 0x0b, 0x0a, 0x18, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, - 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x85, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, + 0x02, 0x4d, 0x3a, 0x11, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0xbc, 0x02, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0xda, 0x41, + 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x54, 0x69, 0x65, 0x72, 0x12, 0x91, + 0x02, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0xda, 0x41, 0x26, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x1e, 0x75, + 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x33, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xee, 0x0f, 0x0a, 0x18, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x65, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x08, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, + 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x8a, 0x4e, 0x10, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x64, 0x22, 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x2f, + 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x12, 0x85, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, @@ -165934,157 +173402,254 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, - 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x1a, 0x72, - 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x32, 0xf0, 0x0d, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xea, - 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x53, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x06, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x12, 0x92, + 0x02, 0x0a, 0x08, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x3f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xa0, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x22, + 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x64, 0x76, + 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, + 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, + 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, + 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb4, 0x12, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x65, 0x73, 0x12, 0xea, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa5, 0x01, 0xda, 0x41, 0x26, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x2a, 0x61, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, - 0x12, 0x85, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x41, 0x67, 0x67, + 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x53, 0xda, 0x41, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, + 0x12, 0x9f, 0x02, 0x0a, 0x08, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x12, 0x3e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xae, 0x01, 0xda, 0x41, 0x26, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x8a, 0x4e, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x22, 0x6a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, + 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, + 0x63, 0x65, 0x12, 0x92, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xa5, 0x01, 0xda, 0x41, 0x26, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x8a, 0x4e, 0x10, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x63, 0x2a, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x12, 0x85, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x92, 0x01, 0xda, 0x41, 0x26, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x12, 0x61, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x12, + 0xa3, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0xda, + 0x41, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x3a, 0x20, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x22, 0x92, 0x01, 0xda, 0x41, 0x26, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x12, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x12, 0xa3, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x6b, 0x3a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xd9, - 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x60, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xd4, 0x02, 0x0a, 0x05, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe9, 0x01, 0xda, 0x41, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x20, 0x70, 0x75, + 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, + 0x69, 0x78, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x60, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, + 0x73, 0x12, 0xd4, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe9, 0x01, 0xda, + 0x41, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x85, 0x01, 0x3a, 0x20, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x7d, 0x12, 0x9f, 0x02, 0x0a, 0x08, 0x57, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xae, 0x01, 0xda, 0x41, 0x26, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x61, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x22, 0x6a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xf0, 0x0b, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x06, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, - 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x7f, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, - 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x72, 0x7d, 0x12, 0xcd, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x22, 0x6c, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x7d, 0x2f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xf0, + 0x0b, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, + 0x6c, 0x65, 0x72, 0x73, 0x12, 0xe5, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xda, 0x41, 0x19, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x61, + 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x7d, 0x12, 0xcd, 0x01, 0x0a, + 0x03, 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x22, 0x6c, + 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x7d, 0x12, 0xf7, 0x01, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, + 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, - 0x65, 0x72, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x36, + 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x12, 0xc2, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x12, 0xf5, 0x01, 0x0a, 0x05, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x90, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x52, 0x3a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, + 0x65, 0x72, 0x73, 0x12, 0xf7, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, @@ -166094,294 +173659,230 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x1a, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x12, 0xc2, 0x01, - 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x1a, 0x72, 0xca, + 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x32, 0xbd, 0x1b, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, - 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, - 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, - 0x72, 0x73, 0x12, 0xf5, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x35, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, - 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, - 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x3b, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, - 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x73, 0x12, 0xf7, 0x01, 0x0a, 0x06, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x6f, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x52, 0x3a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x72, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x72, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, - 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x91, 0x14, 0x0a, 0x15, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x12, 0xf8, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x53, 0x2a, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xe3, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x37, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x22, 0x7a, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x12, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xcb, 0x02, 0x0a, + 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, - 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xca, 0x01, + 0xda, 0x41, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x2a, 0x51, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xe3, 0x01, - 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7a, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, - 0x12, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x80, 0x01, 0x3a, 0x21, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, + 0x2f, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0xec, 0x01, 0x0a, 0x0c, 0x47, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x79, + 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, + 0x12, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x7d, 0x12, 0xcb, 0x02, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x89, 0x02, 0x0a, 0x06, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x22, 0xca, 0x01, 0xda, 0x41, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x80, - 0x01, 0x3a, 0x21, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x12, 0xec, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, - 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x79, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x59, 0x12, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x89, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x01, 0xda, 0x41, - 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x5b, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3f, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xc8, 0x01, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x58, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, + 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0xe5, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x65, - 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x58, 0xda, - 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x12, 0x3f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xa9, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xc0, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x32, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x7d, 0x12, 0xb4, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, 0x22, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x22, 0x63, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x12, 0x4a, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x6c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0xa9, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, + 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x32, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xab, 0x02, 0x0a, 0x06, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x3a, 0x18, 0x62, 0x61, 0x63, - 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xf2, 0x09, 0x0a, - 0x11, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x7d, 0x12, 0xb4, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x6c, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x36, 0x2e, + 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, 0x22, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x57, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xe8, 0x02, 0x0a, 0x11, + 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe7, 0x01, 0xda, + 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x89, 0x01, 0x3a, 0x22, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd6, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x22, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xbc, 0x01, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x06, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc5, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x82, 0x01, 0x3a, 0x21, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, + 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0xab, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, - 0x74, 0x2c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x13, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x32, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x7b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x1a, 0x72, 0xca, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x37, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, + 0x3a, 0x18, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x51, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x62, 0x61, 0x63, 0x6b, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, @@ -166389,1796 +173890,2028 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x32, 0xbf, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xc5, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x22, 0x68, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x6d, 0x32, 0xf2, 0x09, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, + 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x6c, 0xda, 0x41, 0x19, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, + 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, + 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0xbc, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, 0x0e, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x8f, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x5f, 0x3a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xbf, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0xc5, 0x01, 0x0a, 0x03, 0x47, + 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x68, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, + 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x7d, 0x12, 0xbc, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x52, 0xda, + 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x7d, 0x12, 0xbc, 0x01, - 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, + 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, + 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x8f, 0x26, 0x0a, 0x0b, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x12, 0xe6, 0x02, 0x0a, 0x13, 0x41, 0x64, 0x64, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0xeb, 0x01, 0xda, 0x41, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x3a, 0x33, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x61, 0x64, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x12, 0x9c, 0x02, 0x0a, 0x0a, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, + 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, - 0x54, 0x79, 0x70, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x52, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, - 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x32, 0x8f, 0x26, 0x0a, 0x0b, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, - 0x73, 0x6b, 0x73, 0x12, 0xe6, 0x02, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xeb, - 0x01, 0xda, 0x41, 0x47, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x87, 0x01, 0x3a, 0x33, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, - 0x73, 0x6b, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, - 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x9c, 0x02, 0x0a, - 0x0a, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0xda, 0x41, 0x31, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0xda, 0x41, 0x31, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, + 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x22, 0x62, 0x75, 0x6c, 0x6b, + 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x12, 0x92, 0x02, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x22, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, + 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, + 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0xcd, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6d, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x8a, 0x4e, + 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, + 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x12, 0xaf, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x22, 0x5a, 0xda, 0x41, 0x13, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, + 0x69, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, - 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x92, 0x02, 0x0a, 0x0e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x38, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, - 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, - 0x3a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x6f, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, - 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x12, 0xcd, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0xde, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x0d, 0x64, + 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x4e, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, + 0x12, 0xf5, 0x02, 0x0a, 0x16, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x6d, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x6e, 0x22, 0xf4, 0x01, 0xda, 0x41, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8d, 0x01, 0x3a, 0x36, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, + 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xa0, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, + 0x69, 0x7a, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x38, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, + 0x73, 0x6b, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, + 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, + 0x3a, 0x24, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, + 0x65, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, + 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0xa0, 0x02, 0x0a, 0x0c, + 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xb6, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x22, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xad, + 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc6, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, 0x22, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x4a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, - 0x12, 0xaf, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x22, 0x5a, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, - 0x6b, 0x7d, 0x12, 0xd8, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x6f, 0xda, 0x41, - 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, - 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xde, 0x01, - 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, - 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, - 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, - 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0xaa, - 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4e, 0xda, 0x41, 0x0e, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x12, 0xf5, 0x02, 0x0a, 0x16, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, - 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xf0, + 0x02, 0x0a, 0x15, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0xda, - 0x41, 0x4a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, - 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf1, 0x01, + 0xda, 0x41, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, + 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x8d, 0x01, 0x3a, 0x36, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x12, 0xa0, 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x3a, 0x24, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, - 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0xa0, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0xb6, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x73, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xad, 0x02, 0x0a, 0x09, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xc6, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x2f, + 0xd3, 0xe4, 0x93, 0x02, 0x8b, 0x01, 0x3a, 0x35, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, + 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, - 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, - 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xf0, 0x02, 0x0a, 0x15, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf1, 0x01, 0xda, 0x41, 0x49, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, - 0x6b, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8b, - 0x01, 0x3a, 0x35, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, - 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x41, 0x73, 0x79, 0x6e, - 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xff, 0x01, 0x0a, - 0x14, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, + 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0xff, 0x01, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, + 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, + 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, + 0x01, 0xda, 0x41, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, + 0x22, 0x51, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x73, + 0x74, 0x6f, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0xee, 0x02, 0x0a, 0x19, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x43, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe7, 0x01, 0xda, 0x41, 0x43, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, + 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x3a, 0x34, 0x64, + 0x69, 0x73, 0x6b, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x61, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xc1, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, + 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0xda, 0x41, + 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, + 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x13, 0x70, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, - 0x73, 0x6b, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x22, 0x51, 0x2f, 0x63, 0x6f, + 0x73, 0x6b, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, + 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd7, 0x0b, 0x0a, 0x19, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x8a, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x2a, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x88, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x7d, 0x12, 0x9b, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xac, 0x01, 0xda, 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x1d, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, - 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, 0x7d, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x41, 0x73, - 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xee, - 0x02, 0x0a, 0x19, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x73, 0x79, 0x6e, - 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe7, 0x01, 0xda, 0x41, 0x43, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, - 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x87, 0x01, 0x3a, 0x34, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x5f, - 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x61, 0x73, 0x79, 0x6e, 0x63, - 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x70, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, - 0x73, 0x79, 0x6e, 0x63, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0xc1, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xba, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x78, 0x3a, 0x21, 0x74, 0x65, 0x73, - 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, - 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0xeb, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x64, 0x69, 0x73, 0x6b, 0x2c, 0x64, 0x69, - 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4d, 0x3a, 0x0d, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x32, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x12, 0xd5, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5c, 0xda, 0x41, 0x0e, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x45, 0x12, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x64, 0x69, 0x73, 0x6b, 0x73, 0x2f, 0x7b, 0x64, 0x69, 0x73, 0x6b, - 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd7, 0x0b, 0x0a, 0x19, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0x8a, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3e, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x9b, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x5c, 0x2a, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xc5, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd8, 0x01, 0xda, 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x3a, 0x1d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x32, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, - 0x12, 0xfa, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x22, 0x88, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x12, 0x9b, 0x02, - 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc6, 0x0c, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0xda, 0x41, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, 0x47, + 0x65, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xac, 0x01, 0xda, - 0x41, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x1d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x43, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5c, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x12, 0x43, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x12, 0xc5, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x71, + 0xda, 0x41, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x7d, 0x12, 0xfd, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xd8, 0x01, 0xda, 0x41, 0x41, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, - 0x3a, 0x1d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, - 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, - 0xc6, 0x0c, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0xda, 0x41, 0x24, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x15, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x73, 0x12, 0xbf, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, - 0x01, 0xda, 0x41, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x8a, - 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x34, 0x2e, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x55, 0xda, 0x41, + 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x12, 0x97, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x71, 0xda, 0x41, 0x1b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, - 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0xfd, 0x01, 0x0a, - 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3c, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0xbf, 0x01, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x55, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, - 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x31, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, + 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x32, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x12, 0x97, - 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, + 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0x99, 0x02, + 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x31, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4b, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x12, 0x99, 0x02, 0x0a, 0x06, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x31, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, + 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x4b, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd2, 0x39, + 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xbd, 0x03, + 0x0a, 0x10, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x62, 0x61, + 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xb8, 0x02, 0xda, 0x41, 0x67, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x62, 0x61, + 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb4, 0x01, 0x3a, 0x41, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, + 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6f, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x62, 0x61, + 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xca, 0x03, + 0x0a, 0x17, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xb1, 0x01, 0xda, 0x41, 0x31, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x2c, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, - 0x3a, 0x15, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x2f, 0x7b, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, - 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd2, 0x39, 0x0a, 0x1b, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xbd, 0x03, 0x0a, 0x10, 0x41, 0x62, 0x61, - 0x6e, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, + 0x22, 0xb7, 0x02, 0xda, 0x41, 0x63, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0xb7, 0x01, 0x3a, 0x3d, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x76, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x7d, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, + 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb8, 0x03, 0x0a, 0x0f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x49, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb8, 0x02, - 0xda, 0x41, 0x67, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x02, + 0xda, 0x41, 0x66, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0xb4, 0x01, 0x3a, 0x41, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xca, 0x03, 0x0a, 0x17, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x02, 0xda, 0x41, - 0x63, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0xb2, 0x01, 0x3a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb7, 0x01, 0x3a, 0x3d, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x61, - 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x76, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x61, 0x70, - 0x70, 0x6c, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x54, 0x6f, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xb8, 0x03, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x02, 0xda, 0x41, 0x66, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x3a, 0x40, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, - 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0x92, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x8a, 0x4e, 0x10, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x2a, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x72, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x2a, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, 0xb8, 0x03, 0x0a, 0x0f, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x49, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x02, + 0xda, 0x41, 0x66, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0xb2, 0x01, 0x3a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, 0xb8, 0x03, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xd5, 0x03, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x12, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x02, 0xda, 0x41, 0x67, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xbc, + 0x01, 0x3a, 0x41, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x77, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x84, 0x02, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb5, 0x02, 0xda, 0x41, 0x66, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x22, 0x8e, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x60, 0x12, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x3a, 0x40, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, - 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, - 0x12, 0xd5, 0x03, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x52, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, - 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x67, 0x65, 0x72, 0x7d, 0x12, 0xa3, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, + 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x02, 0xda, 0x41, 0x67, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xda, 0x41, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xbc, 0x01, 0x3a, 0x41, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x77, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x84, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x74, - 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0x8e, - 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x12, - 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, - 0xa3, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x68, 0x3a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5e, 0xda, + 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xb7, 0x02, + 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xb2, 0x01, 0xda, 0x41, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x3a, 0x1f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x45, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0xda, 0x41, + 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x12, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, 0x73, + 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0xd8, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x12, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0xda, + 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x22, 0x73, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, + 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0xe0, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x51, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0xa5, 0x01, + 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x77, 0x22, 0x75, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5e, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x12, 0xb7, 0x02, 0x0a, 0x0a, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x46, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, + 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xd2, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe3, 0x01, 0xda, 0x41, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x3a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x12, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, + 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, 0xd0, 0x03, 0x0a, 0x17, 0x50, + 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x02, + 0xda, 0x41, 0x66, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x12, 0xd8, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4f, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x49, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0xba, 0x01, 0x3a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x22, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xe0, 0x02, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0xa5, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x77, 0x22, 0x75, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, - 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x50, 0x65, - 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x12, 0xd2, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xe3, 0x01, 0xda, 0x41, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x81, 0x01, 0x3a, 0x1f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x76, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x7d, 0x12, 0xd0, 0x03, 0x0a, 0x17, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, - 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x12, 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbd, 0x02, 0xda, 0x41, 0x66, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xba, 0x01, 0x3a, 0x40, + 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xae, 0x03, + 0x0a, 0x11, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0xda, 0x41, 0x5e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x76, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, - 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0xae, 0x03, 0x0a, 0x11, 0x52, 0x65, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x4b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, + 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0xac, 0x01, 0x3a, 0x38, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x70, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x9e, + 0x02, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xad, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x73, 0x69, 0x7a, 0x65, 0x8a, + 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x22, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, + 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, + 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, + 0xbc, 0x03, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x02, 0xda, 0x41, 0x62, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x3a, 0x3c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, + 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x72, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0xb5, + 0x03, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, + 0x73, 0x12, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xa7, 0x02, 0xda, 0x41, 0x5e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0xb4, 0x02, 0xda, 0x41, 0x66, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xac, 0x01, 0x3a, 0x38, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x72, 0x65, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x70, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0xb1, 0x01, 0x3a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x9e, 0x02, 0x0a, 0x06, 0x52, 0x65, - 0x73, 0x69, 0x7a, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xad, 0x01, 0xda, 0x41, 0x2a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x73, 0x69, 0x7a, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x67, 0x22, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x69, 0x7a, 0x65, 0x12, 0xbc, 0x03, 0x0a, 0x13, 0x53, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x02, 0xda, 0x41, 0x62, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb2, 0x01, 0x3a, 0x3c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xd5, 0x03, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x12, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x02, 0xda, 0x41, + 0x67, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x72, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0xbc, 0x01, 0x3a, 0x41, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x77, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0xb5, 0x03, 0x0a, 0x0e, 0x53, 0x65, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x48, 0x2e, 0x67, + 0x61, 0x67, 0x65, 0x72, 0x7d, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x72, + 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x32, 0xc7, 0x0a, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xde, 0x01, 0x0a, 0x03, + 0x47, 0x65, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x22, 0x77, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xcb, 0x01, 0x0a, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x57, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x86, 0x03, 0x0a, 0x0d, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb4, 0x02, 0xda, 0x41, 0x66, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x72, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb1, 0x01, - 0x3a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, - 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x6d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x73, 0x12, 0xd5, 0x03, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x52, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, - 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x02, 0xda, 0x41, 0x67, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xbc, 0x01, 0x3a, 0x41, 0x72, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xf5, 0x01, 0xda, 0x41, + 0x54, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x77, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x7d, - 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc7, 0x0a, - 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xde, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x36, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x77, - 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x57, 0xda, 0x41, - 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x86, 0x03, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x22, 0xf5, 0x01, 0xda, 0x41, 0x54, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x97, 0x01, 0x3a, 0x36, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, - 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, - 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x82, - 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, - 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x02, 0xda, 0x41, 0x55, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x98, 0x01, 0x3a, 0x37, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x97, 0x01, 0x3a, 0x36, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, - 0x72, 0x74, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xe6, 0x08, 0x0a, 0x17, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x93, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x2a, - 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xee, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x22, 0x80, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, - 0x12, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x91, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0xda, 0x41, 0x29, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x1a, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0xce, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x5a, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0x82, 0x03, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, + 0x50, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x02, 0xda, 0x41, + 0x55, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x98, 0x01, + 0x3a, 0x37, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x72, 0xca, 0x41, - 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x32, 0xb4, 0x03, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x73, 0x12, 0xac, 0x02, 0x0a, 0x0a, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, - 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x26, 0x62, 0x75, 0x6c, 0x6b, 0x5f, 0x69, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x44, 0x2f, + 0x6e, 0x63, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xe6, 0x08, 0x0a, + 0x17, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x57, 0x2a, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xee, 0x01, 0x0a, 0x03, + 0x47, 0x65, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x80, 0x01, 0xda, 0x41, 0x20, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x12, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x7d, 0x12, 0x91, 0x02, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0xda, 0x41, 0x29, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x5f, 0x3a, 0x1a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x62, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb0, 0x09, 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x2a, 0x5e, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x12, 0xce, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5a, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb4, 0x03, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xac, 0x02, 0x0a, 0x0a, 0x42, 0x75, + 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x62, 0x75, 0x6c, 0x6b, 0x5f, + 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x26, 0x62, 0x75, 0x6c, 0x6b, + 0x5f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x62, 0x75, + 0x6c, 0x6b, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa4, 0x13, 0x0a, + 0x1b, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xcd, 0x03, 0x0a, + 0x16, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0x84, 0x02, 0x0a, - 0x03, 0x47, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x02, + 0xda, 0x41, 0x66, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0xb9, 0x01, 0x3a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x75, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x92, 0x02, 0x0a, + 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x22, 0x8e, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, + 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x60, 0x2a, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x7d, 0x12, 0xcd, 0x03, 0x0a, 0x16, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x50, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x63, 0x68, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xbc, 0x02, 0xda, 0x41, 0x66, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x60, 0x12, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xb9, 0x01, 0x3a, 0x40, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x75, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x64, 0x65, 0x74, 0x61, 0x63, + 0x68, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x12, 0x84, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x8e, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x7d, 0x12, 0xa3, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xda, 0x41, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x68, 0x3a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x04, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5e, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, - 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xf2, 0x27, 0x0a, 0x1d, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xeb, 0x02, 0x0a, - 0x0e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe9, - 0x01, 0xda, 0x41, 0x43, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x89, - 0x01, 0x3a, 0x24, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xc7, 0x02, 0x0a, 0x07, 0x41, - 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd3, - 0x01, 0xda, 0x41, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x12, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, - 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0x93, 0x02, 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, - 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, - 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x22, 0x5d, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, - 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x06, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xda, - 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x2a, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xeb, 0x01, - 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, + 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x12, 0xa3, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x7b, - 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x12, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0x9c, 0x02, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, - 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, 0x12, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x01, 0xda, 0x41, 0x2e, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x68, 0x3a, 0x1f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x41, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xb7, 0x02, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x47, 0x65, - 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, 0xda, 0x41, 0x16, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x56, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x67, - 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xf4, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xda, + 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5e, 0xda, 0x41, 0x0e, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0xd1, 0x02, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x12, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0x7a, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x5a, 0x12, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xa3, 0x01, 0xda, 0x41, 0x25, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x22, 0x73, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x2f, 0x7b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x7d, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, + 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x32, 0xf2, 0x27, 0x0a, 0x1d, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xeb, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe9, 0x01, 0xda, 0x41, 0x43, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x89, 0x01, 0x3a, 0x24, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0xc7, 0x02, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd3, 0x01, 0xda, 0x41, 0x3c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x7b, 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, - 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x80, 0x02, 0x0a, 0x07, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x83, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x93, 0x02, + 0x0a, 0x0a, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x5f, 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x63, 0x6c, 0x6f, 0x6e, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x80, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x41, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x54, 0x2a, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x91, - 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x9f, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x3a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3e, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x7b, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, + 0x12, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x12, 0xd1, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x59, 0xda, 0x41, 0x0e, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xb1, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x7d, 0x12, 0x9c, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8a, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x18, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, - 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xcd, 0x02, 0x0a, 0x09, 0x50, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xd5, 0x01, 0xda, 0x41, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, 0x1d, 0x66, - 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, - 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xa8, 0x02, 0x0a, 0x11, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x22, - 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x93, 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x99, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x22, 0x5d, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, - 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, - 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xbc, 0x02, 0x0a, 0x0c, - 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x47, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xc1, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7e, 0x3a, 0x22, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x63, + 0x12, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xde, 0x02, 0x0a, 0x12, 0x54, - 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, - 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xc6, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, 0x01, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5e, 0x2f, 0x63, 0x6f, + 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0xb7, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x50, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x77, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x67, 0x65, 0x74, 0x45, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0xf4, 0x01, + 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x47, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x7a, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5a, 0x12, 0x58, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x80, 0x02, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x22, 0x83, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, - 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, - 0xaa, 0x09, 0x0a, 0x1b, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x90, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x9f, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x5f, 0x2a, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x7d, 0x12, 0x82, 0x02, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, + 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x91, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x27, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, + 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x3a, + 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xd1, 0x01, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x59, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, + 0xb1, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xc1, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2c, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x18, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, + 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, + 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x7d, 0x12, 0xcd, 0x02, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, + 0x65, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd5, 0x01, 0xda, 0x41, + 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, 0x1d, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0xa8, 0x02, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x8c, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x12, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0xda, 0x41, + 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, + 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x22, 0x64, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, - 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x7d, 0x12, 0xa1, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, + 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, + 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x93, + 0x02, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x45, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, + 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x1e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x66, 0x69, 0x72, + 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x12, 0xbc, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, + 0xc1, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x7e, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, + 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x12, 0xde, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc6, 0x01, 0xda, 0x41, + 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, + 0x01, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x5e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x69, 0x72, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xaa, 0x09, 0x0a, 0x1b, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x90, 0x02, 0x0a, 0x06, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5e, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x24, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x2a, 0x5d, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x7d, 0x12, 0x82, 0x02, 0x0a, 0x03, + 0x47, 0x65, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x22, 0x8c, 0x01, 0xda, 0x41, 0x24, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x5f, 0x12, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, - 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc7, 0x07, 0x0a, - 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0xe2, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x67, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x7d, + 0x12, 0xa1, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xb0, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x67, 0x3a, 0x1e, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x45, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x5e, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xc7, 0x07, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe2, 0x01, 0x0a, 0x06, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0xda, 0x41, 0x18, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, + 0xcb, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x6c, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x90, 0x4e, 0x01, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xb9, 0x01, + 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x53, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcf, 0x01, 0x0a, 0x04, 0x57, 0x61, + 0x69, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x69, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x2a, 0x46, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xcb, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6c, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x90, 0x4e, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x12, 0x46, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xb9, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x61, 0x69, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, + 0x8d, 0x14, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xc0, 0x02, 0x0a, 0x07, 0x41, + 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x53, 0xda, 0x41, 0x0e, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0xcf, 0x01, 0x0a, 0x04, 0x57, 0x61, 0x69, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x6e, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x22, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd3, 0x01, 0xda, 0x41, 0x3c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x7b, 0x3a, 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0xf9, 0x01, + 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x2a, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x61, - 0x69, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xf6, 0x0a, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0xf9, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x67, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x03, 0x47, 0x65, + 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0x7b, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x12, 0x52, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, + 0x12, 0xf9, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x01, 0xda, - 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x2a, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xe4, 0x01, - 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x7b, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x83, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x54, - 0x12, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, + 0x12, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x7d, 0x12, 0x8a, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, - 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x69, 0x63, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x8a, 0x02, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, + 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x3a, 0x18, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xca, 0x01, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x59, 0xda, 0x41, 0x0e, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xaa, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x9f, 0x01, 0xda, 0x41, 0x27, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0xc1, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x5c, 0x3a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x18, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, + 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0xca, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x59, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x63, + 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x7d, 0x12, 0xc6, 0x02, 0x0a, 0x09, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, + 0x65, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, + 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd5, 0x01, 0xda, 0x41, 0x3c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x3a, + 0x1d, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x7d, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x8c, 0x02, 0x0a, + 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x3e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x99, 0x01, 0xda, 0x41, 0x1e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xaa, - 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc1, 0x01, 0xda, 0x41, 0x37, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x18, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x52, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, + 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, @@ -169108,7 +176841,7 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x32, 0x96, 0x12, 0x0a, 0x07, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0xbb, + 0x72, 0x6d, 0x32, 0xf6, 0x13, 0x0a, 0x07, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0xbb, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, @@ -169145,7 +176878,21 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x72, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x4d, + 0x74, 0x65, 0x72, 0x7d, 0x12, 0xdd, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x49, + 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x74, 0x49, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6d, 0xda, 0x41, 0x15, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x7b, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x49, 0x70, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0xf5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x61, 0x74, 0x4d, 0x61, 0x70, 0x70, 0x69, @@ -169664,2055 +177411,2133 @@ var file_google_cloud_compute_v1_compute_proto_rawDesc = []byte{ 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x32, 0xa9, 0x0f, 0x0a, 0x09, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x68, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, - 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x03, 0x47, - 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x22, 0x55, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, - 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x0c, 0x47, 0x65, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, + 0x6f, 0x72, 0x6d, 0x32, 0xb7, 0x04, 0x0a, 0x17, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xae, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x12, 0xf6, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x22, 0x62, 0xda, 0x41, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xd7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x11, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2f, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, - 0x9f, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x41, - 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, - 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x12, 0x91, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xa9, 0x01, 0xda, 0x41, 0x33, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6d, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x9e, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x54, 0x3a, 0x1a, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x32, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa9, 0x0f, + 0x0a, 0x09, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x33, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x22, 0x67, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x44, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xb2, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, - 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xda, 0x41, 0x10, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x2a, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x7d, 0x12, 0xac, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2b, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, 0xda, 0x41, - 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, - 0xb6, 0x09, 0x0a, 0x0f, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x06, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, - 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xcc, 0x01, 0x0a, - 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x55, 0xda, 0x41, + 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, + 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, + 0x6f, 0x74, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x22, 0x69, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x63, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xf2, 0x01, 0x0a, 0x06, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x62, 0xda, 0x41, 0x10, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0xd7, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x79, + 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x6e, 0x61, 0x70, 0x73, + 0x68, 0x6f, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x3a, 0x11, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6e, 0x61, 0x70, + 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x41, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x12, 0x91, 0x02, 0x0a, 0x0c, + 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x8d, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, - 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, - 0x18, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, - 0x12, 0xb1, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0xa9, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x6d, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x9e, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x31, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x33, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6a, 0x3a, 0x22, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x44, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0xb2, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x72, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x6e, + 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb6, 0x09, 0x0a, 0x0f, 0x53, 0x73, + 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0xd3, 0x01, + 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x73, 0x12, 0xe0, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, + 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, - 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xcf, 0x0c, 0x0a, 0x0b, 0x53, 0x73, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2f, + 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xcc, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, - 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0xda, 0x41, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x40, 0x2a, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5b, 0xda, - 0x41, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x06, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x69, 0xda, 0x41, 0x17, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x7d, 0x12, 0xf2, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xda, 0x41, 0x1b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x48, 0x3a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, - 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xa6, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0xda, 0x41, 0x20, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x18, 0x73, 0x73, 0x6c, 0x5f, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x43, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, + 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x1a, 0x72, + 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x32, 0xcf, 0x0c, 0x0a, 0x0b, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, - 0x43, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x33, 0x12, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x12, 0xf7, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x40, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x53, 0x73, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x59, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xf5, - 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0xda, - 0x41, 0x26, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x55, 0x3a, 0x13, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xdd, 0x19, 0x0a, 0x0b, 0x53, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xcd, 0x01, + 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xdf, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xee, 0x02, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x61, 0x6e, - 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, - 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01, - 0xda, 0x41, 0x4b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, - 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8f, 0x01, 0x3a, 0x31, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x70, 0x5f, - 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, - 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0xc7, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, - 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x22, 0x6c, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x75, 0xda, 0x41, 0x17, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x53, 0x2f, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0xda, + 0x41, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x2a, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x12, 0xf1, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x30, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, 0x12, 0xb4, 0x01, + 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, + 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x5b, 0xda, 0x41, 0x12, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, - 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, 0x0e, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, + 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xda, 0x41, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x3a, 0x13, 0x73, + 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, - 0xd1, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x35, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, - 0x52, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x87, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xda, 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x13, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x32, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, - 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xa6, 0x02, - 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, + 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xa6, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0xbc, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x3a, 0x22, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x93, 0x03, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x50, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x02, 0xda, 0x41, - 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x3a, 0x39, - 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0xc7, 0x02, 0x0a, - 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, - 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7e, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x73, 0x6c, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x43, 0xda, 0x41, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, - 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x9e, 0x0a, 0x0a, 0x11, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, - 0x12, 0xe8, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xf7, + 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0xda, + 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, + 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0xf5, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, - 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x22, 0x6f, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x7d, 0x12, 0xf9, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x35, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, - 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb6, - 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, - 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x49, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x9d, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, - 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x3a, 0x1a, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa4, 0x0e, 0x0a, 0x11, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, - 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, - 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xe8, 0x01, 0x0a, - 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x97, 0x01, 0xda, 0x41, 0x26, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2c, 0x73, + 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x13, 0x73, 0x73, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x32, 0x3e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x73, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x7d, + 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xdd, 0x19, 0x0a, 0x0b, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, - 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x6f, 0xda, - 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xf9, - 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xdf, + 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, - 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x49, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, - 0x69, 0x65, 0x73, 0x12, 0x9d, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x34, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, - 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x3a, 0x1a, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x7d, 0x12, 0xa8, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, - 0x70, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0xbc, 0x01, 0xda, 0x41, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x75, - 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x6c, 0x3a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, - 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x1a, 0x72, - 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x32, 0xa2, 0x1a, 0x0a, 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, - 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4e, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xec, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, - 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x2a, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xd9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x33, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x72, - 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x7d, 0x12, 0xfd, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x36, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0xda, 0x41, 0x23, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x1b, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x4a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xa3, - 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, - 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x3a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x7d, 0x12, 0x8a, 0x03, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, - 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x8d, 0x02, 0xda, 0x41, 0x54, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, - 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x9c, 0x01, 0x3a, 0x39, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x5f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, - 0x73, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, - 0x70, 0x12, 0x80, 0x03, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x7f, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x8a, 0x4e, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, + 0x12, 0xee, 0x02, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, + 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x02, 0xda, 0x41, 0x52, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x98, 0x01, 0x3a, 0x37, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x2e, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01, 0xda, 0x41, 0x4b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, + 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x8f, 0x01, 0x3a, 0x31, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x70, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x5f, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x12, 0x88, 0x03, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, - 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x02, 0xda, 0x41, 0x55, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x97, 0x01, 0x3a, 0x3a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, - 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, - 0xc2, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, - 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xcf, 0x01, 0xda, 0x41, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x79, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7b, 0x3a, 0x1d, 0x73, 0x73, 0x6c, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0xac, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, - 0x61, 0x70, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, - 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x49, 0x70, 0x43, 0x69, 0x64, 0x72, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0xc7, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x6c, 0xda, + 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4a, 0x12, 0x48, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x55, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xdf, 0x09, 0x0a, 0x0f, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x0e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x73, 0x12, 0xea, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, + 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xde, 0x01, 0x0a, 0x0c, + 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x2a, - 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0xd7, - 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x22, 0x74, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0xfb, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, - 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x75, 0xda, 0x41, 0x17, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, + 0x67, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xf1, 0x01, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, - 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, - 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, - 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xbc, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x22, 0x52, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, - 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, - 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, - 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x8b, 0x19, 0x0a, 0x0b, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xe1, 0x02, 0x0a, 0x0e, 0x41, 0x64, - 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x38, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf0, 0x01, 0xda, 0x41, 0x49, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x8a, 0x01, 0x3a, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, + 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x3a, 0x13, + 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, - 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x61, - 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0xd0, 0x02, - 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xe5, 0x01, 0xda, 0x41, 0x45, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x83, 0x01, 0x3a, 0x2a, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, - 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, - 0x6f, 0x6f, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xe2, 0x01, 0x0a, 0x06, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, 0xda, 0x41, - 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x8a, 0x4e, 0x10, 0x52, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x4b, 0x2a, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x12, - 0xc9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0x6e, 0xda, 0x41, 0x1a, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, - 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x12, 0xa7, 0x02, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x12, 0xb6, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, - 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, - 0x6c, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x72, 0x3a, 0x1b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0xf3, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, - 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, - 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, - 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xf0, 0x02, 0x0a, 0x11, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf9, 0x01, 0xda, 0x41, - 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, - 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x90, 0x01, 0x3a, 0x31, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, - 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0xdf, 0x02, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, - 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xee, 0x01, 0xda, 0x41, 0x48, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x89, 0x01, - 0x3a, 0x2d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xa7, 0x02, 0x0a, 0x09, 0x53, 0x65, - 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xc0, 0x01, 0xda, 0x41, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, - 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x70, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa3, 0x16, 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xe3, 0x01, 0x0a, - 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, + 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0xd1, 0x01, 0x0a, 0x0a, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x52, 0xda, 0x41, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x42, 0x12, 0x40, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x87, 0x02, + 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0xda, + 0x41, 0x2d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5f, 0x3a, 0x13, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x48, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x12, 0xa6, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, + 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0xbc, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x93, 0x03, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, + 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x7f, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x2a, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8e, 0x02, 0xda, 0x41, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x2c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x5f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, + 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9e, 0x01, 0x3a, 0x39, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x5f, 0x69, 0x70, 0x5f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x61, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, + 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0xc7, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, + 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x6c, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, - 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, + 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x7e, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, 0x65, + 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x9e, 0x0a, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, + 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x06, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x21, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, - 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x82, 0x01, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x6f, 0xda, 0x41, 0x19, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, + 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, + 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, + 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xf9, 0x01, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, + 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x93, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x55, 0x3a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, + 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x49, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x12, 0x9d, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x69, 0x3a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x32, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb3, 0x01, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x12, 0xfe, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x74, 0x47, 0x72, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x7d, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa4, 0x0e, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x0e, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, - 0xda, 0x41, 0x50, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x3a, 0x37, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0xfe, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0xda, + 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x4d, 0x2a, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x7d, 0x12, 0xd4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x4d, 0x61, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x6f, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x12, 0x4b, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, + 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, + 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xf9, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, - 0x02, 0xda, 0x41, 0x50, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x3a, 0x37, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x4d, 0x61, 0x70, 0x12, 0xef, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, - 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x93, + 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x3a, + 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x37, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, + 0x78, 0x69, 0x65, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x49, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0x9d, 0x02, + 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, + 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xb9, 0x01, 0xda, 0x41, 0x34, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x69, 0x3a, 0x1a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, + 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x32, 0x4b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xa8, 0x02, + 0x0a, 0x09, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x38, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x01, 0xda, 0x41, 0x4d, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, - 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x90, 0x01, 0x3a, 0x34, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x83, 0x03, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x73, - 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x40, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbc, 0x01, 0xda, 0x41, 0x34, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, + 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6c, 0x3a, 0x1a, 0x75, 0x72, + 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4e, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa2, 0x1a, 0x0a, + 0x12, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x4e, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x12, 0xec, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4f, 0x2a, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, + 0x12, 0xd9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x22, 0x72, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xfd, 0x01, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x86, 0x02, 0xda, 0x41, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, - 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x98, 0x01, 0x3a, 0x38, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, + 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb9, 0x01, 0x0a, + 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, + 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4a, 0xda, 0x41, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x12, 0x38, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, - 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, - 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x73, 0x6c, - 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0xba, 0x02, 0x0a, - 0x0c, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, + 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xa3, 0x02, 0x0a, 0x05, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, + 0x63, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbe, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x73, 0x73, 0x6c, 0x5f, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x77, 0x3a, 0x1d, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, - 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, - 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb7, 0x0f, - 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x12, 0xd5, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x02, 0x6c, 0x3a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, + 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0x8a, + 0x03, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x4d, 0x61, 0x70, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x02, 0xda, 0x41, + 0x54, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x9c, 0x01, 0x3a, + 0x39, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5f, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x80, 0x03, 0x0a, 0x0f, + 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, + 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x51, 0x75, 0x69, + 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, + 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x02, 0xda, 0x41, 0x52, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x71, 0x75, + 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x98, 0x01, 0x3a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, + 0x5f, 0x71, 0x75, 0x69, 0x63, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x5d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, + 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, + 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x51, 0x75, 0x69, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x88, + 0x03, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, + 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x02, + 0xda, 0x41, 0x55, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x97, 0x01, 0x3a, 0x3a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x06, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x7f, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, 0x10, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x2a, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, - 0x12, 0xcf, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, + 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0xc2, 0x02, 0x0a, 0x0c, 0x53, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x22, 0x6c, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, - 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x7d, 0x12, 0xf5, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcf, 0x01, 0xda, + 0x41, 0x38, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x73, 0x73, 0x6c, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x7b, 0x3a, 0x1d, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x5a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, - 0x12, 0xfe, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0xac, + 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x12, 0x39, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0xda, 0x41, - 0x50, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, - 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x3a, 0x37, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, - 0x73, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, - 0x73, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0xef, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x01, 0xda, 0x41, 0x4d, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, - 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x90, 0x01, 0x3a, 0x34, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, - 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, - 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, - 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xec, 0x0c, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xd9, 0x01, - 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, - 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, 0x72, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, 0x41, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, - 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xfc, 0x01, 0x0a, 0x06, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xbf, 0x01, 0xda, 0x41, + 0x35, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x75, 0x72, 0x6c, 0x5f, + 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6e, 0x3a, + 0x1a, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x1a, 0x72, 0xca, + 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x32, 0xbc, 0x0c, 0x0a, 0x0f, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xd3, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, + 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, + 0x12, 0x39, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xea, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x95, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, - 0x2a, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, - 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x22, 0x85, 0x01, 0xda, 0x41, 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, + 0x6e, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x2a, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x12, 0xd7, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, + 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x22, 0x82, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x56, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, - 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, 0x8d, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, - 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0xda, - 0x41, 0x2a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x60, 0x3a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, - 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x22, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, + 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x74, 0xda, 0x41, + 0x1c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x7d, 0x12, 0xfb, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0xda, 0x41, 0x25, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x8a, 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x57, 0x3a, 0x18, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, + 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, + 0x12, 0xbc, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x52, 0xda, 0x41, 0x0c, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0xda, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5a, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, - 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, - 0x12, 0xbf, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x39, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, - 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7c, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x2f, 0x63, 0x6f, 0x6d, + 0x53, 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xdf, 0x01, 0xda, 0x41, 0x3f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2c, 0x73, 0x65, 0x63, + 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x85, 0x01, 0x3a, 0x22, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5f, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x72, 0xca, 0x41, + 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x32, 0xe0, 0x1b, 0x0a, 0x0b, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, + 0x12, 0xe1, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, + 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xf0, 0x01, 0xda, 0x41, 0x49, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, + 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8a, 0x01, 0x3a, 0x2e, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x68, 0x65, 0x61, + 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x9e, 0x10, 0x0a, 0x07, 0x55, 0x72, 0x6c, 0x4d, 0x61, - 0x70, 0x73, 0x12, 0xbc, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x43, 0xda, 0x41, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, - 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x73, 0x12, 0xc0, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, - 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, - 0x61, 0x70, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x2a, 0x37, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x5f, - 0x6d, 0x61, 0x70, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x22, 0x51, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x39, 0x12, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, - 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x06, - 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x10, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x12, - 0xa6, 0x02, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb7, - 0x01, 0xda, 0x41, 0x30, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, - 0x6d, 0x61, 0x70, 0x2c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x3a, 0x20, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x3f, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, - 0x4d, 0x61, 0x70, 0x73, 0x12, 0xe2, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2b, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x55, 0x72, - 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x12, 0xd0, 0x02, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x64, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x87, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, - 0x5f, 0x6d, 0x61, 0x70, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x10, - 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x32, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0xe5, 0x01, 0xda, 0x41, 0x45, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, + 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x83, 0x01, 0x3a, 0x2a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x73, 0x5f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x55, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, - 0x7b, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x06, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x2c, 0x75, 0x72, 0x6c, 0x5f, - 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, - 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, - 0x12, 0x90, 0x02, 0x0a, 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xa1, 0x01, 0xda, 0x41, 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, - 0x5f, 0x6d, 0x61, 0x70, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x22, 0x75, - 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x40, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, - 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0x9f, 0x10, 0x0a, 0x0b, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, + 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x61, 0x64, 0x64, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, + 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xe2, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, 0x6e, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x2a, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2d, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x22, 0x6e, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x22, 0x6e, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x7d, 0x12, 0xf1, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x7d, 0x12, 0xa7, 0x02, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x47, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0xda, 0x41, - 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x55, 0x12, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x22, 0xb1, 0x01, 0xda, 0x41, 0x36, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x72, 0x3a, 0x1b, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, + 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0xf3, 0x01, 0x0a, + 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, + 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, + 0x14, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0xf0, 0x02, 0x0a, 0x11, + 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xf9, 0x01, 0xda, 0x41, 0x4c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, + 0x6f, 0x6c, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x90, 0x01, 0x3a, 0x31, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, - 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0xf3, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, - 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x7b, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0xdf, + 0x02, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0xee, 0x01, 0xda, 0x41, 0x48, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x89, 0x01, 0x3a, 0x2d, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, + 0x6f, 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, + 0x7d, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0xa7, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x33, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x14, 0x76, 0x70, 0x6e, 0x5f, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, - 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, - 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xb6, 0x01, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x34, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x70, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, + 0x6c, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, + 0x2f, 0x73, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0xd2, 0x02, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xdb, 0x01, 0xda, 0x41, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, + 0x6c, 0x2c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x81, 0x01, 0x3a, 0x22, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, + 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, + 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x32, 0xa3, 0x16, 0x0a, 0x10, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, + 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xda, + 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4b, 0x2a, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xcf, + 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x22, 0x6c, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, + 0x12, 0xf5, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, + 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, + 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xfe, + 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0xda, 0x41, 0x50, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, + 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, + 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, + 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x3a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xfe, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x53, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x70, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, - 0x54, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xb3, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0xda, 0x41, 0x50, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, + 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x3a, 0x37, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, + 0x65, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x70, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x70, + 0x12, 0xef, 0x02, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 0x01, 0xda, - 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x76, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, - 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xc7, 0x02, 0x0a, 0x12, - 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, - 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x56, - 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xc0, 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, - 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7e, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, + 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xfa, 0x01, 0xda, 0x41, 0x4d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x90, 0x01, 0x3a, 0x34, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x83, 0x03, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x86, 0x02, 0xda, 0x41, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x98, 0x01, + 0x3a, 0x38, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x63, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x69, + 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, 0x6c, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x43, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x12, 0xba, 0x02, 0x0a, 0x0c, 0x53, 0x65, 0x74, + 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, 0xda, 0x41, 0x36, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, + 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x77, 0x3a, 0x1d, + 0x73, 0x73, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, 0x72, + 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x73, + 0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x53, 0x73, 0x6c, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xca, 0x0b, 0x0a, 0x0a, 0x56, 0x70, - 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xb7, 0x0f, 0x0a, 0x10, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xd5, + 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4c, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7f, 0xda, 0x41, 0x18, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, + 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4b, 0x2a, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xcf, 0x01, 0x0a, + 0x03, 0x47, 0x65, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x22, 0x6c, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x12, 0xf5, + 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x90, 0x01, 0xda, 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x53, 0x3a, 0x19, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x36, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, + 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x46, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x48, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x12, 0xfe, 0x02, 0x0a, + 0x11, 0x53, 0x65, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x42, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x02, 0xda, 0x41, 0x50, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, + 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x63, + 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, + 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x96, 0x01, 0x3a, 0x37, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, + 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x5b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, + 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, 0x63, + 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x42, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xef, 0x02, + 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x54, + 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0xfa, 0x01, 0xda, 0x41, 0x4d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x90, 0x01, 0x3a, + 0x34, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, + 0x69, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x54, 0x63, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x63, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x7d, + 0x2f, 0x73, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, + 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x32, 0xec, 0x0c, 0x0a, 0x11, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xd9, 0x01, 0x0a, 0x0e, 0x41, 0x67, + 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, + 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xfc, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0xda, + 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x2a, 0x56, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, + 0x7b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x7d, 0x12, 0xea, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x82, 0x01, 0xda, + 0x41, 0x21, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, - 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, - 0x61, 0x74, 0x65, 0x64, 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, - 0xdd, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x7d, 0x12, 0x8d, 0x02, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa6, 0x01, 0xda, 0x41, 0x2a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x60, 0x3a, 0x1b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x41, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x73, 0x12, 0xc8, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x54, 0x75, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x7e, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x8a, 0x4e, 0x10, - 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, + 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x5a, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x43, 0x12, 0x41, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xbf, 0x02, 0x0a, + 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0xda, 0x41, 0x3a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x7c, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x7d, 0x12, - 0xc4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x72, + 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x32, 0x9e, 0x10, 0x0a, 0x07, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x12, 0xbc, + 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, + 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x43, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x12, 0x31, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, + 0x67, 0x61, 0x74, 0x65, 0x64, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x12, 0xc0, 0x01, + 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x64, 0xda, 0x41, 0x0f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x8a, 0x4e, + 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x2a, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, + 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, + 0x12, 0xa4, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, + 0x6c, 0x4d, 0x61, 0x70, 0x22, 0x51, 0xda, 0x41, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, + 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, 0x75, + 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, + 0x72, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x75, 0xda, 0x41, 0x18, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x3a, 0x10, 0x75, 0x72, 0x6c, 0x5f, + 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2d, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x0f, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, + 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x63, 0x68, 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0xda, 0x41, 0x30, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x2c, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x6b, 0x3a, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, + 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x47, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x5f, + 0x6d, 0x61, 0x70, 0x7d, 0x2f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x12, 0x99, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x4d, + 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x3f, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x2f, 0x12, 0x2d, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, + 0x12, 0xe2, 0x01, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, 0x68, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x6b, 0xda, 0x41, 0x19, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, - 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, + 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, + 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x3a, 0x10, 0x75, 0x72, 0x6c, 0x5f, + 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x37, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, + 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6c, + 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x12, 0xe4, 0x01, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x87, 0x01, 0xda, 0x41, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x4b, 0x3a, 0x10, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x1a, 0x37, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, + 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x12, 0x90, 0x02, 0x0a, + 0x08, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0xda, 0x41, + 0x32, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, + 0x2c, 0x75, 0x72, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x66, 0x3a, 0x22, 0x75, 0x72, 0x6c, 0x5f, 0x6d, + 0x61, 0x70, 0x73, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x40, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x67, 0x6c, + 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x75, 0x72, 0x6c, 0x4d, 0x61, 0x70, 0x73, 0x2f, 0x7b, 0x75, 0x72, + 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x7d, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x1a, + 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x32, 0x9f, 0x10, 0x0a, 0x0b, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x56, + 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x47, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xe2, 0x01, + 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, + 0x01, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x8a, 0x4e, + 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x2a, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x6e, + 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, + 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x12, 0xf1, + 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x47, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0xda, 0x41, 0x1a, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x53, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, - 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, 0x74, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, + 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, + 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x7d, 0x2f, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0xf3, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x56, 0x70, + 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x92, 0x01, 0xda, 0x41, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, + 0x77, 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x53, 0x3a, 0x14, 0x76, 0x70, 0x6e, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3b, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, - 0x72, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x74, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, - 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, 0x3a, 0x13, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3a, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, - 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, + 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x54, 0xda, 0x41, 0x0e, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, + 0x73, 0x12, 0xb3, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, + 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x56, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcc, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, + 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x76, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, + 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0xc7, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x56, 0x70, 0x6e, 0x47, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, + 0x01, 0xda, 0x41, 0x39, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, 0x65, 0x73, 0x74, + 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x7e, 0x3a, 0x21, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x59, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x47, 0x61, 0x74, 0x65, 0x77, + 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, + 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xca, 0x0b, 0x0a, 0x0a, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x0e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x74, 0x1a, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, - 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x53, 0xda, 0x41, 0x0e, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3c, 0x12, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0x46, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, + 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, + 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xdd, 0x01, 0x0a, 0x06, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0xda, 0x41, 0x19, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, + 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, + 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x49, 0x2a, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xb1, - 0x02, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x3a, 0x22, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x4f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, - 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xa3, 0x07, 0x0a, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x06, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x63, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, - 0x2a, 0x42, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, - 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xc3, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, + 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, + 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x7d, 0x12, 0xc4, 0x01, 0x0a, 0x03, + 0x47, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x6b, 0xda, 0x41, 0x19, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x7d, 0x12, 0xef, 0x01, 0x0a, 0x06, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x12, 0x2f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x56, 0x70, + 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x66, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, - 0x6f, 0x6e, 0x65, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x90, 0x4e, 0x01, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x12, 0x42, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xb1, 0x01, 0x0a, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, - 0x4d, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, - 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc7, - 0x01, 0x0a, 0x04, 0x57, 0x61, 0x69, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x6e, 0x22, 0x8f, 0x01, 0xda, 0x41, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, + 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, + 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x51, 0x3a, 0x13, 0x76, 0x70, 0x6e, 0x5f, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3a, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x70, 0x6e, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, + 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, + 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x53, 0xda, 0x41, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x2c, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x12, 0x3a, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, + 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x76, 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xb1, 0x02, 0x0a, 0x09, 0x53, + 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x56, 0x70, 0x6e, 0x54, + 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0xcb, 0x01, 0xda, 0x41, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x2c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x8a, 0x4e, 0x10, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x75, 0x3a, 0x22, 0x72, 0x65, 0x67, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x5f, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, 0x2f, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x72, 0x65, + 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x76, + 0x70, 0x6e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x72, + 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x32, 0xa3, 0x07, 0x0a, 0x0e, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0xda, 0x41, 0x16, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x44, 0x2a, 0x42, 0x2f, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, + 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, + 0x12, 0xc3, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0xda, 0x41, 0x16, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, - 0x47, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x90, 0x4e, 0x01, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x44, 0x12, 0x42, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0xb1, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x5a, 0x6f, + 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4d, 0xda, 0x41, 0x0c, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x38, 0x12, 0x36, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc7, 0x01, 0x0a, 0x04, 0x57, + 0x61, 0x69, 0x74, 0x12, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x61, + 0x69, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0xda, 0x41, 0x16, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x2c, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x47, 0x2f, 0x63, 0x6f, + 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, + 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, + 0x77, 0x61, 0x69, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, + 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd1, 0x03, 0x0a, 0x05, 0x5a, 0x6f, 0x6e, + 0x65, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, + 0x6e, 0x65, 0x22, 0x42, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x7a, + 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, + 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x5a, 0x6f, + 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x36, 0xda, + 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, + 0x24, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, - 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x2f, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x7d, 0x2f, 0x77, 0x61, 0x69, 0x74, 0x1a, 0x72, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, + 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x72, 0x65, 0x61, + 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x32, 0xd1, 0x03, 0x0a, - 0x05, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x27, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x5a, 0x6f, 0x6e, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x22, 0x42, 0xda, 0x41, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2c, 0x7a, 0x6f, 0x6e, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, - 0x6e, 0x65, 0x73, 0x2f, 0x7b, 0x7a, 0x6f, 0x6e, 0x65, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x04, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x5a, 0x6f, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x22, 0x36, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x7d, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x73, 0x1a, 0xa4, 0x01, 0xca, 0x41, 0x16, 0x63, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x87, 0x01, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x72, 0x65, 0x61, 0x64, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, - 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x42, 0xa7, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x50, 0x01, 0x5a, 0x35, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x70, 0x62, 0x3b, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, - 0x75, 0x64, 0x5c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x43, - 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0xa7, 0x01, 0x0a, + 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x35, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x76, + 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x70, 0x62, 0x3b, 0x63, 0x6f, 0x6d, 0x70, + 0x75, 0x74, 0x65, 0x70, 0x62, 0xaa, 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x17, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x43, + 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x70, 0x75, + 0x74, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -171727,8 +179552,8 @@ func file_google_cloud_compute_v1_compute_proto_rawDescGZIP() []byte { return file_google_cloud_compute_v1_compute_proto_rawDescData } -var file_google_cloud_compute_v1_compute_proto_enumTypes = make([]protoimpl.EnumInfo, 283) -var file_google_cloud_compute_v1_compute_proto_msgTypes = make([]protoimpl.MessageInfo, 1450) +var file_google_cloud_compute_v1_compute_proto_enumTypes = make([]protoimpl.EnumInfo, 301) +var file_google_cloud_compute_v1_compute_proto_msgTypes = make([]protoimpl.MessageInfo, 1515) var file_google_cloud_compute_v1_compute_proto_goTypes = []interface{}{ (AccessConfig_NetworkTier)(0), // 0: google.cloud.compute.v1.AccessConfig.NetworkTier (AccessConfig_Type)(0), // 1: google.cloud.compute.v1.AccessConfig.Type @@ -171771,4287 +179596,4478 @@ var file_google_cloud_compute_v1_compute_proto_goTypes = []interface{}{ (BfdStatus_BfdSessionInitializationMode)(0), // 38: google.cloud.compute.v1.BfdStatus.BfdSessionInitializationMode (BfdStatus_LocalDiagnostic)(0), // 39: google.cloud.compute.v1.BfdStatus.LocalDiagnostic (BfdStatus_LocalState)(0), // 40: google.cloud.compute.v1.BfdStatus.LocalState - (Commitment_Category)(0), // 41: google.cloud.compute.v1.Commitment.Category - (Commitment_Plan)(0), // 42: google.cloud.compute.v1.Commitment.Plan - (Commitment_Status)(0), // 43: google.cloud.compute.v1.Commitment.Status - (Commitment_Type)(0), // 44: google.cloud.compute.v1.Commitment.Type - (Condition_Iam)(0), // 45: google.cloud.compute.v1.Condition.Iam - (Condition_Op)(0), // 46: google.cloud.compute.v1.Condition.Op - (Condition_Sys)(0), // 47: google.cloud.compute.v1.Condition.Sys - (DeprecationStatus_State)(0), // 48: google.cloud.compute.v1.DeprecationStatus.State - (Disk_Architecture)(0), // 49: google.cloud.compute.v1.Disk.Architecture - (Disk_Status)(0), // 50: google.cloud.compute.v1.Disk.Status - (DiskInstantiationConfig_InstantiateFrom)(0), // 51: google.cloud.compute.v1.DiskInstantiationConfig.InstantiateFrom - (DiskResourceStatusAsyncReplicationStatus_State)(0), // 52: google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus.State - (DistributionPolicy_TargetShape)(0), // 53: google.cloud.compute.v1.DistributionPolicy.TargetShape - (ExchangedPeeringRoute_Type)(0), // 54: google.cloud.compute.v1.ExchangedPeeringRoute.Type - (ExternalVpnGateway_RedundancyType)(0), // 55: google.cloud.compute.v1.ExternalVpnGateway.RedundancyType - (FileContentBuffer_FileType)(0), // 56: google.cloud.compute.v1.FileContentBuffer.FileType - (Firewall_Direction)(0), // 57: google.cloud.compute.v1.Firewall.Direction - (FirewallLogConfig_Metadata)(0), // 58: google.cloud.compute.v1.FirewallLogConfig.Metadata - (FirewallPolicyRule_Direction)(0), // 59: google.cloud.compute.v1.FirewallPolicyRule.Direction - (FirewallPolicyRuleSecureTag_State)(0), // 60: google.cloud.compute.v1.FirewallPolicyRuleSecureTag.State - (ForwardingRule_IPProtocolEnum)(0), // 61: google.cloud.compute.v1.ForwardingRule.IPProtocolEnum - (ForwardingRule_IpVersion)(0), // 62: google.cloud.compute.v1.ForwardingRule.IpVersion - (ForwardingRule_LoadBalancingScheme)(0), // 63: google.cloud.compute.v1.ForwardingRule.LoadBalancingScheme - (ForwardingRule_NetworkTier)(0), // 64: google.cloud.compute.v1.ForwardingRule.NetworkTier - (ForwardingRule_PscConnectionStatus)(0), // 65: google.cloud.compute.v1.ForwardingRule.PscConnectionStatus - (GRPCHealthCheck_PortSpecification)(0), // 66: google.cloud.compute.v1.GRPCHealthCheck.PortSpecification - (GuestOsFeature_Type)(0), // 67: google.cloud.compute.v1.GuestOsFeature.Type - (HTTP2HealthCheck_PortSpecification)(0), // 68: google.cloud.compute.v1.HTTP2HealthCheck.PortSpecification - (HTTP2HealthCheck_ProxyHeader)(0), // 69: google.cloud.compute.v1.HTTP2HealthCheck.ProxyHeader - (HTTPHealthCheck_PortSpecification)(0), // 70: google.cloud.compute.v1.HTTPHealthCheck.PortSpecification - (HTTPHealthCheck_ProxyHeader)(0), // 71: google.cloud.compute.v1.HTTPHealthCheck.ProxyHeader - (HTTPSHealthCheck_PortSpecification)(0), // 72: google.cloud.compute.v1.HTTPSHealthCheck.PortSpecification - (HTTPSHealthCheck_ProxyHeader)(0), // 73: google.cloud.compute.v1.HTTPSHealthCheck.ProxyHeader - (HealthCheck_Type)(0), // 74: google.cloud.compute.v1.HealthCheck.Type - (HealthCheckService_HealthStatusAggregationPolicy)(0), // 75: google.cloud.compute.v1.HealthCheckService.HealthStatusAggregationPolicy - (HealthStatus_HealthState)(0), // 76: google.cloud.compute.v1.HealthStatus.HealthState - (HealthStatus_WeightError)(0), // 77: google.cloud.compute.v1.HealthStatus.WeightError - (HealthStatusForNetworkEndpoint_HealthState)(0), // 78: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.HealthState - (HttpRedirectAction_RedirectResponseCode)(0), // 79: google.cloud.compute.v1.HttpRedirectAction.RedirectResponseCode - (Image_Architecture)(0), // 80: google.cloud.compute.v1.Image.Architecture - (Image_SourceType)(0), // 81: google.cloud.compute.v1.Image.SourceType - (Image_Status)(0), // 82: google.cloud.compute.v1.Image.Status - (Instance_KeyRevocationActionType)(0), // 83: google.cloud.compute.v1.Instance.KeyRevocationActionType - (Instance_PrivateIpv6GoogleAccess)(0), // 84: google.cloud.compute.v1.Instance.PrivateIpv6GoogleAccess - (Instance_Status)(0), // 85: google.cloud.compute.v1.Instance.Status - (InstanceGroupManager_ListManagedInstancesResults)(0), // 86: google.cloud.compute.v1.InstanceGroupManager.ListManagedInstancesResults - (InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair)(0), // 87: google.cloud.compute.v1.InstanceGroupManagerInstanceLifecyclePolicy.ForceUpdateOnRepair - (InstanceGroupManagerUpdatePolicy_InstanceRedistributionType)(0), // 88: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.InstanceRedistributionType - (InstanceGroupManagerUpdatePolicy_MinimalAction)(0), // 89: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.MinimalAction - (InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction)(0), // 90: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.MostDisruptiveAllowedAction - (InstanceGroupManagerUpdatePolicy_ReplacementMethod)(0), // 91: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.ReplacementMethod - (InstanceGroupManagerUpdatePolicy_Type)(0), // 92: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Type - (InstanceGroupManagersApplyUpdatesRequest_MinimalAction)(0), // 93: google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest.MinimalAction - (InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction)(0), // 94: google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest.MostDisruptiveAllowedAction - (InstanceGroupsListInstancesRequest_InstanceState)(0), // 95: google.cloud.compute.v1.InstanceGroupsListInstancesRequest.InstanceState - (InstanceManagedByIgmErrorInstanceActionDetails_Action)(0), // 96: google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails.Action - (InstanceProperties_KeyRevocationActionType)(0), // 97: google.cloud.compute.v1.InstanceProperties.KeyRevocationActionType - (InstanceProperties_PrivateIpv6GoogleAccess)(0), // 98: google.cloud.compute.v1.InstanceProperties.PrivateIpv6GoogleAccess - (InstanceWithNamedPorts_Status)(0), // 99: google.cloud.compute.v1.InstanceWithNamedPorts.Status - (InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type)(0), // 100: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.Type - (Interconnect_InterconnectType)(0), // 101: google.cloud.compute.v1.Interconnect.InterconnectType - (Interconnect_LinkType)(0), // 102: google.cloud.compute.v1.Interconnect.LinkType - (Interconnect_OperationalStatus)(0), // 103: google.cloud.compute.v1.Interconnect.OperationalStatus - (Interconnect_State)(0), // 104: google.cloud.compute.v1.Interconnect.State - (InterconnectAttachment_Bandwidth)(0), // 105: google.cloud.compute.v1.InterconnectAttachment.Bandwidth - (InterconnectAttachment_EdgeAvailabilityDomain)(0), // 106: google.cloud.compute.v1.InterconnectAttachment.EdgeAvailabilityDomain - (InterconnectAttachment_Encryption)(0), // 107: google.cloud.compute.v1.InterconnectAttachment.Encryption - (InterconnectAttachment_OperationalStatus)(0), // 108: google.cloud.compute.v1.InterconnectAttachment.OperationalStatus - (InterconnectAttachment_StackType)(0), // 109: google.cloud.compute.v1.InterconnectAttachment.StackType - (InterconnectAttachment_State)(0), // 110: google.cloud.compute.v1.InterconnectAttachment.State - (InterconnectAttachment_Type)(0), // 111: google.cloud.compute.v1.InterconnectAttachment.Type - (InterconnectAttachmentConfigurationConstraints_BgpMd5)(0), // 112: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints.BgpMd5 - (InterconnectDiagnostics_BundleAggregationType)(0), // 113: google.cloud.compute.v1.InterconnectDiagnostics.BundleAggregationType - (InterconnectDiagnostics_BundleOperationalStatus)(0), // 114: google.cloud.compute.v1.InterconnectDiagnostics.BundleOperationalStatus - (InterconnectDiagnosticsLinkLACPStatus_State)(0), // 115: google.cloud.compute.v1.InterconnectDiagnosticsLinkLACPStatus.State - (InterconnectDiagnosticsLinkOpticalPower_State)(0), // 116: google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower.State - (InterconnectDiagnosticsLinkStatus_OperationalStatus)(0), // 117: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.OperationalStatus - (InterconnectLocation_Continent)(0), // 118: google.cloud.compute.v1.InterconnectLocation.Continent - (InterconnectLocation_Status)(0), // 119: google.cloud.compute.v1.InterconnectLocation.Status - (InterconnectLocationRegionInfo_LocationPresence)(0), // 120: google.cloud.compute.v1.InterconnectLocationRegionInfo.LocationPresence - (InterconnectOutageNotification_IssueType)(0), // 121: google.cloud.compute.v1.InterconnectOutageNotification.IssueType - (InterconnectOutageNotification_Source)(0), // 122: google.cloud.compute.v1.InterconnectOutageNotification.Source - (InterconnectOutageNotification_State)(0), // 123: google.cloud.compute.v1.InterconnectOutageNotification.State - (InterconnectRemoteLocation_Continent)(0), // 124: google.cloud.compute.v1.InterconnectRemoteLocation.Continent - (InterconnectRemoteLocation_Lacp)(0), // 125: google.cloud.compute.v1.InterconnectRemoteLocation.Lacp - (InterconnectRemoteLocation_Status)(0), // 126: google.cloud.compute.v1.InterconnectRemoteLocation.Status - (InterconnectRemoteLocationConstraints_PortPairRemoteLocation)(0), // 127: google.cloud.compute.v1.InterconnectRemoteLocationConstraints.PortPairRemoteLocation - (InterconnectRemoteLocationConstraints_PortPairVlan)(0), // 128: google.cloud.compute.v1.InterconnectRemoteLocationConstraints.PortPairVlan - (LicenseCode_State)(0), // 129: google.cloud.compute.v1.LicenseCode.State - (ListPeeringRoutesNetworksRequest_Direction)(0), // 130: google.cloud.compute.v1.ListPeeringRoutesNetworksRequest.Direction - (LocationPolicy_TargetShape)(0), // 131: google.cloud.compute.v1.LocationPolicy.TargetShape - (LocationPolicyLocation_Preference)(0), // 132: google.cloud.compute.v1.LocationPolicyLocation.Preference - (LogConfigCloudAuditOptions_LogName)(0), // 133: google.cloud.compute.v1.LogConfigCloudAuditOptions.LogName - (LogConfigDataAccessOptions_LogMode)(0), // 134: google.cloud.compute.v1.LogConfigDataAccessOptions.LogMode - (MachineImage_Status)(0), // 135: google.cloud.compute.v1.MachineImage.Status - (ManagedInstance_CurrentAction)(0), // 136: google.cloud.compute.v1.ManagedInstance.CurrentAction - (ManagedInstance_InstanceStatus)(0), // 137: google.cloud.compute.v1.ManagedInstance.InstanceStatus - (ManagedInstanceInstanceHealth_DetailedHealthState)(0), // 138: google.cloud.compute.v1.ManagedInstanceInstanceHealth.DetailedHealthState - (MetadataFilter_FilterMatchCriteria)(0), // 139: google.cloud.compute.v1.MetadataFilter.FilterMatchCriteria - (Network_NetworkFirewallPolicyEnforcementOrder)(0), // 140: google.cloud.compute.v1.Network.NetworkFirewallPolicyEnforcementOrder - (NetworkAttachment_ConnectionPreference)(0), // 141: google.cloud.compute.v1.NetworkAttachment.ConnectionPreference - (NetworkAttachmentConnectedEndpoint_Status)(0), // 142: google.cloud.compute.v1.NetworkAttachmentConnectedEndpoint.Status - (NetworkEndpointGroup_NetworkEndpointType)(0), // 143: google.cloud.compute.v1.NetworkEndpointGroup.NetworkEndpointType - (NetworkEndpointGroupPscData_PscConnectionStatus)(0), // 144: google.cloud.compute.v1.NetworkEndpointGroupPscData.PscConnectionStatus - (NetworkEndpointGroupsListEndpointsRequest_HealthStatus)(0), // 145: google.cloud.compute.v1.NetworkEndpointGroupsListEndpointsRequest.HealthStatus - (NetworkInterface_Ipv6AccessType)(0), // 146: google.cloud.compute.v1.NetworkInterface.Ipv6AccessType - (NetworkInterface_NicType)(0), // 147: google.cloud.compute.v1.NetworkInterface.NicType - (NetworkInterface_StackType)(0), // 148: google.cloud.compute.v1.NetworkInterface.StackType - (NetworkPeering_StackType)(0), // 149: google.cloud.compute.v1.NetworkPeering.StackType - (NetworkPeering_State)(0), // 150: google.cloud.compute.v1.NetworkPeering.State - (NetworkPerformanceConfig_TotalEgressBandwidthTier)(0), // 151: google.cloud.compute.v1.NetworkPerformanceConfig.TotalEgressBandwidthTier - (NetworkRoutingConfig_RoutingMode)(0), // 152: google.cloud.compute.v1.NetworkRoutingConfig.RoutingMode - (NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type)(0), // 153: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy.Type - (NodeGroup_MaintenancePolicy)(0), // 154: google.cloud.compute.v1.NodeGroup.MaintenancePolicy - (NodeGroup_Status)(0), // 155: google.cloud.compute.v1.NodeGroup.Status - (NodeGroupAutoscalingPolicy_Mode)(0), // 156: google.cloud.compute.v1.NodeGroupAutoscalingPolicy.Mode - (NodeGroupNode_CpuOvercommitType)(0), // 157: google.cloud.compute.v1.NodeGroupNode.CpuOvercommitType - (NodeGroupNode_Status)(0), // 158: google.cloud.compute.v1.NodeGroupNode.Status - (NodeTemplate_CpuOvercommitType)(0), // 159: google.cloud.compute.v1.NodeTemplate.CpuOvercommitType - (NodeTemplate_Status)(0), // 160: google.cloud.compute.v1.NodeTemplate.Status - (Operation_Status)(0), // 161: google.cloud.compute.v1.Operation.Status - (PacketIntervals_Duration)(0), // 162: google.cloud.compute.v1.PacketIntervals.Duration - (PacketIntervals_Type)(0), // 163: google.cloud.compute.v1.PacketIntervals.Type - (PacketMirroring_Enable)(0), // 164: google.cloud.compute.v1.PacketMirroring.Enable - (PacketMirroringFilter_Direction)(0), // 165: google.cloud.compute.v1.PacketMirroringFilter.Direction - (PerInstanceConfig_Status)(0), // 166: google.cloud.compute.v1.PerInstanceConfig.Status - (PreservedStatePreservedDisk_AutoDelete)(0), // 167: google.cloud.compute.v1.PreservedStatePreservedDisk.AutoDelete - (PreservedStatePreservedDisk_Mode)(0), // 168: google.cloud.compute.v1.PreservedStatePreservedDisk.Mode - (Project_DefaultNetworkTier)(0), // 169: google.cloud.compute.v1.Project.DefaultNetworkTier - (Project_VmDnsSetting)(0), // 170: google.cloud.compute.v1.Project.VmDnsSetting - (Project_XpnProjectStatus)(0), // 171: google.cloud.compute.v1.Project.XpnProjectStatus - (ProjectsSetDefaultNetworkTierRequest_NetworkTier)(0), // 172: google.cloud.compute.v1.ProjectsSetDefaultNetworkTierRequest.NetworkTier - (PublicAdvertisedPrefix_Status)(0), // 173: google.cloud.compute.v1.PublicAdvertisedPrefix.Status - (PublicDelegatedPrefix_Status)(0), // 174: google.cloud.compute.v1.PublicDelegatedPrefix.Status - (PublicDelegatedPrefixPublicDelegatedSubPrefix_Status)(0), // 175: google.cloud.compute.v1.PublicDelegatedPrefixPublicDelegatedSubPrefix.Status - (Quota_Metric)(0), // 176: google.cloud.compute.v1.Quota.Metric - (QuotaExceededInfo_RolloutStatus)(0), // 177: google.cloud.compute.v1.QuotaExceededInfo.RolloutStatus - (RawDisk_ContainerType)(0), // 178: google.cloud.compute.v1.RawDisk.ContainerType - (Region_Status)(0), // 179: google.cloud.compute.v1.Region.Status - (RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction)(0), // 180: google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest.MinimalAction - (RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction)(0), // 181: google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest.MostDisruptiveAllowedAction - (RegionInstanceGroupsListInstancesRequest_InstanceState)(0), // 182: google.cloud.compute.v1.RegionInstanceGroupsListInstancesRequest.InstanceState - (RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type)(0), // 183: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.Type - (Reservation_Status)(0), // 184: google.cloud.compute.v1.Reservation.Status - (ReservationAffinity_ConsumeReservationType)(0), // 185: google.cloud.compute.v1.ReservationAffinity.ConsumeReservationType - (ResourceCommitment_Type)(0), // 186: google.cloud.compute.v1.ResourceCommitment.Type - (ResourcePolicy_Status)(0), // 187: google.cloud.compute.v1.ResourcePolicy.Status - (ResourcePolicyGroupPlacementPolicy_Collocation)(0), // 188: google.cloud.compute.v1.ResourcePolicyGroupPlacementPolicy.Collocation - (ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete)(0), // 189: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicyRetentionPolicy.OnSourceDiskDelete - (ResourcePolicyWeeklyCycleDayOfWeek_Day)(0), // 190: google.cloud.compute.v1.ResourcePolicyWeeklyCycleDayOfWeek.Day - (Route_RouteStatus)(0), // 191: google.cloud.compute.v1.Route.RouteStatus - (Route_RouteType)(0), // 192: google.cloud.compute.v1.Route.RouteType - (RouteAsPath_PathSegmentType)(0), // 193: google.cloud.compute.v1.RouteAsPath.PathSegmentType - (RouterBgp_AdvertiseMode)(0), // 194: google.cloud.compute.v1.RouterBgp.AdvertiseMode - (RouterBgp_AdvertisedGroups)(0), // 195: google.cloud.compute.v1.RouterBgp.AdvertisedGroups - (RouterBgpPeer_AdvertiseMode)(0), // 196: google.cloud.compute.v1.RouterBgpPeer.AdvertiseMode - (RouterBgpPeer_AdvertisedGroups)(0), // 197: google.cloud.compute.v1.RouterBgpPeer.AdvertisedGroups - (RouterBgpPeer_Enable)(0), // 198: google.cloud.compute.v1.RouterBgpPeer.Enable - (RouterBgpPeer_ManagementType)(0), // 199: google.cloud.compute.v1.RouterBgpPeer.ManagementType - (RouterBgpPeerBfd_SessionInitializationMode)(0), // 200: google.cloud.compute.v1.RouterBgpPeerBfd.SessionInitializationMode - (RouterInterface_ManagementType)(0), // 201: google.cloud.compute.v1.RouterInterface.ManagementType - (RouterNat_AutoNetworkTier)(0), // 202: google.cloud.compute.v1.RouterNat.AutoNetworkTier - (RouterNat_EndpointTypes)(0), // 203: google.cloud.compute.v1.RouterNat.EndpointTypes - (RouterNat_NatIpAllocateOption)(0), // 204: google.cloud.compute.v1.RouterNat.NatIpAllocateOption - (RouterNat_SourceSubnetworkIpRangesToNat)(0), // 205: google.cloud.compute.v1.RouterNat.SourceSubnetworkIpRangesToNat - (RouterNatLogConfig_Filter)(0), // 206: google.cloud.compute.v1.RouterNatLogConfig.Filter - (RouterNatSubnetworkToNat_SourceIpRangesToNat)(0), // 207: google.cloud.compute.v1.RouterNatSubnetworkToNat.SourceIpRangesToNat - (RouterStatusBgpPeerStatus_Status)(0), // 208: google.cloud.compute.v1.RouterStatusBgpPeerStatus.Status - (RouterStatusBgpPeerStatus_StatusReason)(0), // 209: google.cloud.compute.v1.RouterStatusBgpPeerStatus.StatusReason - (Rule_Action)(0), // 210: google.cloud.compute.v1.Rule.Action - (SSLHealthCheck_PortSpecification)(0), // 211: google.cloud.compute.v1.SSLHealthCheck.PortSpecification - (SSLHealthCheck_ProxyHeader)(0), // 212: google.cloud.compute.v1.SSLHealthCheck.ProxyHeader - (SavedAttachedDisk_Interface)(0), // 213: google.cloud.compute.v1.SavedAttachedDisk.Interface - (SavedAttachedDisk_Mode)(0), // 214: google.cloud.compute.v1.SavedAttachedDisk.Mode - (SavedAttachedDisk_StorageBytesStatus)(0), // 215: google.cloud.compute.v1.SavedAttachedDisk.StorageBytesStatus - (SavedAttachedDisk_Type)(0), // 216: google.cloud.compute.v1.SavedAttachedDisk.Type - (SavedDisk_Architecture)(0), // 217: google.cloud.compute.v1.SavedDisk.Architecture - (SavedDisk_StorageBytesStatus)(0), // 218: google.cloud.compute.v1.SavedDisk.StorageBytesStatus - (ScalingScheduleStatus_State)(0), // 219: google.cloud.compute.v1.ScalingScheduleStatus.State - (Scheduling_InstanceTerminationAction)(0), // 220: google.cloud.compute.v1.Scheduling.InstanceTerminationAction - (Scheduling_OnHostMaintenance)(0), // 221: google.cloud.compute.v1.Scheduling.OnHostMaintenance - (Scheduling_ProvisioningModel)(0), // 222: google.cloud.compute.v1.Scheduling.ProvisioningModel - (SchedulingNodeAffinity_Operator)(0), // 223: google.cloud.compute.v1.SchedulingNodeAffinity.Operator - (SecurityPolicy_Type)(0), // 224: google.cloud.compute.v1.SecurityPolicy.Type - (SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility)(0), // 225: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.RuleVisibility - (SecurityPolicyAdvancedOptionsConfig_JsonParsing)(0), // 226: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig.JsonParsing - (SecurityPolicyAdvancedOptionsConfig_LogLevel)(0), // 227: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig.LogLevel - (SecurityPolicyDdosProtectionConfig_DdosProtection)(0), // 228: google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig.DdosProtection - (SecurityPolicyRuleMatcher_VersionedExpr)(0), // 229: google.cloud.compute.v1.SecurityPolicyRuleMatcher.VersionedExpr - (SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op)(0), // 230: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.Op - (SecurityPolicyRuleRateLimitOptions_EnforceOnKey)(0), // 231: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.EnforceOnKey - (SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType)(0), // 232: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.EnforceOnKeyType - (SecurityPolicyRuleRedirectOptions_Type)(0), // 233: google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions.Type - (ServerBinding_Type)(0), // 234: google.cloud.compute.v1.ServerBinding.Type - (ServiceAttachment_ConnectionPreference)(0), // 235: google.cloud.compute.v1.ServiceAttachment.ConnectionPreference - (ServiceAttachmentConnectedEndpoint_Status)(0), // 236: google.cloud.compute.v1.ServiceAttachmentConnectedEndpoint.Status - (ShareSettings_ShareType)(0), // 237: google.cloud.compute.v1.ShareSettings.ShareType - (Snapshot_Architecture)(0), // 238: google.cloud.compute.v1.Snapshot.Architecture - (Snapshot_SnapshotType)(0), // 239: google.cloud.compute.v1.Snapshot.SnapshotType - (Snapshot_Status)(0), // 240: google.cloud.compute.v1.Snapshot.Status - (Snapshot_StorageBytesStatus)(0), // 241: google.cloud.compute.v1.Snapshot.StorageBytesStatus - (SourceInstanceProperties_KeyRevocationActionType)(0), // 242: google.cloud.compute.v1.SourceInstanceProperties.KeyRevocationActionType - (SslCertificate_Type)(0), // 243: google.cloud.compute.v1.SslCertificate.Type - (SslCertificateManagedSslCertificate_Status)(0), // 244: google.cloud.compute.v1.SslCertificateManagedSslCertificate.Status - (SslPolicy_MinTlsVersion)(0), // 245: google.cloud.compute.v1.SslPolicy.MinTlsVersion - (SslPolicy_Profile)(0), // 246: google.cloud.compute.v1.SslPolicy.Profile - (StatefulPolicyPreservedStateDiskDevice_AutoDelete)(0), // 247: google.cloud.compute.v1.StatefulPolicyPreservedStateDiskDevice.AutoDelete - (Subnetwork_Ipv6AccessType)(0), // 248: google.cloud.compute.v1.Subnetwork.Ipv6AccessType - (Subnetwork_PrivateIpv6GoogleAccess)(0), // 249: google.cloud.compute.v1.Subnetwork.PrivateIpv6GoogleAccess - (Subnetwork_Purpose)(0), // 250: google.cloud.compute.v1.Subnetwork.Purpose - (Subnetwork_Role)(0), // 251: google.cloud.compute.v1.Subnetwork.Role - (Subnetwork_StackType)(0), // 252: google.cloud.compute.v1.Subnetwork.StackType - (Subnetwork_State)(0), // 253: google.cloud.compute.v1.Subnetwork.State - (SubnetworkLogConfig_AggregationInterval)(0), // 254: google.cloud.compute.v1.SubnetworkLogConfig.AggregationInterval - (SubnetworkLogConfig_Metadata)(0), // 255: google.cloud.compute.v1.SubnetworkLogConfig.Metadata - (Subsetting_Policy)(0), // 256: google.cloud.compute.v1.Subsetting.Policy - (TCPHealthCheck_PortSpecification)(0), // 257: google.cloud.compute.v1.TCPHealthCheck.PortSpecification - (TCPHealthCheck_ProxyHeader)(0), // 258: google.cloud.compute.v1.TCPHealthCheck.ProxyHeader - (TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride)(0), // 259: google.cloud.compute.v1.TargetHttpsProxiesSetQuicOverrideRequest.QuicOverride - (TargetHttpsProxy_QuicOverride)(0), // 260: google.cloud.compute.v1.TargetHttpsProxy.QuicOverride - (TargetInstance_NatPolicy)(0), // 261: google.cloud.compute.v1.TargetInstance.NatPolicy - (TargetPool_SessionAffinity)(0), // 262: google.cloud.compute.v1.TargetPool.SessionAffinity - (TargetSslProxiesSetProxyHeaderRequest_ProxyHeader)(0), // 263: google.cloud.compute.v1.TargetSslProxiesSetProxyHeaderRequest.ProxyHeader - (TargetSslProxy_ProxyHeader)(0), // 264: google.cloud.compute.v1.TargetSslProxy.ProxyHeader - (TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader)(0), // 265: google.cloud.compute.v1.TargetTcpProxiesSetProxyHeaderRequest.ProxyHeader - (TargetTcpProxy_ProxyHeader)(0), // 266: google.cloud.compute.v1.TargetTcpProxy.ProxyHeader - (TargetVpnGateway_Status)(0), // 267: google.cloud.compute.v1.TargetVpnGateway.Status - (UpdateInstanceRequest_MinimalAction)(0), // 268: google.cloud.compute.v1.UpdateInstanceRequest.MinimalAction - (UpdateInstanceRequest_MostDisruptiveAllowedAction)(0), // 269: google.cloud.compute.v1.UpdateInstanceRequest.MostDisruptiveAllowedAction - (UrlMapsValidateRequest_LoadBalancingSchemes)(0), // 270: google.cloud.compute.v1.UrlMapsValidateRequest.LoadBalancingSchemes - (UsableSubnetwork_Ipv6AccessType)(0), // 271: google.cloud.compute.v1.UsableSubnetwork.Ipv6AccessType - (UsableSubnetwork_Purpose)(0), // 272: google.cloud.compute.v1.UsableSubnetwork.Purpose - (UsableSubnetwork_Role)(0), // 273: google.cloud.compute.v1.UsableSubnetwork.Role - (UsableSubnetwork_StackType)(0), // 274: google.cloud.compute.v1.UsableSubnetwork.StackType - (VpnGateway_StackType)(0), // 275: google.cloud.compute.v1.VpnGateway.StackType - (VpnGatewayStatusHighAvailabilityRequirementState_State)(0), // 276: google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState.State - (VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason)(0), // 277: google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState.UnsatisfiedReason - (VpnTunnel_Status)(0), // 278: google.cloud.compute.v1.VpnTunnel.Status - (Warning_Code)(0), // 279: google.cloud.compute.v1.Warning.Code - (Warnings_Code)(0), // 280: google.cloud.compute.v1.Warnings.Code - (XpnResourceId_Type)(0), // 281: google.cloud.compute.v1.XpnResourceId.Type - (Zone_Status)(0), // 282: google.cloud.compute.v1.Zone.Status - (*AbandonInstancesInstanceGroupManagerRequest)(nil), // 283: google.cloud.compute.v1.AbandonInstancesInstanceGroupManagerRequest - (*AbandonInstancesRegionInstanceGroupManagerRequest)(nil), // 284: google.cloud.compute.v1.AbandonInstancesRegionInstanceGroupManagerRequest - (*AcceleratorConfig)(nil), // 285: google.cloud.compute.v1.AcceleratorConfig - (*AcceleratorType)(nil), // 286: google.cloud.compute.v1.AcceleratorType - (*AcceleratorTypeAggregatedList)(nil), // 287: google.cloud.compute.v1.AcceleratorTypeAggregatedList - (*AcceleratorTypeList)(nil), // 288: google.cloud.compute.v1.AcceleratorTypeList - (*AcceleratorTypesScopedList)(nil), // 289: google.cloud.compute.v1.AcceleratorTypesScopedList - (*Accelerators)(nil), // 290: google.cloud.compute.v1.Accelerators - (*AccessConfig)(nil), // 291: google.cloud.compute.v1.AccessConfig - (*AddAccessConfigInstanceRequest)(nil), // 292: google.cloud.compute.v1.AddAccessConfigInstanceRequest - (*AddAssociationFirewallPolicyRequest)(nil), // 293: google.cloud.compute.v1.AddAssociationFirewallPolicyRequest - (*AddAssociationNetworkFirewallPolicyRequest)(nil), // 294: google.cloud.compute.v1.AddAssociationNetworkFirewallPolicyRequest - (*AddAssociationRegionNetworkFirewallPolicyRequest)(nil), // 295: google.cloud.compute.v1.AddAssociationRegionNetworkFirewallPolicyRequest - (*AddHealthCheckTargetPoolRequest)(nil), // 296: google.cloud.compute.v1.AddHealthCheckTargetPoolRequest - (*AddInstanceTargetPoolRequest)(nil), // 297: google.cloud.compute.v1.AddInstanceTargetPoolRequest - (*AddInstancesInstanceGroupRequest)(nil), // 298: google.cloud.compute.v1.AddInstancesInstanceGroupRequest - (*AddNodesNodeGroupRequest)(nil), // 299: google.cloud.compute.v1.AddNodesNodeGroupRequest - (*AddPeeringNetworkRequest)(nil), // 300: google.cloud.compute.v1.AddPeeringNetworkRequest - (*AddResourcePoliciesDiskRequest)(nil), // 301: google.cloud.compute.v1.AddResourcePoliciesDiskRequest - (*AddResourcePoliciesInstanceRequest)(nil), // 302: google.cloud.compute.v1.AddResourcePoliciesInstanceRequest - (*AddResourcePoliciesRegionDiskRequest)(nil), // 303: google.cloud.compute.v1.AddResourcePoliciesRegionDiskRequest - (*AddRuleFirewallPolicyRequest)(nil), // 304: google.cloud.compute.v1.AddRuleFirewallPolicyRequest - (*AddRuleNetworkFirewallPolicyRequest)(nil), // 305: google.cloud.compute.v1.AddRuleNetworkFirewallPolicyRequest - (*AddRuleRegionNetworkFirewallPolicyRequest)(nil), // 306: google.cloud.compute.v1.AddRuleRegionNetworkFirewallPolicyRequest - (*AddRuleSecurityPolicyRequest)(nil), // 307: google.cloud.compute.v1.AddRuleSecurityPolicyRequest - (*AddSignedUrlKeyBackendBucketRequest)(nil), // 308: google.cloud.compute.v1.AddSignedUrlKeyBackendBucketRequest - (*AddSignedUrlKeyBackendServiceRequest)(nil), // 309: google.cloud.compute.v1.AddSignedUrlKeyBackendServiceRequest - (*Address)(nil), // 310: google.cloud.compute.v1.Address - (*AddressAggregatedList)(nil), // 311: google.cloud.compute.v1.AddressAggregatedList - (*AddressList)(nil), // 312: google.cloud.compute.v1.AddressList - (*AddressesScopedList)(nil), // 313: google.cloud.compute.v1.AddressesScopedList - (*AdvancedMachineFeatures)(nil), // 314: google.cloud.compute.v1.AdvancedMachineFeatures - (*AggregatedListAcceleratorTypesRequest)(nil), // 315: google.cloud.compute.v1.AggregatedListAcceleratorTypesRequest - (*AggregatedListAddressesRequest)(nil), // 316: google.cloud.compute.v1.AggregatedListAddressesRequest - (*AggregatedListAutoscalersRequest)(nil), // 317: google.cloud.compute.v1.AggregatedListAutoscalersRequest - (*AggregatedListBackendServicesRequest)(nil), // 318: google.cloud.compute.v1.AggregatedListBackendServicesRequest - (*AggregatedListDiskTypesRequest)(nil), // 319: google.cloud.compute.v1.AggregatedListDiskTypesRequest - (*AggregatedListDisksRequest)(nil), // 320: google.cloud.compute.v1.AggregatedListDisksRequest - (*AggregatedListForwardingRulesRequest)(nil), // 321: google.cloud.compute.v1.AggregatedListForwardingRulesRequest - (*AggregatedListGlobalOperationsRequest)(nil), // 322: google.cloud.compute.v1.AggregatedListGlobalOperationsRequest - (*AggregatedListHealthChecksRequest)(nil), // 323: google.cloud.compute.v1.AggregatedListHealthChecksRequest - (*AggregatedListInstanceGroupManagersRequest)(nil), // 324: google.cloud.compute.v1.AggregatedListInstanceGroupManagersRequest - (*AggregatedListInstanceGroupsRequest)(nil), // 325: google.cloud.compute.v1.AggregatedListInstanceGroupsRequest - (*AggregatedListInstanceTemplatesRequest)(nil), // 326: google.cloud.compute.v1.AggregatedListInstanceTemplatesRequest - (*AggregatedListInstancesRequest)(nil), // 327: google.cloud.compute.v1.AggregatedListInstancesRequest - (*AggregatedListInterconnectAttachmentsRequest)(nil), // 328: google.cloud.compute.v1.AggregatedListInterconnectAttachmentsRequest - (*AggregatedListMachineTypesRequest)(nil), // 329: google.cloud.compute.v1.AggregatedListMachineTypesRequest - (*AggregatedListNetworkAttachmentsRequest)(nil), // 330: google.cloud.compute.v1.AggregatedListNetworkAttachmentsRequest - (*AggregatedListNetworkEdgeSecurityServicesRequest)(nil), // 331: google.cloud.compute.v1.AggregatedListNetworkEdgeSecurityServicesRequest - (*AggregatedListNetworkEndpointGroupsRequest)(nil), // 332: google.cloud.compute.v1.AggregatedListNetworkEndpointGroupsRequest - (*AggregatedListNodeGroupsRequest)(nil), // 333: google.cloud.compute.v1.AggregatedListNodeGroupsRequest - (*AggregatedListNodeTemplatesRequest)(nil), // 334: google.cloud.compute.v1.AggregatedListNodeTemplatesRequest - (*AggregatedListNodeTypesRequest)(nil), // 335: google.cloud.compute.v1.AggregatedListNodeTypesRequest - (*AggregatedListPacketMirroringsRequest)(nil), // 336: google.cloud.compute.v1.AggregatedListPacketMirroringsRequest - (*AggregatedListPublicDelegatedPrefixesRequest)(nil), // 337: google.cloud.compute.v1.AggregatedListPublicDelegatedPrefixesRequest - (*AggregatedListRegionCommitmentsRequest)(nil), // 338: google.cloud.compute.v1.AggregatedListRegionCommitmentsRequest - (*AggregatedListReservationsRequest)(nil), // 339: google.cloud.compute.v1.AggregatedListReservationsRequest - (*AggregatedListResourcePoliciesRequest)(nil), // 340: google.cloud.compute.v1.AggregatedListResourcePoliciesRequest - (*AggregatedListRoutersRequest)(nil), // 341: google.cloud.compute.v1.AggregatedListRoutersRequest - (*AggregatedListSecurityPoliciesRequest)(nil), // 342: google.cloud.compute.v1.AggregatedListSecurityPoliciesRequest - (*AggregatedListServiceAttachmentsRequest)(nil), // 343: google.cloud.compute.v1.AggregatedListServiceAttachmentsRequest - (*AggregatedListSslCertificatesRequest)(nil), // 344: google.cloud.compute.v1.AggregatedListSslCertificatesRequest - (*AggregatedListSslPoliciesRequest)(nil), // 345: google.cloud.compute.v1.AggregatedListSslPoliciesRequest - (*AggregatedListSubnetworksRequest)(nil), // 346: google.cloud.compute.v1.AggregatedListSubnetworksRequest - (*AggregatedListTargetHttpProxiesRequest)(nil), // 347: google.cloud.compute.v1.AggregatedListTargetHttpProxiesRequest - (*AggregatedListTargetHttpsProxiesRequest)(nil), // 348: google.cloud.compute.v1.AggregatedListTargetHttpsProxiesRequest - (*AggregatedListTargetInstancesRequest)(nil), // 349: google.cloud.compute.v1.AggregatedListTargetInstancesRequest - (*AggregatedListTargetPoolsRequest)(nil), // 350: google.cloud.compute.v1.AggregatedListTargetPoolsRequest - (*AggregatedListTargetTcpProxiesRequest)(nil), // 351: google.cloud.compute.v1.AggregatedListTargetTcpProxiesRequest - (*AggregatedListTargetVpnGatewaysRequest)(nil), // 352: google.cloud.compute.v1.AggregatedListTargetVpnGatewaysRequest - (*AggregatedListUrlMapsRequest)(nil), // 353: google.cloud.compute.v1.AggregatedListUrlMapsRequest - (*AggregatedListVpnGatewaysRequest)(nil), // 354: google.cloud.compute.v1.AggregatedListVpnGatewaysRequest - (*AggregatedListVpnTunnelsRequest)(nil), // 355: google.cloud.compute.v1.AggregatedListVpnTunnelsRequest - (*AliasIpRange)(nil), // 356: google.cloud.compute.v1.AliasIpRange - (*AllocationResourceStatus)(nil), // 357: google.cloud.compute.v1.AllocationResourceStatus - (*AllocationResourceStatusSpecificSKUAllocation)(nil), // 358: google.cloud.compute.v1.AllocationResourceStatusSpecificSKUAllocation - (*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk)(nil), // 359: google.cloud.compute.v1.AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk - (*AllocationSpecificSKUAllocationReservedInstanceProperties)(nil), // 360: google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties - (*AllocationSpecificSKUReservation)(nil), // 361: google.cloud.compute.v1.AllocationSpecificSKUReservation - (*Allowed)(nil), // 362: google.cloud.compute.v1.Allowed - (*ApplyUpdatesToInstancesInstanceGroupManagerRequest)(nil), // 363: google.cloud.compute.v1.ApplyUpdatesToInstancesInstanceGroupManagerRequest - (*ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest)(nil), // 364: google.cloud.compute.v1.ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest - (*AttachDiskInstanceRequest)(nil), // 365: google.cloud.compute.v1.AttachDiskInstanceRequest - (*AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest)(nil), // 366: google.cloud.compute.v1.AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest - (*AttachNetworkEndpointsNetworkEndpointGroupRequest)(nil), // 367: google.cloud.compute.v1.AttachNetworkEndpointsNetworkEndpointGroupRequest - (*AttachedDisk)(nil), // 368: google.cloud.compute.v1.AttachedDisk - (*AttachedDiskInitializeParams)(nil), // 369: google.cloud.compute.v1.AttachedDiskInitializeParams - (*AuditConfig)(nil), // 370: google.cloud.compute.v1.AuditConfig - (*AuditLogConfig)(nil), // 371: google.cloud.compute.v1.AuditLogConfig - (*AuthorizationLoggingOptions)(nil), // 372: google.cloud.compute.v1.AuthorizationLoggingOptions - (*Autoscaler)(nil), // 373: google.cloud.compute.v1.Autoscaler - (*AutoscalerAggregatedList)(nil), // 374: google.cloud.compute.v1.AutoscalerAggregatedList - (*AutoscalerList)(nil), // 375: google.cloud.compute.v1.AutoscalerList - (*AutoscalerStatusDetails)(nil), // 376: google.cloud.compute.v1.AutoscalerStatusDetails - (*AutoscalersScopedList)(nil), // 377: google.cloud.compute.v1.AutoscalersScopedList - (*AutoscalingPolicy)(nil), // 378: google.cloud.compute.v1.AutoscalingPolicy - (*AutoscalingPolicyCpuUtilization)(nil), // 379: google.cloud.compute.v1.AutoscalingPolicyCpuUtilization - (*AutoscalingPolicyCustomMetricUtilization)(nil), // 380: google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization - (*AutoscalingPolicyLoadBalancingUtilization)(nil), // 381: google.cloud.compute.v1.AutoscalingPolicyLoadBalancingUtilization - (*AutoscalingPolicyScaleInControl)(nil), // 382: google.cloud.compute.v1.AutoscalingPolicyScaleInControl - (*AutoscalingPolicyScalingSchedule)(nil), // 383: google.cloud.compute.v1.AutoscalingPolicyScalingSchedule - (*Backend)(nil), // 384: google.cloud.compute.v1.Backend - (*BackendBucket)(nil), // 385: google.cloud.compute.v1.BackendBucket - (*BackendBucketCdnPolicy)(nil), // 386: google.cloud.compute.v1.BackendBucketCdnPolicy - (*BackendBucketCdnPolicyBypassCacheOnRequestHeader)(nil), // 387: google.cloud.compute.v1.BackendBucketCdnPolicyBypassCacheOnRequestHeader - (*BackendBucketCdnPolicyCacheKeyPolicy)(nil), // 388: google.cloud.compute.v1.BackendBucketCdnPolicyCacheKeyPolicy - (*BackendBucketCdnPolicyNegativeCachingPolicy)(nil), // 389: google.cloud.compute.v1.BackendBucketCdnPolicyNegativeCachingPolicy - (*BackendBucketList)(nil), // 390: google.cloud.compute.v1.BackendBucketList - (*BackendService)(nil), // 391: google.cloud.compute.v1.BackendService - (*BackendServiceAggregatedList)(nil), // 392: google.cloud.compute.v1.BackendServiceAggregatedList - (*BackendServiceCdnPolicy)(nil), // 393: google.cloud.compute.v1.BackendServiceCdnPolicy - (*BackendServiceCdnPolicyBypassCacheOnRequestHeader)(nil), // 394: google.cloud.compute.v1.BackendServiceCdnPolicyBypassCacheOnRequestHeader - (*BackendServiceCdnPolicyNegativeCachingPolicy)(nil), // 395: google.cloud.compute.v1.BackendServiceCdnPolicyNegativeCachingPolicy - (*BackendServiceConnectionTrackingPolicy)(nil), // 396: google.cloud.compute.v1.BackendServiceConnectionTrackingPolicy - (*BackendServiceFailoverPolicy)(nil), // 397: google.cloud.compute.v1.BackendServiceFailoverPolicy - (*BackendServiceGroupHealth)(nil), // 398: google.cloud.compute.v1.BackendServiceGroupHealth - (*BackendServiceIAP)(nil), // 399: google.cloud.compute.v1.BackendServiceIAP - (*BackendServiceList)(nil), // 400: google.cloud.compute.v1.BackendServiceList - (*BackendServiceLocalityLoadBalancingPolicyConfig)(nil), // 401: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig - (*BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy)(nil), // 402: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy - (*BackendServiceLocalityLoadBalancingPolicyConfigPolicy)(nil), // 403: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigPolicy - (*BackendServiceLogConfig)(nil), // 404: google.cloud.compute.v1.BackendServiceLogConfig - (*BackendServiceReference)(nil), // 405: google.cloud.compute.v1.BackendServiceReference - (*BackendServicesScopedList)(nil), // 406: google.cloud.compute.v1.BackendServicesScopedList - (*BfdPacket)(nil), // 407: google.cloud.compute.v1.BfdPacket - (*BfdStatus)(nil), // 408: google.cloud.compute.v1.BfdStatus - (*BfdStatusPacketCounts)(nil), // 409: google.cloud.compute.v1.BfdStatusPacketCounts - (*Binding)(nil), // 410: google.cloud.compute.v1.Binding - (*BulkInsertDiskRequest)(nil), // 411: google.cloud.compute.v1.BulkInsertDiskRequest - (*BulkInsertDiskResource)(nil), // 412: google.cloud.compute.v1.BulkInsertDiskResource - (*BulkInsertInstanceRequest)(nil), // 413: google.cloud.compute.v1.BulkInsertInstanceRequest - (*BulkInsertInstanceResource)(nil), // 414: google.cloud.compute.v1.BulkInsertInstanceResource - (*BulkInsertInstanceResourcePerInstanceProperties)(nil), // 415: google.cloud.compute.v1.BulkInsertInstanceResourcePerInstanceProperties - (*BulkInsertRegionDiskRequest)(nil), // 416: google.cloud.compute.v1.BulkInsertRegionDiskRequest - (*BulkInsertRegionInstanceRequest)(nil), // 417: google.cloud.compute.v1.BulkInsertRegionInstanceRequest - (*CacheInvalidationRule)(nil), // 418: google.cloud.compute.v1.CacheInvalidationRule - (*CacheKeyPolicy)(nil), // 419: google.cloud.compute.v1.CacheKeyPolicy - (*CircuitBreakers)(nil), // 420: google.cloud.compute.v1.CircuitBreakers - (*CloneRulesFirewallPolicyRequest)(nil), // 421: google.cloud.compute.v1.CloneRulesFirewallPolicyRequest - (*CloneRulesNetworkFirewallPolicyRequest)(nil), // 422: google.cloud.compute.v1.CloneRulesNetworkFirewallPolicyRequest - (*CloneRulesRegionNetworkFirewallPolicyRequest)(nil), // 423: google.cloud.compute.v1.CloneRulesRegionNetworkFirewallPolicyRequest - (*Commitment)(nil), // 424: google.cloud.compute.v1.Commitment - (*CommitmentAggregatedList)(nil), // 425: google.cloud.compute.v1.CommitmentAggregatedList - (*CommitmentList)(nil), // 426: google.cloud.compute.v1.CommitmentList - (*CommitmentsScopedList)(nil), // 427: google.cloud.compute.v1.CommitmentsScopedList - (*Condition)(nil), // 428: google.cloud.compute.v1.Condition - (*ConfidentialInstanceConfig)(nil), // 429: google.cloud.compute.v1.ConfidentialInstanceConfig - (*ConnectionDraining)(nil), // 430: google.cloud.compute.v1.ConnectionDraining - (*ConsistentHashLoadBalancerSettings)(nil), // 431: google.cloud.compute.v1.ConsistentHashLoadBalancerSettings - (*ConsistentHashLoadBalancerSettingsHttpCookie)(nil), // 432: google.cloud.compute.v1.ConsistentHashLoadBalancerSettingsHttpCookie - (*CorsPolicy)(nil), // 433: google.cloud.compute.v1.CorsPolicy - (*CreateInstancesInstanceGroupManagerRequest)(nil), // 434: google.cloud.compute.v1.CreateInstancesInstanceGroupManagerRequest - (*CreateInstancesRegionInstanceGroupManagerRequest)(nil), // 435: google.cloud.compute.v1.CreateInstancesRegionInstanceGroupManagerRequest - (*CreateSnapshotDiskRequest)(nil), // 436: google.cloud.compute.v1.CreateSnapshotDiskRequest - (*CreateSnapshotRegionDiskRequest)(nil), // 437: google.cloud.compute.v1.CreateSnapshotRegionDiskRequest - (*CustomerEncryptionKey)(nil), // 438: google.cloud.compute.v1.CustomerEncryptionKey - (*CustomerEncryptionKeyProtectedDisk)(nil), // 439: google.cloud.compute.v1.CustomerEncryptionKeyProtectedDisk - (*Data)(nil), // 440: google.cloud.compute.v1.Data - (*DeleteAccessConfigInstanceRequest)(nil), // 441: google.cloud.compute.v1.DeleteAccessConfigInstanceRequest - (*DeleteAddressRequest)(nil), // 442: google.cloud.compute.v1.DeleteAddressRequest - (*DeleteAutoscalerRequest)(nil), // 443: google.cloud.compute.v1.DeleteAutoscalerRequest - (*DeleteBackendBucketRequest)(nil), // 444: google.cloud.compute.v1.DeleteBackendBucketRequest - (*DeleteBackendServiceRequest)(nil), // 445: google.cloud.compute.v1.DeleteBackendServiceRequest - (*DeleteDiskRequest)(nil), // 446: google.cloud.compute.v1.DeleteDiskRequest - (*DeleteExternalVpnGatewayRequest)(nil), // 447: google.cloud.compute.v1.DeleteExternalVpnGatewayRequest - (*DeleteFirewallPolicyRequest)(nil), // 448: google.cloud.compute.v1.DeleteFirewallPolicyRequest - (*DeleteFirewallRequest)(nil), // 449: google.cloud.compute.v1.DeleteFirewallRequest - (*DeleteForwardingRuleRequest)(nil), // 450: google.cloud.compute.v1.DeleteForwardingRuleRequest - (*DeleteGlobalAddressRequest)(nil), // 451: google.cloud.compute.v1.DeleteGlobalAddressRequest - (*DeleteGlobalForwardingRuleRequest)(nil), // 452: google.cloud.compute.v1.DeleteGlobalForwardingRuleRequest - (*DeleteGlobalNetworkEndpointGroupRequest)(nil), // 453: google.cloud.compute.v1.DeleteGlobalNetworkEndpointGroupRequest - (*DeleteGlobalOperationRequest)(nil), // 454: google.cloud.compute.v1.DeleteGlobalOperationRequest - (*DeleteGlobalOperationResponse)(nil), // 455: google.cloud.compute.v1.DeleteGlobalOperationResponse - (*DeleteGlobalOrganizationOperationRequest)(nil), // 456: google.cloud.compute.v1.DeleteGlobalOrganizationOperationRequest - (*DeleteGlobalOrganizationOperationResponse)(nil), // 457: google.cloud.compute.v1.DeleteGlobalOrganizationOperationResponse - (*DeleteGlobalPublicDelegatedPrefixeRequest)(nil), // 458: google.cloud.compute.v1.DeleteGlobalPublicDelegatedPrefixeRequest - (*DeleteHealthCheckRequest)(nil), // 459: google.cloud.compute.v1.DeleteHealthCheckRequest - (*DeleteImageRequest)(nil), // 460: google.cloud.compute.v1.DeleteImageRequest - (*DeleteInstanceGroupManagerRequest)(nil), // 461: google.cloud.compute.v1.DeleteInstanceGroupManagerRequest - (*DeleteInstanceGroupRequest)(nil), // 462: google.cloud.compute.v1.DeleteInstanceGroupRequest - (*DeleteInstanceRequest)(nil), // 463: google.cloud.compute.v1.DeleteInstanceRequest - (*DeleteInstanceTemplateRequest)(nil), // 464: google.cloud.compute.v1.DeleteInstanceTemplateRequest - (*DeleteInstancesInstanceGroupManagerRequest)(nil), // 465: google.cloud.compute.v1.DeleteInstancesInstanceGroupManagerRequest - (*DeleteInstancesRegionInstanceGroupManagerRequest)(nil), // 466: google.cloud.compute.v1.DeleteInstancesRegionInstanceGroupManagerRequest - (*DeleteInterconnectAttachmentRequest)(nil), // 467: google.cloud.compute.v1.DeleteInterconnectAttachmentRequest - (*DeleteInterconnectRequest)(nil), // 468: google.cloud.compute.v1.DeleteInterconnectRequest - (*DeleteLicenseRequest)(nil), // 469: google.cloud.compute.v1.DeleteLicenseRequest - (*DeleteMachineImageRequest)(nil), // 470: google.cloud.compute.v1.DeleteMachineImageRequest - (*DeleteNetworkAttachmentRequest)(nil), // 471: google.cloud.compute.v1.DeleteNetworkAttachmentRequest - (*DeleteNetworkEdgeSecurityServiceRequest)(nil), // 472: google.cloud.compute.v1.DeleteNetworkEdgeSecurityServiceRequest - (*DeleteNetworkEndpointGroupRequest)(nil), // 473: google.cloud.compute.v1.DeleteNetworkEndpointGroupRequest - (*DeleteNetworkFirewallPolicyRequest)(nil), // 474: google.cloud.compute.v1.DeleteNetworkFirewallPolicyRequest - (*DeleteNetworkRequest)(nil), // 475: google.cloud.compute.v1.DeleteNetworkRequest - (*DeleteNodeGroupRequest)(nil), // 476: google.cloud.compute.v1.DeleteNodeGroupRequest - (*DeleteNodeTemplateRequest)(nil), // 477: google.cloud.compute.v1.DeleteNodeTemplateRequest - (*DeleteNodesNodeGroupRequest)(nil), // 478: google.cloud.compute.v1.DeleteNodesNodeGroupRequest - (*DeletePacketMirroringRequest)(nil), // 479: google.cloud.compute.v1.DeletePacketMirroringRequest - (*DeletePerInstanceConfigsInstanceGroupManagerRequest)(nil), // 480: google.cloud.compute.v1.DeletePerInstanceConfigsInstanceGroupManagerRequest - (*DeletePerInstanceConfigsRegionInstanceGroupManagerRequest)(nil), // 481: google.cloud.compute.v1.DeletePerInstanceConfigsRegionInstanceGroupManagerRequest - (*DeletePublicAdvertisedPrefixeRequest)(nil), // 482: google.cloud.compute.v1.DeletePublicAdvertisedPrefixeRequest - (*DeletePublicDelegatedPrefixeRequest)(nil), // 483: google.cloud.compute.v1.DeletePublicDelegatedPrefixeRequest - (*DeleteRegionAutoscalerRequest)(nil), // 484: google.cloud.compute.v1.DeleteRegionAutoscalerRequest - (*DeleteRegionBackendServiceRequest)(nil), // 485: google.cloud.compute.v1.DeleteRegionBackendServiceRequest - (*DeleteRegionDiskRequest)(nil), // 486: google.cloud.compute.v1.DeleteRegionDiskRequest - (*DeleteRegionHealthCheckRequest)(nil), // 487: google.cloud.compute.v1.DeleteRegionHealthCheckRequest - (*DeleteRegionHealthCheckServiceRequest)(nil), // 488: google.cloud.compute.v1.DeleteRegionHealthCheckServiceRequest - (*DeleteRegionInstanceGroupManagerRequest)(nil), // 489: google.cloud.compute.v1.DeleteRegionInstanceGroupManagerRequest - (*DeleteRegionInstanceTemplateRequest)(nil), // 490: google.cloud.compute.v1.DeleteRegionInstanceTemplateRequest - (*DeleteRegionNetworkEndpointGroupRequest)(nil), // 491: google.cloud.compute.v1.DeleteRegionNetworkEndpointGroupRequest - (*DeleteRegionNetworkFirewallPolicyRequest)(nil), // 492: google.cloud.compute.v1.DeleteRegionNetworkFirewallPolicyRequest - (*DeleteRegionNotificationEndpointRequest)(nil), // 493: google.cloud.compute.v1.DeleteRegionNotificationEndpointRequest - (*DeleteRegionOperationRequest)(nil), // 494: google.cloud.compute.v1.DeleteRegionOperationRequest - (*DeleteRegionOperationResponse)(nil), // 495: google.cloud.compute.v1.DeleteRegionOperationResponse - (*DeleteRegionSecurityPolicyRequest)(nil), // 496: google.cloud.compute.v1.DeleteRegionSecurityPolicyRequest - (*DeleteRegionSslCertificateRequest)(nil), // 497: google.cloud.compute.v1.DeleteRegionSslCertificateRequest - (*DeleteRegionSslPolicyRequest)(nil), // 498: google.cloud.compute.v1.DeleteRegionSslPolicyRequest - (*DeleteRegionTargetHttpProxyRequest)(nil), // 499: google.cloud.compute.v1.DeleteRegionTargetHttpProxyRequest - (*DeleteRegionTargetHttpsProxyRequest)(nil), // 500: google.cloud.compute.v1.DeleteRegionTargetHttpsProxyRequest - (*DeleteRegionTargetTcpProxyRequest)(nil), // 501: google.cloud.compute.v1.DeleteRegionTargetTcpProxyRequest - (*DeleteRegionUrlMapRequest)(nil), // 502: google.cloud.compute.v1.DeleteRegionUrlMapRequest - (*DeleteReservationRequest)(nil), // 503: google.cloud.compute.v1.DeleteReservationRequest - (*DeleteResourcePolicyRequest)(nil), // 504: google.cloud.compute.v1.DeleteResourcePolicyRequest - (*DeleteRouteRequest)(nil), // 505: google.cloud.compute.v1.DeleteRouteRequest - (*DeleteRouterRequest)(nil), // 506: google.cloud.compute.v1.DeleteRouterRequest - (*DeleteSecurityPolicyRequest)(nil), // 507: google.cloud.compute.v1.DeleteSecurityPolicyRequest - (*DeleteServiceAttachmentRequest)(nil), // 508: google.cloud.compute.v1.DeleteServiceAttachmentRequest - (*DeleteSignedUrlKeyBackendBucketRequest)(nil), // 509: google.cloud.compute.v1.DeleteSignedUrlKeyBackendBucketRequest - (*DeleteSignedUrlKeyBackendServiceRequest)(nil), // 510: google.cloud.compute.v1.DeleteSignedUrlKeyBackendServiceRequest - (*DeleteSnapshotRequest)(nil), // 511: google.cloud.compute.v1.DeleteSnapshotRequest - (*DeleteSslCertificateRequest)(nil), // 512: google.cloud.compute.v1.DeleteSslCertificateRequest - (*DeleteSslPolicyRequest)(nil), // 513: google.cloud.compute.v1.DeleteSslPolicyRequest - (*DeleteSubnetworkRequest)(nil), // 514: google.cloud.compute.v1.DeleteSubnetworkRequest - (*DeleteTargetGrpcProxyRequest)(nil), // 515: google.cloud.compute.v1.DeleteTargetGrpcProxyRequest - (*DeleteTargetHttpProxyRequest)(nil), // 516: google.cloud.compute.v1.DeleteTargetHttpProxyRequest - (*DeleteTargetHttpsProxyRequest)(nil), // 517: google.cloud.compute.v1.DeleteTargetHttpsProxyRequest - (*DeleteTargetInstanceRequest)(nil), // 518: google.cloud.compute.v1.DeleteTargetInstanceRequest - (*DeleteTargetPoolRequest)(nil), // 519: google.cloud.compute.v1.DeleteTargetPoolRequest - (*DeleteTargetSslProxyRequest)(nil), // 520: google.cloud.compute.v1.DeleteTargetSslProxyRequest - (*DeleteTargetTcpProxyRequest)(nil), // 521: google.cloud.compute.v1.DeleteTargetTcpProxyRequest - (*DeleteTargetVpnGatewayRequest)(nil), // 522: google.cloud.compute.v1.DeleteTargetVpnGatewayRequest - (*DeleteUrlMapRequest)(nil), // 523: google.cloud.compute.v1.DeleteUrlMapRequest - (*DeleteVpnGatewayRequest)(nil), // 524: google.cloud.compute.v1.DeleteVpnGatewayRequest - (*DeleteVpnTunnelRequest)(nil), // 525: google.cloud.compute.v1.DeleteVpnTunnelRequest - (*DeleteZoneOperationRequest)(nil), // 526: google.cloud.compute.v1.DeleteZoneOperationRequest - (*DeleteZoneOperationResponse)(nil), // 527: google.cloud.compute.v1.DeleteZoneOperationResponse - (*Denied)(nil), // 528: google.cloud.compute.v1.Denied - (*DeprecateImageRequest)(nil), // 529: google.cloud.compute.v1.DeprecateImageRequest - (*DeprecationStatus)(nil), // 530: google.cloud.compute.v1.DeprecationStatus - (*DetachDiskInstanceRequest)(nil), // 531: google.cloud.compute.v1.DetachDiskInstanceRequest - (*DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest)(nil), // 532: google.cloud.compute.v1.DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest - (*DetachNetworkEndpointsNetworkEndpointGroupRequest)(nil), // 533: google.cloud.compute.v1.DetachNetworkEndpointsNetworkEndpointGroupRequest - (*DisableXpnHostProjectRequest)(nil), // 534: google.cloud.compute.v1.DisableXpnHostProjectRequest - (*DisableXpnResourceProjectRequest)(nil), // 535: google.cloud.compute.v1.DisableXpnResourceProjectRequest - (*Disk)(nil), // 536: google.cloud.compute.v1.Disk - (*DiskAggregatedList)(nil), // 537: google.cloud.compute.v1.DiskAggregatedList - (*DiskAsyncReplication)(nil), // 538: google.cloud.compute.v1.DiskAsyncReplication - (*DiskAsyncReplicationList)(nil), // 539: google.cloud.compute.v1.DiskAsyncReplicationList - (*DiskInstantiationConfig)(nil), // 540: google.cloud.compute.v1.DiskInstantiationConfig - (*DiskList)(nil), // 541: google.cloud.compute.v1.DiskList - (*DiskMoveRequest)(nil), // 542: google.cloud.compute.v1.DiskMoveRequest - (*DiskParams)(nil), // 543: google.cloud.compute.v1.DiskParams - (*DiskResourceStatus)(nil), // 544: google.cloud.compute.v1.DiskResourceStatus - (*DiskResourceStatusAsyncReplicationStatus)(nil), // 545: google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus - (*DiskType)(nil), // 546: google.cloud.compute.v1.DiskType - (*DiskTypeAggregatedList)(nil), // 547: google.cloud.compute.v1.DiskTypeAggregatedList - (*DiskTypeList)(nil), // 548: google.cloud.compute.v1.DiskTypeList - (*DiskTypesScopedList)(nil), // 549: google.cloud.compute.v1.DiskTypesScopedList - (*DisksAddResourcePoliciesRequest)(nil), // 550: google.cloud.compute.v1.DisksAddResourcePoliciesRequest - (*DisksRemoveResourcePoliciesRequest)(nil), // 551: google.cloud.compute.v1.DisksRemoveResourcePoliciesRequest - (*DisksResizeRequest)(nil), // 552: google.cloud.compute.v1.DisksResizeRequest - (*DisksScopedList)(nil), // 553: google.cloud.compute.v1.DisksScopedList - (*DisksStartAsyncReplicationRequest)(nil), // 554: google.cloud.compute.v1.DisksStartAsyncReplicationRequest - (*DisksStopGroupAsyncReplicationResource)(nil), // 555: google.cloud.compute.v1.DisksStopGroupAsyncReplicationResource - (*DisplayDevice)(nil), // 556: google.cloud.compute.v1.DisplayDevice - (*DistributionPolicy)(nil), // 557: google.cloud.compute.v1.DistributionPolicy - (*DistributionPolicyZoneConfiguration)(nil), // 558: google.cloud.compute.v1.DistributionPolicyZoneConfiguration - (*Duration)(nil), // 559: google.cloud.compute.v1.Duration - (*EnableXpnHostProjectRequest)(nil), // 560: google.cloud.compute.v1.EnableXpnHostProjectRequest - (*EnableXpnResourceProjectRequest)(nil), // 561: google.cloud.compute.v1.EnableXpnResourceProjectRequest - (*Error)(nil), // 562: google.cloud.compute.v1.Error - (*ErrorDetails)(nil), // 563: google.cloud.compute.v1.ErrorDetails - (*ErrorInfo)(nil), // 564: google.cloud.compute.v1.ErrorInfo - (*Errors)(nil), // 565: google.cloud.compute.v1.Errors - (*ExchangedPeeringRoute)(nil), // 566: google.cloud.compute.v1.ExchangedPeeringRoute - (*ExchangedPeeringRoutesList)(nil), // 567: google.cloud.compute.v1.ExchangedPeeringRoutesList - (*ExpandIpCidrRangeSubnetworkRequest)(nil), // 568: google.cloud.compute.v1.ExpandIpCidrRangeSubnetworkRequest - (*Expr)(nil), // 569: google.cloud.compute.v1.Expr - (*ExternalVpnGateway)(nil), // 570: google.cloud.compute.v1.ExternalVpnGateway - (*ExternalVpnGatewayInterface)(nil), // 571: google.cloud.compute.v1.ExternalVpnGatewayInterface - (*ExternalVpnGatewayList)(nil), // 572: google.cloud.compute.v1.ExternalVpnGatewayList - (*FileContentBuffer)(nil), // 573: google.cloud.compute.v1.FileContentBuffer - (*Firewall)(nil), // 574: google.cloud.compute.v1.Firewall - (*FirewallList)(nil), // 575: google.cloud.compute.v1.FirewallList - (*FirewallLogConfig)(nil), // 576: google.cloud.compute.v1.FirewallLogConfig - (*FirewallPoliciesListAssociationsResponse)(nil), // 577: google.cloud.compute.v1.FirewallPoliciesListAssociationsResponse - (*FirewallPolicy)(nil), // 578: google.cloud.compute.v1.FirewallPolicy - (*FirewallPolicyAssociation)(nil), // 579: google.cloud.compute.v1.FirewallPolicyAssociation - (*FirewallPolicyList)(nil), // 580: google.cloud.compute.v1.FirewallPolicyList - (*FirewallPolicyRule)(nil), // 581: google.cloud.compute.v1.FirewallPolicyRule - (*FirewallPolicyRuleMatcher)(nil), // 582: google.cloud.compute.v1.FirewallPolicyRuleMatcher - (*FirewallPolicyRuleMatcherLayer4Config)(nil), // 583: google.cloud.compute.v1.FirewallPolicyRuleMatcherLayer4Config - (*FirewallPolicyRuleSecureTag)(nil), // 584: google.cloud.compute.v1.FirewallPolicyRuleSecureTag - (*FixedOrPercent)(nil), // 585: google.cloud.compute.v1.FixedOrPercent - (*ForwardingRule)(nil), // 586: google.cloud.compute.v1.ForwardingRule - (*ForwardingRuleAggregatedList)(nil), // 587: google.cloud.compute.v1.ForwardingRuleAggregatedList - (*ForwardingRuleList)(nil), // 588: google.cloud.compute.v1.ForwardingRuleList - (*ForwardingRuleReference)(nil), // 589: google.cloud.compute.v1.ForwardingRuleReference - (*ForwardingRuleServiceDirectoryRegistration)(nil), // 590: google.cloud.compute.v1.ForwardingRuleServiceDirectoryRegistration - (*ForwardingRulesScopedList)(nil), // 591: google.cloud.compute.v1.ForwardingRulesScopedList - (*GRPCHealthCheck)(nil), // 592: google.cloud.compute.v1.GRPCHealthCheck - (*GetAcceleratorTypeRequest)(nil), // 593: google.cloud.compute.v1.GetAcceleratorTypeRequest - (*GetAddressRequest)(nil), // 594: google.cloud.compute.v1.GetAddressRequest - (*GetAssociationFirewallPolicyRequest)(nil), // 595: google.cloud.compute.v1.GetAssociationFirewallPolicyRequest - (*GetAssociationNetworkFirewallPolicyRequest)(nil), // 596: google.cloud.compute.v1.GetAssociationNetworkFirewallPolicyRequest - (*GetAssociationRegionNetworkFirewallPolicyRequest)(nil), // 597: google.cloud.compute.v1.GetAssociationRegionNetworkFirewallPolicyRequest - (*GetAutoscalerRequest)(nil), // 598: google.cloud.compute.v1.GetAutoscalerRequest - (*GetBackendBucketRequest)(nil), // 599: google.cloud.compute.v1.GetBackendBucketRequest - (*GetBackendServiceRequest)(nil), // 600: google.cloud.compute.v1.GetBackendServiceRequest - (*GetDiagnosticsInterconnectRequest)(nil), // 601: google.cloud.compute.v1.GetDiagnosticsInterconnectRequest - (*GetDiskRequest)(nil), // 602: google.cloud.compute.v1.GetDiskRequest - (*GetDiskTypeRequest)(nil), // 603: google.cloud.compute.v1.GetDiskTypeRequest - (*GetEffectiveFirewallsInstanceRequest)(nil), // 604: google.cloud.compute.v1.GetEffectiveFirewallsInstanceRequest - (*GetEffectiveFirewallsNetworkRequest)(nil), // 605: google.cloud.compute.v1.GetEffectiveFirewallsNetworkRequest - (*GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest)(nil), // 606: google.cloud.compute.v1.GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest - (*GetExternalVpnGatewayRequest)(nil), // 607: google.cloud.compute.v1.GetExternalVpnGatewayRequest - (*GetFirewallPolicyRequest)(nil), // 608: google.cloud.compute.v1.GetFirewallPolicyRequest - (*GetFirewallRequest)(nil), // 609: google.cloud.compute.v1.GetFirewallRequest - (*GetForwardingRuleRequest)(nil), // 610: google.cloud.compute.v1.GetForwardingRuleRequest - (*GetFromFamilyImageRequest)(nil), // 611: google.cloud.compute.v1.GetFromFamilyImageRequest - (*GetGlobalAddressRequest)(nil), // 612: google.cloud.compute.v1.GetGlobalAddressRequest - (*GetGlobalForwardingRuleRequest)(nil), // 613: google.cloud.compute.v1.GetGlobalForwardingRuleRequest - (*GetGlobalNetworkEndpointGroupRequest)(nil), // 614: google.cloud.compute.v1.GetGlobalNetworkEndpointGroupRequest - (*GetGlobalOperationRequest)(nil), // 615: google.cloud.compute.v1.GetGlobalOperationRequest - (*GetGlobalOrganizationOperationRequest)(nil), // 616: google.cloud.compute.v1.GetGlobalOrganizationOperationRequest - (*GetGlobalPublicDelegatedPrefixeRequest)(nil), // 617: google.cloud.compute.v1.GetGlobalPublicDelegatedPrefixeRequest - (*GetGuestAttributesInstanceRequest)(nil), // 618: google.cloud.compute.v1.GetGuestAttributesInstanceRequest - (*GetHealthBackendServiceRequest)(nil), // 619: google.cloud.compute.v1.GetHealthBackendServiceRequest - (*GetHealthCheckRequest)(nil), // 620: google.cloud.compute.v1.GetHealthCheckRequest - (*GetHealthRegionBackendServiceRequest)(nil), // 621: google.cloud.compute.v1.GetHealthRegionBackendServiceRequest - (*GetHealthTargetPoolRequest)(nil), // 622: google.cloud.compute.v1.GetHealthTargetPoolRequest - (*GetIamPolicyBackendServiceRequest)(nil), // 623: google.cloud.compute.v1.GetIamPolicyBackendServiceRequest - (*GetIamPolicyDiskRequest)(nil), // 624: google.cloud.compute.v1.GetIamPolicyDiskRequest - (*GetIamPolicyFirewallPolicyRequest)(nil), // 625: google.cloud.compute.v1.GetIamPolicyFirewallPolicyRequest - (*GetIamPolicyImageRequest)(nil), // 626: google.cloud.compute.v1.GetIamPolicyImageRequest - (*GetIamPolicyInstanceRequest)(nil), // 627: google.cloud.compute.v1.GetIamPolicyInstanceRequest - (*GetIamPolicyInstanceTemplateRequest)(nil), // 628: google.cloud.compute.v1.GetIamPolicyInstanceTemplateRequest - (*GetIamPolicyLicenseRequest)(nil), // 629: google.cloud.compute.v1.GetIamPolicyLicenseRequest - (*GetIamPolicyMachineImageRequest)(nil), // 630: google.cloud.compute.v1.GetIamPolicyMachineImageRequest - (*GetIamPolicyNetworkAttachmentRequest)(nil), // 631: google.cloud.compute.v1.GetIamPolicyNetworkAttachmentRequest - (*GetIamPolicyNetworkFirewallPolicyRequest)(nil), // 632: google.cloud.compute.v1.GetIamPolicyNetworkFirewallPolicyRequest - (*GetIamPolicyNodeGroupRequest)(nil), // 633: google.cloud.compute.v1.GetIamPolicyNodeGroupRequest - (*GetIamPolicyNodeTemplateRequest)(nil), // 634: google.cloud.compute.v1.GetIamPolicyNodeTemplateRequest - (*GetIamPolicyRegionBackendServiceRequest)(nil), // 635: google.cloud.compute.v1.GetIamPolicyRegionBackendServiceRequest - (*GetIamPolicyRegionDiskRequest)(nil), // 636: google.cloud.compute.v1.GetIamPolicyRegionDiskRequest - (*GetIamPolicyRegionNetworkFirewallPolicyRequest)(nil), // 637: google.cloud.compute.v1.GetIamPolicyRegionNetworkFirewallPolicyRequest - (*GetIamPolicyReservationRequest)(nil), // 638: google.cloud.compute.v1.GetIamPolicyReservationRequest - (*GetIamPolicyResourcePolicyRequest)(nil), // 639: google.cloud.compute.v1.GetIamPolicyResourcePolicyRequest - (*GetIamPolicyServiceAttachmentRequest)(nil), // 640: google.cloud.compute.v1.GetIamPolicyServiceAttachmentRequest - (*GetIamPolicySnapshotRequest)(nil), // 641: google.cloud.compute.v1.GetIamPolicySnapshotRequest - (*GetIamPolicySubnetworkRequest)(nil), // 642: google.cloud.compute.v1.GetIamPolicySubnetworkRequest - (*GetImageFamilyViewRequest)(nil), // 643: google.cloud.compute.v1.GetImageFamilyViewRequest - (*GetImageRequest)(nil), // 644: google.cloud.compute.v1.GetImageRequest - (*GetInstanceGroupManagerRequest)(nil), // 645: google.cloud.compute.v1.GetInstanceGroupManagerRequest - (*GetInstanceGroupRequest)(nil), // 646: google.cloud.compute.v1.GetInstanceGroupRequest - (*GetInstanceRequest)(nil), // 647: google.cloud.compute.v1.GetInstanceRequest - (*GetInstanceTemplateRequest)(nil), // 648: google.cloud.compute.v1.GetInstanceTemplateRequest - (*GetInterconnectAttachmentRequest)(nil), // 649: google.cloud.compute.v1.GetInterconnectAttachmentRequest - (*GetInterconnectLocationRequest)(nil), // 650: google.cloud.compute.v1.GetInterconnectLocationRequest - (*GetInterconnectRemoteLocationRequest)(nil), // 651: google.cloud.compute.v1.GetInterconnectRemoteLocationRequest - (*GetInterconnectRequest)(nil), // 652: google.cloud.compute.v1.GetInterconnectRequest - (*GetLicenseCodeRequest)(nil), // 653: google.cloud.compute.v1.GetLicenseCodeRequest - (*GetLicenseRequest)(nil), // 654: google.cloud.compute.v1.GetLicenseRequest - (*GetMachineImageRequest)(nil), // 655: google.cloud.compute.v1.GetMachineImageRequest - (*GetMachineTypeRequest)(nil), // 656: google.cloud.compute.v1.GetMachineTypeRequest - (*GetNatMappingInfoRoutersRequest)(nil), // 657: google.cloud.compute.v1.GetNatMappingInfoRoutersRequest - (*GetNetworkAttachmentRequest)(nil), // 658: google.cloud.compute.v1.GetNetworkAttachmentRequest - (*GetNetworkEdgeSecurityServiceRequest)(nil), // 659: google.cloud.compute.v1.GetNetworkEdgeSecurityServiceRequest - (*GetNetworkEndpointGroupRequest)(nil), // 660: google.cloud.compute.v1.GetNetworkEndpointGroupRequest - (*GetNetworkFirewallPolicyRequest)(nil), // 661: google.cloud.compute.v1.GetNetworkFirewallPolicyRequest - (*GetNetworkRequest)(nil), // 662: google.cloud.compute.v1.GetNetworkRequest - (*GetNodeGroupRequest)(nil), // 663: google.cloud.compute.v1.GetNodeGroupRequest - (*GetNodeTemplateRequest)(nil), // 664: google.cloud.compute.v1.GetNodeTemplateRequest - (*GetNodeTypeRequest)(nil), // 665: google.cloud.compute.v1.GetNodeTypeRequest - (*GetPacketMirroringRequest)(nil), // 666: google.cloud.compute.v1.GetPacketMirroringRequest - (*GetProjectRequest)(nil), // 667: google.cloud.compute.v1.GetProjectRequest - (*GetPublicAdvertisedPrefixeRequest)(nil), // 668: google.cloud.compute.v1.GetPublicAdvertisedPrefixeRequest - (*GetPublicDelegatedPrefixeRequest)(nil), // 669: google.cloud.compute.v1.GetPublicDelegatedPrefixeRequest - (*GetRegionAutoscalerRequest)(nil), // 670: google.cloud.compute.v1.GetRegionAutoscalerRequest - (*GetRegionBackendServiceRequest)(nil), // 671: google.cloud.compute.v1.GetRegionBackendServiceRequest - (*GetRegionCommitmentRequest)(nil), // 672: google.cloud.compute.v1.GetRegionCommitmentRequest - (*GetRegionDiskRequest)(nil), // 673: google.cloud.compute.v1.GetRegionDiskRequest - (*GetRegionDiskTypeRequest)(nil), // 674: google.cloud.compute.v1.GetRegionDiskTypeRequest - (*GetRegionHealthCheckRequest)(nil), // 675: google.cloud.compute.v1.GetRegionHealthCheckRequest - (*GetRegionHealthCheckServiceRequest)(nil), // 676: google.cloud.compute.v1.GetRegionHealthCheckServiceRequest - (*GetRegionInstanceGroupManagerRequest)(nil), // 677: google.cloud.compute.v1.GetRegionInstanceGroupManagerRequest - (*GetRegionInstanceGroupRequest)(nil), // 678: google.cloud.compute.v1.GetRegionInstanceGroupRequest - (*GetRegionInstanceTemplateRequest)(nil), // 679: google.cloud.compute.v1.GetRegionInstanceTemplateRequest - (*GetRegionNetworkEndpointGroupRequest)(nil), // 680: google.cloud.compute.v1.GetRegionNetworkEndpointGroupRequest - (*GetRegionNetworkFirewallPolicyRequest)(nil), // 681: google.cloud.compute.v1.GetRegionNetworkFirewallPolicyRequest - (*GetRegionNotificationEndpointRequest)(nil), // 682: google.cloud.compute.v1.GetRegionNotificationEndpointRequest - (*GetRegionOperationRequest)(nil), // 683: google.cloud.compute.v1.GetRegionOperationRequest - (*GetRegionRequest)(nil), // 684: google.cloud.compute.v1.GetRegionRequest - (*GetRegionSecurityPolicyRequest)(nil), // 685: google.cloud.compute.v1.GetRegionSecurityPolicyRequest - (*GetRegionSslCertificateRequest)(nil), // 686: google.cloud.compute.v1.GetRegionSslCertificateRequest - (*GetRegionSslPolicyRequest)(nil), // 687: google.cloud.compute.v1.GetRegionSslPolicyRequest - (*GetRegionTargetHttpProxyRequest)(nil), // 688: google.cloud.compute.v1.GetRegionTargetHttpProxyRequest - (*GetRegionTargetHttpsProxyRequest)(nil), // 689: google.cloud.compute.v1.GetRegionTargetHttpsProxyRequest - (*GetRegionTargetTcpProxyRequest)(nil), // 690: google.cloud.compute.v1.GetRegionTargetTcpProxyRequest - (*GetRegionUrlMapRequest)(nil), // 691: google.cloud.compute.v1.GetRegionUrlMapRequest - (*GetReservationRequest)(nil), // 692: google.cloud.compute.v1.GetReservationRequest - (*GetResourcePolicyRequest)(nil), // 693: google.cloud.compute.v1.GetResourcePolicyRequest - (*GetRouteRequest)(nil), // 694: google.cloud.compute.v1.GetRouteRequest - (*GetRouterRequest)(nil), // 695: google.cloud.compute.v1.GetRouterRequest - (*GetRouterStatusRouterRequest)(nil), // 696: google.cloud.compute.v1.GetRouterStatusRouterRequest - (*GetRuleFirewallPolicyRequest)(nil), // 697: google.cloud.compute.v1.GetRuleFirewallPolicyRequest - (*GetRuleNetworkFirewallPolicyRequest)(nil), // 698: google.cloud.compute.v1.GetRuleNetworkFirewallPolicyRequest - (*GetRuleRegionNetworkFirewallPolicyRequest)(nil), // 699: google.cloud.compute.v1.GetRuleRegionNetworkFirewallPolicyRequest - (*GetRuleSecurityPolicyRequest)(nil), // 700: google.cloud.compute.v1.GetRuleSecurityPolicyRequest - (*GetScreenshotInstanceRequest)(nil), // 701: google.cloud.compute.v1.GetScreenshotInstanceRequest - (*GetSecurityPolicyRequest)(nil), // 702: google.cloud.compute.v1.GetSecurityPolicyRequest - (*GetSerialPortOutputInstanceRequest)(nil), // 703: google.cloud.compute.v1.GetSerialPortOutputInstanceRequest - (*GetServiceAttachmentRequest)(nil), // 704: google.cloud.compute.v1.GetServiceAttachmentRequest - (*GetShieldedInstanceIdentityInstanceRequest)(nil), // 705: google.cloud.compute.v1.GetShieldedInstanceIdentityInstanceRequest - (*GetSnapshotRequest)(nil), // 706: google.cloud.compute.v1.GetSnapshotRequest - (*GetSslCertificateRequest)(nil), // 707: google.cloud.compute.v1.GetSslCertificateRequest - (*GetSslPolicyRequest)(nil), // 708: google.cloud.compute.v1.GetSslPolicyRequest - (*GetStatusVpnGatewayRequest)(nil), // 709: google.cloud.compute.v1.GetStatusVpnGatewayRequest - (*GetSubnetworkRequest)(nil), // 710: google.cloud.compute.v1.GetSubnetworkRequest - (*GetTargetGrpcProxyRequest)(nil), // 711: google.cloud.compute.v1.GetTargetGrpcProxyRequest - (*GetTargetHttpProxyRequest)(nil), // 712: google.cloud.compute.v1.GetTargetHttpProxyRequest - (*GetTargetHttpsProxyRequest)(nil), // 713: google.cloud.compute.v1.GetTargetHttpsProxyRequest - (*GetTargetInstanceRequest)(nil), // 714: google.cloud.compute.v1.GetTargetInstanceRequest - (*GetTargetPoolRequest)(nil), // 715: google.cloud.compute.v1.GetTargetPoolRequest - (*GetTargetSslProxyRequest)(nil), // 716: google.cloud.compute.v1.GetTargetSslProxyRequest - (*GetTargetTcpProxyRequest)(nil), // 717: google.cloud.compute.v1.GetTargetTcpProxyRequest - (*GetTargetVpnGatewayRequest)(nil), // 718: google.cloud.compute.v1.GetTargetVpnGatewayRequest - (*GetUrlMapRequest)(nil), // 719: google.cloud.compute.v1.GetUrlMapRequest - (*GetVpnGatewayRequest)(nil), // 720: google.cloud.compute.v1.GetVpnGatewayRequest - (*GetVpnTunnelRequest)(nil), // 721: google.cloud.compute.v1.GetVpnTunnelRequest - (*GetXpnHostProjectRequest)(nil), // 722: google.cloud.compute.v1.GetXpnHostProjectRequest - (*GetXpnResourcesProjectsRequest)(nil), // 723: google.cloud.compute.v1.GetXpnResourcesProjectsRequest - (*GetZoneOperationRequest)(nil), // 724: google.cloud.compute.v1.GetZoneOperationRequest - (*GetZoneRequest)(nil), // 725: google.cloud.compute.v1.GetZoneRequest - (*GlobalAddressesMoveRequest)(nil), // 726: google.cloud.compute.v1.GlobalAddressesMoveRequest - (*GlobalNetworkEndpointGroupsAttachEndpointsRequest)(nil), // 727: google.cloud.compute.v1.GlobalNetworkEndpointGroupsAttachEndpointsRequest - (*GlobalNetworkEndpointGroupsDetachEndpointsRequest)(nil), // 728: google.cloud.compute.v1.GlobalNetworkEndpointGroupsDetachEndpointsRequest - (*GlobalOrganizationSetPolicyRequest)(nil), // 729: google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest - (*GlobalSetLabelsRequest)(nil), // 730: google.cloud.compute.v1.GlobalSetLabelsRequest - (*GlobalSetPolicyRequest)(nil), // 731: google.cloud.compute.v1.GlobalSetPolicyRequest - (*GuestAttributes)(nil), // 732: google.cloud.compute.v1.GuestAttributes - (*GuestAttributesEntry)(nil), // 733: google.cloud.compute.v1.GuestAttributesEntry - (*GuestAttributesValue)(nil), // 734: google.cloud.compute.v1.GuestAttributesValue - (*GuestOsFeature)(nil), // 735: google.cloud.compute.v1.GuestOsFeature - (*HTTP2HealthCheck)(nil), // 736: google.cloud.compute.v1.HTTP2HealthCheck - (*HTTPHealthCheck)(nil), // 737: google.cloud.compute.v1.HTTPHealthCheck - (*HTTPSHealthCheck)(nil), // 738: google.cloud.compute.v1.HTTPSHealthCheck - (*HealthCheck)(nil), // 739: google.cloud.compute.v1.HealthCheck - (*HealthCheckList)(nil), // 740: google.cloud.compute.v1.HealthCheckList - (*HealthCheckLogConfig)(nil), // 741: google.cloud.compute.v1.HealthCheckLogConfig - (*HealthCheckReference)(nil), // 742: google.cloud.compute.v1.HealthCheckReference - (*HealthCheckService)(nil), // 743: google.cloud.compute.v1.HealthCheckService - (*HealthCheckServiceReference)(nil), // 744: google.cloud.compute.v1.HealthCheckServiceReference - (*HealthCheckServicesList)(nil), // 745: google.cloud.compute.v1.HealthCheckServicesList - (*HealthChecksAggregatedList)(nil), // 746: google.cloud.compute.v1.HealthChecksAggregatedList - (*HealthChecksScopedList)(nil), // 747: google.cloud.compute.v1.HealthChecksScopedList - (*HealthStatus)(nil), // 748: google.cloud.compute.v1.HealthStatus - (*HealthStatusForNetworkEndpoint)(nil), // 749: google.cloud.compute.v1.HealthStatusForNetworkEndpoint - (*Help)(nil), // 750: google.cloud.compute.v1.Help - (*HelpLink)(nil), // 751: google.cloud.compute.v1.HelpLink - (*HostRule)(nil), // 752: google.cloud.compute.v1.HostRule - (*HttpFaultAbort)(nil), // 753: google.cloud.compute.v1.HttpFaultAbort - (*HttpFaultDelay)(nil), // 754: google.cloud.compute.v1.HttpFaultDelay - (*HttpFaultInjection)(nil), // 755: google.cloud.compute.v1.HttpFaultInjection - (*HttpHeaderAction)(nil), // 756: google.cloud.compute.v1.HttpHeaderAction - (*HttpHeaderMatch)(nil), // 757: google.cloud.compute.v1.HttpHeaderMatch - (*HttpHeaderOption)(nil), // 758: google.cloud.compute.v1.HttpHeaderOption - (*HttpQueryParameterMatch)(nil), // 759: google.cloud.compute.v1.HttpQueryParameterMatch - (*HttpRedirectAction)(nil), // 760: google.cloud.compute.v1.HttpRedirectAction - (*HttpRetryPolicy)(nil), // 761: google.cloud.compute.v1.HttpRetryPolicy - (*HttpRouteAction)(nil), // 762: google.cloud.compute.v1.HttpRouteAction - (*HttpRouteRule)(nil), // 763: google.cloud.compute.v1.HttpRouteRule - (*HttpRouteRuleMatch)(nil), // 764: google.cloud.compute.v1.HttpRouteRuleMatch - (*Image)(nil), // 765: google.cloud.compute.v1.Image - (*ImageFamilyView)(nil), // 766: google.cloud.compute.v1.ImageFamilyView - (*ImageList)(nil), // 767: google.cloud.compute.v1.ImageList - (*InitialStateConfig)(nil), // 768: google.cloud.compute.v1.InitialStateConfig - (*InsertAddressRequest)(nil), // 769: google.cloud.compute.v1.InsertAddressRequest - (*InsertAutoscalerRequest)(nil), // 770: google.cloud.compute.v1.InsertAutoscalerRequest - (*InsertBackendBucketRequest)(nil), // 771: google.cloud.compute.v1.InsertBackendBucketRequest - (*InsertBackendServiceRequest)(nil), // 772: google.cloud.compute.v1.InsertBackendServiceRequest - (*InsertDiskRequest)(nil), // 773: google.cloud.compute.v1.InsertDiskRequest - (*InsertExternalVpnGatewayRequest)(nil), // 774: google.cloud.compute.v1.InsertExternalVpnGatewayRequest - (*InsertFirewallPolicyRequest)(nil), // 775: google.cloud.compute.v1.InsertFirewallPolicyRequest - (*InsertFirewallRequest)(nil), // 776: google.cloud.compute.v1.InsertFirewallRequest - (*InsertForwardingRuleRequest)(nil), // 777: google.cloud.compute.v1.InsertForwardingRuleRequest - (*InsertGlobalAddressRequest)(nil), // 778: google.cloud.compute.v1.InsertGlobalAddressRequest - (*InsertGlobalForwardingRuleRequest)(nil), // 779: google.cloud.compute.v1.InsertGlobalForwardingRuleRequest - (*InsertGlobalNetworkEndpointGroupRequest)(nil), // 780: google.cloud.compute.v1.InsertGlobalNetworkEndpointGroupRequest - (*InsertGlobalPublicDelegatedPrefixeRequest)(nil), // 781: google.cloud.compute.v1.InsertGlobalPublicDelegatedPrefixeRequest - (*InsertHealthCheckRequest)(nil), // 782: google.cloud.compute.v1.InsertHealthCheckRequest - (*InsertImageRequest)(nil), // 783: google.cloud.compute.v1.InsertImageRequest - (*InsertInstanceGroupManagerRequest)(nil), // 784: google.cloud.compute.v1.InsertInstanceGroupManagerRequest - (*InsertInstanceGroupRequest)(nil), // 785: google.cloud.compute.v1.InsertInstanceGroupRequest - (*InsertInstanceRequest)(nil), // 786: google.cloud.compute.v1.InsertInstanceRequest - (*InsertInstanceTemplateRequest)(nil), // 787: google.cloud.compute.v1.InsertInstanceTemplateRequest - (*InsertInterconnectAttachmentRequest)(nil), // 788: google.cloud.compute.v1.InsertInterconnectAttachmentRequest - (*InsertInterconnectRequest)(nil), // 789: google.cloud.compute.v1.InsertInterconnectRequest - (*InsertLicenseRequest)(nil), // 790: google.cloud.compute.v1.InsertLicenseRequest - (*InsertMachineImageRequest)(nil), // 791: google.cloud.compute.v1.InsertMachineImageRequest - (*InsertNetworkAttachmentRequest)(nil), // 792: google.cloud.compute.v1.InsertNetworkAttachmentRequest - (*InsertNetworkEdgeSecurityServiceRequest)(nil), // 793: google.cloud.compute.v1.InsertNetworkEdgeSecurityServiceRequest - (*InsertNetworkEndpointGroupRequest)(nil), // 794: google.cloud.compute.v1.InsertNetworkEndpointGroupRequest - (*InsertNetworkFirewallPolicyRequest)(nil), // 795: google.cloud.compute.v1.InsertNetworkFirewallPolicyRequest - (*InsertNetworkRequest)(nil), // 796: google.cloud.compute.v1.InsertNetworkRequest - (*InsertNodeGroupRequest)(nil), // 797: google.cloud.compute.v1.InsertNodeGroupRequest - (*InsertNodeTemplateRequest)(nil), // 798: google.cloud.compute.v1.InsertNodeTemplateRequest - (*InsertPacketMirroringRequest)(nil), // 799: google.cloud.compute.v1.InsertPacketMirroringRequest - (*InsertPublicAdvertisedPrefixeRequest)(nil), // 800: google.cloud.compute.v1.InsertPublicAdvertisedPrefixeRequest - (*InsertPublicDelegatedPrefixeRequest)(nil), // 801: google.cloud.compute.v1.InsertPublicDelegatedPrefixeRequest - (*InsertRegionAutoscalerRequest)(nil), // 802: google.cloud.compute.v1.InsertRegionAutoscalerRequest - (*InsertRegionBackendServiceRequest)(nil), // 803: google.cloud.compute.v1.InsertRegionBackendServiceRequest - (*InsertRegionCommitmentRequest)(nil), // 804: google.cloud.compute.v1.InsertRegionCommitmentRequest - (*InsertRegionDiskRequest)(nil), // 805: google.cloud.compute.v1.InsertRegionDiskRequest - (*InsertRegionHealthCheckRequest)(nil), // 806: google.cloud.compute.v1.InsertRegionHealthCheckRequest - (*InsertRegionHealthCheckServiceRequest)(nil), // 807: google.cloud.compute.v1.InsertRegionHealthCheckServiceRequest - (*InsertRegionInstanceGroupManagerRequest)(nil), // 808: google.cloud.compute.v1.InsertRegionInstanceGroupManagerRequest - (*InsertRegionInstanceTemplateRequest)(nil), // 809: google.cloud.compute.v1.InsertRegionInstanceTemplateRequest - (*InsertRegionNetworkEndpointGroupRequest)(nil), // 810: google.cloud.compute.v1.InsertRegionNetworkEndpointGroupRequest - (*InsertRegionNetworkFirewallPolicyRequest)(nil), // 811: google.cloud.compute.v1.InsertRegionNetworkFirewallPolicyRequest - (*InsertRegionNotificationEndpointRequest)(nil), // 812: google.cloud.compute.v1.InsertRegionNotificationEndpointRequest - (*InsertRegionSecurityPolicyRequest)(nil), // 813: google.cloud.compute.v1.InsertRegionSecurityPolicyRequest - (*InsertRegionSslCertificateRequest)(nil), // 814: google.cloud.compute.v1.InsertRegionSslCertificateRequest - (*InsertRegionSslPolicyRequest)(nil), // 815: google.cloud.compute.v1.InsertRegionSslPolicyRequest - (*InsertRegionTargetHttpProxyRequest)(nil), // 816: google.cloud.compute.v1.InsertRegionTargetHttpProxyRequest - (*InsertRegionTargetHttpsProxyRequest)(nil), // 817: google.cloud.compute.v1.InsertRegionTargetHttpsProxyRequest - (*InsertRegionTargetTcpProxyRequest)(nil), // 818: google.cloud.compute.v1.InsertRegionTargetTcpProxyRequest - (*InsertRegionUrlMapRequest)(nil), // 819: google.cloud.compute.v1.InsertRegionUrlMapRequest - (*InsertReservationRequest)(nil), // 820: google.cloud.compute.v1.InsertReservationRequest - (*InsertResourcePolicyRequest)(nil), // 821: google.cloud.compute.v1.InsertResourcePolicyRequest - (*InsertRouteRequest)(nil), // 822: google.cloud.compute.v1.InsertRouteRequest - (*InsertRouterRequest)(nil), // 823: google.cloud.compute.v1.InsertRouterRequest - (*InsertSecurityPolicyRequest)(nil), // 824: google.cloud.compute.v1.InsertSecurityPolicyRequest - (*InsertServiceAttachmentRequest)(nil), // 825: google.cloud.compute.v1.InsertServiceAttachmentRequest - (*InsertSnapshotRequest)(nil), // 826: google.cloud.compute.v1.InsertSnapshotRequest - (*InsertSslCertificateRequest)(nil), // 827: google.cloud.compute.v1.InsertSslCertificateRequest - (*InsertSslPolicyRequest)(nil), // 828: google.cloud.compute.v1.InsertSslPolicyRequest - (*InsertSubnetworkRequest)(nil), // 829: google.cloud.compute.v1.InsertSubnetworkRequest - (*InsertTargetGrpcProxyRequest)(nil), // 830: google.cloud.compute.v1.InsertTargetGrpcProxyRequest - (*InsertTargetHttpProxyRequest)(nil), // 831: google.cloud.compute.v1.InsertTargetHttpProxyRequest - (*InsertTargetHttpsProxyRequest)(nil), // 832: google.cloud.compute.v1.InsertTargetHttpsProxyRequest - (*InsertTargetInstanceRequest)(nil), // 833: google.cloud.compute.v1.InsertTargetInstanceRequest - (*InsertTargetPoolRequest)(nil), // 834: google.cloud.compute.v1.InsertTargetPoolRequest - (*InsertTargetSslProxyRequest)(nil), // 835: google.cloud.compute.v1.InsertTargetSslProxyRequest - (*InsertTargetTcpProxyRequest)(nil), // 836: google.cloud.compute.v1.InsertTargetTcpProxyRequest - (*InsertTargetVpnGatewayRequest)(nil), // 837: google.cloud.compute.v1.InsertTargetVpnGatewayRequest - (*InsertUrlMapRequest)(nil), // 838: google.cloud.compute.v1.InsertUrlMapRequest - (*InsertVpnGatewayRequest)(nil), // 839: google.cloud.compute.v1.InsertVpnGatewayRequest - (*InsertVpnTunnelRequest)(nil), // 840: google.cloud.compute.v1.InsertVpnTunnelRequest - (*Instance)(nil), // 841: google.cloud.compute.v1.Instance - (*InstanceAggregatedList)(nil), // 842: google.cloud.compute.v1.InstanceAggregatedList - (*InstanceConsumptionData)(nil), // 843: google.cloud.compute.v1.InstanceConsumptionData - (*InstanceConsumptionInfo)(nil), // 844: google.cloud.compute.v1.InstanceConsumptionInfo - (*InstanceGroup)(nil), // 845: google.cloud.compute.v1.InstanceGroup - (*InstanceGroupAggregatedList)(nil), // 846: google.cloud.compute.v1.InstanceGroupAggregatedList - (*InstanceGroupList)(nil), // 847: google.cloud.compute.v1.InstanceGroupList - (*InstanceGroupManager)(nil), // 848: google.cloud.compute.v1.InstanceGroupManager - (*InstanceGroupManagerActionsSummary)(nil), // 849: google.cloud.compute.v1.InstanceGroupManagerActionsSummary - (*InstanceGroupManagerAggregatedList)(nil), // 850: google.cloud.compute.v1.InstanceGroupManagerAggregatedList - (*InstanceGroupManagerAutoHealingPolicy)(nil), // 851: google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy - (*InstanceGroupManagerInstanceLifecyclePolicy)(nil), // 852: google.cloud.compute.v1.InstanceGroupManagerInstanceLifecyclePolicy - (*InstanceGroupManagerList)(nil), // 853: google.cloud.compute.v1.InstanceGroupManagerList - (*InstanceGroupManagerStatus)(nil), // 854: google.cloud.compute.v1.InstanceGroupManagerStatus - (*InstanceGroupManagerStatusStateful)(nil), // 855: google.cloud.compute.v1.InstanceGroupManagerStatusStateful - (*InstanceGroupManagerStatusStatefulPerInstanceConfigs)(nil), // 856: google.cloud.compute.v1.InstanceGroupManagerStatusStatefulPerInstanceConfigs - (*InstanceGroupManagerStatusVersionTarget)(nil), // 857: google.cloud.compute.v1.InstanceGroupManagerStatusVersionTarget - (*InstanceGroupManagerUpdatePolicy)(nil), // 858: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy - (*InstanceGroupManagerVersion)(nil), // 859: google.cloud.compute.v1.InstanceGroupManagerVersion - (*InstanceGroupManagersAbandonInstancesRequest)(nil), // 860: google.cloud.compute.v1.InstanceGroupManagersAbandonInstancesRequest - (*InstanceGroupManagersApplyUpdatesRequest)(nil), // 861: google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest - (*InstanceGroupManagersCreateInstancesRequest)(nil), // 862: google.cloud.compute.v1.InstanceGroupManagersCreateInstancesRequest - (*InstanceGroupManagersDeleteInstancesRequest)(nil), // 863: google.cloud.compute.v1.InstanceGroupManagersDeleteInstancesRequest - (*InstanceGroupManagersDeletePerInstanceConfigsReq)(nil), // 864: google.cloud.compute.v1.InstanceGroupManagersDeletePerInstanceConfigsReq - (*InstanceGroupManagersListErrorsResponse)(nil), // 865: google.cloud.compute.v1.InstanceGroupManagersListErrorsResponse - (*InstanceGroupManagersListManagedInstancesResponse)(nil), // 866: google.cloud.compute.v1.InstanceGroupManagersListManagedInstancesResponse - (*InstanceGroupManagersListPerInstanceConfigsResp)(nil), // 867: google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp - (*InstanceGroupManagersPatchPerInstanceConfigsReq)(nil), // 868: google.cloud.compute.v1.InstanceGroupManagersPatchPerInstanceConfigsReq - (*InstanceGroupManagersRecreateInstancesRequest)(nil), // 869: google.cloud.compute.v1.InstanceGroupManagersRecreateInstancesRequest - (*InstanceGroupManagersScopedList)(nil), // 870: google.cloud.compute.v1.InstanceGroupManagersScopedList - (*InstanceGroupManagersSetInstanceTemplateRequest)(nil), // 871: google.cloud.compute.v1.InstanceGroupManagersSetInstanceTemplateRequest - (*InstanceGroupManagersSetTargetPoolsRequest)(nil), // 872: google.cloud.compute.v1.InstanceGroupManagersSetTargetPoolsRequest - (*InstanceGroupManagersUpdatePerInstanceConfigsReq)(nil), // 873: google.cloud.compute.v1.InstanceGroupManagersUpdatePerInstanceConfigsReq - (*InstanceGroupsAddInstancesRequest)(nil), // 874: google.cloud.compute.v1.InstanceGroupsAddInstancesRequest - (*InstanceGroupsListInstances)(nil), // 875: google.cloud.compute.v1.InstanceGroupsListInstances - (*InstanceGroupsListInstancesRequest)(nil), // 876: google.cloud.compute.v1.InstanceGroupsListInstancesRequest - (*InstanceGroupsRemoveInstancesRequest)(nil), // 877: google.cloud.compute.v1.InstanceGroupsRemoveInstancesRequest - (*InstanceGroupsScopedList)(nil), // 878: google.cloud.compute.v1.InstanceGroupsScopedList - (*InstanceGroupsSetNamedPortsRequest)(nil), // 879: google.cloud.compute.v1.InstanceGroupsSetNamedPortsRequest - (*InstanceList)(nil), // 880: google.cloud.compute.v1.InstanceList - (*InstanceListReferrers)(nil), // 881: google.cloud.compute.v1.InstanceListReferrers - (*InstanceManagedByIgmError)(nil), // 882: google.cloud.compute.v1.InstanceManagedByIgmError - (*InstanceManagedByIgmErrorInstanceActionDetails)(nil), // 883: google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails - (*InstanceManagedByIgmErrorManagedInstanceError)(nil), // 884: google.cloud.compute.v1.InstanceManagedByIgmErrorManagedInstanceError - (*InstanceMoveRequest)(nil), // 885: google.cloud.compute.v1.InstanceMoveRequest - (*InstanceParams)(nil), // 886: google.cloud.compute.v1.InstanceParams - (*InstanceProperties)(nil), // 887: google.cloud.compute.v1.InstanceProperties - (*InstanceReference)(nil), // 888: google.cloud.compute.v1.InstanceReference - (*InstanceTemplate)(nil), // 889: google.cloud.compute.v1.InstanceTemplate - (*InstanceTemplateAggregatedList)(nil), // 890: google.cloud.compute.v1.InstanceTemplateAggregatedList - (*InstanceTemplateList)(nil), // 891: google.cloud.compute.v1.InstanceTemplateList - (*InstanceTemplatesScopedList)(nil), // 892: google.cloud.compute.v1.InstanceTemplatesScopedList - (*InstanceWithNamedPorts)(nil), // 893: google.cloud.compute.v1.InstanceWithNamedPorts - (*InstancesAddResourcePoliciesRequest)(nil), // 894: google.cloud.compute.v1.InstancesAddResourcePoliciesRequest - (*InstancesGetEffectiveFirewallsResponse)(nil), // 895: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse - (*InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy)(nil), // 896: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy - (*InstancesRemoveResourcePoliciesRequest)(nil), // 897: google.cloud.compute.v1.InstancesRemoveResourcePoliciesRequest - (*InstancesScopedList)(nil), // 898: google.cloud.compute.v1.InstancesScopedList - (*InstancesSetLabelsRequest)(nil), // 899: google.cloud.compute.v1.InstancesSetLabelsRequest - (*InstancesSetMachineResourcesRequest)(nil), // 900: google.cloud.compute.v1.InstancesSetMachineResourcesRequest - (*InstancesSetMachineTypeRequest)(nil), // 901: google.cloud.compute.v1.InstancesSetMachineTypeRequest - (*InstancesSetMinCpuPlatformRequest)(nil), // 902: google.cloud.compute.v1.InstancesSetMinCpuPlatformRequest - (*InstancesSetNameRequest)(nil), // 903: google.cloud.compute.v1.InstancesSetNameRequest - (*InstancesSetServiceAccountRequest)(nil), // 904: google.cloud.compute.v1.InstancesSetServiceAccountRequest - (*InstancesStartWithEncryptionKeyRequest)(nil), // 905: google.cloud.compute.v1.InstancesStartWithEncryptionKeyRequest - (*Int64RangeMatch)(nil), // 906: google.cloud.compute.v1.Int64RangeMatch - (*Interconnect)(nil), // 907: google.cloud.compute.v1.Interconnect - (*InterconnectAttachment)(nil), // 908: google.cloud.compute.v1.InterconnectAttachment - (*InterconnectAttachmentAggregatedList)(nil), // 909: google.cloud.compute.v1.InterconnectAttachmentAggregatedList - (*InterconnectAttachmentConfigurationConstraints)(nil), // 910: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints - (*InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange)(nil), // 911: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange - (*InterconnectAttachmentList)(nil), // 912: google.cloud.compute.v1.InterconnectAttachmentList - (*InterconnectAttachmentPartnerMetadata)(nil), // 913: google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata - (*InterconnectAttachmentPrivateInfo)(nil), // 914: google.cloud.compute.v1.InterconnectAttachmentPrivateInfo - (*InterconnectAttachmentsScopedList)(nil), // 915: google.cloud.compute.v1.InterconnectAttachmentsScopedList - (*InterconnectCircuitInfo)(nil), // 916: google.cloud.compute.v1.InterconnectCircuitInfo - (*InterconnectDiagnostics)(nil), // 917: google.cloud.compute.v1.InterconnectDiagnostics - (*InterconnectDiagnosticsARPEntry)(nil), // 918: google.cloud.compute.v1.InterconnectDiagnosticsARPEntry - (*InterconnectDiagnosticsLinkLACPStatus)(nil), // 919: google.cloud.compute.v1.InterconnectDiagnosticsLinkLACPStatus - (*InterconnectDiagnosticsLinkOpticalPower)(nil), // 920: google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower - (*InterconnectDiagnosticsLinkStatus)(nil), // 921: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus - (*InterconnectList)(nil), // 922: google.cloud.compute.v1.InterconnectList - (*InterconnectLocation)(nil), // 923: google.cloud.compute.v1.InterconnectLocation - (*InterconnectLocationList)(nil), // 924: google.cloud.compute.v1.InterconnectLocationList - (*InterconnectLocationRegionInfo)(nil), // 925: google.cloud.compute.v1.InterconnectLocationRegionInfo - (*InterconnectOutageNotification)(nil), // 926: google.cloud.compute.v1.InterconnectOutageNotification - (*InterconnectRemoteLocation)(nil), // 927: google.cloud.compute.v1.InterconnectRemoteLocation - (*InterconnectRemoteLocationConstraints)(nil), // 928: google.cloud.compute.v1.InterconnectRemoteLocationConstraints - (*InterconnectRemoteLocationConstraintsSubnetLengthRange)(nil), // 929: google.cloud.compute.v1.InterconnectRemoteLocationConstraintsSubnetLengthRange - (*InterconnectRemoteLocationList)(nil), // 930: google.cloud.compute.v1.InterconnectRemoteLocationList - (*InterconnectRemoteLocationPermittedConnections)(nil), // 931: google.cloud.compute.v1.InterconnectRemoteLocationPermittedConnections - (*InterconnectsGetDiagnosticsResponse)(nil), // 932: google.cloud.compute.v1.InterconnectsGetDiagnosticsResponse - (*InvalidateCacheUrlMapRequest)(nil), // 933: google.cloud.compute.v1.InvalidateCacheUrlMapRequest - (*Items)(nil), // 934: google.cloud.compute.v1.Items - (*License)(nil), // 935: google.cloud.compute.v1.License - (*LicenseCode)(nil), // 936: google.cloud.compute.v1.LicenseCode - (*LicenseCodeLicenseAlias)(nil), // 937: google.cloud.compute.v1.LicenseCodeLicenseAlias - (*LicenseResourceCommitment)(nil), // 938: google.cloud.compute.v1.LicenseResourceCommitment - (*LicenseResourceRequirements)(nil), // 939: google.cloud.compute.v1.LicenseResourceRequirements - (*LicensesListResponse)(nil), // 940: google.cloud.compute.v1.LicensesListResponse - (*ListAcceleratorTypesRequest)(nil), // 941: google.cloud.compute.v1.ListAcceleratorTypesRequest - (*ListAddressesRequest)(nil), // 942: google.cloud.compute.v1.ListAddressesRequest - (*ListAssociationsFirewallPolicyRequest)(nil), // 943: google.cloud.compute.v1.ListAssociationsFirewallPolicyRequest - (*ListAutoscalersRequest)(nil), // 944: google.cloud.compute.v1.ListAutoscalersRequest - (*ListAvailableFeaturesRegionSslPoliciesRequest)(nil), // 945: google.cloud.compute.v1.ListAvailableFeaturesRegionSslPoliciesRequest - (*ListAvailableFeaturesSslPoliciesRequest)(nil), // 946: google.cloud.compute.v1.ListAvailableFeaturesSslPoliciesRequest - (*ListBackendBucketsRequest)(nil), // 947: google.cloud.compute.v1.ListBackendBucketsRequest - (*ListBackendServicesRequest)(nil), // 948: google.cloud.compute.v1.ListBackendServicesRequest - (*ListDiskTypesRequest)(nil), // 949: google.cloud.compute.v1.ListDiskTypesRequest - (*ListDisksRequest)(nil), // 950: google.cloud.compute.v1.ListDisksRequest - (*ListErrorsInstanceGroupManagersRequest)(nil), // 951: google.cloud.compute.v1.ListErrorsInstanceGroupManagersRequest - (*ListErrorsRegionInstanceGroupManagersRequest)(nil), // 952: google.cloud.compute.v1.ListErrorsRegionInstanceGroupManagersRequest - (*ListExternalVpnGatewaysRequest)(nil), // 953: google.cloud.compute.v1.ListExternalVpnGatewaysRequest - (*ListFirewallPoliciesRequest)(nil), // 954: google.cloud.compute.v1.ListFirewallPoliciesRequest - (*ListFirewallsRequest)(nil), // 955: google.cloud.compute.v1.ListFirewallsRequest - (*ListForwardingRulesRequest)(nil), // 956: google.cloud.compute.v1.ListForwardingRulesRequest - (*ListGlobalAddressesRequest)(nil), // 957: google.cloud.compute.v1.ListGlobalAddressesRequest - (*ListGlobalForwardingRulesRequest)(nil), // 958: google.cloud.compute.v1.ListGlobalForwardingRulesRequest - (*ListGlobalNetworkEndpointGroupsRequest)(nil), // 959: google.cloud.compute.v1.ListGlobalNetworkEndpointGroupsRequest - (*ListGlobalOperationsRequest)(nil), // 960: google.cloud.compute.v1.ListGlobalOperationsRequest - (*ListGlobalOrganizationOperationsRequest)(nil), // 961: google.cloud.compute.v1.ListGlobalOrganizationOperationsRequest - (*ListGlobalPublicDelegatedPrefixesRequest)(nil), // 962: google.cloud.compute.v1.ListGlobalPublicDelegatedPrefixesRequest - (*ListHealthChecksRequest)(nil), // 963: google.cloud.compute.v1.ListHealthChecksRequest - (*ListImagesRequest)(nil), // 964: google.cloud.compute.v1.ListImagesRequest - (*ListInstanceGroupManagersRequest)(nil), // 965: google.cloud.compute.v1.ListInstanceGroupManagersRequest - (*ListInstanceGroupsRequest)(nil), // 966: google.cloud.compute.v1.ListInstanceGroupsRequest - (*ListInstanceTemplatesRequest)(nil), // 967: google.cloud.compute.v1.ListInstanceTemplatesRequest - (*ListInstancesInstanceGroupsRequest)(nil), // 968: google.cloud.compute.v1.ListInstancesInstanceGroupsRequest - (*ListInstancesRegionInstanceGroupsRequest)(nil), // 969: google.cloud.compute.v1.ListInstancesRegionInstanceGroupsRequest - (*ListInstancesRequest)(nil), // 970: google.cloud.compute.v1.ListInstancesRequest - (*ListInterconnectAttachmentsRequest)(nil), // 971: google.cloud.compute.v1.ListInterconnectAttachmentsRequest - (*ListInterconnectLocationsRequest)(nil), // 972: google.cloud.compute.v1.ListInterconnectLocationsRequest - (*ListInterconnectRemoteLocationsRequest)(nil), // 973: google.cloud.compute.v1.ListInterconnectRemoteLocationsRequest - (*ListInterconnectsRequest)(nil), // 974: google.cloud.compute.v1.ListInterconnectsRequest - (*ListLicensesRequest)(nil), // 975: google.cloud.compute.v1.ListLicensesRequest - (*ListMachineImagesRequest)(nil), // 976: google.cloud.compute.v1.ListMachineImagesRequest - (*ListMachineTypesRequest)(nil), // 977: google.cloud.compute.v1.ListMachineTypesRequest - (*ListManagedInstancesInstanceGroupManagersRequest)(nil), // 978: google.cloud.compute.v1.ListManagedInstancesInstanceGroupManagersRequest - (*ListManagedInstancesRegionInstanceGroupManagersRequest)(nil), // 979: google.cloud.compute.v1.ListManagedInstancesRegionInstanceGroupManagersRequest - (*ListNetworkAttachmentsRequest)(nil), // 980: google.cloud.compute.v1.ListNetworkAttachmentsRequest - (*ListNetworkEndpointGroupsRequest)(nil), // 981: google.cloud.compute.v1.ListNetworkEndpointGroupsRequest - (*ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest)(nil), // 982: google.cloud.compute.v1.ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest - (*ListNetworkEndpointsNetworkEndpointGroupsRequest)(nil), // 983: google.cloud.compute.v1.ListNetworkEndpointsNetworkEndpointGroupsRequest - (*ListNetworkFirewallPoliciesRequest)(nil), // 984: google.cloud.compute.v1.ListNetworkFirewallPoliciesRequest - (*ListNetworksRequest)(nil), // 985: google.cloud.compute.v1.ListNetworksRequest - (*ListNodeGroupsRequest)(nil), // 986: google.cloud.compute.v1.ListNodeGroupsRequest - (*ListNodeTemplatesRequest)(nil), // 987: google.cloud.compute.v1.ListNodeTemplatesRequest - (*ListNodeTypesRequest)(nil), // 988: google.cloud.compute.v1.ListNodeTypesRequest - (*ListNodesNodeGroupsRequest)(nil), // 989: google.cloud.compute.v1.ListNodesNodeGroupsRequest - (*ListPacketMirroringsRequest)(nil), // 990: google.cloud.compute.v1.ListPacketMirroringsRequest - (*ListPeeringRoutesNetworksRequest)(nil), // 991: google.cloud.compute.v1.ListPeeringRoutesNetworksRequest - (*ListPerInstanceConfigsInstanceGroupManagersRequest)(nil), // 992: google.cloud.compute.v1.ListPerInstanceConfigsInstanceGroupManagersRequest - (*ListPerInstanceConfigsRegionInstanceGroupManagersRequest)(nil), // 993: google.cloud.compute.v1.ListPerInstanceConfigsRegionInstanceGroupManagersRequest - (*ListPreconfiguredExpressionSetsSecurityPoliciesRequest)(nil), // 994: google.cloud.compute.v1.ListPreconfiguredExpressionSetsSecurityPoliciesRequest - (*ListPublicAdvertisedPrefixesRequest)(nil), // 995: google.cloud.compute.v1.ListPublicAdvertisedPrefixesRequest - (*ListPublicDelegatedPrefixesRequest)(nil), // 996: google.cloud.compute.v1.ListPublicDelegatedPrefixesRequest - (*ListReferrersInstancesRequest)(nil), // 997: google.cloud.compute.v1.ListReferrersInstancesRequest - (*ListRegionAutoscalersRequest)(nil), // 998: google.cloud.compute.v1.ListRegionAutoscalersRequest - (*ListRegionBackendServicesRequest)(nil), // 999: google.cloud.compute.v1.ListRegionBackendServicesRequest - (*ListRegionCommitmentsRequest)(nil), // 1000: google.cloud.compute.v1.ListRegionCommitmentsRequest - (*ListRegionDiskTypesRequest)(nil), // 1001: google.cloud.compute.v1.ListRegionDiskTypesRequest - (*ListRegionDisksRequest)(nil), // 1002: google.cloud.compute.v1.ListRegionDisksRequest - (*ListRegionHealthCheckServicesRequest)(nil), // 1003: google.cloud.compute.v1.ListRegionHealthCheckServicesRequest - (*ListRegionHealthChecksRequest)(nil), // 1004: google.cloud.compute.v1.ListRegionHealthChecksRequest - (*ListRegionInstanceGroupManagersRequest)(nil), // 1005: google.cloud.compute.v1.ListRegionInstanceGroupManagersRequest - (*ListRegionInstanceGroupsRequest)(nil), // 1006: google.cloud.compute.v1.ListRegionInstanceGroupsRequest - (*ListRegionInstanceTemplatesRequest)(nil), // 1007: google.cloud.compute.v1.ListRegionInstanceTemplatesRequest - (*ListRegionNetworkEndpointGroupsRequest)(nil), // 1008: google.cloud.compute.v1.ListRegionNetworkEndpointGroupsRequest - (*ListRegionNetworkFirewallPoliciesRequest)(nil), // 1009: google.cloud.compute.v1.ListRegionNetworkFirewallPoliciesRequest - (*ListRegionNotificationEndpointsRequest)(nil), // 1010: google.cloud.compute.v1.ListRegionNotificationEndpointsRequest - (*ListRegionOperationsRequest)(nil), // 1011: google.cloud.compute.v1.ListRegionOperationsRequest - (*ListRegionSecurityPoliciesRequest)(nil), // 1012: google.cloud.compute.v1.ListRegionSecurityPoliciesRequest - (*ListRegionSslCertificatesRequest)(nil), // 1013: google.cloud.compute.v1.ListRegionSslCertificatesRequest - (*ListRegionSslPoliciesRequest)(nil), // 1014: google.cloud.compute.v1.ListRegionSslPoliciesRequest - (*ListRegionTargetHttpProxiesRequest)(nil), // 1015: google.cloud.compute.v1.ListRegionTargetHttpProxiesRequest - (*ListRegionTargetHttpsProxiesRequest)(nil), // 1016: google.cloud.compute.v1.ListRegionTargetHttpsProxiesRequest - (*ListRegionTargetTcpProxiesRequest)(nil), // 1017: google.cloud.compute.v1.ListRegionTargetTcpProxiesRequest - (*ListRegionUrlMapsRequest)(nil), // 1018: google.cloud.compute.v1.ListRegionUrlMapsRequest - (*ListRegionsRequest)(nil), // 1019: google.cloud.compute.v1.ListRegionsRequest - (*ListReservationsRequest)(nil), // 1020: google.cloud.compute.v1.ListReservationsRequest - (*ListResourcePoliciesRequest)(nil), // 1021: google.cloud.compute.v1.ListResourcePoliciesRequest - (*ListRoutersRequest)(nil), // 1022: google.cloud.compute.v1.ListRoutersRequest - (*ListRoutesRequest)(nil), // 1023: google.cloud.compute.v1.ListRoutesRequest - (*ListSecurityPoliciesRequest)(nil), // 1024: google.cloud.compute.v1.ListSecurityPoliciesRequest - (*ListServiceAttachmentsRequest)(nil), // 1025: google.cloud.compute.v1.ListServiceAttachmentsRequest - (*ListSnapshotsRequest)(nil), // 1026: google.cloud.compute.v1.ListSnapshotsRequest - (*ListSslCertificatesRequest)(nil), // 1027: google.cloud.compute.v1.ListSslCertificatesRequest - (*ListSslPoliciesRequest)(nil), // 1028: google.cloud.compute.v1.ListSslPoliciesRequest - (*ListSubnetworksRequest)(nil), // 1029: google.cloud.compute.v1.ListSubnetworksRequest - (*ListTargetGrpcProxiesRequest)(nil), // 1030: google.cloud.compute.v1.ListTargetGrpcProxiesRequest - (*ListTargetHttpProxiesRequest)(nil), // 1031: google.cloud.compute.v1.ListTargetHttpProxiesRequest - (*ListTargetHttpsProxiesRequest)(nil), // 1032: google.cloud.compute.v1.ListTargetHttpsProxiesRequest - (*ListTargetInstancesRequest)(nil), // 1033: google.cloud.compute.v1.ListTargetInstancesRequest - (*ListTargetPoolsRequest)(nil), // 1034: google.cloud.compute.v1.ListTargetPoolsRequest - (*ListTargetSslProxiesRequest)(nil), // 1035: google.cloud.compute.v1.ListTargetSslProxiesRequest - (*ListTargetTcpProxiesRequest)(nil), // 1036: google.cloud.compute.v1.ListTargetTcpProxiesRequest - (*ListTargetVpnGatewaysRequest)(nil), // 1037: google.cloud.compute.v1.ListTargetVpnGatewaysRequest - (*ListUrlMapsRequest)(nil), // 1038: google.cloud.compute.v1.ListUrlMapsRequest - (*ListUsableSubnetworksRequest)(nil), // 1039: google.cloud.compute.v1.ListUsableSubnetworksRequest - (*ListVpnGatewaysRequest)(nil), // 1040: google.cloud.compute.v1.ListVpnGatewaysRequest - (*ListVpnTunnelsRequest)(nil), // 1041: google.cloud.compute.v1.ListVpnTunnelsRequest - (*ListXpnHostsProjectsRequest)(nil), // 1042: google.cloud.compute.v1.ListXpnHostsProjectsRequest - (*ListZoneOperationsRequest)(nil), // 1043: google.cloud.compute.v1.ListZoneOperationsRequest - (*ListZonesRequest)(nil), // 1044: google.cloud.compute.v1.ListZonesRequest - (*LocalDisk)(nil), // 1045: google.cloud.compute.v1.LocalDisk - (*LocalizedMessage)(nil), // 1046: google.cloud.compute.v1.LocalizedMessage - (*LocationPolicy)(nil), // 1047: google.cloud.compute.v1.LocationPolicy - (*LocationPolicyLocation)(nil), // 1048: google.cloud.compute.v1.LocationPolicyLocation - (*LocationPolicyLocationConstraints)(nil), // 1049: google.cloud.compute.v1.LocationPolicyLocationConstraints - (*LogConfig)(nil), // 1050: google.cloud.compute.v1.LogConfig - (*LogConfigCloudAuditOptions)(nil), // 1051: google.cloud.compute.v1.LogConfigCloudAuditOptions - (*LogConfigCounterOptions)(nil), // 1052: google.cloud.compute.v1.LogConfigCounterOptions - (*LogConfigCounterOptionsCustomField)(nil), // 1053: google.cloud.compute.v1.LogConfigCounterOptionsCustomField - (*LogConfigDataAccessOptions)(nil), // 1054: google.cloud.compute.v1.LogConfigDataAccessOptions - (*MachineImage)(nil), // 1055: google.cloud.compute.v1.MachineImage - (*MachineImageList)(nil), // 1056: google.cloud.compute.v1.MachineImageList - (*MachineType)(nil), // 1057: google.cloud.compute.v1.MachineType - (*MachineTypeAggregatedList)(nil), // 1058: google.cloud.compute.v1.MachineTypeAggregatedList - (*MachineTypeList)(nil), // 1059: google.cloud.compute.v1.MachineTypeList - (*MachineTypesScopedList)(nil), // 1060: google.cloud.compute.v1.MachineTypesScopedList - (*ManagedInstance)(nil), // 1061: google.cloud.compute.v1.ManagedInstance - (*ManagedInstanceInstanceHealth)(nil), // 1062: google.cloud.compute.v1.ManagedInstanceInstanceHealth - (*ManagedInstanceLastAttempt)(nil), // 1063: google.cloud.compute.v1.ManagedInstanceLastAttempt - (*ManagedInstanceVersion)(nil), // 1064: google.cloud.compute.v1.ManagedInstanceVersion - (*Metadata)(nil), // 1065: google.cloud.compute.v1.Metadata - (*MetadataFilter)(nil), // 1066: google.cloud.compute.v1.MetadataFilter - (*MetadataFilterLabelMatch)(nil), // 1067: google.cloud.compute.v1.MetadataFilterLabelMatch - (*MoveAddressRequest)(nil), // 1068: google.cloud.compute.v1.MoveAddressRequest - (*MoveDiskProjectRequest)(nil), // 1069: google.cloud.compute.v1.MoveDiskProjectRequest - (*MoveFirewallPolicyRequest)(nil), // 1070: google.cloud.compute.v1.MoveFirewallPolicyRequest - (*MoveGlobalAddressRequest)(nil), // 1071: google.cloud.compute.v1.MoveGlobalAddressRequest - (*MoveInstanceProjectRequest)(nil), // 1072: google.cloud.compute.v1.MoveInstanceProjectRequest - (*NamedPort)(nil), // 1073: google.cloud.compute.v1.NamedPort - (*Network)(nil), // 1074: google.cloud.compute.v1.Network - (*NetworkAttachment)(nil), // 1075: google.cloud.compute.v1.NetworkAttachment - (*NetworkAttachmentAggregatedList)(nil), // 1076: google.cloud.compute.v1.NetworkAttachmentAggregatedList - (*NetworkAttachmentConnectedEndpoint)(nil), // 1077: google.cloud.compute.v1.NetworkAttachmentConnectedEndpoint - (*NetworkAttachmentList)(nil), // 1078: google.cloud.compute.v1.NetworkAttachmentList - (*NetworkAttachmentsScopedList)(nil), // 1079: google.cloud.compute.v1.NetworkAttachmentsScopedList - (*NetworkEdgeSecurityService)(nil), // 1080: google.cloud.compute.v1.NetworkEdgeSecurityService - (*NetworkEdgeSecurityServiceAggregatedList)(nil), // 1081: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList - (*NetworkEdgeSecurityServicesScopedList)(nil), // 1082: google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList - (*NetworkEndpoint)(nil), // 1083: google.cloud.compute.v1.NetworkEndpoint - (*NetworkEndpointGroup)(nil), // 1084: google.cloud.compute.v1.NetworkEndpointGroup - (*NetworkEndpointGroupAggregatedList)(nil), // 1085: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList - (*NetworkEndpointGroupAppEngine)(nil), // 1086: google.cloud.compute.v1.NetworkEndpointGroupAppEngine - (*NetworkEndpointGroupCloudFunction)(nil), // 1087: google.cloud.compute.v1.NetworkEndpointGroupCloudFunction - (*NetworkEndpointGroupCloudRun)(nil), // 1088: google.cloud.compute.v1.NetworkEndpointGroupCloudRun - (*NetworkEndpointGroupList)(nil), // 1089: google.cloud.compute.v1.NetworkEndpointGroupList - (*NetworkEndpointGroupPscData)(nil), // 1090: google.cloud.compute.v1.NetworkEndpointGroupPscData - (*NetworkEndpointGroupsAttachEndpointsRequest)(nil), // 1091: google.cloud.compute.v1.NetworkEndpointGroupsAttachEndpointsRequest - (*NetworkEndpointGroupsDetachEndpointsRequest)(nil), // 1092: google.cloud.compute.v1.NetworkEndpointGroupsDetachEndpointsRequest - (*NetworkEndpointGroupsListEndpointsRequest)(nil), // 1093: google.cloud.compute.v1.NetworkEndpointGroupsListEndpointsRequest - (*NetworkEndpointGroupsListNetworkEndpoints)(nil), // 1094: google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints - (*NetworkEndpointGroupsScopedList)(nil), // 1095: google.cloud.compute.v1.NetworkEndpointGroupsScopedList - (*NetworkEndpointWithHealthStatus)(nil), // 1096: google.cloud.compute.v1.NetworkEndpointWithHealthStatus - (*NetworkInterface)(nil), // 1097: google.cloud.compute.v1.NetworkInterface - (*NetworkList)(nil), // 1098: google.cloud.compute.v1.NetworkList - (*NetworkPeering)(nil), // 1099: google.cloud.compute.v1.NetworkPeering - (*NetworkPerformanceConfig)(nil), // 1100: google.cloud.compute.v1.NetworkPerformanceConfig - (*NetworkRoutingConfig)(nil), // 1101: google.cloud.compute.v1.NetworkRoutingConfig - (*NetworksAddPeeringRequest)(nil), // 1102: google.cloud.compute.v1.NetworksAddPeeringRequest - (*NetworksGetEffectiveFirewallsResponse)(nil), // 1103: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse - (*NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy)(nil), // 1104: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy - (*NetworksRemovePeeringRequest)(nil), // 1105: google.cloud.compute.v1.NetworksRemovePeeringRequest - (*NetworksUpdatePeeringRequest)(nil), // 1106: google.cloud.compute.v1.NetworksUpdatePeeringRequest - (*NodeGroup)(nil), // 1107: google.cloud.compute.v1.NodeGroup - (*NodeGroupAggregatedList)(nil), // 1108: google.cloud.compute.v1.NodeGroupAggregatedList - (*NodeGroupAutoscalingPolicy)(nil), // 1109: google.cloud.compute.v1.NodeGroupAutoscalingPolicy - (*NodeGroupList)(nil), // 1110: google.cloud.compute.v1.NodeGroupList - (*NodeGroupMaintenanceWindow)(nil), // 1111: google.cloud.compute.v1.NodeGroupMaintenanceWindow - (*NodeGroupNode)(nil), // 1112: google.cloud.compute.v1.NodeGroupNode - (*NodeGroupsAddNodesRequest)(nil), // 1113: google.cloud.compute.v1.NodeGroupsAddNodesRequest - (*NodeGroupsDeleteNodesRequest)(nil), // 1114: google.cloud.compute.v1.NodeGroupsDeleteNodesRequest - (*NodeGroupsListNodes)(nil), // 1115: google.cloud.compute.v1.NodeGroupsListNodes - (*NodeGroupsScopedList)(nil), // 1116: google.cloud.compute.v1.NodeGroupsScopedList - (*NodeGroupsSetNodeTemplateRequest)(nil), // 1117: google.cloud.compute.v1.NodeGroupsSetNodeTemplateRequest - (*NodeGroupsSimulateMaintenanceEventRequest)(nil), // 1118: google.cloud.compute.v1.NodeGroupsSimulateMaintenanceEventRequest - (*NodeTemplate)(nil), // 1119: google.cloud.compute.v1.NodeTemplate - (*NodeTemplateAggregatedList)(nil), // 1120: google.cloud.compute.v1.NodeTemplateAggregatedList - (*NodeTemplateList)(nil), // 1121: google.cloud.compute.v1.NodeTemplateList - (*NodeTemplateNodeTypeFlexibility)(nil), // 1122: google.cloud.compute.v1.NodeTemplateNodeTypeFlexibility - (*NodeTemplatesScopedList)(nil), // 1123: google.cloud.compute.v1.NodeTemplatesScopedList - (*NodeType)(nil), // 1124: google.cloud.compute.v1.NodeType - (*NodeTypeAggregatedList)(nil), // 1125: google.cloud.compute.v1.NodeTypeAggregatedList - (*NodeTypeList)(nil), // 1126: google.cloud.compute.v1.NodeTypeList - (*NodeTypesScopedList)(nil), // 1127: google.cloud.compute.v1.NodeTypesScopedList - (*NotificationEndpoint)(nil), // 1128: google.cloud.compute.v1.NotificationEndpoint - (*NotificationEndpointGrpcSettings)(nil), // 1129: google.cloud.compute.v1.NotificationEndpointGrpcSettings - (*NotificationEndpointList)(nil), // 1130: google.cloud.compute.v1.NotificationEndpointList - (*Operation)(nil), // 1131: google.cloud.compute.v1.Operation - (*OperationAggregatedList)(nil), // 1132: google.cloud.compute.v1.OperationAggregatedList - (*OperationList)(nil), // 1133: google.cloud.compute.v1.OperationList - (*OperationsScopedList)(nil), // 1134: google.cloud.compute.v1.OperationsScopedList - (*OutlierDetection)(nil), // 1135: google.cloud.compute.v1.OutlierDetection - (*PacketIntervals)(nil), // 1136: google.cloud.compute.v1.PacketIntervals - (*PacketMirroring)(nil), // 1137: google.cloud.compute.v1.PacketMirroring - (*PacketMirroringAggregatedList)(nil), // 1138: google.cloud.compute.v1.PacketMirroringAggregatedList - (*PacketMirroringFilter)(nil), // 1139: google.cloud.compute.v1.PacketMirroringFilter - (*PacketMirroringForwardingRuleInfo)(nil), // 1140: google.cloud.compute.v1.PacketMirroringForwardingRuleInfo - (*PacketMirroringList)(nil), // 1141: google.cloud.compute.v1.PacketMirroringList - (*PacketMirroringMirroredResourceInfo)(nil), // 1142: google.cloud.compute.v1.PacketMirroringMirroredResourceInfo - (*PacketMirroringMirroredResourceInfoInstanceInfo)(nil), // 1143: google.cloud.compute.v1.PacketMirroringMirroredResourceInfoInstanceInfo - (*PacketMirroringMirroredResourceInfoSubnetInfo)(nil), // 1144: google.cloud.compute.v1.PacketMirroringMirroredResourceInfoSubnetInfo - (*PacketMirroringNetworkInfo)(nil), // 1145: google.cloud.compute.v1.PacketMirroringNetworkInfo - (*PacketMirroringsScopedList)(nil), // 1146: google.cloud.compute.v1.PacketMirroringsScopedList - (*PatchAutoscalerRequest)(nil), // 1147: google.cloud.compute.v1.PatchAutoscalerRequest - (*PatchBackendBucketRequest)(nil), // 1148: google.cloud.compute.v1.PatchBackendBucketRequest - (*PatchBackendServiceRequest)(nil), // 1149: google.cloud.compute.v1.PatchBackendServiceRequest - (*PatchFirewallPolicyRequest)(nil), // 1150: google.cloud.compute.v1.PatchFirewallPolicyRequest - (*PatchFirewallRequest)(nil), // 1151: google.cloud.compute.v1.PatchFirewallRequest - (*PatchForwardingRuleRequest)(nil), // 1152: google.cloud.compute.v1.PatchForwardingRuleRequest - (*PatchGlobalForwardingRuleRequest)(nil), // 1153: google.cloud.compute.v1.PatchGlobalForwardingRuleRequest - (*PatchGlobalPublicDelegatedPrefixeRequest)(nil), // 1154: google.cloud.compute.v1.PatchGlobalPublicDelegatedPrefixeRequest - (*PatchHealthCheckRequest)(nil), // 1155: google.cloud.compute.v1.PatchHealthCheckRequest - (*PatchImageRequest)(nil), // 1156: google.cloud.compute.v1.PatchImageRequest - (*PatchInstanceGroupManagerRequest)(nil), // 1157: google.cloud.compute.v1.PatchInstanceGroupManagerRequest - (*PatchInterconnectAttachmentRequest)(nil), // 1158: google.cloud.compute.v1.PatchInterconnectAttachmentRequest - (*PatchInterconnectRequest)(nil), // 1159: google.cloud.compute.v1.PatchInterconnectRequest - (*PatchNetworkEdgeSecurityServiceRequest)(nil), // 1160: google.cloud.compute.v1.PatchNetworkEdgeSecurityServiceRequest - (*PatchNetworkFirewallPolicyRequest)(nil), // 1161: google.cloud.compute.v1.PatchNetworkFirewallPolicyRequest - (*PatchNetworkRequest)(nil), // 1162: google.cloud.compute.v1.PatchNetworkRequest - (*PatchNodeGroupRequest)(nil), // 1163: google.cloud.compute.v1.PatchNodeGroupRequest - (*PatchPacketMirroringRequest)(nil), // 1164: google.cloud.compute.v1.PatchPacketMirroringRequest - (*PatchPerInstanceConfigsInstanceGroupManagerRequest)(nil), // 1165: google.cloud.compute.v1.PatchPerInstanceConfigsInstanceGroupManagerRequest - (*PatchPerInstanceConfigsRegionInstanceGroupManagerRequest)(nil), // 1166: google.cloud.compute.v1.PatchPerInstanceConfigsRegionInstanceGroupManagerRequest - (*PatchPublicAdvertisedPrefixeRequest)(nil), // 1167: google.cloud.compute.v1.PatchPublicAdvertisedPrefixeRequest - (*PatchPublicDelegatedPrefixeRequest)(nil), // 1168: google.cloud.compute.v1.PatchPublicDelegatedPrefixeRequest - (*PatchRegionAutoscalerRequest)(nil), // 1169: google.cloud.compute.v1.PatchRegionAutoscalerRequest - (*PatchRegionBackendServiceRequest)(nil), // 1170: google.cloud.compute.v1.PatchRegionBackendServiceRequest - (*PatchRegionHealthCheckRequest)(nil), // 1171: google.cloud.compute.v1.PatchRegionHealthCheckRequest - (*PatchRegionHealthCheckServiceRequest)(nil), // 1172: google.cloud.compute.v1.PatchRegionHealthCheckServiceRequest - (*PatchRegionInstanceGroupManagerRequest)(nil), // 1173: google.cloud.compute.v1.PatchRegionInstanceGroupManagerRequest - (*PatchRegionNetworkFirewallPolicyRequest)(nil), // 1174: google.cloud.compute.v1.PatchRegionNetworkFirewallPolicyRequest - (*PatchRegionSecurityPolicyRequest)(nil), // 1175: google.cloud.compute.v1.PatchRegionSecurityPolicyRequest - (*PatchRegionSslPolicyRequest)(nil), // 1176: google.cloud.compute.v1.PatchRegionSslPolicyRequest - (*PatchRegionTargetHttpsProxyRequest)(nil), // 1177: google.cloud.compute.v1.PatchRegionTargetHttpsProxyRequest - (*PatchRegionUrlMapRequest)(nil), // 1178: google.cloud.compute.v1.PatchRegionUrlMapRequest - (*PatchResourcePolicyRequest)(nil), // 1179: google.cloud.compute.v1.PatchResourcePolicyRequest - (*PatchRouterRequest)(nil), // 1180: google.cloud.compute.v1.PatchRouterRequest - (*PatchRuleFirewallPolicyRequest)(nil), // 1181: google.cloud.compute.v1.PatchRuleFirewallPolicyRequest - (*PatchRuleNetworkFirewallPolicyRequest)(nil), // 1182: google.cloud.compute.v1.PatchRuleNetworkFirewallPolicyRequest - (*PatchRuleRegionNetworkFirewallPolicyRequest)(nil), // 1183: google.cloud.compute.v1.PatchRuleRegionNetworkFirewallPolicyRequest - (*PatchRuleSecurityPolicyRequest)(nil), // 1184: google.cloud.compute.v1.PatchRuleSecurityPolicyRequest - (*PatchSecurityPolicyRequest)(nil), // 1185: google.cloud.compute.v1.PatchSecurityPolicyRequest - (*PatchServiceAttachmentRequest)(nil), // 1186: google.cloud.compute.v1.PatchServiceAttachmentRequest - (*PatchSslPolicyRequest)(nil), // 1187: google.cloud.compute.v1.PatchSslPolicyRequest - (*PatchSubnetworkRequest)(nil), // 1188: google.cloud.compute.v1.PatchSubnetworkRequest - (*PatchTargetGrpcProxyRequest)(nil), // 1189: google.cloud.compute.v1.PatchTargetGrpcProxyRequest - (*PatchTargetHttpProxyRequest)(nil), // 1190: google.cloud.compute.v1.PatchTargetHttpProxyRequest - (*PatchTargetHttpsProxyRequest)(nil), // 1191: google.cloud.compute.v1.PatchTargetHttpsProxyRequest - (*PatchUrlMapRequest)(nil), // 1192: google.cloud.compute.v1.PatchUrlMapRequest - (*PathMatcher)(nil), // 1193: google.cloud.compute.v1.PathMatcher - (*PathRule)(nil), // 1194: google.cloud.compute.v1.PathRule - (*PerInstanceConfig)(nil), // 1195: google.cloud.compute.v1.PerInstanceConfig - (*Policy)(nil), // 1196: google.cloud.compute.v1.Policy - (*PreconfiguredWafSet)(nil), // 1197: google.cloud.compute.v1.PreconfiguredWafSet - (*PreservedState)(nil), // 1198: google.cloud.compute.v1.PreservedState - (*PreservedStatePreservedDisk)(nil), // 1199: google.cloud.compute.v1.PreservedStatePreservedDisk - (*PreviewRouterRequest)(nil), // 1200: google.cloud.compute.v1.PreviewRouterRequest - (*Project)(nil), // 1201: google.cloud.compute.v1.Project - (*ProjectsDisableXpnResourceRequest)(nil), // 1202: google.cloud.compute.v1.ProjectsDisableXpnResourceRequest - (*ProjectsEnableXpnResourceRequest)(nil), // 1203: google.cloud.compute.v1.ProjectsEnableXpnResourceRequest - (*ProjectsGetXpnResources)(nil), // 1204: google.cloud.compute.v1.ProjectsGetXpnResources - (*ProjectsListXpnHostsRequest)(nil), // 1205: google.cloud.compute.v1.ProjectsListXpnHostsRequest - (*ProjectsSetDefaultNetworkTierRequest)(nil), // 1206: google.cloud.compute.v1.ProjectsSetDefaultNetworkTierRequest - (*PublicAdvertisedPrefix)(nil), // 1207: google.cloud.compute.v1.PublicAdvertisedPrefix - (*PublicAdvertisedPrefixList)(nil), // 1208: google.cloud.compute.v1.PublicAdvertisedPrefixList - (*PublicAdvertisedPrefixPublicDelegatedPrefix)(nil), // 1209: google.cloud.compute.v1.PublicAdvertisedPrefixPublicDelegatedPrefix - (*PublicDelegatedPrefix)(nil), // 1210: google.cloud.compute.v1.PublicDelegatedPrefix - (*PublicDelegatedPrefixAggregatedList)(nil), // 1211: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList - (*PublicDelegatedPrefixList)(nil), // 1212: google.cloud.compute.v1.PublicDelegatedPrefixList - (*PublicDelegatedPrefixPublicDelegatedSubPrefix)(nil), // 1213: google.cloud.compute.v1.PublicDelegatedPrefixPublicDelegatedSubPrefix - (*PublicDelegatedPrefixesScopedList)(nil), // 1214: google.cloud.compute.v1.PublicDelegatedPrefixesScopedList - (*Quota)(nil), // 1215: google.cloud.compute.v1.Quota - (*QuotaExceededInfo)(nil), // 1216: google.cloud.compute.v1.QuotaExceededInfo - (*RawDisk)(nil), // 1217: google.cloud.compute.v1.RawDisk - (*RecreateInstancesInstanceGroupManagerRequest)(nil), // 1218: google.cloud.compute.v1.RecreateInstancesInstanceGroupManagerRequest - (*RecreateInstancesRegionInstanceGroupManagerRequest)(nil), // 1219: google.cloud.compute.v1.RecreateInstancesRegionInstanceGroupManagerRequest - (*Reference)(nil), // 1220: google.cloud.compute.v1.Reference - (*Region)(nil), // 1221: google.cloud.compute.v1.Region - (*RegionAddressesMoveRequest)(nil), // 1222: google.cloud.compute.v1.RegionAddressesMoveRequest - (*RegionAutoscalerList)(nil), // 1223: google.cloud.compute.v1.RegionAutoscalerList - (*RegionDiskTypeList)(nil), // 1224: google.cloud.compute.v1.RegionDiskTypeList - (*RegionDisksAddResourcePoliciesRequest)(nil), // 1225: google.cloud.compute.v1.RegionDisksAddResourcePoliciesRequest - (*RegionDisksRemoveResourcePoliciesRequest)(nil), // 1226: google.cloud.compute.v1.RegionDisksRemoveResourcePoliciesRequest - (*RegionDisksResizeRequest)(nil), // 1227: google.cloud.compute.v1.RegionDisksResizeRequest - (*RegionDisksStartAsyncReplicationRequest)(nil), // 1228: google.cloud.compute.v1.RegionDisksStartAsyncReplicationRequest - (*RegionInstanceGroupList)(nil), // 1229: google.cloud.compute.v1.RegionInstanceGroupList - (*RegionInstanceGroupManagerDeleteInstanceConfigReq)(nil), // 1230: google.cloud.compute.v1.RegionInstanceGroupManagerDeleteInstanceConfigReq - (*RegionInstanceGroupManagerList)(nil), // 1231: google.cloud.compute.v1.RegionInstanceGroupManagerList - (*RegionInstanceGroupManagerPatchInstanceConfigReq)(nil), // 1232: google.cloud.compute.v1.RegionInstanceGroupManagerPatchInstanceConfigReq - (*RegionInstanceGroupManagerUpdateInstanceConfigReq)(nil), // 1233: google.cloud.compute.v1.RegionInstanceGroupManagerUpdateInstanceConfigReq - (*RegionInstanceGroupManagersAbandonInstancesRequest)(nil), // 1234: google.cloud.compute.v1.RegionInstanceGroupManagersAbandonInstancesRequest - (*RegionInstanceGroupManagersApplyUpdatesRequest)(nil), // 1235: google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest - (*RegionInstanceGroupManagersCreateInstancesRequest)(nil), // 1236: google.cloud.compute.v1.RegionInstanceGroupManagersCreateInstancesRequest - (*RegionInstanceGroupManagersDeleteInstancesRequest)(nil), // 1237: google.cloud.compute.v1.RegionInstanceGroupManagersDeleteInstancesRequest - (*RegionInstanceGroupManagersListErrorsResponse)(nil), // 1238: google.cloud.compute.v1.RegionInstanceGroupManagersListErrorsResponse - (*RegionInstanceGroupManagersListInstanceConfigsResp)(nil), // 1239: google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp - (*RegionInstanceGroupManagersListInstancesResponse)(nil), // 1240: google.cloud.compute.v1.RegionInstanceGroupManagersListInstancesResponse - (*RegionInstanceGroupManagersRecreateRequest)(nil), // 1241: google.cloud.compute.v1.RegionInstanceGroupManagersRecreateRequest - (*RegionInstanceGroupManagersSetTargetPoolsRequest)(nil), // 1242: google.cloud.compute.v1.RegionInstanceGroupManagersSetTargetPoolsRequest - (*RegionInstanceGroupManagersSetTemplateRequest)(nil), // 1243: google.cloud.compute.v1.RegionInstanceGroupManagersSetTemplateRequest - (*RegionInstanceGroupsListInstances)(nil), // 1244: google.cloud.compute.v1.RegionInstanceGroupsListInstances - (*RegionInstanceGroupsListInstancesRequest)(nil), // 1245: google.cloud.compute.v1.RegionInstanceGroupsListInstancesRequest - (*RegionInstanceGroupsSetNamedPortsRequest)(nil), // 1246: google.cloud.compute.v1.RegionInstanceGroupsSetNamedPortsRequest - (*RegionList)(nil), // 1247: google.cloud.compute.v1.RegionList - (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse)(nil), // 1248: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse - (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy)(nil), // 1249: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy - (*RegionSetLabelsRequest)(nil), // 1250: google.cloud.compute.v1.RegionSetLabelsRequest - (*RegionSetPolicyRequest)(nil), // 1251: google.cloud.compute.v1.RegionSetPolicyRequest - (*RegionTargetHttpsProxiesSetSslCertificatesRequest)(nil), // 1252: google.cloud.compute.v1.RegionTargetHttpsProxiesSetSslCertificatesRequest - (*RegionUrlMapsValidateRequest)(nil), // 1253: google.cloud.compute.v1.RegionUrlMapsValidateRequest - (*RemoveAssociationFirewallPolicyRequest)(nil), // 1254: google.cloud.compute.v1.RemoveAssociationFirewallPolicyRequest - (*RemoveAssociationNetworkFirewallPolicyRequest)(nil), // 1255: google.cloud.compute.v1.RemoveAssociationNetworkFirewallPolicyRequest - (*RemoveAssociationRegionNetworkFirewallPolicyRequest)(nil), // 1256: google.cloud.compute.v1.RemoveAssociationRegionNetworkFirewallPolicyRequest - (*RemoveHealthCheckTargetPoolRequest)(nil), // 1257: google.cloud.compute.v1.RemoveHealthCheckTargetPoolRequest - (*RemoveInstanceTargetPoolRequest)(nil), // 1258: google.cloud.compute.v1.RemoveInstanceTargetPoolRequest - (*RemoveInstancesInstanceGroupRequest)(nil), // 1259: google.cloud.compute.v1.RemoveInstancesInstanceGroupRequest - (*RemovePeeringNetworkRequest)(nil), // 1260: google.cloud.compute.v1.RemovePeeringNetworkRequest - (*RemoveResourcePoliciesDiskRequest)(nil), // 1261: google.cloud.compute.v1.RemoveResourcePoliciesDiskRequest - (*RemoveResourcePoliciesInstanceRequest)(nil), // 1262: google.cloud.compute.v1.RemoveResourcePoliciesInstanceRequest - (*RemoveResourcePoliciesRegionDiskRequest)(nil), // 1263: google.cloud.compute.v1.RemoveResourcePoliciesRegionDiskRequest - (*RemoveRuleFirewallPolicyRequest)(nil), // 1264: google.cloud.compute.v1.RemoveRuleFirewallPolicyRequest - (*RemoveRuleNetworkFirewallPolicyRequest)(nil), // 1265: google.cloud.compute.v1.RemoveRuleNetworkFirewallPolicyRequest - (*RemoveRuleRegionNetworkFirewallPolicyRequest)(nil), // 1266: google.cloud.compute.v1.RemoveRuleRegionNetworkFirewallPolicyRequest - (*RemoveRuleSecurityPolicyRequest)(nil), // 1267: google.cloud.compute.v1.RemoveRuleSecurityPolicyRequest - (*RequestMirrorPolicy)(nil), // 1268: google.cloud.compute.v1.RequestMirrorPolicy - (*Reservation)(nil), // 1269: google.cloud.compute.v1.Reservation - (*ReservationAffinity)(nil), // 1270: google.cloud.compute.v1.ReservationAffinity - (*ReservationAggregatedList)(nil), // 1271: google.cloud.compute.v1.ReservationAggregatedList - (*ReservationList)(nil), // 1272: google.cloud.compute.v1.ReservationList - (*ReservationsResizeRequest)(nil), // 1273: google.cloud.compute.v1.ReservationsResizeRequest - (*ReservationsScopedList)(nil), // 1274: google.cloud.compute.v1.ReservationsScopedList - (*ResetInstanceRequest)(nil), // 1275: google.cloud.compute.v1.ResetInstanceRequest - (*ResizeDiskRequest)(nil), // 1276: google.cloud.compute.v1.ResizeDiskRequest - (*ResizeInstanceGroupManagerRequest)(nil), // 1277: google.cloud.compute.v1.ResizeInstanceGroupManagerRequest - (*ResizeRegionDiskRequest)(nil), // 1278: google.cloud.compute.v1.ResizeRegionDiskRequest - (*ResizeRegionInstanceGroupManagerRequest)(nil), // 1279: google.cloud.compute.v1.ResizeRegionInstanceGroupManagerRequest - (*ResizeReservationRequest)(nil), // 1280: google.cloud.compute.v1.ResizeReservationRequest - (*ResourceCommitment)(nil), // 1281: google.cloud.compute.v1.ResourceCommitment - (*ResourceGroupReference)(nil), // 1282: google.cloud.compute.v1.ResourceGroupReference - (*ResourcePoliciesScopedList)(nil), // 1283: google.cloud.compute.v1.ResourcePoliciesScopedList - (*ResourcePolicy)(nil), // 1284: google.cloud.compute.v1.ResourcePolicy - (*ResourcePolicyAggregatedList)(nil), // 1285: google.cloud.compute.v1.ResourcePolicyAggregatedList - (*ResourcePolicyDailyCycle)(nil), // 1286: google.cloud.compute.v1.ResourcePolicyDailyCycle - (*ResourcePolicyDiskConsistencyGroupPolicy)(nil), // 1287: google.cloud.compute.v1.ResourcePolicyDiskConsistencyGroupPolicy - (*ResourcePolicyGroupPlacementPolicy)(nil), // 1288: google.cloud.compute.v1.ResourcePolicyGroupPlacementPolicy - (*ResourcePolicyHourlyCycle)(nil), // 1289: google.cloud.compute.v1.ResourcePolicyHourlyCycle - (*ResourcePolicyInstanceSchedulePolicy)(nil), // 1290: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy - (*ResourcePolicyInstanceSchedulePolicySchedule)(nil), // 1291: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicySchedule - (*ResourcePolicyList)(nil), // 1292: google.cloud.compute.v1.ResourcePolicyList - (*ResourcePolicyResourceStatus)(nil), // 1293: google.cloud.compute.v1.ResourcePolicyResourceStatus - (*ResourcePolicyResourceStatusInstanceSchedulePolicyStatus)(nil), // 1294: google.cloud.compute.v1.ResourcePolicyResourceStatusInstanceSchedulePolicyStatus - (*ResourcePolicySnapshotSchedulePolicy)(nil), // 1295: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy - (*ResourcePolicySnapshotSchedulePolicyRetentionPolicy)(nil), // 1296: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicyRetentionPolicy - (*ResourcePolicySnapshotSchedulePolicySchedule)(nil), // 1297: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule - (*ResourcePolicySnapshotSchedulePolicySnapshotProperties)(nil), // 1298: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties - (*ResourcePolicyWeeklyCycle)(nil), // 1299: google.cloud.compute.v1.ResourcePolicyWeeklyCycle - (*ResourcePolicyWeeklyCycleDayOfWeek)(nil), // 1300: google.cloud.compute.v1.ResourcePolicyWeeklyCycleDayOfWeek - (*ResourceStatus)(nil), // 1301: google.cloud.compute.v1.ResourceStatus - (*ResumeInstanceRequest)(nil), // 1302: google.cloud.compute.v1.ResumeInstanceRequest - (*Route)(nil), // 1303: google.cloud.compute.v1.Route - (*RouteAsPath)(nil), // 1304: google.cloud.compute.v1.RouteAsPath - (*RouteList)(nil), // 1305: google.cloud.compute.v1.RouteList - (*Router)(nil), // 1306: google.cloud.compute.v1.Router - (*RouterAdvertisedIpRange)(nil), // 1307: google.cloud.compute.v1.RouterAdvertisedIpRange - (*RouterAggregatedList)(nil), // 1308: google.cloud.compute.v1.RouterAggregatedList - (*RouterBgp)(nil), // 1309: google.cloud.compute.v1.RouterBgp - (*RouterBgpPeer)(nil), // 1310: google.cloud.compute.v1.RouterBgpPeer - (*RouterBgpPeerBfd)(nil), // 1311: google.cloud.compute.v1.RouterBgpPeerBfd - (*RouterBgpPeerCustomLearnedIpRange)(nil), // 1312: google.cloud.compute.v1.RouterBgpPeerCustomLearnedIpRange - (*RouterInterface)(nil), // 1313: google.cloud.compute.v1.RouterInterface - (*RouterList)(nil), // 1314: google.cloud.compute.v1.RouterList - (*RouterMd5AuthenticationKey)(nil), // 1315: google.cloud.compute.v1.RouterMd5AuthenticationKey - (*RouterNat)(nil), // 1316: google.cloud.compute.v1.RouterNat - (*RouterNatLogConfig)(nil), // 1317: google.cloud.compute.v1.RouterNatLogConfig - (*RouterNatRule)(nil), // 1318: google.cloud.compute.v1.RouterNatRule - (*RouterNatRuleAction)(nil), // 1319: google.cloud.compute.v1.RouterNatRuleAction - (*RouterNatSubnetworkToNat)(nil), // 1320: google.cloud.compute.v1.RouterNatSubnetworkToNat - (*RouterStatus)(nil), // 1321: google.cloud.compute.v1.RouterStatus - (*RouterStatusBgpPeerStatus)(nil), // 1322: google.cloud.compute.v1.RouterStatusBgpPeerStatus - (*RouterStatusNatStatus)(nil), // 1323: google.cloud.compute.v1.RouterStatusNatStatus - (*RouterStatusNatStatusNatRuleStatus)(nil), // 1324: google.cloud.compute.v1.RouterStatusNatStatusNatRuleStatus - (*RouterStatusResponse)(nil), // 1325: google.cloud.compute.v1.RouterStatusResponse - (*RoutersPreviewResponse)(nil), // 1326: google.cloud.compute.v1.RoutersPreviewResponse - (*RoutersScopedList)(nil), // 1327: google.cloud.compute.v1.RoutersScopedList - (*Rule)(nil), // 1328: google.cloud.compute.v1.Rule - (*SSLHealthCheck)(nil), // 1329: google.cloud.compute.v1.SSLHealthCheck - (*SavedAttachedDisk)(nil), // 1330: google.cloud.compute.v1.SavedAttachedDisk - (*SavedDisk)(nil), // 1331: google.cloud.compute.v1.SavedDisk - (*ScalingScheduleStatus)(nil), // 1332: google.cloud.compute.v1.ScalingScheduleStatus - (*Scheduling)(nil), // 1333: google.cloud.compute.v1.Scheduling - (*SchedulingNodeAffinity)(nil), // 1334: google.cloud.compute.v1.SchedulingNodeAffinity - (*ScratchDisks)(nil), // 1335: google.cloud.compute.v1.ScratchDisks - (*Screenshot)(nil), // 1336: google.cloud.compute.v1.Screenshot - (*SecurityPoliciesAggregatedList)(nil), // 1337: google.cloud.compute.v1.SecurityPoliciesAggregatedList - (*SecurityPoliciesListPreconfiguredExpressionSetsResponse)(nil), // 1338: google.cloud.compute.v1.SecurityPoliciesListPreconfiguredExpressionSetsResponse - (*SecurityPoliciesScopedList)(nil), // 1339: google.cloud.compute.v1.SecurityPoliciesScopedList - (*SecurityPoliciesWafConfig)(nil), // 1340: google.cloud.compute.v1.SecurityPoliciesWafConfig - (*SecurityPolicy)(nil), // 1341: google.cloud.compute.v1.SecurityPolicy - (*SecurityPolicyAdaptiveProtectionConfig)(nil), // 1342: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig - (*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig)(nil), // 1343: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig - (*SecurityPolicyAdvancedOptionsConfig)(nil), // 1344: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig - (*SecurityPolicyAdvancedOptionsConfigJsonCustomConfig)(nil), // 1345: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig - (*SecurityPolicyDdosProtectionConfig)(nil), // 1346: google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig - (*SecurityPolicyList)(nil), // 1347: google.cloud.compute.v1.SecurityPolicyList - (*SecurityPolicyRecaptchaOptionsConfig)(nil), // 1348: google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig - (*SecurityPolicyReference)(nil), // 1349: google.cloud.compute.v1.SecurityPolicyReference - (*SecurityPolicyRule)(nil), // 1350: google.cloud.compute.v1.SecurityPolicyRule - (*SecurityPolicyRuleHttpHeaderAction)(nil), // 1351: google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction - (*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil), // 1352: google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderActionHttpHeaderOption - (*SecurityPolicyRuleMatcher)(nil), // 1353: google.cloud.compute.v1.SecurityPolicyRuleMatcher - (*SecurityPolicyRuleMatcherConfig)(nil), // 1354: google.cloud.compute.v1.SecurityPolicyRuleMatcherConfig - (*SecurityPolicyRulePreconfiguredWafConfig)(nil), // 1355: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig - (*SecurityPolicyRulePreconfiguredWafConfigExclusion)(nil), // 1356: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion - (*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams)(nil), // 1357: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams - (*SecurityPolicyRuleRateLimitOptions)(nil), // 1358: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions - (*SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig)(nil), // 1359: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig - (*SecurityPolicyRuleRateLimitOptionsThreshold)(nil), // 1360: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsThreshold - (*SecurityPolicyRuleRedirectOptions)(nil), // 1361: google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions - (*SecuritySettings)(nil), // 1362: google.cloud.compute.v1.SecuritySettings - (*SendDiagnosticInterruptInstanceRequest)(nil), // 1363: google.cloud.compute.v1.SendDiagnosticInterruptInstanceRequest - (*SendDiagnosticInterruptInstanceResponse)(nil), // 1364: google.cloud.compute.v1.SendDiagnosticInterruptInstanceResponse - (*SerialPortOutput)(nil), // 1365: google.cloud.compute.v1.SerialPortOutput - (*ServerBinding)(nil), // 1366: google.cloud.compute.v1.ServerBinding - (*ServiceAccount)(nil), // 1367: google.cloud.compute.v1.ServiceAccount - (*ServiceAttachment)(nil), // 1368: google.cloud.compute.v1.ServiceAttachment - (*ServiceAttachmentAggregatedList)(nil), // 1369: google.cloud.compute.v1.ServiceAttachmentAggregatedList - (*ServiceAttachmentConnectedEndpoint)(nil), // 1370: google.cloud.compute.v1.ServiceAttachmentConnectedEndpoint - (*ServiceAttachmentConsumerProjectLimit)(nil), // 1371: google.cloud.compute.v1.ServiceAttachmentConsumerProjectLimit - (*ServiceAttachmentList)(nil), // 1372: google.cloud.compute.v1.ServiceAttachmentList - (*ServiceAttachmentsScopedList)(nil), // 1373: google.cloud.compute.v1.ServiceAttachmentsScopedList - (*SetBackendServiceTargetSslProxyRequest)(nil), // 1374: google.cloud.compute.v1.SetBackendServiceTargetSslProxyRequest - (*SetBackendServiceTargetTcpProxyRequest)(nil), // 1375: google.cloud.compute.v1.SetBackendServiceTargetTcpProxyRequest - (*SetBackupTargetPoolRequest)(nil), // 1376: google.cloud.compute.v1.SetBackupTargetPoolRequest - (*SetCertificateMapTargetHttpsProxyRequest)(nil), // 1377: google.cloud.compute.v1.SetCertificateMapTargetHttpsProxyRequest - (*SetCertificateMapTargetSslProxyRequest)(nil), // 1378: google.cloud.compute.v1.SetCertificateMapTargetSslProxyRequest - (*SetCommonInstanceMetadataProjectRequest)(nil), // 1379: google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest - (*SetDefaultNetworkTierProjectRequest)(nil), // 1380: google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest - (*SetDeletionProtectionInstanceRequest)(nil), // 1381: google.cloud.compute.v1.SetDeletionProtectionInstanceRequest - (*SetDiskAutoDeleteInstanceRequest)(nil), // 1382: google.cloud.compute.v1.SetDiskAutoDeleteInstanceRequest - (*SetEdgeSecurityPolicyBackendBucketRequest)(nil), // 1383: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest - (*SetEdgeSecurityPolicyBackendServiceRequest)(nil), // 1384: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest - (*SetIamPolicyBackendServiceRequest)(nil), // 1385: google.cloud.compute.v1.SetIamPolicyBackendServiceRequest - (*SetIamPolicyDiskRequest)(nil), // 1386: google.cloud.compute.v1.SetIamPolicyDiskRequest - (*SetIamPolicyFirewallPolicyRequest)(nil), // 1387: google.cloud.compute.v1.SetIamPolicyFirewallPolicyRequest - (*SetIamPolicyImageRequest)(nil), // 1388: google.cloud.compute.v1.SetIamPolicyImageRequest - (*SetIamPolicyInstanceRequest)(nil), // 1389: google.cloud.compute.v1.SetIamPolicyInstanceRequest - (*SetIamPolicyInstanceTemplateRequest)(nil), // 1390: google.cloud.compute.v1.SetIamPolicyInstanceTemplateRequest - (*SetIamPolicyLicenseRequest)(nil), // 1391: google.cloud.compute.v1.SetIamPolicyLicenseRequest - (*SetIamPolicyMachineImageRequest)(nil), // 1392: google.cloud.compute.v1.SetIamPolicyMachineImageRequest - (*SetIamPolicyNetworkAttachmentRequest)(nil), // 1393: google.cloud.compute.v1.SetIamPolicyNetworkAttachmentRequest - (*SetIamPolicyNetworkFirewallPolicyRequest)(nil), // 1394: google.cloud.compute.v1.SetIamPolicyNetworkFirewallPolicyRequest - (*SetIamPolicyNodeGroupRequest)(nil), // 1395: google.cloud.compute.v1.SetIamPolicyNodeGroupRequest - (*SetIamPolicyNodeTemplateRequest)(nil), // 1396: google.cloud.compute.v1.SetIamPolicyNodeTemplateRequest - (*SetIamPolicyRegionBackendServiceRequest)(nil), // 1397: google.cloud.compute.v1.SetIamPolicyRegionBackendServiceRequest - (*SetIamPolicyRegionDiskRequest)(nil), // 1398: google.cloud.compute.v1.SetIamPolicyRegionDiskRequest - (*SetIamPolicyRegionNetworkFirewallPolicyRequest)(nil), // 1399: google.cloud.compute.v1.SetIamPolicyRegionNetworkFirewallPolicyRequest - (*SetIamPolicyReservationRequest)(nil), // 1400: google.cloud.compute.v1.SetIamPolicyReservationRequest - (*SetIamPolicyResourcePolicyRequest)(nil), // 1401: google.cloud.compute.v1.SetIamPolicyResourcePolicyRequest - (*SetIamPolicyServiceAttachmentRequest)(nil), // 1402: google.cloud.compute.v1.SetIamPolicyServiceAttachmentRequest - (*SetIamPolicySnapshotRequest)(nil), // 1403: google.cloud.compute.v1.SetIamPolicySnapshotRequest - (*SetIamPolicySubnetworkRequest)(nil), // 1404: google.cloud.compute.v1.SetIamPolicySubnetworkRequest - (*SetInstanceTemplateInstanceGroupManagerRequest)(nil), // 1405: google.cloud.compute.v1.SetInstanceTemplateInstanceGroupManagerRequest - (*SetInstanceTemplateRegionInstanceGroupManagerRequest)(nil), // 1406: google.cloud.compute.v1.SetInstanceTemplateRegionInstanceGroupManagerRequest - (*SetLabelsAddressRequest)(nil), // 1407: google.cloud.compute.v1.SetLabelsAddressRequest - (*SetLabelsDiskRequest)(nil), // 1408: google.cloud.compute.v1.SetLabelsDiskRequest - (*SetLabelsExternalVpnGatewayRequest)(nil), // 1409: google.cloud.compute.v1.SetLabelsExternalVpnGatewayRequest - (*SetLabelsForwardingRuleRequest)(nil), // 1410: google.cloud.compute.v1.SetLabelsForwardingRuleRequest - (*SetLabelsGlobalAddressRequest)(nil), // 1411: google.cloud.compute.v1.SetLabelsGlobalAddressRequest - (*SetLabelsGlobalForwardingRuleRequest)(nil), // 1412: google.cloud.compute.v1.SetLabelsGlobalForwardingRuleRequest - (*SetLabelsImageRequest)(nil), // 1413: google.cloud.compute.v1.SetLabelsImageRequest - (*SetLabelsInstanceRequest)(nil), // 1414: google.cloud.compute.v1.SetLabelsInstanceRequest - (*SetLabelsInterconnectAttachmentRequest)(nil), // 1415: google.cloud.compute.v1.SetLabelsInterconnectAttachmentRequest - (*SetLabelsInterconnectRequest)(nil), // 1416: google.cloud.compute.v1.SetLabelsInterconnectRequest - (*SetLabelsRegionDiskRequest)(nil), // 1417: google.cloud.compute.v1.SetLabelsRegionDiskRequest - (*SetLabelsSecurityPolicyRequest)(nil), // 1418: google.cloud.compute.v1.SetLabelsSecurityPolicyRequest - (*SetLabelsSnapshotRequest)(nil), // 1419: google.cloud.compute.v1.SetLabelsSnapshotRequest - (*SetLabelsTargetVpnGatewayRequest)(nil), // 1420: google.cloud.compute.v1.SetLabelsTargetVpnGatewayRequest - (*SetLabelsVpnGatewayRequest)(nil), // 1421: google.cloud.compute.v1.SetLabelsVpnGatewayRequest - (*SetLabelsVpnTunnelRequest)(nil), // 1422: google.cloud.compute.v1.SetLabelsVpnTunnelRequest - (*SetMachineResourcesInstanceRequest)(nil), // 1423: google.cloud.compute.v1.SetMachineResourcesInstanceRequest - (*SetMachineTypeInstanceRequest)(nil), // 1424: google.cloud.compute.v1.SetMachineTypeInstanceRequest - (*SetMetadataInstanceRequest)(nil), // 1425: google.cloud.compute.v1.SetMetadataInstanceRequest - (*SetMinCpuPlatformInstanceRequest)(nil), // 1426: google.cloud.compute.v1.SetMinCpuPlatformInstanceRequest - (*SetNameInstanceRequest)(nil), // 1427: google.cloud.compute.v1.SetNameInstanceRequest - (*SetNamedPortsInstanceGroupRequest)(nil), // 1428: google.cloud.compute.v1.SetNamedPortsInstanceGroupRequest - (*SetNamedPortsRegionInstanceGroupRequest)(nil), // 1429: google.cloud.compute.v1.SetNamedPortsRegionInstanceGroupRequest - (*SetNodeTemplateNodeGroupRequest)(nil), // 1430: google.cloud.compute.v1.SetNodeTemplateNodeGroupRequest - (*SetPrivateIpGoogleAccessSubnetworkRequest)(nil), // 1431: google.cloud.compute.v1.SetPrivateIpGoogleAccessSubnetworkRequest - (*SetProxyHeaderTargetSslProxyRequest)(nil), // 1432: google.cloud.compute.v1.SetProxyHeaderTargetSslProxyRequest - (*SetProxyHeaderTargetTcpProxyRequest)(nil), // 1433: google.cloud.compute.v1.SetProxyHeaderTargetTcpProxyRequest - (*SetQuicOverrideTargetHttpsProxyRequest)(nil), // 1434: google.cloud.compute.v1.SetQuicOverrideTargetHttpsProxyRequest - (*SetSchedulingInstanceRequest)(nil), // 1435: google.cloud.compute.v1.SetSchedulingInstanceRequest - (*SetSecurityPolicyBackendServiceRequest)(nil), // 1436: google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest - (*SetServiceAccountInstanceRequest)(nil), // 1437: google.cloud.compute.v1.SetServiceAccountInstanceRequest - (*SetShieldedInstanceIntegrityPolicyInstanceRequest)(nil), // 1438: google.cloud.compute.v1.SetShieldedInstanceIntegrityPolicyInstanceRequest - (*SetSslCertificatesRegionTargetHttpsProxyRequest)(nil), // 1439: google.cloud.compute.v1.SetSslCertificatesRegionTargetHttpsProxyRequest - (*SetSslCertificatesTargetHttpsProxyRequest)(nil), // 1440: google.cloud.compute.v1.SetSslCertificatesTargetHttpsProxyRequest - (*SetSslCertificatesTargetSslProxyRequest)(nil), // 1441: google.cloud.compute.v1.SetSslCertificatesTargetSslProxyRequest - (*SetSslPolicyTargetHttpsProxyRequest)(nil), // 1442: google.cloud.compute.v1.SetSslPolicyTargetHttpsProxyRequest - (*SetSslPolicyTargetSslProxyRequest)(nil), // 1443: google.cloud.compute.v1.SetSslPolicyTargetSslProxyRequest - (*SetTagsInstanceRequest)(nil), // 1444: google.cloud.compute.v1.SetTagsInstanceRequest - (*SetTargetForwardingRuleRequest)(nil), // 1445: google.cloud.compute.v1.SetTargetForwardingRuleRequest - (*SetTargetGlobalForwardingRuleRequest)(nil), // 1446: google.cloud.compute.v1.SetTargetGlobalForwardingRuleRequest - (*SetTargetPoolsInstanceGroupManagerRequest)(nil), // 1447: google.cloud.compute.v1.SetTargetPoolsInstanceGroupManagerRequest - (*SetTargetPoolsRegionInstanceGroupManagerRequest)(nil), // 1448: google.cloud.compute.v1.SetTargetPoolsRegionInstanceGroupManagerRequest - (*SetUrlMapRegionTargetHttpProxyRequest)(nil), // 1449: google.cloud.compute.v1.SetUrlMapRegionTargetHttpProxyRequest - (*SetUrlMapRegionTargetHttpsProxyRequest)(nil), // 1450: google.cloud.compute.v1.SetUrlMapRegionTargetHttpsProxyRequest - (*SetUrlMapTargetHttpProxyRequest)(nil), // 1451: google.cloud.compute.v1.SetUrlMapTargetHttpProxyRequest - (*SetUrlMapTargetHttpsProxyRequest)(nil), // 1452: google.cloud.compute.v1.SetUrlMapTargetHttpsProxyRequest - (*SetUsageExportBucketProjectRequest)(nil), // 1453: google.cloud.compute.v1.SetUsageExportBucketProjectRequest - (*ShareSettings)(nil), // 1454: google.cloud.compute.v1.ShareSettings - (*ShareSettingsProjectConfig)(nil), // 1455: google.cloud.compute.v1.ShareSettingsProjectConfig - (*ShieldedInstanceConfig)(nil), // 1456: google.cloud.compute.v1.ShieldedInstanceConfig - (*ShieldedInstanceIdentity)(nil), // 1457: google.cloud.compute.v1.ShieldedInstanceIdentity - (*ShieldedInstanceIdentityEntry)(nil), // 1458: google.cloud.compute.v1.ShieldedInstanceIdentityEntry - (*ShieldedInstanceIntegrityPolicy)(nil), // 1459: google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy - (*SignedUrlKey)(nil), // 1460: google.cloud.compute.v1.SignedUrlKey - (*SimulateMaintenanceEventInstanceRequest)(nil), // 1461: google.cloud.compute.v1.SimulateMaintenanceEventInstanceRequest - (*SimulateMaintenanceEventNodeGroupRequest)(nil), // 1462: google.cloud.compute.v1.SimulateMaintenanceEventNodeGroupRequest - (*Snapshot)(nil), // 1463: google.cloud.compute.v1.Snapshot - (*SnapshotList)(nil), // 1464: google.cloud.compute.v1.SnapshotList - (*SourceDiskEncryptionKey)(nil), // 1465: google.cloud.compute.v1.SourceDiskEncryptionKey - (*SourceInstanceParams)(nil), // 1466: google.cloud.compute.v1.SourceInstanceParams - (*SourceInstanceProperties)(nil), // 1467: google.cloud.compute.v1.SourceInstanceProperties - (*SslCertificate)(nil), // 1468: google.cloud.compute.v1.SslCertificate - (*SslCertificateAggregatedList)(nil), // 1469: google.cloud.compute.v1.SslCertificateAggregatedList - (*SslCertificateList)(nil), // 1470: google.cloud.compute.v1.SslCertificateList - (*SslCertificateManagedSslCertificate)(nil), // 1471: google.cloud.compute.v1.SslCertificateManagedSslCertificate - (*SslCertificateSelfManagedSslCertificate)(nil), // 1472: google.cloud.compute.v1.SslCertificateSelfManagedSslCertificate - (*SslCertificatesScopedList)(nil), // 1473: google.cloud.compute.v1.SslCertificatesScopedList - (*SslPoliciesAggregatedList)(nil), // 1474: google.cloud.compute.v1.SslPoliciesAggregatedList - (*SslPoliciesList)(nil), // 1475: google.cloud.compute.v1.SslPoliciesList - (*SslPoliciesListAvailableFeaturesResponse)(nil), // 1476: google.cloud.compute.v1.SslPoliciesListAvailableFeaturesResponse - (*SslPoliciesScopedList)(nil), // 1477: google.cloud.compute.v1.SslPoliciesScopedList - (*SslPolicy)(nil), // 1478: google.cloud.compute.v1.SslPolicy - (*SslPolicyReference)(nil), // 1479: google.cloud.compute.v1.SslPolicyReference - (*StartAsyncReplicationDiskRequest)(nil), // 1480: google.cloud.compute.v1.StartAsyncReplicationDiskRequest - (*StartAsyncReplicationRegionDiskRequest)(nil), // 1481: google.cloud.compute.v1.StartAsyncReplicationRegionDiskRequest - (*StartInstanceRequest)(nil), // 1482: google.cloud.compute.v1.StartInstanceRequest - (*StartWithEncryptionKeyInstanceRequest)(nil), // 1483: google.cloud.compute.v1.StartWithEncryptionKeyInstanceRequest - (*StatefulPolicy)(nil), // 1484: google.cloud.compute.v1.StatefulPolicy - (*StatefulPolicyPreservedState)(nil), // 1485: google.cloud.compute.v1.StatefulPolicyPreservedState - (*StatefulPolicyPreservedStateDiskDevice)(nil), // 1486: google.cloud.compute.v1.StatefulPolicyPreservedStateDiskDevice - (*StopAsyncReplicationDiskRequest)(nil), // 1487: google.cloud.compute.v1.StopAsyncReplicationDiskRequest - (*StopAsyncReplicationRegionDiskRequest)(nil), // 1488: google.cloud.compute.v1.StopAsyncReplicationRegionDiskRequest - (*StopGroupAsyncReplicationDiskRequest)(nil), // 1489: google.cloud.compute.v1.StopGroupAsyncReplicationDiskRequest - (*StopGroupAsyncReplicationRegionDiskRequest)(nil), // 1490: google.cloud.compute.v1.StopGroupAsyncReplicationRegionDiskRequest - (*StopInstanceRequest)(nil), // 1491: google.cloud.compute.v1.StopInstanceRequest - (*Subnetwork)(nil), // 1492: google.cloud.compute.v1.Subnetwork - (*SubnetworkAggregatedList)(nil), // 1493: google.cloud.compute.v1.SubnetworkAggregatedList - (*SubnetworkList)(nil), // 1494: google.cloud.compute.v1.SubnetworkList - (*SubnetworkLogConfig)(nil), // 1495: google.cloud.compute.v1.SubnetworkLogConfig - (*SubnetworkSecondaryRange)(nil), // 1496: google.cloud.compute.v1.SubnetworkSecondaryRange - (*SubnetworksExpandIpCidrRangeRequest)(nil), // 1497: google.cloud.compute.v1.SubnetworksExpandIpCidrRangeRequest - (*SubnetworksScopedList)(nil), // 1498: google.cloud.compute.v1.SubnetworksScopedList - (*SubnetworksSetPrivateIpGoogleAccessRequest)(nil), // 1499: google.cloud.compute.v1.SubnetworksSetPrivateIpGoogleAccessRequest - (*Subsetting)(nil), // 1500: google.cloud.compute.v1.Subsetting - (*SuspendInstanceRequest)(nil), // 1501: google.cloud.compute.v1.SuspendInstanceRequest - (*SwitchToCustomModeNetworkRequest)(nil), // 1502: google.cloud.compute.v1.SwitchToCustomModeNetworkRequest - (*TCPHealthCheck)(nil), // 1503: google.cloud.compute.v1.TCPHealthCheck - (*Tags)(nil), // 1504: google.cloud.compute.v1.Tags - (*TargetGrpcProxy)(nil), // 1505: google.cloud.compute.v1.TargetGrpcProxy - (*TargetGrpcProxyList)(nil), // 1506: google.cloud.compute.v1.TargetGrpcProxyList - (*TargetHttpProxiesScopedList)(nil), // 1507: google.cloud.compute.v1.TargetHttpProxiesScopedList - (*TargetHttpProxy)(nil), // 1508: google.cloud.compute.v1.TargetHttpProxy - (*TargetHttpProxyAggregatedList)(nil), // 1509: google.cloud.compute.v1.TargetHttpProxyAggregatedList - (*TargetHttpProxyList)(nil), // 1510: google.cloud.compute.v1.TargetHttpProxyList - (*TargetHttpsProxiesScopedList)(nil), // 1511: google.cloud.compute.v1.TargetHttpsProxiesScopedList - (*TargetHttpsProxiesSetCertificateMapRequest)(nil), // 1512: google.cloud.compute.v1.TargetHttpsProxiesSetCertificateMapRequest - (*TargetHttpsProxiesSetQuicOverrideRequest)(nil), // 1513: google.cloud.compute.v1.TargetHttpsProxiesSetQuicOverrideRequest - (*TargetHttpsProxiesSetSslCertificatesRequest)(nil), // 1514: google.cloud.compute.v1.TargetHttpsProxiesSetSslCertificatesRequest - (*TargetHttpsProxy)(nil), // 1515: google.cloud.compute.v1.TargetHttpsProxy - (*TargetHttpsProxyAggregatedList)(nil), // 1516: google.cloud.compute.v1.TargetHttpsProxyAggregatedList - (*TargetHttpsProxyList)(nil), // 1517: google.cloud.compute.v1.TargetHttpsProxyList - (*TargetInstance)(nil), // 1518: google.cloud.compute.v1.TargetInstance - (*TargetInstanceAggregatedList)(nil), // 1519: google.cloud.compute.v1.TargetInstanceAggregatedList - (*TargetInstanceList)(nil), // 1520: google.cloud.compute.v1.TargetInstanceList - (*TargetInstancesScopedList)(nil), // 1521: google.cloud.compute.v1.TargetInstancesScopedList - (*TargetPool)(nil), // 1522: google.cloud.compute.v1.TargetPool - (*TargetPoolAggregatedList)(nil), // 1523: google.cloud.compute.v1.TargetPoolAggregatedList - (*TargetPoolInstanceHealth)(nil), // 1524: google.cloud.compute.v1.TargetPoolInstanceHealth - (*TargetPoolList)(nil), // 1525: google.cloud.compute.v1.TargetPoolList - (*TargetPoolsAddHealthCheckRequest)(nil), // 1526: google.cloud.compute.v1.TargetPoolsAddHealthCheckRequest - (*TargetPoolsAddInstanceRequest)(nil), // 1527: google.cloud.compute.v1.TargetPoolsAddInstanceRequest - (*TargetPoolsRemoveHealthCheckRequest)(nil), // 1528: google.cloud.compute.v1.TargetPoolsRemoveHealthCheckRequest - (*TargetPoolsRemoveInstanceRequest)(nil), // 1529: google.cloud.compute.v1.TargetPoolsRemoveInstanceRequest - (*TargetPoolsScopedList)(nil), // 1530: google.cloud.compute.v1.TargetPoolsScopedList - (*TargetReference)(nil), // 1531: google.cloud.compute.v1.TargetReference - (*TargetSslProxiesSetBackendServiceRequest)(nil), // 1532: google.cloud.compute.v1.TargetSslProxiesSetBackendServiceRequest - (*TargetSslProxiesSetCertificateMapRequest)(nil), // 1533: google.cloud.compute.v1.TargetSslProxiesSetCertificateMapRequest - (*TargetSslProxiesSetProxyHeaderRequest)(nil), // 1534: google.cloud.compute.v1.TargetSslProxiesSetProxyHeaderRequest - (*TargetSslProxiesSetSslCertificatesRequest)(nil), // 1535: google.cloud.compute.v1.TargetSslProxiesSetSslCertificatesRequest - (*TargetSslProxy)(nil), // 1536: google.cloud.compute.v1.TargetSslProxy - (*TargetSslProxyList)(nil), // 1537: google.cloud.compute.v1.TargetSslProxyList - (*TargetTcpProxiesScopedList)(nil), // 1538: google.cloud.compute.v1.TargetTcpProxiesScopedList - (*TargetTcpProxiesSetBackendServiceRequest)(nil), // 1539: google.cloud.compute.v1.TargetTcpProxiesSetBackendServiceRequest - (*TargetTcpProxiesSetProxyHeaderRequest)(nil), // 1540: google.cloud.compute.v1.TargetTcpProxiesSetProxyHeaderRequest - (*TargetTcpProxy)(nil), // 1541: google.cloud.compute.v1.TargetTcpProxy - (*TargetTcpProxyAggregatedList)(nil), // 1542: google.cloud.compute.v1.TargetTcpProxyAggregatedList - (*TargetTcpProxyList)(nil), // 1543: google.cloud.compute.v1.TargetTcpProxyList - (*TargetVpnGateway)(nil), // 1544: google.cloud.compute.v1.TargetVpnGateway - (*TargetVpnGatewayAggregatedList)(nil), // 1545: google.cloud.compute.v1.TargetVpnGatewayAggregatedList - (*TargetVpnGatewayList)(nil), // 1546: google.cloud.compute.v1.TargetVpnGatewayList - (*TargetVpnGatewaysScopedList)(nil), // 1547: google.cloud.compute.v1.TargetVpnGatewaysScopedList - (*TestFailure)(nil), // 1548: google.cloud.compute.v1.TestFailure - (*TestIamPermissionsDiskRequest)(nil), // 1549: google.cloud.compute.v1.TestIamPermissionsDiskRequest - (*TestIamPermissionsExternalVpnGatewayRequest)(nil), // 1550: google.cloud.compute.v1.TestIamPermissionsExternalVpnGatewayRequest - (*TestIamPermissionsFirewallPolicyRequest)(nil), // 1551: google.cloud.compute.v1.TestIamPermissionsFirewallPolicyRequest - (*TestIamPermissionsImageRequest)(nil), // 1552: google.cloud.compute.v1.TestIamPermissionsImageRequest - (*TestIamPermissionsInstanceRequest)(nil), // 1553: google.cloud.compute.v1.TestIamPermissionsInstanceRequest - (*TestIamPermissionsInstanceTemplateRequest)(nil), // 1554: google.cloud.compute.v1.TestIamPermissionsInstanceTemplateRequest - (*TestIamPermissionsLicenseCodeRequest)(nil), // 1555: google.cloud.compute.v1.TestIamPermissionsLicenseCodeRequest - (*TestIamPermissionsLicenseRequest)(nil), // 1556: google.cloud.compute.v1.TestIamPermissionsLicenseRequest - (*TestIamPermissionsMachineImageRequest)(nil), // 1557: google.cloud.compute.v1.TestIamPermissionsMachineImageRequest - (*TestIamPermissionsNetworkAttachmentRequest)(nil), // 1558: google.cloud.compute.v1.TestIamPermissionsNetworkAttachmentRequest - (*TestIamPermissionsNetworkEndpointGroupRequest)(nil), // 1559: google.cloud.compute.v1.TestIamPermissionsNetworkEndpointGroupRequest - (*TestIamPermissionsNetworkFirewallPolicyRequest)(nil), // 1560: google.cloud.compute.v1.TestIamPermissionsNetworkFirewallPolicyRequest - (*TestIamPermissionsNodeGroupRequest)(nil), // 1561: google.cloud.compute.v1.TestIamPermissionsNodeGroupRequest - (*TestIamPermissionsNodeTemplateRequest)(nil), // 1562: google.cloud.compute.v1.TestIamPermissionsNodeTemplateRequest - (*TestIamPermissionsPacketMirroringRequest)(nil), // 1563: google.cloud.compute.v1.TestIamPermissionsPacketMirroringRequest - (*TestIamPermissionsRegionDiskRequest)(nil), // 1564: google.cloud.compute.v1.TestIamPermissionsRegionDiskRequest - (*TestIamPermissionsRegionNetworkFirewallPolicyRequest)(nil), // 1565: google.cloud.compute.v1.TestIamPermissionsRegionNetworkFirewallPolicyRequest - (*TestIamPermissionsReservationRequest)(nil), // 1566: google.cloud.compute.v1.TestIamPermissionsReservationRequest - (*TestIamPermissionsResourcePolicyRequest)(nil), // 1567: google.cloud.compute.v1.TestIamPermissionsResourcePolicyRequest - (*TestIamPermissionsServiceAttachmentRequest)(nil), // 1568: google.cloud.compute.v1.TestIamPermissionsServiceAttachmentRequest - (*TestIamPermissionsSnapshotRequest)(nil), // 1569: google.cloud.compute.v1.TestIamPermissionsSnapshotRequest - (*TestIamPermissionsSubnetworkRequest)(nil), // 1570: google.cloud.compute.v1.TestIamPermissionsSubnetworkRequest - (*TestIamPermissionsVpnGatewayRequest)(nil), // 1571: google.cloud.compute.v1.TestIamPermissionsVpnGatewayRequest - (*TestPermissionsRequest)(nil), // 1572: google.cloud.compute.v1.TestPermissionsRequest - (*TestPermissionsResponse)(nil), // 1573: google.cloud.compute.v1.TestPermissionsResponse - (*Uint128)(nil), // 1574: google.cloud.compute.v1.Uint128 - (*UpdateAccessConfigInstanceRequest)(nil), // 1575: google.cloud.compute.v1.UpdateAccessConfigInstanceRequest - (*UpdateAutoscalerRequest)(nil), // 1576: google.cloud.compute.v1.UpdateAutoscalerRequest - (*UpdateBackendBucketRequest)(nil), // 1577: google.cloud.compute.v1.UpdateBackendBucketRequest - (*UpdateBackendServiceRequest)(nil), // 1578: google.cloud.compute.v1.UpdateBackendServiceRequest - (*UpdateDiskRequest)(nil), // 1579: google.cloud.compute.v1.UpdateDiskRequest - (*UpdateDisplayDeviceInstanceRequest)(nil), // 1580: google.cloud.compute.v1.UpdateDisplayDeviceInstanceRequest - (*UpdateFirewallRequest)(nil), // 1581: google.cloud.compute.v1.UpdateFirewallRequest - (*UpdateHealthCheckRequest)(nil), // 1582: google.cloud.compute.v1.UpdateHealthCheckRequest - (*UpdateInstanceRequest)(nil), // 1583: google.cloud.compute.v1.UpdateInstanceRequest - (*UpdateNetworkInterfaceInstanceRequest)(nil), // 1584: google.cloud.compute.v1.UpdateNetworkInterfaceInstanceRequest - (*UpdatePeeringNetworkRequest)(nil), // 1585: google.cloud.compute.v1.UpdatePeeringNetworkRequest - (*UpdatePerInstanceConfigsInstanceGroupManagerRequest)(nil), // 1586: google.cloud.compute.v1.UpdatePerInstanceConfigsInstanceGroupManagerRequest - (*UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest)(nil), // 1587: google.cloud.compute.v1.UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest - (*UpdateRegionAutoscalerRequest)(nil), // 1588: google.cloud.compute.v1.UpdateRegionAutoscalerRequest - (*UpdateRegionBackendServiceRequest)(nil), // 1589: google.cloud.compute.v1.UpdateRegionBackendServiceRequest - (*UpdateRegionCommitmentRequest)(nil), // 1590: google.cloud.compute.v1.UpdateRegionCommitmentRequest - (*UpdateRegionDiskRequest)(nil), // 1591: google.cloud.compute.v1.UpdateRegionDiskRequest - (*UpdateRegionHealthCheckRequest)(nil), // 1592: google.cloud.compute.v1.UpdateRegionHealthCheckRequest - (*UpdateRegionUrlMapRequest)(nil), // 1593: google.cloud.compute.v1.UpdateRegionUrlMapRequest - (*UpdateReservationRequest)(nil), // 1594: google.cloud.compute.v1.UpdateReservationRequest - (*UpdateRouterRequest)(nil), // 1595: google.cloud.compute.v1.UpdateRouterRequest - (*UpdateShieldedInstanceConfigInstanceRequest)(nil), // 1596: google.cloud.compute.v1.UpdateShieldedInstanceConfigInstanceRequest - (*UpdateUrlMapRequest)(nil), // 1597: google.cloud.compute.v1.UpdateUrlMapRequest - (*UrlMap)(nil), // 1598: google.cloud.compute.v1.UrlMap - (*UrlMapList)(nil), // 1599: google.cloud.compute.v1.UrlMapList - (*UrlMapReference)(nil), // 1600: google.cloud.compute.v1.UrlMapReference - (*UrlMapTest)(nil), // 1601: google.cloud.compute.v1.UrlMapTest - (*UrlMapTestHeader)(nil), // 1602: google.cloud.compute.v1.UrlMapTestHeader - (*UrlMapValidationResult)(nil), // 1603: google.cloud.compute.v1.UrlMapValidationResult - (*UrlMapsAggregatedList)(nil), // 1604: google.cloud.compute.v1.UrlMapsAggregatedList - (*UrlMapsScopedList)(nil), // 1605: google.cloud.compute.v1.UrlMapsScopedList - (*UrlMapsValidateRequest)(nil), // 1606: google.cloud.compute.v1.UrlMapsValidateRequest - (*UrlMapsValidateResponse)(nil), // 1607: google.cloud.compute.v1.UrlMapsValidateResponse - (*UrlRewrite)(nil), // 1608: google.cloud.compute.v1.UrlRewrite - (*UsableSubnetwork)(nil), // 1609: google.cloud.compute.v1.UsableSubnetwork - (*UsableSubnetworkSecondaryRange)(nil), // 1610: google.cloud.compute.v1.UsableSubnetworkSecondaryRange - (*UsableSubnetworksAggregatedList)(nil), // 1611: google.cloud.compute.v1.UsableSubnetworksAggregatedList - (*UsageExportLocation)(nil), // 1612: google.cloud.compute.v1.UsageExportLocation - (*ValidateRegionUrlMapRequest)(nil), // 1613: google.cloud.compute.v1.ValidateRegionUrlMapRequest - (*ValidateUrlMapRequest)(nil), // 1614: google.cloud.compute.v1.ValidateUrlMapRequest - (*VmEndpointNatMappings)(nil), // 1615: google.cloud.compute.v1.VmEndpointNatMappings - (*VmEndpointNatMappingsInterfaceNatMappings)(nil), // 1616: google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappings - (*VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings)(nil), // 1617: google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings - (*VmEndpointNatMappingsList)(nil), // 1618: google.cloud.compute.v1.VmEndpointNatMappingsList - (*VpnGateway)(nil), // 1619: google.cloud.compute.v1.VpnGateway - (*VpnGatewayAggregatedList)(nil), // 1620: google.cloud.compute.v1.VpnGatewayAggregatedList - (*VpnGatewayList)(nil), // 1621: google.cloud.compute.v1.VpnGatewayList - (*VpnGatewayStatus)(nil), // 1622: google.cloud.compute.v1.VpnGatewayStatus - (*VpnGatewayStatusHighAvailabilityRequirementState)(nil), // 1623: google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState - (*VpnGatewayStatusTunnel)(nil), // 1624: google.cloud.compute.v1.VpnGatewayStatusTunnel - (*VpnGatewayStatusVpnConnection)(nil), // 1625: google.cloud.compute.v1.VpnGatewayStatusVpnConnection - (*VpnGatewayVpnGatewayInterface)(nil), // 1626: google.cloud.compute.v1.VpnGatewayVpnGatewayInterface - (*VpnGatewaysGetStatusResponse)(nil), // 1627: google.cloud.compute.v1.VpnGatewaysGetStatusResponse - (*VpnGatewaysScopedList)(nil), // 1628: google.cloud.compute.v1.VpnGatewaysScopedList - (*VpnTunnel)(nil), // 1629: google.cloud.compute.v1.VpnTunnel - (*VpnTunnelAggregatedList)(nil), // 1630: google.cloud.compute.v1.VpnTunnelAggregatedList - (*VpnTunnelList)(nil), // 1631: google.cloud.compute.v1.VpnTunnelList - (*VpnTunnelsScopedList)(nil), // 1632: google.cloud.compute.v1.VpnTunnelsScopedList - (*WafExpressionSet)(nil), // 1633: google.cloud.compute.v1.WafExpressionSet - (*WafExpressionSetExpression)(nil), // 1634: google.cloud.compute.v1.WafExpressionSetExpression - (*WaitGlobalOperationRequest)(nil), // 1635: google.cloud.compute.v1.WaitGlobalOperationRequest - (*WaitRegionOperationRequest)(nil), // 1636: google.cloud.compute.v1.WaitRegionOperationRequest - (*WaitZoneOperationRequest)(nil), // 1637: google.cloud.compute.v1.WaitZoneOperationRequest - (*Warning)(nil), // 1638: google.cloud.compute.v1.Warning - (*Warnings)(nil), // 1639: google.cloud.compute.v1.Warnings - (*WeightedBackendService)(nil), // 1640: google.cloud.compute.v1.WeightedBackendService - (*XpnHostList)(nil), // 1641: google.cloud.compute.v1.XpnHostList - (*XpnResourceId)(nil), // 1642: google.cloud.compute.v1.XpnResourceId - (*Zone)(nil), // 1643: google.cloud.compute.v1.Zone - (*ZoneList)(nil), // 1644: google.cloud.compute.v1.ZoneList - (*ZoneSetLabelsRequest)(nil), // 1645: google.cloud.compute.v1.ZoneSetLabelsRequest - (*ZoneSetPolicyRequest)(nil), // 1646: google.cloud.compute.v1.ZoneSetPolicyRequest - nil, // 1647: google.cloud.compute.v1.AcceleratorTypeAggregatedList.ItemsEntry - nil, // 1648: google.cloud.compute.v1.Address.LabelsEntry - nil, // 1649: google.cloud.compute.v1.AddressAggregatedList.ItemsEntry - nil, // 1650: google.cloud.compute.v1.AttachedDiskInitializeParams.LabelsEntry - nil, // 1651: google.cloud.compute.v1.AttachedDiskInitializeParams.ResourceManagerTagsEntry - nil, // 1652: google.cloud.compute.v1.Autoscaler.ScalingScheduleStatusEntry - nil, // 1653: google.cloud.compute.v1.AutoscalerAggregatedList.ItemsEntry - nil, // 1654: google.cloud.compute.v1.AutoscalingPolicy.ScalingSchedulesEntry - nil, // 1655: google.cloud.compute.v1.BackendService.MetadatasEntry - nil, // 1656: google.cloud.compute.v1.BackendServiceAggregatedList.ItemsEntry - nil, // 1657: google.cloud.compute.v1.BackendServiceGroupHealth.AnnotationsEntry - nil, // 1658: google.cloud.compute.v1.BulkInsertInstanceResource.PerInstancePropertiesEntry - nil, // 1659: google.cloud.compute.v1.CommitmentAggregatedList.ItemsEntry - nil, // 1660: google.cloud.compute.v1.Disk.AsyncSecondaryDisksEntry - nil, // 1661: google.cloud.compute.v1.Disk.LabelsEntry - nil, // 1662: google.cloud.compute.v1.DiskAggregatedList.ItemsEntry - nil, // 1663: google.cloud.compute.v1.DiskParams.ResourceManagerTagsEntry - nil, // 1664: google.cloud.compute.v1.DiskResourceStatus.AsyncSecondaryDisksEntry - nil, // 1665: google.cloud.compute.v1.DiskTypeAggregatedList.ItemsEntry - nil, // 1666: google.cloud.compute.v1.ErrorInfo.MetadatasEntry - nil, // 1667: google.cloud.compute.v1.ExternalVpnGateway.LabelsEntry - nil, // 1668: google.cloud.compute.v1.ForwardingRule.LabelsEntry - nil, // 1669: google.cloud.compute.v1.ForwardingRuleAggregatedList.ItemsEntry - nil, // 1670: google.cloud.compute.v1.GlobalSetLabelsRequest.LabelsEntry - nil, // 1671: google.cloud.compute.v1.HealthChecksAggregatedList.ItemsEntry - nil, // 1672: google.cloud.compute.v1.HealthStatus.AnnotationsEntry - nil, // 1673: google.cloud.compute.v1.Image.LabelsEntry - nil, // 1674: google.cloud.compute.v1.Instance.LabelsEntry - nil, // 1675: google.cloud.compute.v1.InstanceAggregatedList.ItemsEntry - nil, // 1676: google.cloud.compute.v1.InstanceGroupAggregatedList.ItemsEntry - nil, // 1677: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.ItemsEntry - nil, // 1678: google.cloud.compute.v1.InstanceParams.ResourceManagerTagsEntry - nil, // 1679: google.cloud.compute.v1.InstanceProperties.LabelsEntry - nil, // 1680: google.cloud.compute.v1.InstanceProperties.ResourceManagerTagsEntry - nil, // 1681: google.cloud.compute.v1.InstanceTemplateAggregatedList.ItemsEntry - nil, // 1682: google.cloud.compute.v1.InstancesSetLabelsRequest.LabelsEntry - nil, // 1683: google.cloud.compute.v1.Interconnect.LabelsEntry - nil, // 1684: google.cloud.compute.v1.InterconnectAttachment.LabelsEntry - nil, // 1685: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.ItemsEntry - nil, // 1686: google.cloud.compute.v1.LocationPolicy.LocationsEntry - nil, // 1687: google.cloud.compute.v1.MachineTypeAggregatedList.ItemsEntry - nil, // 1688: google.cloud.compute.v1.NetworkAttachmentAggregatedList.ItemsEntry - nil, // 1689: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.ItemsEntry - nil, // 1690: google.cloud.compute.v1.NetworkEndpoint.AnnotationsEntry - nil, // 1691: google.cloud.compute.v1.NetworkEndpointGroup.AnnotationsEntry - nil, // 1692: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.ItemsEntry - nil, // 1693: google.cloud.compute.v1.NodeGroupAggregatedList.ItemsEntry - nil, // 1694: google.cloud.compute.v1.NodeTemplate.NodeAffinityLabelsEntry - nil, // 1695: google.cloud.compute.v1.NodeTemplateAggregatedList.ItemsEntry - nil, // 1696: google.cloud.compute.v1.NodeTypeAggregatedList.ItemsEntry - nil, // 1697: google.cloud.compute.v1.OperationAggregatedList.ItemsEntry - nil, // 1698: google.cloud.compute.v1.PacketMirroringAggregatedList.ItemsEntry - nil, // 1699: google.cloud.compute.v1.PreservedState.DisksEntry - nil, // 1700: google.cloud.compute.v1.PreservedState.MetadataEntry - nil, // 1701: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.ItemsEntry - nil, // 1702: google.cloud.compute.v1.QuotaExceededInfo.DimensionsEntry - nil, // 1703: google.cloud.compute.v1.RegionSetLabelsRequest.LabelsEntry - nil, // 1704: google.cloud.compute.v1.Reservation.ResourcePoliciesEntry - nil, // 1705: google.cloud.compute.v1.ReservationAggregatedList.ItemsEntry - nil, // 1706: google.cloud.compute.v1.ResourcePolicyAggregatedList.ItemsEntry - nil, // 1707: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties.LabelsEntry - nil, // 1708: google.cloud.compute.v1.RouterAggregatedList.ItemsEntry - nil, // 1709: google.cloud.compute.v1.SecurityPoliciesAggregatedList.ItemsEntry - nil, // 1710: google.cloud.compute.v1.SecurityPolicy.LabelsEntry - nil, // 1711: google.cloud.compute.v1.ServiceAttachmentAggregatedList.ItemsEntry - nil, // 1712: google.cloud.compute.v1.ShareSettings.ProjectMapEntry - nil, // 1713: google.cloud.compute.v1.Snapshot.LabelsEntry - nil, // 1714: google.cloud.compute.v1.SourceInstanceProperties.LabelsEntry - nil, // 1715: google.cloud.compute.v1.SslCertificateAggregatedList.ItemsEntry - nil, // 1716: google.cloud.compute.v1.SslCertificateManagedSslCertificate.DomainStatusEntry - nil, // 1717: google.cloud.compute.v1.SslPoliciesAggregatedList.ItemsEntry - nil, // 1718: google.cloud.compute.v1.StatefulPolicyPreservedState.DisksEntry - nil, // 1719: google.cloud.compute.v1.SubnetworkAggregatedList.ItemsEntry - nil, // 1720: google.cloud.compute.v1.TargetHttpProxyAggregatedList.ItemsEntry - nil, // 1721: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.ItemsEntry - nil, // 1722: google.cloud.compute.v1.TargetInstanceAggregatedList.ItemsEntry - nil, // 1723: google.cloud.compute.v1.TargetPoolAggregatedList.ItemsEntry - nil, // 1724: google.cloud.compute.v1.TargetTcpProxyAggregatedList.ItemsEntry - nil, // 1725: google.cloud.compute.v1.TargetVpnGateway.LabelsEntry - nil, // 1726: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.ItemsEntry - nil, // 1727: google.cloud.compute.v1.UrlMapsAggregatedList.ItemsEntry - nil, // 1728: google.cloud.compute.v1.VpnGateway.LabelsEntry - nil, // 1729: google.cloud.compute.v1.VpnGatewayAggregatedList.ItemsEntry - nil, // 1730: google.cloud.compute.v1.VpnTunnel.LabelsEntry - nil, // 1731: google.cloud.compute.v1.VpnTunnelAggregatedList.ItemsEntry - nil, // 1732: google.cloud.compute.v1.ZoneSetLabelsRequest.LabelsEntry + (BulkInsertOperationStatus_Status)(0), // 41: google.cloud.compute.v1.BulkInsertOperationStatus.Status + (Commitment_Category)(0), // 42: google.cloud.compute.v1.Commitment.Category + (Commitment_Plan)(0), // 43: google.cloud.compute.v1.Commitment.Plan + (Commitment_Status)(0), // 44: google.cloud.compute.v1.Commitment.Status + (Commitment_Type)(0), // 45: google.cloud.compute.v1.Commitment.Type + (Condition_Iam)(0), // 46: google.cloud.compute.v1.Condition.Iam + (Condition_Op)(0), // 47: google.cloud.compute.v1.Condition.Op + (Condition_Sys)(0), // 48: google.cloud.compute.v1.Condition.Sys + (DeprecationStatus_State)(0), // 49: google.cloud.compute.v1.DeprecationStatus.State + (Disk_Architecture)(0), // 50: google.cloud.compute.v1.Disk.Architecture + (Disk_Status)(0), // 51: google.cloud.compute.v1.Disk.Status + (DiskInstantiationConfig_InstantiateFrom)(0), // 52: google.cloud.compute.v1.DiskInstantiationConfig.InstantiateFrom + (DiskResourceStatusAsyncReplicationStatus_State)(0), // 53: google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus.State + (DistributionPolicy_TargetShape)(0), // 54: google.cloud.compute.v1.DistributionPolicy.TargetShape + (ExchangedPeeringRoute_Type)(0), // 55: google.cloud.compute.v1.ExchangedPeeringRoute.Type + (ExternalVpnGateway_RedundancyType)(0), // 56: google.cloud.compute.v1.ExternalVpnGateway.RedundancyType + (FileContentBuffer_FileType)(0), // 57: google.cloud.compute.v1.FileContentBuffer.FileType + (Firewall_Direction)(0), // 58: google.cloud.compute.v1.Firewall.Direction + (FirewallLogConfig_Metadata)(0), // 59: google.cloud.compute.v1.FirewallLogConfig.Metadata + (FirewallPolicyRule_Direction)(0), // 60: google.cloud.compute.v1.FirewallPolicyRule.Direction + (FirewallPolicyRuleSecureTag_State)(0), // 61: google.cloud.compute.v1.FirewallPolicyRuleSecureTag.State + (ForwardingRule_IPProtocolEnum)(0), // 62: google.cloud.compute.v1.ForwardingRule.IPProtocolEnum + (ForwardingRule_IpVersion)(0), // 63: google.cloud.compute.v1.ForwardingRule.IpVersion + (ForwardingRule_LoadBalancingScheme)(0), // 64: google.cloud.compute.v1.ForwardingRule.LoadBalancingScheme + (ForwardingRule_NetworkTier)(0), // 65: google.cloud.compute.v1.ForwardingRule.NetworkTier + (ForwardingRule_PscConnectionStatus)(0), // 66: google.cloud.compute.v1.ForwardingRule.PscConnectionStatus + (GRPCHealthCheck_PortSpecification)(0), // 67: google.cloud.compute.v1.GRPCHealthCheck.PortSpecification + (GuestOsFeature_Type)(0), // 68: google.cloud.compute.v1.GuestOsFeature.Type + (HTTP2HealthCheck_PortSpecification)(0), // 69: google.cloud.compute.v1.HTTP2HealthCheck.PortSpecification + (HTTP2HealthCheck_ProxyHeader)(0), // 70: google.cloud.compute.v1.HTTP2HealthCheck.ProxyHeader + (HTTPHealthCheck_PortSpecification)(0), // 71: google.cloud.compute.v1.HTTPHealthCheck.PortSpecification + (HTTPHealthCheck_ProxyHeader)(0), // 72: google.cloud.compute.v1.HTTPHealthCheck.ProxyHeader + (HTTPSHealthCheck_PortSpecification)(0), // 73: google.cloud.compute.v1.HTTPSHealthCheck.PortSpecification + (HTTPSHealthCheck_ProxyHeader)(0), // 74: google.cloud.compute.v1.HTTPSHealthCheck.ProxyHeader + (HealthCheck_Type)(0), // 75: google.cloud.compute.v1.HealthCheck.Type + (HealthCheckService_HealthStatusAggregationPolicy)(0), // 76: google.cloud.compute.v1.HealthCheckService.HealthStatusAggregationPolicy + (HealthStatus_HealthState)(0), // 77: google.cloud.compute.v1.HealthStatus.HealthState + (HealthStatus_WeightError)(0), // 78: google.cloud.compute.v1.HealthStatus.WeightError + (HealthStatusForNetworkEndpoint_HealthState)(0), // 79: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.HealthState + (HttpRedirectAction_RedirectResponseCode)(0), // 80: google.cloud.compute.v1.HttpRedirectAction.RedirectResponseCode + (Image_Architecture)(0), // 81: google.cloud.compute.v1.Image.Architecture + (Image_SourceType)(0), // 82: google.cloud.compute.v1.Image.SourceType + (Image_Status)(0), // 83: google.cloud.compute.v1.Image.Status + (Instance_KeyRevocationActionType)(0), // 84: google.cloud.compute.v1.Instance.KeyRevocationActionType + (Instance_PrivateIpv6GoogleAccess)(0), // 85: google.cloud.compute.v1.Instance.PrivateIpv6GoogleAccess + (Instance_Status)(0), // 86: google.cloud.compute.v1.Instance.Status + (InstanceGroupManager_ListManagedInstancesResults)(0), // 87: google.cloud.compute.v1.InstanceGroupManager.ListManagedInstancesResults + (InstanceGroupManagerInstanceLifecyclePolicy_ForceUpdateOnRepair)(0), // 88: google.cloud.compute.v1.InstanceGroupManagerInstanceLifecyclePolicy.ForceUpdateOnRepair + (InstanceGroupManagerUpdatePolicy_InstanceRedistributionType)(0), // 89: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.InstanceRedistributionType + (InstanceGroupManagerUpdatePolicy_MinimalAction)(0), // 90: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.MinimalAction + (InstanceGroupManagerUpdatePolicy_MostDisruptiveAllowedAction)(0), // 91: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.MostDisruptiveAllowedAction + (InstanceGroupManagerUpdatePolicy_ReplacementMethod)(0), // 92: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.ReplacementMethod + (InstanceGroupManagerUpdatePolicy_Type)(0), // 93: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.Type + (InstanceGroupManagersApplyUpdatesRequest_MinimalAction)(0), // 94: google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest.MinimalAction + (InstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction)(0), // 95: google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest.MostDisruptiveAllowedAction + (InstanceGroupsListInstancesRequest_InstanceState)(0), // 96: google.cloud.compute.v1.InstanceGroupsListInstancesRequest.InstanceState + (InstanceManagedByIgmErrorInstanceActionDetails_Action)(0), // 97: google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails.Action + (InstanceProperties_KeyRevocationActionType)(0), // 98: google.cloud.compute.v1.InstanceProperties.KeyRevocationActionType + (InstanceProperties_PrivateIpv6GoogleAccess)(0), // 99: google.cloud.compute.v1.InstanceProperties.PrivateIpv6GoogleAccess + (InstanceWithNamedPorts_Status)(0), // 100: google.cloud.compute.v1.InstanceWithNamedPorts.Status + (InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type)(0), // 101: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.Type + (Interconnect_AvailableFeatures)(0), // 102: google.cloud.compute.v1.Interconnect.AvailableFeatures + (Interconnect_InterconnectType)(0), // 103: google.cloud.compute.v1.Interconnect.InterconnectType + (Interconnect_LinkType)(0), // 104: google.cloud.compute.v1.Interconnect.LinkType + (Interconnect_OperationalStatus)(0), // 105: google.cloud.compute.v1.Interconnect.OperationalStatus + (Interconnect_RequestedFeatures)(0), // 106: google.cloud.compute.v1.Interconnect.RequestedFeatures + (Interconnect_State)(0), // 107: google.cloud.compute.v1.Interconnect.State + (InterconnectAttachment_Bandwidth)(0), // 108: google.cloud.compute.v1.InterconnectAttachment.Bandwidth + (InterconnectAttachment_EdgeAvailabilityDomain)(0), // 109: google.cloud.compute.v1.InterconnectAttachment.EdgeAvailabilityDomain + (InterconnectAttachment_Encryption)(0), // 110: google.cloud.compute.v1.InterconnectAttachment.Encryption + (InterconnectAttachment_OperationalStatus)(0), // 111: google.cloud.compute.v1.InterconnectAttachment.OperationalStatus + (InterconnectAttachment_StackType)(0), // 112: google.cloud.compute.v1.InterconnectAttachment.StackType + (InterconnectAttachment_State)(0), // 113: google.cloud.compute.v1.InterconnectAttachment.State + (InterconnectAttachment_Type)(0), // 114: google.cloud.compute.v1.InterconnectAttachment.Type + (InterconnectAttachmentConfigurationConstraints_BgpMd5)(0), // 115: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints.BgpMd5 + (InterconnectDiagnostics_BundleAggregationType)(0), // 116: google.cloud.compute.v1.InterconnectDiagnostics.BundleAggregationType + (InterconnectDiagnostics_BundleOperationalStatus)(0), // 117: google.cloud.compute.v1.InterconnectDiagnostics.BundleOperationalStatus + (InterconnectDiagnosticsLinkLACPStatus_State)(0), // 118: google.cloud.compute.v1.InterconnectDiagnosticsLinkLACPStatus.State + (InterconnectDiagnosticsLinkOpticalPower_State)(0), // 119: google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower.State + (InterconnectDiagnosticsLinkStatus_OperationalStatus)(0), // 120: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.OperationalStatus + (InterconnectLocation_AvailableFeatures)(0), // 121: google.cloud.compute.v1.InterconnectLocation.AvailableFeatures + (InterconnectLocation_AvailableLinkTypes)(0), // 122: google.cloud.compute.v1.InterconnectLocation.AvailableLinkTypes + (InterconnectLocation_Continent)(0), // 123: google.cloud.compute.v1.InterconnectLocation.Continent + (InterconnectLocation_Status)(0), // 124: google.cloud.compute.v1.InterconnectLocation.Status + (InterconnectLocationRegionInfo_LocationPresence)(0), // 125: google.cloud.compute.v1.InterconnectLocationRegionInfo.LocationPresence + (InterconnectOutageNotification_IssueType)(0), // 126: google.cloud.compute.v1.InterconnectOutageNotification.IssueType + (InterconnectOutageNotification_Source)(0), // 127: google.cloud.compute.v1.InterconnectOutageNotification.Source + (InterconnectOutageNotification_State)(0), // 128: google.cloud.compute.v1.InterconnectOutageNotification.State + (InterconnectRemoteLocation_Continent)(0), // 129: google.cloud.compute.v1.InterconnectRemoteLocation.Continent + (InterconnectRemoteLocation_Lacp)(0), // 130: google.cloud.compute.v1.InterconnectRemoteLocation.Lacp + (InterconnectRemoteLocation_Status)(0), // 131: google.cloud.compute.v1.InterconnectRemoteLocation.Status + (InterconnectRemoteLocationConstraints_PortPairRemoteLocation)(0), // 132: google.cloud.compute.v1.InterconnectRemoteLocationConstraints.PortPairRemoteLocation + (InterconnectRemoteLocationConstraints_PortPairVlan)(0), // 133: google.cloud.compute.v1.InterconnectRemoteLocationConstraints.PortPairVlan + (LicenseCode_State)(0), // 134: google.cloud.compute.v1.LicenseCode.State + (ListPeeringRoutesNetworksRequest_Direction)(0), // 135: google.cloud.compute.v1.ListPeeringRoutesNetworksRequest.Direction + (LocationPolicy_TargetShape)(0), // 136: google.cloud.compute.v1.LocationPolicy.TargetShape + (LocationPolicyLocation_Preference)(0), // 137: google.cloud.compute.v1.LocationPolicyLocation.Preference + (LogConfigCloudAuditOptions_LogName)(0), // 138: google.cloud.compute.v1.LogConfigCloudAuditOptions.LogName + (LogConfigDataAccessOptions_LogMode)(0), // 139: google.cloud.compute.v1.LogConfigDataAccessOptions.LogMode + (MachineImage_Status)(0), // 140: google.cloud.compute.v1.MachineImage.Status + (ManagedInstance_CurrentAction)(0), // 141: google.cloud.compute.v1.ManagedInstance.CurrentAction + (ManagedInstance_InstanceStatus)(0), // 142: google.cloud.compute.v1.ManagedInstance.InstanceStatus + (ManagedInstanceInstanceHealth_DetailedHealthState)(0), // 143: google.cloud.compute.v1.ManagedInstanceInstanceHealth.DetailedHealthState + (MetadataFilter_FilterMatchCriteria)(0), // 144: google.cloud.compute.v1.MetadataFilter.FilterMatchCriteria + (NatIpInfoNatIpInfoMapping_Mode)(0), // 145: google.cloud.compute.v1.NatIpInfoNatIpInfoMapping.Mode + (NatIpInfoNatIpInfoMapping_Usage)(0), // 146: google.cloud.compute.v1.NatIpInfoNatIpInfoMapping.Usage + (Network_NetworkFirewallPolicyEnforcementOrder)(0), // 147: google.cloud.compute.v1.Network.NetworkFirewallPolicyEnforcementOrder + (NetworkAttachment_ConnectionPreference)(0), // 148: google.cloud.compute.v1.NetworkAttachment.ConnectionPreference + (NetworkAttachmentConnectedEndpoint_Status)(0), // 149: google.cloud.compute.v1.NetworkAttachmentConnectedEndpoint.Status + (NetworkEndpointGroup_NetworkEndpointType)(0), // 150: google.cloud.compute.v1.NetworkEndpointGroup.NetworkEndpointType + (NetworkEndpointGroupPscData_PscConnectionStatus)(0), // 151: google.cloud.compute.v1.NetworkEndpointGroupPscData.PscConnectionStatus + (NetworkEndpointGroupsListEndpointsRequest_HealthStatus)(0), // 152: google.cloud.compute.v1.NetworkEndpointGroupsListEndpointsRequest.HealthStatus + (NetworkInterface_Ipv6AccessType)(0), // 153: google.cloud.compute.v1.NetworkInterface.Ipv6AccessType + (NetworkInterface_NicType)(0), // 154: google.cloud.compute.v1.NetworkInterface.NicType + (NetworkInterface_StackType)(0), // 155: google.cloud.compute.v1.NetworkInterface.StackType + (NetworkPeering_StackType)(0), // 156: google.cloud.compute.v1.NetworkPeering.StackType + (NetworkPeering_State)(0), // 157: google.cloud.compute.v1.NetworkPeering.State + (NetworkPerformanceConfig_TotalEgressBandwidthTier)(0), // 158: google.cloud.compute.v1.NetworkPerformanceConfig.TotalEgressBandwidthTier + (NetworkRoutingConfig_RoutingMode)(0), // 159: google.cloud.compute.v1.NetworkRoutingConfig.RoutingMode + (NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type)(0), // 160: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy.Type + (NodeGroup_MaintenancePolicy)(0), // 161: google.cloud.compute.v1.NodeGroup.MaintenancePolicy + (NodeGroup_Status)(0), // 162: google.cloud.compute.v1.NodeGroup.Status + (NodeGroupAutoscalingPolicy_Mode)(0), // 163: google.cloud.compute.v1.NodeGroupAutoscalingPolicy.Mode + (NodeGroupNode_CpuOvercommitType)(0), // 164: google.cloud.compute.v1.NodeGroupNode.CpuOvercommitType + (NodeGroupNode_Status)(0), // 165: google.cloud.compute.v1.NodeGroupNode.Status + (NodeTemplate_CpuOvercommitType)(0), // 166: google.cloud.compute.v1.NodeTemplate.CpuOvercommitType + (NodeTemplate_Status)(0), // 167: google.cloud.compute.v1.NodeTemplate.Status + (Operation_Status)(0), // 168: google.cloud.compute.v1.Operation.Status + (PacketIntervals_Duration)(0), // 169: google.cloud.compute.v1.PacketIntervals.Duration + (PacketIntervals_Type)(0), // 170: google.cloud.compute.v1.PacketIntervals.Type + (PacketMirroring_Enable)(0), // 171: google.cloud.compute.v1.PacketMirroring.Enable + (PacketMirroringFilter_Direction)(0), // 172: google.cloud.compute.v1.PacketMirroringFilter.Direction + (PerInstanceConfig_Status)(0), // 173: google.cloud.compute.v1.PerInstanceConfig.Status + (PreservedStatePreservedDisk_AutoDelete)(0), // 174: google.cloud.compute.v1.PreservedStatePreservedDisk.AutoDelete + (PreservedStatePreservedDisk_Mode)(0), // 175: google.cloud.compute.v1.PreservedStatePreservedDisk.Mode + (PreservedStatePreservedNetworkIp_AutoDelete)(0), // 176: google.cloud.compute.v1.PreservedStatePreservedNetworkIp.AutoDelete + (Project_DefaultNetworkTier)(0), // 177: google.cloud.compute.v1.Project.DefaultNetworkTier + (Project_VmDnsSetting)(0), // 178: google.cloud.compute.v1.Project.VmDnsSetting + (Project_XpnProjectStatus)(0), // 179: google.cloud.compute.v1.Project.XpnProjectStatus + (ProjectsSetDefaultNetworkTierRequest_NetworkTier)(0), // 180: google.cloud.compute.v1.ProjectsSetDefaultNetworkTierRequest.NetworkTier + (PublicAdvertisedPrefix_ByoipApiVersion)(0), // 181: google.cloud.compute.v1.PublicAdvertisedPrefix.ByoipApiVersion + (PublicAdvertisedPrefix_PdpScope)(0), // 182: google.cloud.compute.v1.PublicAdvertisedPrefix.PdpScope + (PublicAdvertisedPrefix_Status)(0), // 183: google.cloud.compute.v1.PublicAdvertisedPrefix.Status + (PublicDelegatedPrefix_ByoipApiVersion)(0), // 184: google.cloud.compute.v1.PublicDelegatedPrefix.ByoipApiVersion + (PublicDelegatedPrefix_Status)(0), // 185: google.cloud.compute.v1.PublicDelegatedPrefix.Status + (PublicDelegatedPrefixPublicDelegatedSubPrefix_Status)(0), // 186: google.cloud.compute.v1.PublicDelegatedPrefixPublicDelegatedSubPrefix.Status + (Quota_Metric)(0), // 187: google.cloud.compute.v1.Quota.Metric + (QuotaExceededInfo_RolloutStatus)(0), // 188: google.cloud.compute.v1.QuotaExceededInfo.RolloutStatus + (RawDisk_ContainerType)(0), // 189: google.cloud.compute.v1.RawDisk.ContainerType + (Region_Status)(0), // 190: google.cloud.compute.v1.Region.Status + (RegionInstanceGroupManagersApplyUpdatesRequest_MinimalAction)(0), // 191: google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest.MinimalAction + (RegionInstanceGroupManagersApplyUpdatesRequest_MostDisruptiveAllowedAction)(0), // 192: google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest.MostDisruptiveAllowedAction + (RegionInstanceGroupsListInstancesRequest_InstanceState)(0), // 193: google.cloud.compute.v1.RegionInstanceGroupsListInstancesRequest.InstanceState + (RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy_Type)(0), // 194: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.Type + (Reservation_Status)(0), // 195: google.cloud.compute.v1.Reservation.Status + (ReservationAffinity_ConsumeReservationType)(0), // 196: google.cloud.compute.v1.ReservationAffinity.ConsumeReservationType + (ResourceCommitment_Type)(0), // 197: google.cloud.compute.v1.ResourceCommitment.Type + (ResourcePolicy_Status)(0), // 198: google.cloud.compute.v1.ResourcePolicy.Status + (ResourcePolicyGroupPlacementPolicy_Collocation)(0), // 199: google.cloud.compute.v1.ResourcePolicyGroupPlacementPolicy.Collocation + (ResourcePolicySnapshotSchedulePolicyRetentionPolicy_OnSourceDiskDelete)(0), // 200: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicyRetentionPolicy.OnSourceDiskDelete + (ResourcePolicyWeeklyCycleDayOfWeek_Day)(0), // 201: google.cloud.compute.v1.ResourcePolicyWeeklyCycleDayOfWeek.Day + (Route_RouteStatus)(0), // 202: google.cloud.compute.v1.Route.RouteStatus + (Route_RouteType)(0), // 203: google.cloud.compute.v1.Route.RouteType + (RouteAsPath_PathSegmentType)(0), // 204: google.cloud.compute.v1.RouteAsPath.PathSegmentType + (RouterBgp_AdvertiseMode)(0), // 205: google.cloud.compute.v1.RouterBgp.AdvertiseMode + (RouterBgp_AdvertisedGroups)(0), // 206: google.cloud.compute.v1.RouterBgp.AdvertisedGroups + (RouterBgpPeer_AdvertiseMode)(0), // 207: google.cloud.compute.v1.RouterBgpPeer.AdvertiseMode + (RouterBgpPeer_AdvertisedGroups)(0), // 208: google.cloud.compute.v1.RouterBgpPeer.AdvertisedGroups + (RouterBgpPeer_Enable)(0), // 209: google.cloud.compute.v1.RouterBgpPeer.Enable + (RouterBgpPeer_ManagementType)(0), // 210: google.cloud.compute.v1.RouterBgpPeer.ManagementType + (RouterBgpPeerBfd_SessionInitializationMode)(0), // 211: google.cloud.compute.v1.RouterBgpPeerBfd.SessionInitializationMode + (RouterInterface_ManagementType)(0), // 212: google.cloud.compute.v1.RouterInterface.ManagementType + (RouterNat_AutoNetworkTier)(0), // 213: google.cloud.compute.v1.RouterNat.AutoNetworkTier + (RouterNat_EndpointTypes)(0), // 214: google.cloud.compute.v1.RouterNat.EndpointTypes + (RouterNat_NatIpAllocateOption)(0), // 215: google.cloud.compute.v1.RouterNat.NatIpAllocateOption + (RouterNat_SourceSubnetworkIpRangesToNat)(0), // 216: google.cloud.compute.v1.RouterNat.SourceSubnetworkIpRangesToNat + (RouterNat_Type)(0), // 217: google.cloud.compute.v1.RouterNat.Type + (RouterNatLogConfig_Filter)(0), // 218: google.cloud.compute.v1.RouterNatLogConfig.Filter + (RouterNatSubnetworkToNat_SourceIpRangesToNat)(0), // 219: google.cloud.compute.v1.RouterNatSubnetworkToNat.SourceIpRangesToNat + (RouterStatusBgpPeerStatus_Status)(0), // 220: google.cloud.compute.v1.RouterStatusBgpPeerStatus.Status + (RouterStatusBgpPeerStatus_StatusReason)(0), // 221: google.cloud.compute.v1.RouterStatusBgpPeerStatus.StatusReason + (Rule_Action)(0), // 222: google.cloud.compute.v1.Rule.Action + (SSLHealthCheck_PortSpecification)(0), // 223: google.cloud.compute.v1.SSLHealthCheck.PortSpecification + (SSLHealthCheck_ProxyHeader)(0), // 224: google.cloud.compute.v1.SSLHealthCheck.ProxyHeader + (SavedAttachedDisk_Interface)(0), // 225: google.cloud.compute.v1.SavedAttachedDisk.Interface + (SavedAttachedDisk_Mode)(0), // 226: google.cloud.compute.v1.SavedAttachedDisk.Mode + (SavedAttachedDisk_StorageBytesStatus)(0), // 227: google.cloud.compute.v1.SavedAttachedDisk.StorageBytesStatus + (SavedAttachedDisk_Type)(0), // 228: google.cloud.compute.v1.SavedAttachedDisk.Type + (SavedDisk_Architecture)(0), // 229: google.cloud.compute.v1.SavedDisk.Architecture + (SavedDisk_StorageBytesStatus)(0), // 230: google.cloud.compute.v1.SavedDisk.StorageBytesStatus + (ScalingScheduleStatus_State)(0), // 231: google.cloud.compute.v1.ScalingScheduleStatus.State + (Scheduling_InstanceTerminationAction)(0), // 232: google.cloud.compute.v1.Scheduling.InstanceTerminationAction + (Scheduling_OnHostMaintenance)(0), // 233: google.cloud.compute.v1.Scheduling.OnHostMaintenance + (Scheduling_ProvisioningModel)(0), // 234: google.cloud.compute.v1.Scheduling.ProvisioningModel + (SchedulingNodeAffinity_Operator)(0), // 235: google.cloud.compute.v1.SchedulingNodeAffinity.Operator + (SecurityPolicy_Type)(0), // 236: google.cloud.compute.v1.SecurityPolicy.Type + (SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig_RuleVisibility)(0), // 237: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.RuleVisibility + (SecurityPolicyAdvancedOptionsConfig_JsonParsing)(0), // 238: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig.JsonParsing + (SecurityPolicyAdvancedOptionsConfig_LogLevel)(0), // 239: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig.LogLevel + (SecurityPolicyDdosProtectionConfig_DdosProtection)(0), // 240: google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig.DdosProtection + (SecurityPolicyRuleMatcher_VersionedExpr)(0), // 241: google.cloud.compute.v1.SecurityPolicyRuleMatcher.VersionedExpr + (SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams_Op)(0), // 242: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams.Op + (SecurityPolicyRuleRateLimitOptions_EnforceOnKey)(0), // 243: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.EnforceOnKey + (SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig_EnforceOnKeyType)(0), // 244: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.EnforceOnKeyType + (SecurityPolicyRuleRedirectOptions_Type)(0), // 245: google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions.Type + (SecurityPolicyUserDefinedField_Base)(0), // 246: google.cloud.compute.v1.SecurityPolicyUserDefinedField.Base + (ServerBinding_Type)(0), // 247: google.cloud.compute.v1.ServerBinding.Type + (ServiceAttachment_ConnectionPreference)(0), // 248: google.cloud.compute.v1.ServiceAttachment.ConnectionPreference + (ServiceAttachmentConnectedEndpoint_Status)(0), // 249: google.cloud.compute.v1.ServiceAttachmentConnectedEndpoint.Status + (SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo_State)(0), // 250: google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo.State + (ShareSettings_ShareType)(0), // 251: google.cloud.compute.v1.ShareSettings.ShareType + (Snapshot_Architecture)(0), // 252: google.cloud.compute.v1.Snapshot.Architecture + (Snapshot_SnapshotType)(0), // 253: google.cloud.compute.v1.Snapshot.SnapshotType + (Snapshot_Status)(0), // 254: google.cloud.compute.v1.Snapshot.Status + (Snapshot_StorageBytesStatus)(0), // 255: google.cloud.compute.v1.Snapshot.StorageBytesStatus + (SnapshotSettingsStorageLocationSettings_Policy)(0), // 256: google.cloud.compute.v1.SnapshotSettingsStorageLocationSettings.Policy + (SourceInstanceProperties_KeyRevocationActionType)(0), // 257: google.cloud.compute.v1.SourceInstanceProperties.KeyRevocationActionType + (SslCertificate_Type)(0), // 258: google.cloud.compute.v1.SslCertificate.Type + (SslCertificateManagedSslCertificate_Status)(0), // 259: google.cloud.compute.v1.SslCertificateManagedSslCertificate.Status + (SslPolicy_MinTlsVersion)(0), // 260: google.cloud.compute.v1.SslPolicy.MinTlsVersion + (SslPolicy_Profile)(0), // 261: google.cloud.compute.v1.SslPolicy.Profile + (StatefulPolicyPreservedStateDiskDevice_AutoDelete)(0), // 262: google.cloud.compute.v1.StatefulPolicyPreservedStateDiskDevice.AutoDelete + (StatefulPolicyPreservedStateNetworkIp_AutoDelete)(0), // 263: google.cloud.compute.v1.StatefulPolicyPreservedStateNetworkIp.AutoDelete + (Subnetwork_Ipv6AccessType)(0), // 264: google.cloud.compute.v1.Subnetwork.Ipv6AccessType + (Subnetwork_PrivateIpv6GoogleAccess)(0), // 265: google.cloud.compute.v1.Subnetwork.PrivateIpv6GoogleAccess + (Subnetwork_Purpose)(0), // 266: google.cloud.compute.v1.Subnetwork.Purpose + (Subnetwork_Role)(0), // 267: google.cloud.compute.v1.Subnetwork.Role + (Subnetwork_StackType)(0), // 268: google.cloud.compute.v1.Subnetwork.StackType + (Subnetwork_State)(0), // 269: google.cloud.compute.v1.Subnetwork.State + (SubnetworkLogConfig_AggregationInterval)(0), // 270: google.cloud.compute.v1.SubnetworkLogConfig.AggregationInterval + (SubnetworkLogConfig_Metadata)(0), // 271: google.cloud.compute.v1.SubnetworkLogConfig.Metadata + (Subsetting_Policy)(0), // 272: google.cloud.compute.v1.Subsetting.Policy + (TCPHealthCheck_PortSpecification)(0), // 273: google.cloud.compute.v1.TCPHealthCheck.PortSpecification + (TCPHealthCheck_ProxyHeader)(0), // 274: google.cloud.compute.v1.TCPHealthCheck.ProxyHeader + (TargetHttpsProxiesSetQuicOverrideRequest_QuicOverride)(0), // 275: google.cloud.compute.v1.TargetHttpsProxiesSetQuicOverrideRequest.QuicOverride + (TargetHttpsProxy_QuicOverride)(0), // 276: google.cloud.compute.v1.TargetHttpsProxy.QuicOverride + (TargetInstance_NatPolicy)(0), // 277: google.cloud.compute.v1.TargetInstance.NatPolicy + (TargetPool_SessionAffinity)(0), // 278: google.cloud.compute.v1.TargetPool.SessionAffinity + (TargetSslProxiesSetProxyHeaderRequest_ProxyHeader)(0), // 279: google.cloud.compute.v1.TargetSslProxiesSetProxyHeaderRequest.ProxyHeader + (TargetSslProxy_ProxyHeader)(0), // 280: google.cloud.compute.v1.TargetSslProxy.ProxyHeader + (TargetTcpProxiesSetProxyHeaderRequest_ProxyHeader)(0), // 281: google.cloud.compute.v1.TargetTcpProxiesSetProxyHeaderRequest.ProxyHeader + (TargetTcpProxy_ProxyHeader)(0), // 282: google.cloud.compute.v1.TargetTcpProxy.ProxyHeader + (TargetVpnGateway_Status)(0), // 283: google.cloud.compute.v1.TargetVpnGateway.Status + (UpcomingMaintenance_MaintenanceStatus)(0), // 284: google.cloud.compute.v1.UpcomingMaintenance.MaintenanceStatus + (UpcomingMaintenance_Type)(0), // 285: google.cloud.compute.v1.UpcomingMaintenance.Type + (UpdateInstanceRequest_MinimalAction)(0), // 286: google.cloud.compute.v1.UpdateInstanceRequest.MinimalAction + (UpdateInstanceRequest_MostDisruptiveAllowedAction)(0), // 287: google.cloud.compute.v1.UpdateInstanceRequest.MostDisruptiveAllowedAction + (UrlMapsValidateRequest_LoadBalancingSchemes)(0), // 288: google.cloud.compute.v1.UrlMapsValidateRequest.LoadBalancingSchemes + (UsableSubnetwork_Ipv6AccessType)(0), // 289: google.cloud.compute.v1.UsableSubnetwork.Ipv6AccessType + (UsableSubnetwork_Purpose)(0), // 290: google.cloud.compute.v1.UsableSubnetwork.Purpose + (UsableSubnetwork_Role)(0), // 291: google.cloud.compute.v1.UsableSubnetwork.Role + (UsableSubnetwork_StackType)(0), // 292: google.cloud.compute.v1.UsableSubnetwork.StackType + (VpnGateway_StackType)(0), // 293: google.cloud.compute.v1.VpnGateway.StackType + (VpnGatewayStatusHighAvailabilityRequirementState_State)(0), // 294: google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState.State + (VpnGatewayStatusHighAvailabilityRequirementState_UnsatisfiedReason)(0), // 295: google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState.UnsatisfiedReason + (VpnTunnel_Status)(0), // 296: google.cloud.compute.v1.VpnTunnel.Status + (Warning_Code)(0), // 297: google.cloud.compute.v1.Warning.Code + (Warnings_Code)(0), // 298: google.cloud.compute.v1.Warnings.Code + (XpnResourceId_Type)(0), // 299: google.cloud.compute.v1.XpnResourceId.Type + (Zone_Status)(0), // 300: google.cloud.compute.v1.Zone.Status + (*AWSV4Signature)(nil), // 301: google.cloud.compute.v1.AWSV4Signature + (*AbandonInstancesInstanceGroupManagerRequest)(nil), // 302: google.cloud.compute.v1.AbandonInstancesInstanceGroupManagerRequest + (*AbandonInstancesRegionInstanceGroupManagerRequest)(nil), // 303: google.cloud.compute.v1.AbandonInstancesRegionInstanceGroupManagerRequest + (*AcceleratorConfig)(nil), // 304: google.cloud.compute.v1.AcceleratorConfig + (*AcceleratorType)(nil), // 305: google.cloud.compute.v1.AcceleratorType + (*AcceleratorTypeAggregatedList)(nil), // 306: google.cloud.compute.v1.AcceleratorTypeAggregatedList + (*AcceleratorTypeList)(nil), // 307: google.cloud.compute.v1.AcceleratorTypeList + (*AcceleratorTypesScopedList)(nil), // 308: google.cloud.compute.v1.AcceleratorTypesScopedList + (*Accelerators)(nil), // 309: google.cloud.compute.v1.Accelerators + (*AccessConfig)(nil), // 310: google.cloud.compute.v1.AccessConfig + (*AddAccessConfigInstanceRequest)(nil), // 311: google.cloud.compute.v1.AddAccessConfigInstanceRequest + (*AddAssociationFirewallPolicyRequest)(nil), // 312: google.cloud.compute.v1.AddAssociationFirewallPolicyRequest + (*AddAssociationNetworkFirewallPolicyRequest)(nil), // 313: google.cloud.compute.v1.AddAssociationNetworkFirewallPolicyRequest + (*AddAssociationRegionNetworkFirewallPolicyRequest)(nil), // 314: google.cloud.compute.v1.AddAssociationRegionNetworkFirewallPolicyRequest + (*AddHealthCheckTargetPoolRequest)(nil), // 315: google.cloud.compute.v1.AddHealthCheckTargetPoolRequest + (*AddInstanceTargetPoolRequest)(nil), // 316: google.cloud.compute.v1.AddInstanceTargetPoolRequest + (*AddInstancesInstanceGroupRequest)(nil), // 317: google.cloud.compute.v1.AddInstancesInstanceGroupRequest + (*AddNodesNodeGroupRequest)(nil), // 318: google.cloud.compute.v1.AddNodesNodeGroupRequest + (*AddPeeringNetworkRequest)(nil), // 319: google.cloud.compute.v1.AddPeeringNetworkRequest + (*AddResourcePoliciesDiskRequest)(nil), // 320: google.cloud.compute.v1.AddResourcePoliciesDiskRequest + (*AddResourcePoliciesInstanceRequest)(nil), // 321: google.cloud.compute.v1.AddResourcePoliciesInstanceRequest + (*AddResourcePoliciesRegionDiskRequest)(nil), // 322: google.cloud.compute.v1.AddResourcePoliciesRegionDiskRequest + (*AddRuleFirewallPolicyRequest)(nil), // 323: google.cloud.compute.v1.AddRuleFirewallPolicyRequest + (*AddRuleNetworkFirewallPolicyRequest)(nil), // 324: google.cloud.compute.v1.AddRuleNetworkFirewallPolicyRequest + (*AddRuleRegionNetworkFirewallPolicyRequest)(nil), // 325: google.cloud.compute.v1.AddRuleRegionNetworkFirewallPolicyRequest + (*AddRuleRegionSecurityPolicyRequest)(nil), // 326: google.cloud.compute.v1.AddRuleRegionSecurityPolicyRequest + (*AddRuleSecurityPolicyRequest)(nil), // 327: google.cloud.compute.v1.AddRuleSecurityPolicyRequest + (*AddSignedUrlKeyBackendBucketRequest)(nil), // 328: google.cloud.compute.v1.AddSignedUrlKeyBackendBucketRequest + (*AddSignedUrlKeyBackendServiceRequest)(nil), // 329: google.cloud.compute.v1.AddSignedUrlKeyBackendServiceRequest + (*Address)(nil), // 330: google.cloud.compute.v1.Address + (*AddressAggregatedList)(nil), // 331: google.cloud.compute.v1.AddressAggregatedList + (*AddressList)(nil), // 332: google.cloud.compute.v1.AddressList + (*AddressesScopedList)(nil), // 333: google.cloud.compute.v1.AddressesScopedList + (*AdvancedMachineFeatures)(nil), // 334: google.cloud.compute.v1.AdvancedMachineFeatures + (*AggregatedListAcceleratorTypesRequest)(nil), // 335: google.cloud.compute.v1.AggregatedListAcceleratorTypesRequest + (*AggregatedListAddressesRequest)(nil), // 336: google.cloud.compute.v1.AggregatedListAddressesRequest + (*AggregatedListAutoscalersRequest)(nil), // 337: google.cloud.compute.v1.AggregatedListAutoscalersRequest + (*AggregatedListBackendServicesRequest)(nil), // 338: google.cloud.compute.v1.AggregatedListBackendServicesRequest + (*AggregatedListDiskTypesRequest)(nil), // 339: google.cloud.compute.v1.AggregatedListDiskTypesRequest + (*AggregatedListDisksRequest)(nil), // 340: google.cloud.compute.v1.AggregatedListDisksRequest + (*AggregatedListForwardingRulesRequest)(nil), // 341: google.cloud.compute.v1.AggregatedListForwardingRulesRequest + (*AggregatedListGlobalOperationsRequest)(nil), // 342: google.cloud.compute.v1.AggregatedListGlobalOperationsRequest + (*AggregatedListHealthChecksRequest)(nil), // 343: google.cloud.compute.v1.AggregatedListHealthChecksRequest + (*AggregatedListInstanceGroupManagersRequest)(nil), // 344: google.cloud.compute.v1.AggregatedListInstanceGroupManagersRequest + (*AggregatedListInstanceGroupsRequest)(nil), // 345: google.cloud.compute.v1.AggregatedListInstanceGroupsRequest + (*AggregatedListInstanceTemplatesRequest)(nil), // 346: google.cloud.compute.v1.AggregatedListInstanceTemplatesRequest + (*AggregatedListInstancesRequest)(nil), // 347: google.cloud.compute.v1.AggregatedListInstancesRequest + (*AggregatedListInterconnectAttachmentsRequest)(nil), // 348: google.cloud.compute.v1.AggregatedListInterconnectAttachmentsRequest + (*AggregatedListMachineTypesRequest)(nil), // 349: google.cloud.compute.v1.AggregatedListMachineTypesRequest + (*AggregatedListNetworkAttachmentsRequest)(nil), // 350: google.cloud.compute.v1.AggregatedListNetworkAttachmentsRequest + (*AggregatedListNetworkEdgeSecurityServicesRequest)(nil), // 351: google.cloud.compute.v1.AggregatedListNetworkEdgeSecurityServicesRequest + (*AggregatedListNetworkEndpointGroupsRequest)(nil), // 352: google.cloud.compute.v1.AggregatedListNetworkEndpointGroupsRequest + (*AggregatedListNodeGroupsRequest)(nil), // 353: google.cloud.compute.v1.AggregatedListNodeGroupsRequest + (*AggregatedListNodeTemplatesRequest)(nil), // 354: google.cloud.compute.v1.AggregatedListNodeTemplatesRequest + (*AggregatedListNodeTypesRequest)(nil), // 355: google.cloud.compute.v1.AggregatedListNodeTypesRequest + (*AggregatedListPacketMirroringsRequest)(nil), // 356: google.cloud.compute.v1.AggregatedListPacketMirroringsRequest + (*AggregatedListPublicDelegatedPrefixesRequest)(nil), // 357: google.cloud.compute.v1.AggregatedListPublicDelegatedPrefixesRequest + (*AggregatedListRegionCommitmentsRequest)(nil), // 358: google.cloud.compute.v1.AggregatedListRegionCommitmentsRequest + (*AggregatedListReservationsRequest)(nil), // 359: google.cloud.compute.v1.AggregatedListReservationsRequest + (*AggregatedListResourcePoliciesRequest)(nil), // 360: google.cloud.compute.v1.AggregatedListResourcePoliciesRequest + (*AggregatedListRoutersRequest)(nil), // 361: google.cloud.compute.v1.AggregatedListRoutersRequest + (*AggregatedListSecurityPoliciesRequest)(nil), // 362: google.cloud.compute.v1.AggregatedListSecurityPoliciesRequest + (*AggregatedListServiceAttachmentsRequest)(nil), // 363: google.cloud.compute.v1.AggregatedListServiceAttachmentsRequest + (*AggregatedListSslCertificatesRequest)(nil), // 364: google.cloud.compute.v1.AggregatedListSslCertificatesRequest + (*AggregatedListSslPoliciesRequest)(nil), // 365: google.cloud.compute.v1.AggregatedListSslPoliciesRequest + (*AggregatedListSubnetworksRequest)(nil), // 366: google.cloud.compute.v1.AggregatedListSubnetworksRequest + (*AggregatedListTargetHttpProxiesRequest)(nil), // 367: google.cloud.compute.v1.AggregatedListTargetHttpProxiesRequest + (*AggregatedListTargetHttpsProxiesRequest)(nil), // 368: google.cloud.compute.v1.AggregatedListTargetHttpsProxiesRequest + (*AggregatedListTargetInstancesRequest)(nil), // 369: google.cloud.compute.v1.AggregatedListTargetInstancesRequest + (*AggregatedListTargetPoolsRequest)(nil), // 370: google.cloud.compute.v1.AggregatedListTargetPoolsRequest + (*AggregatedListTargetTcpProxiesRequest)(nil), // 371: google.cloud.compute.v1.AggregatedListTargetTcpProxiesRequest + (*AggregatedListTargetVpnGatewaysRequest)(nil), // 372: google.cloud.compute.v1.AggregatedListTargetVpnGatewaysRequest + (*AggregatedListUrlMapsRequest)(nil), // 373: google.cloud.compute.v1.AggregatedListUrlMapsRequest + (*AggregatedListVpnGatewaysRequest)(nil), // 374: google.cloud.compute.v1.AggregatedListVpnGatewaysRequest + (*AggregatedListVpnTunnelsRequest)(nil), // 375: google.cloud.compute.v1.AggregatedListVpnTunnelsRequest + (*AliasIpRange)(nil), // 376: google.cloud.compute.v1.AliasIpRange + (*AllocationResourceStatus)(nil), // 377: google.cloud.compute.v1.AllocationResourceStatus + (*AllocationResourceStatusSpecificSKUAllocation)(nil), // 378: google.cloud.compute.v1.AllocationResourceStatusSpecificSKUAllocation + (*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk)(nil), // 379: google.cloud.compute.v1.AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk + (*AllocationSpecificSKUAllocationReservedInstanceProperties)(nil), // 380: google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties + (*AllocationSpecificSKUReservation)(nil), // 381: google.cloud.compute.v1.AllocationSpecificSKUReservation + (*Allowed)(nil), // 382: google.cloud.compute.v1.Allowed + (*AnnouncePublicAdvertisedPrefixeRequest)(nil), // 383: google.cloud.compute.v1.AnnouncePublicAdvertisedPrefixeRequest + (*AnnouncePublicDelegatedPrefixeRequest)(nil), // 384: google.cloud.compute.v1.AnnouncePublicDelegatedPrefixeRequest + (*ApplyUpdatesToInstancesInstanceGroupManagerRequest)(nil), // 385: google.cloud.compute.v1.ApplyUpdatesToInstancesInstanceGroupManagerRequest + (*ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest)(nil), // 386: google.cloud.compute.v1.ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest + (*AttachDiskInstanceRequest)(nil), // 387: google.cloud.compute.v1.AttachDiskInstanceRequest + (*AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest)(nil), // 388: google.cloud.compute.v1.AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest + (*AttachNetworkEndpointsNetworkEndpointGroupRequest)(nil), // 389: google.cloud.compute.v1.AttachNetworkEndpointsNetworkEndpointGroupRequest + (*AttachNetworkEndpointsRegionNetworkEndpointGroupRequest)(nil), // 390: google.cloud.compute.v1.AttachNetworkEndpointsRegionNetworkEndpointGroupRequest + (*AttachedDisk)(nil), // 391: google.cloud.compute.v1.AttachedDisk + (*AttachedDiskInitializeParams)(nil), // 392: google.cloud.compute.v1.AttachedDiskInitializeParams + (*AuditConfig)(nil), // 393: google.cloud.compute.v1.AuditConfig + (*AuditLogConfig)(nil), // 394: google.cloud.compute.v1.AuditLogConfig + (*AuthorizationLoggingOptions)(nil), // 395: google.cloud.compute.v1.AuthorizationLoggingOptions + (*Autoscaler)(nil), // 396: google.cloud.compute.v1.Autoscaler + (*AutoscalerAggregatedList)(nil), // 397: google.cloud.compute.v1.AutoscalerAggregatedList + (*AutoscalerList)(nil), // 398: google.cloud.compute.v1.AutoscalerList + (*AutoscalerStatusDetails)(nil), // 399: google.cloud.compute.v1.AutoscalerStatusDetails + (*AutoscalersScopedList)(nil), // 400: google.cloud.compute.v1.AutoscalersScopedList + (*AutoscalingPolicy)(nil), // 401: google.cloud.compute.v1.AutoscalingPolicy + (*AutoscalingPolicyCpuUtilization)(nil), // 402: google.cloud.compute.v1.AutoscalingPolicyCpuUtilization + (*AutoscalingPolicyCustomMetricUtilization)(nil), // 403: google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization + (*AutoscalingPolicyLoadBalancingUtilization)(nil), // 404: google.cloud.compute.v1.AutoscalingPolicyLoadBalancingUtilization + (*AutoscalingPolicyScaleInControl)(nil), // 405: google.cloud.compute.v1.AutoscalingPolicyScaleInControl + (*AutoscalingPolicyScalingSchedule)(nil), // 406: google.cloud.compute.v1.AutoscalingPolicyScalingSchedule + (*Backend)(nil), // 407: google.cloud.compute.v1.Backend + (*BackendBucket)(nil), // 408: google.cloud.compute.v1.BackendBucket + (*BackendBucketCdnPolicy)(nil), // 409: google.cloud.compute.v1.BackendBucketCdnPolicy + (*BackendBucketCdnPolicyBypassCacheOnRequestHeader)(nil), // 410: google.cloud.compute.v1.BackendBucketCdnPolicyBypassCacheOnRequestHeader + (*BackendBucketCdnPolicyCacheKeyPolicy)(nil), // 411: google.cloud.compute.v1.BackendBucketCdnPolicyCacheKeyPolicy + (*BackendBucketCdnPolicyNegativeCachingPolicy)(nil), // 412: google.cloud.compute.v1.BackendBucketCdnPolicyNegativeCachingPolicy + (*BackendBucketList)(nil), // 413: google.cloud.compute.v1.BackendBucketList + (*BackendService)(nil), // 414: google.cloud.compute.v1.BackendService + (*BackendServiceAggregatedList)(nil), // 415: google.cloud.compute.v1.BackendServiceAggregatedList + (*BackendServiceCdnPolicy)(nil), // 416: google.cloud.compute.v1.BackendServiceCdnPolicy + (*BackendServiceCdnPolicyBypassCacheOnRequestHeader)(nil), // 417: google.cloud.compute.v1.BackendServiceCdnPolicyBypassCacheOnRequestHeader + (*BackendServiceCdnPolicyNegativeCachingPolicy)(nil), // 418: google.cloud.compute.v1.BackendServiceCdnPolicyNegativeCachingPolicy + (*BackendServiceConnectionTrackingPolicy)(nil), // 419: google.cloud.compute.v1.BackendServiceConnectionTrackingPolicy + (*BackendServiceFailoverPolicy)(nil), // 420: google.cloud.compute.v1.BackendServiceFailoverPolicy + (*BackendServiceGroupHealth)(nil), // 421: google.cloud.compute.v1.BackendServiceGroupHealth + (*BackendServiceIAP)(nil), // 422: google.cloud.compute.v1.BackendServiceIAP + (*BackendServiceList)(nil), // 423: google.cloud.compute.v1.BackendServiceList + (*BackendServiceListUsable)(nil), // 424: google.cloud.compute.v1.BackendServiceListUsable + (*BackendServiceLocalityLoadBalancingPolicyConfig)(nil), // 425: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig + (*BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy)(nil), // 426: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy + (*BackendServiceLocalityLoadBalancingPolicyConfigPolicy)(nil), // 427: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigPolicy + (*BackendServiceLogConfig)(nil), // 428: google.cloud.compute.v1.BackendServiceLogConfig + (*BackendServiceReference)(nil), // 429: google.cloud.compute.v1.BackendServiceReference + (*BackendServiceUsedBy)(nil), // 430: google.cloud.compute.v1.BackendServiceUsedBy + (*BackendServicesScopedList)(nil), // 431: google.cloud.compute.v1.BackendServicesScopedList + (*BfdPacket)(nil), // 432: google.cloud.compute.v1.BfdPacket + (*BfdStatus)(nil), // 433: google.cloud.compute.v1.BfdStatus + (*BfdStatusPacketCounts)(nil), // 434: google.cloud.compute.v1.BfdStatusPacketCounts + (*Binding)(nil), // 435: google.cloud.compute.v1.Binding + (*BulkInsertDiskRequest)(nil), // 436: google.cloud.compute.v1.BulkInsertDiskRequest + (*BulkInsertDiskResource)(nil), // 437: google.cloud.compute.v1.BulkInsertDiskResource + (*BulkInsertInstanceRequest)(nil), // 438: google.cloud.compute.v1.BulkInsertInstanceRequest + (*BulkInsertInstanceResource)(nil), // 439: google.cloud.compute.v1.BulkInsertInstanceResource + (*BulkInsertInstanceResourcePerInstanceProperties)(nil), // 440: google.cloud.compute.v1.BulkInsertInstanceResourcePerInstanceProperties + (*BulkInsertOperationStatus)(nil), // 441: google.cloud.compute.v1.BulkInsertOperationStatus + (*BulkInsertRegionDiskRequest)(nil), // 442: google.cloud.compute.v1.BulkInsertRegionDiskRequest + (*BulkInsertRegionInstanceRequest)(nil), // 443: google.cloud.compute.v1.BulkInsertRegionInstanceRequest + (*CacheInvalidationRule)(nil), // 444: google.cloud.compute.v1.CacheInvalidationRule + (*CacheKeyPolicy)(nil), // 445: google.cloud.compute.v1.CacheKeyPolicy + (*CircuitBreakers)(nil), // 446: google.cloud.compute.v1.CircuitBreakers + (*CloneRulesFirewallPolicyRequest)(nil), // 447: google.cloud.compute.v1.CloneRulesFirewallPolicyRequest + (*CloneRulesNetworkFirewallPolicyRequest)(nil), // 448: google.cloud.compute.v1.CloneRulesNetworkFirewallPolicyRequest + (*CloneRulesRegionNetworkFirewallPolicyRequest)(nil), // 449: google.cloud.compute.v1.CloneRulesRegionNetworkFirewallPolicyRequest + (*Commitment)(nil), // 450: google.cloud.compute.v1.Commitment + (*CommitmentAggregatedList)(nil), // 451: google.cloud.compute.v1.CommitmentAggregatedList + (*CommitmentList)(nil), // 452: google.cloud.compute.v1.CommitmentList + (*CommitmentsScopedList)(nil), // 453: google.cloud.compute.v1.CommitmentsScopedList + (*Condition)(nil), // 454: google.cloud.compute.v1.Condition + (*ConfidentialInstanceConfig)(nil), // 455: google.cloud.compute.v1.ConfidentialInstanceConfig + (*ConnectionDraining)(nil), // 456: google.cloud.compute.v1.ConnectionDraining + (*ConsistentHashLoadBalancerSettings)(nil), // 457: google.cloud.compute.v1.ConsistentHashLoadBalancerSettings + (*ConsistentHashLoadBalancerSettingsHttpCookie)(nil), // 458: google.cloud.compute.v1.ConsistentHashLoadBalancerSettingsHttpCookie + (*CorsPolicy)(nil), // 459: google.cloud.compute.v1.CorsPolicy + (*CreateInstancesInstanceGroupManagerRequest)(nil), // 460: google.cloud.compute.v1.CreateInstancesInstanceGroupManagerRequest + (*CreateInstancesRegionInstanceGroupManagerRequest)(nil), // 461: google.cloud.compute.v1.CreateInstancesRegionInstanceGroupManagerRequest + (*CreateSnapshotDiskRequest)(nil), // 462: google.cloud.compute.v1.CreateSnapshotDiskRequest + (*CreateSnapshotRegionDiskRequest)(nil), // 463: google.cloud.compute.v1.CreateSnapshotRegionDiskRequest + (*CustomerEncryptionKey)(nil), // 464: google.cloud.compute.v1.CustomerEncryptionKey + (*CustomerEncryptionKeyProtectedDisk)(nil), // 465: google.cloud.compute.v1.CustomerEncryptionKeyProtectedDisk + (*Data)(nil), // 466: google.cloud.compute.v1.Data + (*DeleteAccessConfigInstanceRequest)(nil), // 467: google.cloud.compute.v1.DeleteAccessConfigInstanceRequest + (*DeleteAddressRequest)(nil), // 468: google.cloud.compute.v1.DeleteAddressRequest + (*DeleteAutoscalerRequest)(nil), // 469: google.cloud.compute.v1.DeleteAutoscalerRequest + (*DeleteBackendBucketRequest)(nil), // 470: google.cloud.compute.v1.DeleteBackendBucketRequest + (*DeleteBackendServiceRequest)(nil), // 471: google.cloud.compute.v1.DeleteBackendServiceRequest + (*DeleteDiskRequest)(nil), // 472: google.cloud.compute.v1.DeleteDiskRequest + (*DeleteExternalVpnGatewayRequest)(nil), // 473: google.cloud.compute.v1.DeleteExternalVpnGatewayRequest + (*DeleteFirewallPolicyRequest)(nil), // 474: google.cloud.compute.v1.DeleteFirewallPolicyRequest + (*DeleteFirewallRequest)(nil), // 475: google.cloud.compute.v1.DeleteFirewallRequest + (*DeleteForwardingRuleRequest)(nil), // 476: google.cloud.compute.v1.DeleteForwardingRuleRequest + (*DeleteGlobalAddressRequest)(nil), // 477: google.cloud.compute.v1.DeleteGlobalAddressRequest + (*DeleteGlobalForwardingRuleRequest)(nil), // 478: google.cloud.compute.v1.DeleteGlobalForwardingRuleRequest + (*DeleteGlobalNetworkEndpointGroupRequest)(nil), // 479: google.cloud.compute.v1.DeleteGlobalNetworkEndpointGroupRequest + (*DeleteGlobalOperationRequest)(nil), // 480: google.cloud.compute.v1.DeleteGlobalOperationRequest + (*DeleteGlobalOperationResponse)(nil), // 481: google.cloud.compute.v1.DeleteGlobalOperationResponse + (*DeleteGlobalOrganizationOperationRequest)(nil), // 482: google.cloud.compute.v1.DeleteGlobalOrganizationOperationRequest + (*DeleteGlobalOrganizationOperationResponse)(nil), // 483: google.cloud.compute.v1.DeleteGlobalOrganizationOperationResponse + (*DeleteGlobalPublicDelegatedPrefixeRequest)(nil), // 484: google.cloud.compute.v1.DeleteGlobalPublicDelegatedPrefixeRequest + (*DeleteHealthCheckRequest)(nil), // 485: google.cloud.compute.v1.DeleteHealthCheckRequest + (*DeleteImageRequest)(nil), // 486: google.cloud.compute.v1.DeleteImageRequest + (*DeleteInstanceGroupManagerRequest)(nil), // 487: google.cloud.compute.v1.DeleteInstanceGroupManagerRequest + (*DeleteInstanceGroupRequest)(nil), // 488: google.cloud.compute.v1.DeleteInstanceGroupRequest + (*DeleteInstanceRequest)(nil), // 489: google.cloud.compute.v1.DeleteInstanceRequest + (*DeleteInstanceTemplateRequest)(nil), // 490: google.cloud.compute.v1.DeleteInstanceTemplateRequest + (*DeleteInstancesInstanceGroupManagerRequest)(nil), // 491: google.cloud.compute.v1.DeleteInstancesInstanceGroupManagerRequest + (*DeleteInstancesRegionInstanceGroupManagerRequest)(nil), // 492: google.cloud.compute.v1.DeleteInstancesRegionInstanceGroupManagerRequest + (*DeleteInterconnectAttachmentRequest)(nil), // 493: google.cloud.compute.v1.DeleteInterconnectAttachmentRequest + (*DeleteInterconnectRequest)(nil), // 494: google.cloud.compute.v1.DeleteInterconnectRequest + (*DeleteLicenseRequest)(nil), // 495: google.cloud.compute.v1.DeleteLicenseRequest + (*DeleteMachineImageRequest)(nil), // 496: google.cloud.compute.v1.DeleteMachineImageRequest + (*DeleteNetworkAttachmentRequest)(nil), // 497: google.cloud.compute.v1.DeleteNetworkAttachmentRequest + (*DeleteNetworkEdgeSecurityServiceRequest)(nil), // 498: google.cloud.compute.v1.DeleteNetworkEdgeSecurityServiceRequest + (*DeleteNetworkEndpointGroupRequest)(nil), // 499: google.cloud.compute.v1.DeleteNetworkEndpointGroupRequest + (*DeleteNetworkFirewallPolicyRequest)(nil), // 500: google.cloud.compute.v1.DeleteNetworkFirewallPolicyRequest + (*DeleteNetworkRequest)(nil), // 501: google.cloud.compute.v1.DeleteNetworkRequest + (*DeleteNodeGroupRequest)(nil), // 502: google.cloud.compute.v1.DeleteNodeGroupRequest + (*DeleteNodeTemplateRequest)(nil), // 503: google.cloud.compute.v1.DeleteNodeTemplateRequest + (*DeleteNodesNodeGroupRequest)(nil), // 504: google.cloud.compute.v1.DeleteNodesNodeGroupRequest + (*DeletePacketMirroringRequest)(nil), // 505: google.cloud.compute.v1.DeletePacketMirroringRequest + (*DeletePerInstanceConfigsInstanceGroupManagerRequest)(nil), // 506: google.cloud.compute.v1.DeletePerInstanceConfigsInstanceGroupManagerRequest + (*DeletePerInstanceConfigsRegionInstanceGroupManagerRequest)(nil), // 507: google.cloud.compute.v1.DeletePerInstanceConfigsRegionInstanceGroupManagerRequest + (*DeletePublicAdvertisedPrefixeRequest)(nil), // 508: google.cloud.compute.v1.DeletePublicAdvertisedPrefixeRequest + (*DeletePublicDelegatedPrefixeRequest)(nil), // 509: google.cloud.compute.v1.DeletePublicDelegatedPrefixeRequest + (*DeleteRegionAutoscalerRequest)(nil), // 510: google.cloud.compute.v1.DeleteRegionAutoscalerRequest + (*DeleteRegionBackendServiceRequest)(nil), // 511: google.cloud.compute.v1.DeleteRegionBackendServiceRequest + (*DeleteRegionDiskRequest)(nil), // 512: google.cloud.compute.v1.DeleteRegionDiskRequest + (*DeleteRegionHealthCheckRequest)(nil), // 513: google.cloud.compute.v1.DeleteRegionHealthCheckRequest + (*DeleteRegionHealthCheckServiceRequest)(nil), // 514: google.cloud.compute.v1.DeleteRegionHealthCheckServiceRequest + (*DeleteRegionInstanceGroupManagerRequest)(nil), // 515: google.cloud.compute.v1.DeleteRegionInstanceGroupManagerRequest + (*DeleteRegionInstanceTemplateRequest)(nil), // 516: google.cloud.compute.v1.DeleteRegionInstanceTemplateRequest + (*DeleteRegionNetworkEndpointGroupRequest)(nil), // 517: google.cloud.compute.v1.DeleteRegionNetworkEndpointGroupRequest + (*DeleteRegionNetworkFirewallPolicyRequest)(nil), // 518: google.cloud.compute.v1.DeleteRegionNetworkFirewallPolicyRequest + (*DeleteRegionNotificationEndpointRequest)(nil), // 519: google.cloud.compute.v1.DeleteRegionNotificationEndpointRequest + (*DeleteRegionOperationRequest)(nil), // 520: google.cloud.compute.v1.DeleteRegionOperationRequest + (*DeleteRegionOperationResponse)(nil), // 521: google.cloud.compute.v1.DeleteRegionOperationResponse + (*DeleteRegionSecurityPolicyRequest)(nil), // 522: google.cloud.compute.v1.DeleteRegionSecurityPolicyRequest + (*DeleteRegionSslCertificateRequest)(nil), // 523: google.cloud.compute.v1.DeleteRegionSslCertificateRequest + (*DeleteRegionSslPolicyRequest)(nil), // 524: google.cloud.compute.v1.DeleteRegionSslPolicyRequest + (*DeleteRegionTargetHttpProxyRequest)(nil), // 525: google.cloud.compute.v1.DeleteRegionTargetHttpProxyRequest + (*DeleteRegionTargetHttpsProxyRequest)(nil), // 526: google.cloud.compute.v1.DeleteRegionTargetHttpsProxyRequest + (*DeleteRegionTargetTcpProxyRequest)(nil), // 527: google.cloud.compute.v1.DeleteRegionTargetTcpProxyRequest + (*DeleteRegionUrlMapRequest)(nil), // 528: google.cloud.compute.v1.DeleteRegionUrlMapRequest + (*DeleteReservationRequest)(nil), // 529: google.cloud.compute.v1.DeleteReservationRequest + (*DeleteResourcePolicyRequest)(nil), // 530: google.cloud.compute.v1.DeleteResourcePolicyRequest + (*DeleteRouteRequest)(nil), // 531: google.cloud.compute.v1.DeleteRouteRequest + (*DeleteRouterRequest)(nil), // 532: google.cloud.compute.v1.DeleteRouterRequest + (*DeleteSecurityPolicyRequest)(nil), // 533: google.cloud.compute.v1.DeleteSecurityPolicyRequest + (*DeleteServiceAttachmentRequest)(nil), // 534: google.cloud.compute.v1.DeleteServiceAttachmentRequest + (*DeleteSignedUrlKeyBackendBucketRequest)(nil), // 535: google.cloud.compute.v1.DeleteSignedUrlKeyBackendBucketRequest + (*DeleteSignedUrlKeyBackendServiceRequest)(nil), // 536: google.cloud.compute.v1.DeleteSignedUrlKeyBackendServiceRequest + (*DeleteSnapshotRequest)(nil), // 537: google.cloud.compute.v1.DeleteSnapshotRequest + (*DeleteSslCertificateRequest)(nil), // 538: google.cloud.compute.v1.DeleteSslCertificateRequest + (*DeleteSslPolicyRequest)(nil), // 539: google.cloud.compute.v1.DeleteSslPolicyRequest + (*DeleteSubnetworkRequest)(nil), // 540: google.cloud.compute.v1.DeleteSubnetworkRequest + (*DeleteTargetGrpcProxyRequest)(nil), // 541: google.cloud.compute.v1.DeleteTargetGrpcProxyRequest + (*DeleteTargetHttpProxyRequest)(nil), // 542: google.cloud.compute.v1.DeleteTargetHttpProxyRequest + (*DeleteTargetHttpsProxyRequest)(nil), // 543: google.cloud.compute.v1.DeleteTargetHttpsProxyRequest + (*DeleteTargetInstanceRequest)(nil), // 544: google.cloud.compute.v1.DeleteTargetInstanceRequest + (*DeleteTargetPoolRequest)(nil), // 545: google.cloud.compute.v1.DeleteTargetPoolRequest + (*DeleteTargetSslProxyRequest)(nil), // 546: google.cloud.compute.v1.DeleteTargetSslProxyRequest + (*DeleteTargetTcpProxyRequest)(nil), // 547: google.cloud.compute.v1.DeleteTargetTcpProxyRequest + (*DeleteTargetVpnGatewayRequest)(nil), // 548: google.cloud.compute.v1.DeleteTargetVpnGatewayRequest + (*DeleteUrlMapRequest)(nil), // 549: google.cloud.compute.v1.DeleteUrlMapRequest + (*DeleteVpnGatewayRequest)(nil), // 550: google.cloud.compute.v1.DeleteVpnGatewayRequest + (*DeleteVpnTunnelRequest)(nil), // 551: google.cloud.compute.v1.DeleteVpnTunnelRequest + (*DeleteZoneOperationRequest)(nil), // 552: google.cloud.compute.v1.DeleteZoneOperationRequest + (*DeleteZoneOperationResponse)(nil), // 553: google.cloud.compute.v1.DeleteZoneOperationResponse + (*Denied)(nil), // 554: google.cloud.compute.v1.Denied + (*DeprecateImageRequest)(nil), // 555: google.cloud.compute.v1.DeprecateImageRequest + (*DeprecationStatus)(nil), // 556: google.cloud.compute.v1.DeprecationStatus + (*DetachDiskInstanceRequest)(nil), // 557: google.cloud.compute.v1.DetachDiskInstanceRequest + (*DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest)(nil), // 558: google.cloud.compute.v1.DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest + (*DetachNetworkEndpointsNetworkEndpointGroupRequest)(nil), // 559: google.cloud.compute.v1.DetachNetworkEndpointsNetworkEndpointGroupRequest + (*DetachNetworkEndpointsRegionNetworkEndpointGroupRequest)(nil), // 560: google.cloud.compute.v1.DetachNetworkEndpointsRegionNetworkEndpointGroupRequest + (*DisableXpnHostProjectRequest)(nil), // 561: google.cloud.compute.v1.DisableXpnHostProjectRequest + (*DisableXpnResourceProjectRequest)(nil), // 562: google.cloud.compute.v1.DisableXpnResourceProjectRequest + (*Disk)(nil), // 563: google.cloud.compute.v1.Disk + (*DiskAggregatedList)(nil), // 564: google.cloud.compute.v1.DiskAggregatedList + (*DiskAsyncReplication)(nil), // 565: google.cloud.compute.v1.DiskAsyncReplication + (*DiskAsyncReplicationList)(nil), // 566: google.cloud.compute.v1.DiskAsyncReplicationList + (*DiskInstantiationConfig)(nil), // 567: google.cloud.compute.v1.DiskInstantiationConfig + (*DiskList)(nil), // 568: google.cloud.compute.v1.DiskList + (*DiskMoveRequest)(nil), // 569: google.cloud.compute.v1.DiskMoveRequest + (*DiskParams)(nil), // 570: google.cloud.compute.v1.DiskParams + (*DiskResourceStatus)(nil), // 571: google.cloud.compute.v1.DiskResourceStatus + (*DiskResourceStatusAsyncReplicationStatus)(nil), // 572: google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus + (*DiskType)(nil), // 573: google.cloud.compute.v1.DiskType + (*DiskTypeAggregatedList)(nil), // 574: google.cloud.compute.v1.DiskTypeAggregatedList + (*DiskTypeList)(nil), // 575: google.cloud.compute.v1.DiskTypeList + (*DiskTypesScopedList)(nil), // 576: google.cloud.compute.v1.DiskTypesScopedList + (*DisksAddResourcePoliciesRequest)(nil), // 577: google.cloud.compute.v1.DisksAddResourcePoliciesRequest + (*DisksRemoveResourcePoliciesRequest)(nil), // 578: google.cloud.compute.v1.DisksRemoveResourcePoliciesRequest + (*DisksResizeRequest)(nil), // 579: google.cloud.compute.v1.DisksResizeRequest + (*DisksScopedList)(nil), // 580: google.cloud.compute.v1.DisksScopedList + (*DisksStartAsyncReplicationRequest)(nil), // 581: google.cloud.compute.v1.DisksStartAsyncReplicationRequest + (*DisksStopGroupAsyncReplicationResource)(nil), // 582: google.cloud.compute.v1.DisksStopGroupAsyncReplicationResource + (*DisplayDevice)(nil), // 583: google.cloud.compute.v1.DisplayDevice + (*DistributionPolicy)(nil), // 584: google.cloud.compute.v1.DistributionPolicy + (*DistributionPolicyZoneConfiguration)(nil), // 585: google.cloud.compute.v1.DistributionPolicyZoneConfiguration + (*Duration)(nil), // 586: google.cloud.compute.v1.Duration + (*EnableXpnHostProjectRequest)(nil), // 587: google.cloud.compute.v1.EnableXpnHostProjectRequest + (*EnableXpnResourceProjectRequest)(nil), // 588: google.cloud.compute.v1.EnableXpnResourceProjectRequest + (*Error)(nil), // 589: google.cloud.compute.v1.Error + (*ErrorDetails)(nil), // 590: google.cloud.compute.v1.ErrorDetails + (*ErrorInfo)(nil), // 591: google.cloud.compute.v1.ErrorInfo + (*Errors)(nil), // 592: google.cloud.compute.v1.Errors + (*ExchangedPeeringRoute)(nil), // 593: google.cloud.compute.v1.ExchangedPeeringRoute + (*ExchangedPeeringRoutesList)(nil), // 594: google.cloud.compute.v1.ExchangedPeeringRoutesList + (*ExpandIpCidrRangeSubnetworkRequest)(nil), // 595: google.cloud.compute.v1.ExpandIpCidrRangeSubnetworkRequest + (*Expr)(nil), // 596: google.cloud.compute.v1.Expr + (*ExternalVpnGateway)(nil), // 597: google.cloud.compute.v1.ExternalVpnGateway + (*ExternalVpnGatewayInterface)(nil), // 598: google.cloud.compute.v1.ExternalVpnGatewayInterface + (*ExternalVpnGatewayList)(nil), // 599: google.cloud.compute.v1.ExternalVpnGatewayList + (*FileContentBuffer)(nil), // 600: google.cloud.compute.v1.FileContentBuffer + (*Firewall)(nil), // 601: google.cloud.compute.v1.Firewall + (*FirewallList)(nil), // 602: google.cloud.compute.v1.FirewallList + (*FirewallLogConfig)(nil), // 603: google.cloud.compute.v1.FirewallLogConfig + (*FirewallPoliciesListAssociationsResponse)(nil), // 604: google.cloud.compute.v1.FirewallPoliciesListAssociationsResponse + (*FirewallPolicy)(nil), // 605: google.cloud.compute.v1.FirewallPolicy + (*FirewallPolicyAssociation)(nil), // 606: google.cloud.compute.v1.FirewallPolicyAssociation + (*FirewallPolicyList)(nil), // 607: google.cloud.compute.v1.FirewallPolicyList + (*FirewallPolicyRule)(nil), // 608: google.cloud.compute.v1.FirewallPolicyRule + (*FirewallPolicyRuleMatcher)(nil), // 609: google.cloud.compute.v1.FirewallPolicyRuleMatcher + (*FirewallPolicyRuleMatcherLayer4Config)(nil), // 610: google.cloud.compute.v1.FirewallPolicyRuleMatcherLayer4Config + (*FirewallPolicyRuleSecureTag)(nil), // 611: google.cloud.compute.v1.FirewallPolicyRuleSecureTag + (*FixedOrPercent)(nil), // 612: google.cloud.compute.v1.FixedOrPercent + (*ForwardingRule)(nil), // 613: google.cloud.compute.v1.ForwardingRule + (*ForwardingRuleAggregatedList)(nil), // 614: google.cloud.compute.v1.ForwardingRuleAggregatedList + (*ForwardingRuleList)(nil), // 615: google.cloud.compute.v1.ForwardingRuleList + (*ForwardingRuleReference)(nil), // 616: google.cloud.compute.v1.ForwardingRuleReference + (*ForwardingRuleServiceDirectoryRegistration)(nil), // 617: google.cloud.compute.v1.ForwardingRuleServiceDirectoryRegistration + (*ForwardingRulesScopedList)(nil), // 618: google.cloud.compute.v1.ForwardingRulesScopedList + (*GRPCHealthCheck)(nil), // 619: google.cloud.compute.v1.GRPCHealthCheck + (*GetAcceleratorTypeRequest)(nil), // 620: google.cloud.compute.v1.GetAcceleratorTypeRequest + (*GetAddressRequest)(nil), // 621: google.cloud.compute.v1.GetAddressRequest + (*GetAssociationFirewallPolicyRequest)(nil), // 622: google.cloud.compute.v1.GetAssociationFirewallPolicyRequest + (*GetAssociationNetworkFirewallPolicyRequest)(nil), // 623: google.cloud.compute.v1.GetAssociationNetworkFirewallPolicyRequest + (*GetAssociationRegionNetworkFirewallPolicyRequest)(nil), // 624: google.cloud.compute.v1.GetAssociationRegionNetworkFirewallPolicyRequest + (*GetAutoscalerRequest)(nil), // 625: google.cloud.compute.v1.GetAutoscalerRequest + (*GetBackendBucketRequest)(nil), // 626: google.cloud.compute.v1.GetBackendBucketRequest + (*GetBackendServiceRequest)(nil), // 627: google.cloud.compute.v1.GetBackendServiceRequest + (*GetDiagnosticsInterconnectRequest)(nil), // 628: google.cloud.compute.v1.GetDiagnosticsInterconnectRequest + (*GetDiskRequest)(nil), // 629: google.cloud.compute.v1.GetDiskRequest + (*GetDiskTypeRequest)(nil), // 630: google.cloud.compute.v1.GetDiskTypeRequest + (*GetEffectiveFirewallsInstanceRequest)(nil), // 631: google.cloud.compute.v1.GetEffectiveFirewallsInstanceRequest + (*GetEffectiveFirewallsNetworkRequest)(nil), // 632: google.cloud.compute.v1.GetEffectiveFirewallsNetworkRequest + (*GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest)(nil), // 633: google.cloud.compute.v1.GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest + (*GetExternalVpnGatewayRequest)(nil), // 634: google.cloud.compute.v1.GetExternalVpnGatewayRequest + (*GetFirewallPolicyRequest)(nil), // 635: google.cloud.compute.v1.GetFirewallPolicyRequest + (*GetFirewallRequest)(nil), // 636: google.cloud.compute.v1.GetFirewallRequest + (*GetForwardingRuleRequest)(nil), // 637: google.cloud.compute.v1.GetForwardingRuleRequest + (*GetFromFamilyImageRequest)(nil), // 638: google.cloud.compute.v1.GetFromFamilyImageRequest + (*GetGlobalAddressRequest)(nil), // 639: google.cloud.compute.v1.GetGlobalAddressRequest + (*GetGlobalForwardingRuleRequest)(nil), // 640: google.cloud.compute.v1.GetGlobalForwardingRuleRequest + (*GetGlobalNetworkEndpointGroupRequest)(nil), // 641: google.cloud.compute.v1.GetGlobalNetworkEndpointGroupRequest + (*GetGlobalOperationRequest)(nil), // 642: google.cloud.compute.v1.GetGlobalOperationRequest + (*GetGlobalOrganizationOperationRequest)(nil), // 643: google.cloud.compute.v1.GetGlobalOrganizationOperationRequest + (*GetGlobalPublicDelegatedPrefixeRequest)(nil), // 644: google.cloud.compute.v1.GetGlobalPublicDelegatedPrefixeRequest + (*GetGuestAttributesInstanceRequest)(nil), // 645: google.cloud.compute.v1.GetGuestAttributesInstanceRequest + (*GetHealthBackendServiceRequest)(nil), // 646: google.cloud.compute.v1.GetHealthBackendServiceRequest + (*GetHealthCheckRequest)(nil), // 647: google.cloud.compute.v1.GetHealthCheckRequest + (*GetHealthRegionBackendServiceRequest)(nil), // 648: google.cloud.compute.v1.GetHealthRegionBackendServiceRequest + (*GetHealthTargetPoolRequest)(nil), // 649: google.cloud.compute.v1.GetHealthTargetPoolRequest + (*GetIamPolicyBackendBucketRequest)(nil), // 650: google.cloud.compute.v1.GetIamPolicyBackendBucketRequest + (*GetIamPolicyBackendServiceRequest)(nil), // 651: google.cloud.compute.v1.GetIamPolicyBackendServiceRequest + (*GetIamPolicyDiskRequest)(nil), // 652: google.cloud.compute.v1.GetIamPolicyDiskRequest + (*GetIamPolicyFirewallPolicyRequest)(nil), // 653: google.cloud.compute.v1.GetIamPolicyFirewallPolicyRequest + (*GetIamPolicyImageRequest)(nil), // 654: google.cloud.compute.v1.GetIamPolicyImageRequest + (*GetIamPolicyInstanceRequest)(nil), // 655: google.cloud.compute.v1.GetIamPolicyInstanceRequest + (*GetIamPolicyInstanceTemplateRequest)(nil), // 656: google.cloud.compute.v1.GetIamPolicyInstanceTemplateRequest + (*GetIamPolicyLicenseRequest)(nil), // 657: google.cloud.compute.v1.GetIamPolicyLicenseRequest + (*GetIamPolicyMachineImageRequest)(nil), // 658: google.cloud.compute.v1.GetIamPolicyMachineImageRequest + (*GetIamPolicyNetworkAttachmentRequest)(nil), // 659: google.cloud.compute.v1.GetIamPolicyNetworkAttachmentRequest + (*GetIamPolicyNetworkFirewallPolicyRequest)(nil), // 660: google.cloud.compute.v1.GetIamPolicyNetworkFirewallPolicyRequest + (*GetIamPolicyNodeGroupRequest)(nil), // 661: google.cloud.compute.v1.GetIamPolicyNodeGroupRequest + (*GetIamPolicyNodeTemplateRequest)(nil), // 662: google.cloud.compute.v1.GetIamPolicyNodeTemplateRequest + (*GetIamPolicyRegionBackendServiceRequest)(nil), // 663: google.cloud.compute.v1.GetIamPolicyRegionBackendServiceRequest + (*GetIamPolicyRegionDiskRequest)(nil), // 664: google.cloud.compute.v1.GetIamPolicyRegionDiskRequest + (*GetIamPolicyRegionNetworkFirewallPolicyRequest)(nil), // 665: google.cloud.compute.v1.GetIamPolicyRegionNetworkFirewallPolicyRequest + (*GetIamPolicyReservationRequest)(nil), // 666: google.cloud.compute.v1.GetIamPolicyReservationRequest + (*GetIamPolicyResourcePolicyRequest)(nil), // 667: google.cloud.compute.v1.GetIamPolicyResourcePolicyRequest + (*GetIamPolicyServiceAttachmentRequest)(nil), // 668: google.cloud.compute.v1.GetIamPolicyServiceAttachmentRequest + (*GetIamPolicySnapshotRequest)(nil), // 669: google.cloud.compute.v1.GetIamPolicySnapshotRequest + (*GetIamPolicySubnetworkRequest)(nil), // 670: google.cloud.compute.v1.GetIamPolicySubnetworkRequest + (*GetImageFamilyViewRequest)(nil), // 671: google.cloud.compute.v1.GetImageFamilyViewRequest + (*GetImageRequest)(nil), // 672: google.cloud.compute.v1.GetImageRequest + (*GetInstanceGroupManagerRequest)(nil), // 673: google.cloud.compute.v1.GetInstanceGroupManagerRequest + (*GetInstanceGroupRequest)(nil), // 674: google.cloud.compute.v1.GetInstanceGroupRequest + (*GetInstanceRequest)(nil), // 675: google.cloud.compute.v1.GetInstanceRequest + (*GetInstanceTemplateRequest)(nil), // 676: google.cloud.compute.v1.GetInstanceTemplateRequest + (*GetInterconnectAttachmentRequest)(nil), // 677: google.cloud.compute.v1.GetInterconnectAttachmentRequest + (*GetInterconnectLocationRequest)(nil), // 678: google.cloud.compute.v1.GetInterconnectLocationRequest + (*GetInterconnectRemoteLocationRequest)(nil), // 679: google.cloud.compute.v1.GetInterconnectRemoteLocationRequest + (*GetInterconnectRequest)(nil), // 680: google.cloud.compute.v1.GetInterconnectRequest + (*GetLicenseCodeRequest)(nil), // 681: google.cloud.compute.v1.GetLicenseCodeRequest + (*GetLicenseRequest)(nil), // 682: google.cloud.compute.v1.GetLicenseRequest + (*GetMachineImageRequest)(nil), // 683: google.cloud.compute.v1.GetMachineImageRequest + (*GetMachineTypeRequest)(nil), // 684: google.cloud.compute.v1.GetMachineTypeRequest + (*GetMacsecConfigInterconnectRequest)(nil), // 685: google.cloud.compute.v1.GetMacsecConfigInterconnectRequest + (*GetNatIpInfoRouterRequest)(nil), // 686: google.cloud.compute.v1.GetNatIpInfoRouterRequest + (*GetNatMappingInfoRoutersRequest)(nil), // 687: google.cloud.compute.v1.GetNatMappingInfoRoutersRequest + (*GetNetworkAttachmentRequest)(nil), // 688: google.cloud.compute.v1.GetNetworkAttachmentRequest + (*GetNetworkEdgeSecurityServiceRequest)(nil), // 689: google.cloud.compute.v1.GetNetworkEdgeSecurityServiceRequest + (*GetNetworkEndpointGroupRequest)(nil), // 690: google.cloud.compute.v1.GetNetworkEndpointGroupRequest + (*GetNetworkFirewallPolicyRequest)(nil), // 691: google.cloud.compute.v1.GetNetworkFirewallPolicyRequest + (*GetNetworkRequest)(nil), // 692: google.cloud.compute.v1.GetNetworkRequest + (*GetNodeGroupRequest)(nil), // 693: google.cloud.compute.v1.GetNodeGroupRequest + (*GetNodeTemplateRequest)(nil), // 694: google.cloud.compute.v1.GetNodeTemplateRequest + (*GetNodeTypeRequest)(nil), // 695: google.cloud.compute.v1.GetNodeTypeRequest + (*GetPacketMirroringRequest)(nil), // 696: google.cloud.compute.v1.GetPacketMirroringRequest + (*GetProjectRequest)(nil), // 697: google.cloud.compute.v1.GetProjectRequest + (*GetPublicAdvertisedPrefixeRequest)(nil), // 698: google.cloud.compute.v1.GetPublicAdvertisedPrefixeRequest + (*GetPublicDelegatedPrefixeRequest)(nil), // 699: google.cloud.compute.v1.GetPublicDelegatedPrefixeRequest + (*GetRegionAutoscalerRequest)(nil), // 700: google.cloud.compute.v1.GetRegionAutoscalerRequest + (*GetRegionBackendServiceRequest)(nil), // 701: google.cloud.compute.v1.GetRegionBackendServiceRequest + (*GetRegionCommitmentRequest)(nil), // 702: google.cloud.compute.v1.GetRegionCommitmentRequest + (*GetRegionDiskRequest)(nil), // 703: google.cloud.compute.v1.GetRegionDiskRequest + (*GetRegionDiskTypeRequest)(nil), // 704: google.cloud.compute.v1.GetRegionDiskTypeRequest + (*GetRegionHealthCheckRequest)(nil), // 705: google.cloud.compute.v1.GetRegionHealthCheckRequest + (*GetRegionHealthCheckServiceRequest)(nil), // 706: google.cloud.compute.v1.GetRegionHealthCheckServiceRequest + (*GetRegionInstanceGroupManagerRequest)(nil), // 707: google.cloud.compute.v1.GetRegionInstanceGroupManagerRequest + (*GetRegionInstanceGroupRequest)(nil), // 708: google.cloud.compute.v1.GetRegionInstanceGroupRequest + (*GetRegionInstanceTemplateRequest)(nil), // 709: google.cloud.compute.v1.GetRegionInstanceTemplateRequest + (*GetRegionNetworkEndpointGroupRequest)(nil), // 710: google.cloud.compute.v1.GetRegionNetworkEndpointGroupRequest + (*GetRegionNetworkFirewallPolicyRequest)(nil), // 711: google.cloud.compute.v1.GetRegionNetworkFirewallPolicyRequest + (*GetRegionNotificationEndpointRequest)(nil), // 712: google.cloud.compute.v1.GetRegionNotificationEndpointRequest + (*GetRegionOperationRequest)(nil), // 713: google.cloud.compute.v1.GetRegionOperationRequest + (*GetRegionRequest)(nil), // 714: google.cloud.compute.v1.GetRegionRequest + (*GetRegionSecurityPolicyRequest)(nil), // 715: google.cloud.compute.v1.GetRegionSecurityPolicyRequest + (*GetRegionSslCertificateRequest)(nil), // 716: google.cloud.compute.v1.GetRegionSslCertificateRequest + (*GetRegionSslPolicyRequest)(nil), // 717: google.cloud.compute.v1.GetRegionSslPolicyRequest + (*GetRegionTargetHttpProxyRequest)(nil), // 718: google.cloud.compute.v1.GetRegionTargetHttpProxyRequest + (*GetRegionTargetHttpsProxyRequest)(nil), // 719: google.cloud.compute.v1.GetRegionTargetHttpsProxyRequest + (*GetRegionTargetTcpProxyRequest)(nil), // 720: google.cloud.compute.v1.GetRegionTargetTcpProxyRequest + (*GetRegionUrlMapRequest)(nil), // 721: google.cloud.compute.v1.GetRegionUrlMapRequest + (*GetReservationRequest)(nil), // 722: google.cloud.compute.v1.GetReservationRequest + (*GetResourcePolicyRequest)(nil), // 723: google.cloud.compute.v1.GetResourcePolicyRequest + (*GetRouteRequest)(nil), // 724: google.cloud.compute.v1.GetRouteRequest + (*GetRouterRequest)(nil), // 725: google.cloud.compute.v1.GetRouterRequest + (*GetRouterStatusRouterRequest)(nil), // 726: google.cloud.compute.v1.GetRouterStatusRouterRequest + (*GetRuleFirewallPolicyRequest)(nil), // 727: google.cloud.compute.v1.GetRuleFirewallPolicyRequest + (*GetRuleNetworkFirewallPolicyRequest)(nil), // 728: google.cloud.compute.v1.GetRuleNetworkFirewallPolicyRequest + (*GetRuleRegionNetworkFirewallPolicyRequest)(nil), // 729: google.cloud.compute.v1.GetRuleRegionNetworkFirewallPolicyRequest + (*GetRuleRegionSecurityPolicyRequest)(nil), // 730: google.cloud.compute.v1.GetRuleRegionSecurityPolicyRequest + (*GetRuleSecurityPolicyRequest)(nil), // 731: google.cloud.compute.v1.GetRuleSecurityPolicyRequest + (*GetScreenshotInstanceRequest)(nil), // 732: google.cloud.compute.v1.GetScreenshotInstanceRequest + (*GetSecurityPolicyRequest)(nil), // 733: google.cloud.compute.v1.GetSecurityPolicyRequest + (*GetSerialPortOutputInstanceRequest)(nil), // 734: google.cloud.compute.v1.GetSerialPortOutputInstanceRequest + (*GetServiceAttachmentRequest)(nil), // 735: google.cloud.compute.v1.GetServiceAttachmentRequest + (*GetShieldedInstanceIdentityInstanceRequest)(nil), // 736: google.cloud.compute.v1.GetShieldedInstanceIdentityInstanceRequest + (*GetSnapshotRequest)(nil), // 737: google.cloud.compute.v1.GetSnapshotRequest + (*GetSnapshotSettingRequest)(nil), // 738: google.cloud.compute.v1.GetSnapshotSettingRequest + (*GetSslCertificateRequest)(nil), // 739: google.cloud.compute.v1.GetSslCertificateRequest + (*GetSslPolicyRequest)(nil), // 740: google.cloud.compute.v1.GetSslPolicyRequest + (*GetStatusVpnGatewayRequest)(nil), // 741: google.cloud.compute.v1.GetStatusVpnGatewayRequest + (*GetSubnetworkRequest)(nil), // 742: google.cloud.compute.v1.GetSubnetworkRequest + (*GetTargetGrpcProxyRequest)(nil), // 743: google.cloud.compute.v1.GetTargetGrpcProxyRequest + (*GetTargetHttpProxyRequest)(nil), // 744: google.cloud.compute.v1.GetTargetHttpProxyRequest + (*GetTargetHttpsProxyRequest)(nil), // 745: google.cloud.compute.v1.GetTargetHttpsProxyRequest + (*GetTargetInstanceRequest)(nil), // 746: google.cloud.compute.v1.GetTargetInstanceRequest + (*GetTargetPoolRequest)(nil), // 747: google.cloud.compute.v1.GetTargetPoolRequest + (*GetTargetSslProxyRequest)(nil), // 748: google.cloud.compute.v1.GetTargetSslProxyRequest + (*GetTargetTcpProxyRequest)(nil), // 749: google.cloud.compute.v1.GetTargetTcpProxyRequest + (*GetTargetVpnGatewayRequest)(nil), // 750: google.cloud.compute.v1.GetTargetVpnGatewayRequest + (*GetUrlMapRequest)(nil), // 751: google.cloud.compute.v1.GetUrlMapRequest + (*GetVpnGatewayRequest)(nil), // 752: google.cloud.compute.v1.GetVpnGatewayRequest + (*GetVpnTunnelRequest)(nil), // 753: google.cloud.compute.v1.GetVpnTunnelRequest + (*GetXpnHostProjectRequest)(nil), // 754: google.cloud.compute.v1.GetXpnHostProjectRequest + (*GetXpnResourcesProjectsRequest)(nil), // 755: google.cloud.compute.v1.GetXpnResourcesProjectsRequest + (*GetZoneOperationRequest)(nil), // 756: google.cloud.compute.v1.GetZoneOperationRequest + (*GetZoneRequest)(nil), // 757: google.cloud.compute.v1.GetZoneRequest + (*GlobalAddressesMoveRequest)(nil), // 758: google.cloud.compute.v1.GlobalAddressesMoveRequest + (*GlobalNetworkEndpointGroupsAttachEndpointsRequest)(nil), // 759: google.cloud.compute.v1.GlobalNetworkEndpointGroupsAttachEndpointsRequest + (*GlobalNetworkEndpointGroupsDetachEndpointsRequest)(nil), // 760: google.cloud.compute.v1.GlobalNetworkEndpointGroupsDetachEndpointsRequest + (*GlobalOrganizationSetPolicyRequest)(nil), // 761: google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest + (*GlobalSetLabelsRequest)(nil), // 762: google.cloud.compute.v1.GlobalSetLabelsRequest + (*GlobalSetPolicyRequest)(nil), // 763: google.cloud.compute.v1.GlobalSetPolicyRequest + (*GuestAttributes)(nil), // 764: google.cloud.compute.v1.GuestAttributes + (*GuestAttributesEntry)(nil), // 765: google.cloud.compute.v1.GuestAttributesEntry + (*GuestAttributesValue)(nil), // 766: google.cloud.compute.v1.GuestAttributesValue + (*GuestOsFeature)(nil), // 767: google.cloud.compute.v1.GuestOsFeature + (*HTTP2HealthCheck)(nil), // 768: google.cloud.compute.v1.HTTP2HealthCheck + (*HTTPHealthCheck)(nil), // 769: google.cloud.compute.v1.HTTPHealthCheck + (*HTTPSHealthCheck)(nil), // 770: google.cloud.compute.v1.HTTPSHealthCheck + (*HealthCheck)(nil), // 771: google.cloud.compute.v1.HealthCheck + (*HealthCheckList)(nil), // 772: google.cloud.compute.v1.HealthCheckList + (*HealthCheckLogConfig)(nil), // 773: google.cloud.compute.v1.HealthCheckLogConfig + (*HealthCheckReference)(nil), // 774: google.cloud.compute.v1.HealthCheckReference + (*HealthCheckService)(nil), // 775: google.cloud.compute.v1.HealthCheckService + (*HealthCheckServiceReference)(nil), // 776: google.cloud.compute.v1.HealthCheckServiceReference + (*HealthCheckServicesList)(nil), // 777: google.cloud.compute.v1.HealthCheckServicesList + (*HealthChecksAggregatedList)(nil), // 778: google.cloud.compute.v1.HealthChecksAggregatedList + (*HealthChecksScopedList)(nil), // 779: google.cloud.compute.v1.HealthChecksScopedList + (*HealthStatus)(nil), // 780: google.cloud.compute.v1.HealthStatus + (*HealthStatusForNetworkEndpoint)(nil), // 781: google.cloud.compute.v1.HealthStatusForNetworkEndpoint + (*Help)(nil), // 782: google.cloud.compute.v1.Help + (*HelpLink)(nil), // 783: google.cloud.compute.v1.HelpLink + (*HostRule)(nil), // 784: google.cloud.compute.v1.HostRule + (*HttpFaultAbort)(nil), // 785: google.cloud.compute.v1.HttpFaultAbort + (*HttpFaultDelay)(nil), // 786: google.cloud.compute.v1.HttpFaultDelay + (*HttpFaultInjection)(nil), // 787: google.cloud.compute.v1.HttpFaultInjection + (*HttpHeaderAction)(nil), // 788: google.cloud.compute.v1.HttpHeaderAction + (*HttpHeaderMatch)(nil), // 789: google.cloud.compute.v1.HttpHeaderMatch + (*HttpHeaderOption)(nil), // 790: google.cloud.compute.v1.HttpHeaderOption + (*HttpQueryParameterMatch)(nil), // 791: google.cloud.compute.v1.HttpQueryParameterMatch + (*HttpRedirectAction)(nil), // 792: google.cloud.compute.v1.HttpRedirectAction + (*HttpRetryPolicy)(nil), // 793: google.cloud.compute.v1.HttpRetryPolicy + (*HttpRouteAction)(nil), // 794: google.cloud.compute.v1.HttpRouteAction + (*HttpRouteRule)(nil), // 795: google.cloud.compute.v1.HttpRouteRule + (*HttpRouteRuleMatch)(nil), // 796: google.cloud.compute.v1.HttpRouteRuleMatch + (*Image)(nil), // 797: google.cloud.compute.v1.Image + (*ImageFamilyView)(nil), // 798: google.cloud.compute.v1.ImageFamilyView + (*ImageList)(nil), // 799: google.cloud.compute.v1.ImageList + (*InitialStateConfig)(nil), // 800: google.cloud.compute.v1.InitialStateConfig + (*InsertAddressRequest)(nil), // 801: google.cloud.compute.v1.InsertAddressRequest + (*InsertAutoscalerRequest)(nil), // 802: google.cloud.compute.v1.InsertAutoscalerRequest + (*InsertBackendBucketRequest)(nil), // 803: google.cloud.compute.v1.InsertBackendBucketRequest + (*InsertBackendServiceRequest)(nil), // 804: google.cloud.compute.v1.InsertBackendServiceRequest + (*InsertDiskRequest)(nil), // 805: google.cloud.compute.v1.InsertDiskRequest + (*InsertExternalVpnGatewayRequest)(nil), // 806: google.cloud.compute.v1.InsertExternalVpnGatewayRequest + (*InsertFirewallPolicyRequest)(nil), // 807: google.cloud.compute.v1.InsertFirewallPolicyRequest + (*InsertFirewallRequest)(nil), // 808: google.cloud.compute.v1.InsertFirewallRequest + (*InsertForwardingRuleRequest)(nil), // 809: google.cloud.compute.v1.InsertForwardingRuleRequest + (*InsertGlobalAddressRequest)(nil), // 810: google.cloud.compute.v1.InsertGlobalAddressRequest + (*InsertGlobalForwardingRuleRequest)(nil), // 811: google.cloud.compute.v1.InsertGlobalForwardingRuleRequest + (*InsertGlobalNetworkEndpointGroupRequest)(nil), // 812: google.cloud.compute.v1.InsertGlobalNetworkEndpointGroupRequest + (*InsertGlobalPublicDelegatedPrefixeRequest)(nil), // 813: google.cloud.compute.v1.InsertGlobalPublicDelegatedPrefixeRequest + (*InsertHealthCheckRequest)(nil), // 814: google.cloud.compute.v1.InsertHealthCheckRequest + (*InsertImageRequest)(nil), // 815: google.cloud.compute.v1.InsertImageRequest + (*InsertInstanceGroupManagerRequest)(nil), // 816: google.cloud.compute.v1.InsertInstanceGroupManagerRequest + (*InsertInstanceGroupRequest)(nil), // 817: google.cloud.compute.v1.InsertInstanceGroupRequest + (*InsertInstanceRequest)(nil), // 818: google.cloud.compute.v1.InsertInstanceRequest + (*InsertInstanceTemplateRequest)(nil), // 819: google.cloud.compute.v1.InsertInstanceTemplateRequest + (*InsertInterconnectAttachmentRequest)(nil), // 820: google.cloud.compute.v1.InsertInterconnectAttachmentRequest + (*InsertInterconnectRequest)(nil), // 821: google.cloud.compute.v1.InsertInterconnectRequest + (*InsertLicenseRequest)(nil), // 822: google.cloud.compute.v1.InsertLicenseRequest + (*InsertMachineImageRequest)(nil), // 823: google.cloud.compute.v1.InsertMachineImageRequest + (*InsertNetworkAttachmentRequest)(nil), // 824: google.cloud.compute.v1.InsertNetworkAttachmentRequest + (*InsertNetworkEdgeSecurityServiceRequest)(nil), // 825: google.cloud.compute.v1.InsertNetworkEdgeSecurityServiceRequest + (*InsertNetworkEndpointGroupRequest)(nil), // 826: google.cloud.compute.v1.InsertNetworkEndpointGroupRequest + (*InsertNetworkFirewallPolicyRequest)(nil), // 827: google.cloud.compute.v1.InsertNetworkFirewallPolicyRequest + (*InsertNetworkRequest)(nil), // 828: google.cloud.compute.v1.InsertNetworkRequest + (*InsertNodeGroupRequest)(nil), // 829: google.cloud.compute.v1.InsertNodeGroupRequest + (*InsertNodeTemplateRequest)(nil), // 830: google.cloud.compute.v1.InsertNodeTemplateRequest + (*InsertPacketMirroringRequest)(nil), // 831: google.cloud.compute.v1.InsertPacketMirroringRequest + (*InsertPublicAdvertisedPrefixeRequest)(nil), // 832: google.cloud.compute.v1.InsertPublicAdvertisedPrefixeRequest + (*InsertPublicDelegatedPrefixeRequest)(nil), // 833: google.cloud.compute.v1.InsertPublicDelegatedPrefixeRequest + (*InsertRegionAutoscalerRequest)(nil), // 834: google.cloud.compute.v1.InsertRegionAutoscalerRequest + (*InsertRegionBackendServiceRequest)(nil), // 835: google.cloud.compute.v1.InsertRegionBackendServiceRequest + (*InsertRegionCommitmentRequest)(nil), // 836: google.cloud.compute.v1.InsertRegionCommitmentRequest + (*InsertRegionDiskRequest)(nil), // 837: google.cloud.compute.v1.InsertRegionDiskRequest + (*InsertRegionHealthCheckRequest)(nil), // 838: google.cloud.compute.v1.InsertRegionHealthCheckRequest + (*InsertRegionHealthCheckServiceRequest)(nil), // 839: google.cloud.compute.v1.InsertRegionHealthCheckServiceRequest + (*InsertRegionInstanceGroupManagerRequest)(nil), // 840: google.cloud.compute.v1.InsertRegionInstanceGroupManagerRequest + (*InsertRegionInstanceTemplateRequest)(nil), // 841: google.cloud.compute.v1.InsertRegionInstanceTemplateRequest + (*InsertRegionNetworkEndpointGroupRequest)(nil), // 842: google.cloud.compute.v1.InsertRegionNetworkEndpointGroupRequest + (*InsertRegionNetworkFirewallPolicyRequest)(nil), // 843: google.cloud.compute.v1.InsertRegionNetworkFirewallPolicyRequest + (*InsertRegionNotificationEndpointRequest)(nil), // 844: google.cloud.compute.v1.InsertRegionNotificationEndpointRequest + (*InsertRegionSecurityPolicyRequest)(nil), // 845: google.cloud.compute.v1.InsertRegionSecurityPolicyRequest + (*InsertRegionSslCertificateRequest)(nil), // 846: google.cloud.compute.v1.InsertRegionSslCertificateRequest + (*InsertRegionSslPolicyRequest)(nil), // 847: google.cloud.compute.v1.InsertRegionSslPolicyRequest + (*InsertRegionTargetHttpProxyRequest)(nil), // 848: google.cloud.compute.v1.InsertRegionTargetHttpProxyRequest + (*InsertRegionTargetHttpsProxyRequest)(nil), // 849: google.cloud.compute.v1.InsertRegionTargetHttpsProxyRequest + (*InsertRegionTargetTcpProxyRequest)(nil), // 850: google.cloud.compute.v1.InsertRegionTargetTcpProxyRequest + (*InsertRegionUrlMapRequest)(nil), // 851: google.cloud.compute.v1.InsertRegionUrlMapRequest + (*InsertReservationRequest)(nil), // 852: google.cloud.compute.v1.InsertReservationRequest + (*InsertResourcePolicyRequest)(nil), // 853: google.cloud.compute.v1.InsertResourcePolicyRequest + (*InsertRouteRequest)(nil), // 854: google.cloud.compute.v1.InsertRouteRequest + (*InsertRouterRequest)(nil), // 855: google.cloud.compute.v1.InsertRouterRequest + (*InsertSecurityPolicyRequest)(nil), // 856: google.cloud.compute.v1.InsertSecurityPolicyRequest + (*InsertServiceAttachmentRequest)(nil), // 857: google.cloud.compute.v1.InsertServiceAttachmentRequest + (*InsertSnapshotRequest)(nil), // 858: google.cloud.compute.v1.InsertSnapshotRequest + (*InsertSslCertificateRequest)(nil), // 859: google.cloud.compute.v1.InsertSslCertificateRequest + (*InsertSslPolicyRequest)(nil), // 860: google.cloud.compute.v1.InsertSslPolicyRequest + (*InsertSubnetworkRequest)(nil), // 861: google.cloud.compute.v1.InsertSubnetworkRequest + (*InsertTargetGrpcProxyRequest)(nil), // 862: google.cloud.compute.v1.InsertTargetGrpcProxyRequest + (*InsertTargetHttpProxyRequest)(nil), // 863: google.cloud.compute.v1.InsertTargetHttpProxyRequest + (*InsertTargetHttpsProxyRequest)(nil), // 864: google.cloud.compute.v1.InsertTargetHttpsProxyRequest + (*InsertTargetInstanceRequest)(nil), // 865: google.cloud.compute.v1.InsertTargetInstanceRequest + (*InsertTargetPoolRequest)(nil), // 866: google.cloud.compute.v1.InsertTargetPoolRequest + (*InsertTargetSslProxyRequest)(nil), // 867: google.cloud.compute.v1.InsertTargetSslProxyRequest + (*InsertTargetTcpProxyRequest)(nil), // 868: google.cloud.compute.v1.InsertTargetTcpProxyRequest + (*InsertTargetVpnGatewayRequest)(nil), // 869: google.cloud.compute.v1.InsertTargetVpnGatewayRequest + (*InsertUrlMapRequest)(nil), // 870: google.cloud.compute.v1.InsertUrlMapRequest + (*InsertVpnGatewayRequest)(nil), // 871: google.cloud.compute.v1.InsertVpnGatewayRequest + (*InsertVpnTunnelRequest)(nil), // 872: google.cloud.compute.v1.InsertVpnTunnelRequest + (*Instance)(nil), // 873: google.cloud.compute.v1.Instance + (*InstanceAggregatedList)(nil), // 874: google.cloud.compute.v1.InstanceAggregatedList + (*InstanceConsumptionData)(nil), // 875: google.cloud.compute.v1.InstanceConsumptionData + (*InstanceConsumptionInfo)(nil), // 876: google.cloud.compute.v1.InstanceConsumptionInfo + (*InstanceGroup)(nil), // 877: google.cloud.compute.v1.InstanceGroup + (*InstanceGroupAggregatedList)(nil), // 878: google.cloud.compute.v1.InstanceGroupAggregatedList + (*InstanceGroupList)(nil), // 879: google.cloud.compute.v1.InstanceGroupList + (*InstanceGroupManager)(nil), // 880: google.cloud.compute.v1.InstanceGroupManager + (*InstanceGroupManagerActionsSummary)(nil), // 881: google.cloud.compute.v1.InstanceGroupManagerActionsSummary + (*InstanceGroupManagerAggregatedList)(nil), // 882: google.cloud.compute.v1.InstanceGroupManagerAggregatedList + (*InstanceGroupManagerAutoHealingPolicy)(nil), // 883: google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy + (*InstanceGroupManagerInstanceLifecyclePolicy)(nil), // 884: google.cloud.compute.v1.InstanceGroupManagerInstanceLifecyclePolicy + (*InstanceGroupManagerList)(nil), // 885: google.cloud.compute.v1.InstanceGroupManagerList + (*InstanceGroupManagerStatus)(nil), // 886: google.cloud.compute.v1.InstanceGroupManagerStatus + (*InstanceGroupManagerStatusStateful)(nil), // 887: google.cloud.compute.v1.InstanceGroupManagerStatusStateful + (*InstanceGroupManagerStatusStatefulPerInstanceConfigs)(nil), // 888: google.cloud.compute.v1.InstanceGroupManagerStatusStatefulPerInstanceConfigs + (*InstanceGroupManagerStatusVersionTarget)(nil), // 889: google.cloud.compute.v1.InstanceGroupManagerStatusVersionTarget + (*InstanceGroupManagerUpdatePolicy)(nil), // 890: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy + (*InstanceGroupManagerVersion)(nil), // 891: google.cloud.compute.v1.InstanceGroupManagerVersion + (*InstanceGroupManagersAbandonInstancesRequest)(nil), // 892: google.cloud.compute.v1.InstanceGroupManagersAbandonInstancesRequest + (*InstanceGroupManagersApplyUpdatesRequest)(nil), // 893: google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest + (*InstanceGroupManagersCreateInstancesRequest)(nil), // 894: google.cloud.compute.v1.InstanceGroupManagersCreateInstancesRequest + (*InstanceGroupManagersDeleteInstancesRequest)(nil), // 895: google.cloud.compute.v1.InstanceGroupManagersDeleteInstancesRequest + (*InstanceGroupManagersDeletePerInstanceConfigsReq)(nil), // 896: google.cloud.compute.v1.InstanceGroupManagersDeletePerInstanceConfigsReq + (*InstanceGroupManagersListErrorsResponse)(nil), // 897: google.cloud.compute.v1.InstanceGroupManagersListErrorsResponse + (*InstanceGroupManagersListManagedInstancesResponse)(nil), // 898: google.cloud.compute.v1.InstanceGroupManagersListManagedInstancesResponse + (*InstanceGroupManagersListPerInstanceConfigsResp)(nil), // 899: google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp + (*InstanceGroupManagersPatchPerInstanceConfigsReq)(nil), // 900: google.cloud.compute.v1.InstanceGroupManagersPatchPerInstanceConfigsReq + (*InstanceGroupManagersRecreateInstancesRequest)(nil), // 901: google.cloud.compute.v1.InstanceGroupManagersRecreateInstancesRequest + (*InstanceGroupManagersScopedList)(nil), // 902: google.cloud.compute.v1.InstanceGroupManagersScopedList + (*InstanceGroupManagersSetInstanceTemplateRequest)(nil), // 903: google.cloud.compute.v1.InstanceGroupManagersSetInstanceTemplateRequest + (*InstanceGroupManagersSetTargetPoolsRequest)(nil), // 904: google.cloud.compute.v1.InstanceGroupManagersSetTargetPoolsRequest + (*InstanceGroupManagersUpdatePerInstanceConfigsReq)(nil), // 905: google.cloud.compute.v1.InstanceGroupManagersUpdatePerInstanceConfigsReq + (*InstanceGroupsAddInstancesRequest)(nil), // 906: google.cloud.compute.v1.InstanceGroupsAddInstancesRequest + (*InstanceGroupsListInstances)(nil), // 907: google.cloud.compute.v1.InstanceGroupsListInstances + (*InstanceGroupsListInstancesRequest)(nil), // 908: google.cloud.compute.v1.InstanceGroupsListInstancesRequest + (*InstanceGroupsRemoveInstancesRequest)(nil), // 909: google.cloud.compute.v1.InstanceGroupsRemoveInstancesRequest + (*InstanceGroupsScopedList)(nil), // 910: google.cloud.compute.v1.InstanceGroupsScopedList + (*InstanceGroupsSetNamedPortsRequest)(nil), // 911: google.cloud.compute.v1.InstanceGroupsSetNamedPortsRequest + (*InstanceList)(nil), // 912: google.cloud.compute.v1.InstanceList + (*InstanceListReferrers)(nil), // 913: google.cloud.compute.v1.InstanceListReferrers + (*InstanceManagedByIgmError)(nil), // 914: google.cloud.compute.v1.InstanceManagedByIgmError + (*InstanceManagedByIgmErrorInstanceActionDetails)(nil), // 915: google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails + (*InstanceManagedByIgmErrorManagedInstanceError)(nil), // 916: google.cloud.compute.v1.InstanceManagedByIgmErrorManagedInstanceError + (*InstanceMoveRequest)(nil), // 917: google.cloud.compute.v1.InstanceMoveRequest + (*InstanceParams)(nil), // 918: google.cloud.compute.v1.InstanceParams + (*InstanceProperties)(nil), // 919: google.cloud.compute.v1.InstanceProperties + (*InstanceReference)(nil), // 920: google.cloud.compute.v1.InstanceReference + (*InstanceTemplate)(nil), // 921: google.cloud.compute.v1.InstanceTemplate + (*InstanceTemplateAggregatedList)(nil), // 922: google.cloud.compute.v1.InstanceTemplateAggregatedList + (*InstanceTemplateList)(nil), // 923: google.cloud.compute.v1.InstanceTemplateList + (*InstanceTemplatesScopedList)(nil), // 924: google.cloud.compute.v1.InstanceTemplatesScopedList + (*InstanceWithNamedPorts)(nil), // 925: google.cloud.compute.v1.InstanceWithNamedPorts + (*InstancesAddResourcePoliciesRequest)(nil), // 926: google.cloud.compute.v1.InstancesAddResourcePoliciesRequest + (*InstancesBulkInsertOperationMetadata)(nil), // 927: google.cloud.compute.v1.InstancesBulkInsertOperationMetadata + (*InstancesGetEffectiveFirewallsResponse)(nil), // 928: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse + (*InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy)(nil), // 929: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy + (*InstancesRemoveResourcePoliciesRequest)(nil), // 930: google.cloud.compute.v1.InstancesRemoveResourcePoliciesRequest + (*InstancesScopedList)(nil), // 931: google.cloud.compute.v1.InstancesScopedList + (*InstancesSetLabelsRequest)(nil), // 932: google.cloud.compute.v1.InstancesSetLabelsRequest + (*InstancesSetMachineResourcesRequest)(nil), // 933: google.cloud.compute.v1.InstancesSetMachineResourcesRequest + (*InstancesSetMachineTypeRequest)(nil), // 934: google.cloud.compute.v1.InstancesSetMachineTypeRequest + (*InstancesSetMinCpuPlatformRequest)(nil), // 935: google.cloud.compute.v1.InstancesSetMinCpuPlatformRequest + (*InstancesSetNameRequest)(nil), // 936: google.cloud.compute.v1.InstancesSetNameRequest + (*InstancesSetSecurityPolicyRequest)(nil), // 937: google.cloud.compute.v1.InstancesSetSecurityPolicyRequest + (*InstancesSetServiceAccountRequest)(nil), // 938: google.cloud.compute.v1.InstancesSetServiceAccountRequest + (*InstancesStartWithEncryptionKeyRequest)(nil), // 939: google.cloud.compute.v1.InstancesStartWithEncryptionKeyRequest + (*Int64RangeMatch)(nil), // 940: google.cloud.compute.v1.Int64RangeMatch + (*Interconnect)(nil), // 941: google.cloud.compute.v1.Interconnect + (*InterconnectAttachment)(nil), // 942: google.cloud.compute.v1.InterconnectAttachment + (*InterconnectAttachmentAggregatedList)(nil), // 943: google.cloud.compute.v1.InterconnectAttachmentAggregatedList + (*InterconnectAttachmentConfigurationConstraints)(nil), // 944: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints + (*InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange)(nil), // 945: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange + (*InterconnectAttachmentList)(nil), // 946: google.cloud.compute.v1.InterconnectAttachmentList + (*InterconnectAttachmentPartnerMetadata)(nil), // 947: google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata + (*InterconnectAttachmentPrivateInfo)(nil), // 948: google.cloud.compute.v1.InterconnectAttachmentPrivateInfo + (*InterconnectAttachmentsScopedList)(nil), // 949: google.cloud.compute.v1.InterconnectAttachmentsScopedList + (*InterconnectCircuitInfo)(nil), // 950: google.cloud.compute.v1.InterconnectCircuitInfo + (*InterconnectDiagnostics)(nil), // 951: google.cloud.compute.v1.InterconnectDiagnostics + (*InterconnectDiagnosticsARPEntry)(nil), // 952: google.cloud.compute.v1.InterconnectDiagnosticsARPEntry + (*InterconnectDiagnosticsLinkLACPStatus)(nil), // 953: google.cloud.compute.v1.InterconnectDiagnosticsLinkLACPStatus + (*InterconnectDiagnosticsLinkOpticalPower)(nil), // 954: google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower + (*InterconnectDiagnosticsLinkStatus)(nil), // 955: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus + (*InterconnectDiagnosticsMacsecStatus)(nil), // 956: google.cloud.compute.v1.InterconnectDiagnosticsMacsecStatus + (*InterconnectList)(nil), // 957: google.cloud.compute.v1.InterconnectList + (*InterconnectLocation)(nil), // 958: google.cloud.compute.v1.InterconnectLocation + (*InterconnectLocationList)(nil), // 959: google.cloud.compute.v1.InterconnectLocationList + (*InterconnectLocationRegionInfo)(nil), // 960: google.cloud.compute.v1.InterconnectLocationRegionInfo + (*InterconnectMacsec)(nil), // 961: google.cloud.compute.v1.InterconnectMacsec + (*InterconnectMacsecConfig)(nil), // 962: google.cloud.compute.v1.InterconnectMacsecConfig + (*InterconnectMacsecConfigPreSharedKey)(nil), // 963: google.cloud.compute.v1.InterconnectMacsecConfigPreSharedKey + (*InterconnectMacsecPreSharedKey)(nil), // 964: google.cloud.compute.v1.InterconnectMacsecPreSharedKey + (*InterconnectOutageNotification)(nil), // 965: google.cloud.compute.v1.InterconnectOutageNotification + (*InterconnectRemoteLocation)(nil), // 966: google.cloud.compute.v1.InterconnectRemoteLocation + (*InterconnectRemoteLocationConstraints)(nil), // 967: google.cloud.compute.v1.InterconnectRemoteLocationConstraints + (*InterconnectRemoteLocationConstraintsSubnetLengthRange)(nil), // 968: google.cloud.compute.v1.InterconnectRemoteLocationConstraintsSubnetLengthRange + (*InterconnectRemoteLocationList)(nil), // 969: google.cloud.compute.v1.InterconnectRemoteLocationList + (*InterconnectRemoteLocationPermittedConnections)(nil), // 970: google.cloud.compute.v1.InterconnectRemoteLocationPermittedConnections + (*InterconnectsGetDiagnosticsResponse)(nil), // 971: google.cloud.compute.v1.InterconnectsGetDiagnosticsResponse + (*InterconnectsGetMacsecConfigResponse)(nil), // 972: google.cloud.compute.v1.InterconnectsGetMacsecConfigResponse + (*InvalidateCacheUrlMapRequest)(nil), // 973: google.cloud.compute.v1.InvalidateCacheUrlMapRequest + (*Items)(nil), // 974: google.cloud.compute.v1.Items + (*License)(nil), // 975: google.cloud.compute.v1.License + (*LicenseCode)(nil), // 976: google.cloud.compute.v1.LicenseCode + (*LicenseCodeLicenseAlias)(nil), // 977: google.cloud.compute.v1.LicenseCodeLicenseAlias + (*LicenseResourceCommitment)(nil), // 978: google.cloud.compute.v1.LicenseResourceCommitment + (*LicenseResourceRequirements)(nil), // 979: google.cloud.compute.v1.LicenseResourceRequirements + (*LicensesListResponse)(nil), // 980: google.cloud.compute.v1.LicensesListResponse + (*ListAcceleratorTypesRequest)(nil), // 981: google.cloud.compute.v1.ListAcceleratorTypesRequest + (*ListAddressesRequest)(nil), // 982: google.cloud.compute.v1.ListAddressesRequest + (*ListAssociationsFirewallPolicyRequest)(nil), // 983: google.cloud.compute.v1.ListAssociationsFirewallPolicyRequest + (*ListAutoscalersRequest)(nil), // 984: google.cloud.compute.v1.ListAutoscalersRequest + (*ListAvailableFeaturesRegionSslPoliciesRequest)(nil), // 985: google.cloud.compute.v1.ListAvailableFeaturesRegionSslPoliciesRequest + (*ListAvailableFeaturesSslPoliciesRequest)(nil), // 986: google.cloud.compute.v1.ListAvailableFeaturesSslPoliciesRequest + (*ListBackendBucketsRequest)(nil), // 987: google.cloud.compute.v1.ListBackendBucketsRequest + (*ListBackendServicesRequest)(nil), // 988: google.cloud.compute.v1.ListBackendServicesRequest + (*ListDiskTypesRequest)(nil), // 989: google.cloud.compute.v1.ListDiskTypesRequest + (*ListDisksRequest)(nil), // 990: google.cloud.compute.v1.ListDisksRequest + (*ListErrorsInstanceGroupManagersRequest)(nil), // 991: google.cloud.compute.v1.ListErrorsInstanceGroupManagersRequest + (*ListErrorsRegionInstanceGroupManagersRequest)(nil), // 992: google.cloud.compute.v1.ListErrorsRegionInstanceGroupManagersRequest + (*ListExternalVpnGatewaysRequest)(nil), // 993: google.cloud.compute.v1.ListExternalVpnGatewaysRequest + (*ListFirewallPoliciesRequest)(nil), // 994: google.cloud.compute.v1.ListFirewallPoliciesRequest + (*ListFirewallsRequest)(nil), // 995: google.cloud.compute.v1.ListFirewallsRequest + (*ListForwardingRulesRequest)(nil), // 996: google.cloud.compute.v1.ListForwardingRulesRequest + (*ListGlobalAddressesRequest)(nil), // 997: google.cloud.compute.v1.ListGlobalAddressesRequest + (*ListGlobalForwardingRulesRequest)(nil), // 998: google.cloud.compute.v1.ListGlobalForwardingRulesRequest + (*ListGlobalNetworkEndpointGroupsRequest)(nil), // 999: google.cloud.compute.v1.ListGlobalNetworkEndpointGroupsRequest + (*ListGlobalOperationsRequest)(nil), // 1000: google.cloud.compute.v1.ListGlobalOperationsRequest + (*ListGlobalOrganizationOperationsRequest)(nil), // 1001: google.cloud.compute.v1.ListGlobalOrganizationOperationsRequest + (*ListGlobalPublicDelegatedPrefixesRequest)(nil), // 1002: google.cloud.compute.v1.ListGlobalPublicDelegatedPrefixesRequest + (*ListHealthChecksRequest)(nil), // 1003: google.cloud.compute.v1.ListHealthChecksRequest + (*ListImagesRequest)(nil), // 1004: google.cloud.compute.v1.ListImagesRequest + (*ListInstanceGroupManagersRequest)(nil), // 1005: google.cloud.compute.v1.ListInstanceGroupManagersRequest + (*ListInstanceGroupsRequest)(nil), // 1006: google.cloud.compute.v1.ListInstanceGroupsRequest + (*ListInstanceTemplatesRequest)(nil), // 1007: google.cloud.compute.v1.ListInstanceTemplatesRequest + (*ListInstancesInstanceGroupsRequest)(nil), // 1008: google.cloud.compute.v1.ListInstancesInstanceGroupsRequest + (*ListInstancesRegionInstanceGroupsRequest)(nil), // 1009: google.cloud.compute.v1.ListInstancesRegionInstanceGroupsRequest + (*ListInstancesRequest)(nil), // 1010: google.cloud.compute.v1.ListInstancesRequest + (*ListInterconnectAttachmentsRequest)(nil), // 1011: google.cloud.compute.v1.ListInterconnectAttachmentsRequest + (*ListInterconnectLocationsRequest)(nil), // 1012: google.cloud.compute.v1.ListInterconnectLocationsRequest + (*ListInterconnectRemoteLocationsRequest)(nil), // 1013: google.cloud.compute.v1.ListInterconnectRemoteLocationsRequest + (*ListInterconnectsRequest)(nil), // 1014: google.cloud.compute.v1.ListInterconnectsRequest + (*ListLicensesRequest)(nil), // 1015: google.cloud.compute.v1.ListLicensesRequest + (*ListMachineImagesRequest)(nil), // 1016: google.cloud.compute.v1.ListMachineImagesRequest + (*ListMachineTypesRequest)(nil), // 1017: google.cloud.compute.v1.ListMachineTypesRequest + (*ListManagedInstancesInstanceGroupManagersRequest)(nil), // 1018: google.cloud.compute.v1.ListManagedInstancesInstanceGroupManagersRequest + (*ListManagedInstancesRegionInstanceGroupManagersRequest)(nil), // 1019: google.cloud.compute.v1.ListManagedInstancesRegionInstanceGroupManagersRequest + (*ListNetworkAttachmentsRequest)(nil), // 1020: google.cloud.compute.v1.ListNetworkAttachmentsRequest + (*ListNetworkEndpointGroupsRequest)(nil), // 1021: google.cloud.compute.v1.ListNetworkEndpointGroupsRequest + (*ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest)(nil), // 1022: google.cloud.compute.v1.ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest + (*ListNetworkEndpointsNetworkEndpointGroupsRequest)(nil), // 1023: google.cloud.compute.v1.ListNetworkEndpointsNetworkEndpointGroupsRequest + (*ListNetworkEndpointsRegionNetworkEndpointGroupsRequest)(nil), // 1024: google.cloud.compute.v1.ListNetworkEndpointsRegionNetworkEndpointGroupsRequest + (*ListNetworkFirewallPoliciesRequest)(nil), // 1025: google.cloud.compute.v1.ListNetworkFirewallPoliciesRequest + (*ListNetworksRequest)(nil), // 1026: google.cloud.compute.v1.ListNetworksRequest + (*ListNodeGroupsRequest)(nil), // 1027: google.cloud.compute.v1.ListNodeGroupsRequest + (*ListNodeTemplatesRequest)(nil), // 1028: google.cloud.compute.v1.ListNodeTemplatesRequest + (*ListNodeTypesRequest)(nil), // 1029: google.cloud.compute.v1.ListNodeTypesRequest + (*ListNodesNodeGroupsRequest)(nil), // 1030: google.cloud.compute.v1.ListNodesNodeGroupsRequest + (*ListPacketMirroringsRequest)(nil), // 1031: google.cloud.compute.v1.ListPacketMirroringsRequest + (*ListPeeringRoutesNetworksRequest)(nil), // 1032: google.cloud.compute.v1.ListPeeringRoutesNetworksRequest + (*ListPerInstanceConfigsInstanceGroupManagersRequest)(nil), // 1033: google.cloud.compute.v1.ListPerInstanceConfigsInstanceGroupManagersRequest + (*ListPerInstanceConfigsRegionInstanceGroupManagersRequest)(nil), // 1034: google.cloud.compute.v1.ListPerInstanceConfigsRegionInstanceGroupManagersRequest + (*ListPreconfiguredExpressionSetsSecurityPoliciesRequest)(nil), // 1035: google.cloud.compute.v1.ListPreconfiguredExpressionSetsSecurityPoliciesRequest + (*ListPublicAdvertisedPrefixesRequest)(nil), // 1036: google.cloud.compute.v1.ListPublicAdvertisedPrefixesRequest + (*ListPublicDelegatedPrefixesRequest)(nil), // 1037: google.cloud.compute.v1.ListPublicDelegatedPrefixesRequest + (*ListReferrersInstancesRequest)(nil), // 1038: google.cloud.compute.v1.ListReferrersInstancesRequest + (*ListRegionAutoscalersRequest)(nil), // 1039: google.cloud.compute.v1.ListRegionAutoscalersRequest + (*ListRegionBackendServicesRequest)(nil), // 1040: google.cloud.compute.v1.ListRegionBackendServicesRequest + (*ListRegionCommitmentsRequest)(nil), // 1041: google.cloud.compute.v1.ListRegionCommitmentsRequest + (*ListRegionDiskTypesRequest)(nil), // 1042: google.cloud.compute.v1.ListRegionDiskTypesRequest + (*ListRegionDisksRequest)(nil), // 1043: google.cloud.compute.v1.ListRegionDisksRequest + (*ListRegionHealthCheckServicesRequest)(nil), // 1044: google.cloud.compute.v1.ListRegionHealthCheckServicesRequest + (*ListRegionHealthChecksRequest)(nil), // 1045: google.cloud.compute.v1.ListRegionHealthChecksRequest + (*ListRegionInstanceGroupManagersRequest)(nil), // 1046: google.cloud.compute.v1.ListRegionInstanceGroupManagersRequest + (*ListRegionInstanceGroupsRequest)(nil), // 1047: google.cloud.compute.v1.ListRegionInstanceGroupsRequest + (*ListRegionInstanceTemplatesRequest)(nil), // 1048: google.cloud.compute.v1.ListRegionInstanceTemplatesRequest + (*ListRegionNetworkEndpointGroupsRequest)(nil), // 1049: google.cloud.compute.v1.ListRegionNetworkEndpointGroupsRequest + (*ListRegionNetworkFirewallPoliciesRequest)(nil), // 1050: google.cloud.compute.v1.ListRegionNetworkFirewallPoliciesRequest + (*ListRegionNotificationEndpointsRequest)(nil), // 1051: google.cloud.compute.v1.ListRegionNotificationEndpointsRequest + (*ListRegionOperationsRequest)(nil), // 1052: google.cloud.compute.v1.ListRegionOperationsRequest + (*ListRegionSecurityPoliciesRequest)(nil), // 1053: google.cloud.compute.v1.ListRegionSecurityPoliciesRequest + (*ListRegionSslCertificatesRequest)(nil), // 1054: google.cloud.compute.v1.ListRegionSslCertificatesRequest + (*ListRegionSslPoliciesRequest)(nil), // 1055: google.cloud.compute.v1.ListRegionSslPoliciesRequest + (*ListRegionTargetHttpProxiesRequest)(nil), // 1056: google.cloud.compute.v1.ListRegionTargetHttpProxiesRequest + (*ListRegionTargetHttpsProxiesRequest)(nil), // 1057: google.cloud.compute.v1.ListRegionTargetHttpsProxiesRequest + (*ListRegionTargetTcpProxiesRequest)(nil), // 1058: google.cloud.compute.v1.ListRegionTargetTcpProxiesRequest + (*ListRegionUrlMapsRequest)(nil), // 1059: google.cloud.compute.v1.ListRegionUrlMapsRequest + (*ListRegionsRequest)(nil), // 1060: google.cloud.compute.v1.ListRegionsRequest + (*ListReservationsRequest)(nil), // 1061: google.cloud.compute.v1.ListReservationsRequest + (*ListResourcePoliciesRequest)(nil), // 1062: google.cloud.compute.v1.ListResourcePoliciesRequest + (*ListRoutersRequest)(nil), // 1063: google.cloud.compute.v1.ListRoutersRequest + (*ListRoutesRequest)(nil), // 1064: google.cloud.compute.v1.ListRoutesRequest + (*ListSecurityPoliciesRequest)(nil), // 1065: google.cloud.compute.v1.ListSecurityPoliciesRequest + (*ListServiceAttachmentsRequest)(nil), // 1066: google.cloud.compute.v1.ListServiceAttachmentsRequest + (*ListSnapshotsRequest)(nil), // 1067: google.cloud.compute.v1.ListSnapshotsRequest + (*ListSslCertificatesRequest)(nil), // 1068: google.cloud.compute.v1.ListSslCertificatesRequest + (*ListSslPoliciesRequest)(nil), // 1069: google.cloud.compute.v1.ListSslPoliciesRequest + (*ListSubnetworksRequest)(nil), // 1070: google.cloud.compute.v1.ListSubnetworksRequest + (*ListTargetGrpcProxiesRequest)(nil), // 1071: google.cloud.compute.v1.ListTargetGrpcProxiesRequest + (*ListTargetHttpProxiesRequest)(nil), // 1072: google.cloud.compute.v1.ListTargetHttpProxiesRequest + (*ListTargetHttpsProxiesRequest)(nil), // 1073: google.cloud.compute.v1.ListTargetHttpsProxiesRequest + (*ListTargetInstancesRequest)(nil), // 1074: google.cloud.compute.v1.ListTargetInstancesRequest + (*ListTargetPoolsRequest)(nil), // 1075: google.cloud.compute.v1.ListTargetPoolsRequest + (*ListTargetSslProxiesRequest)(nil), // 1076: google.cloud.compute.v1.ListTargetSslProxiesRequest + (*ListTargetTcpProxiesRequest)(nil), // 1077: google.cloud.compute.v1.ListTargetTcpProxiesRequest + (*ListTargetVpnGatewaysRequest)(nil), // 1078: google.cloud.compute.v1.ListTargetVpnGatewaysRequest + (*ListUrlMapsRequest)(nil), // 1079: google.cloud.compute.v1.ListUrlMapsRequest + (*ListUsableBackendServicesRequest)(nil), // 1080: google.cloud.compute.v1.ListUsableBackendServicesRequest + (*ListUsableRegionBackendServicesRequest)(nil), // 1081: google.cloud.compute.v1.ListUsableRegionBackendServicesRequest + (*ListUsableSubnetworksRequest)(nil), // 1082: google.cloud.compute.v1.ListUsableSubnetworksRequest + (*ListVpnGatewaysRequest)(nil), // 1083: google.cloud.compute.v1.ListVpnGatewaysRequest + (*ListVpnTunnelsRequest)(nil), // 1084: google.cloud.compute.v1.ListVpnTunnelsRequest + (*ListXpnHostsProjectsRequest)(nil), // 1085: google.cloud.compute.v1.ListXpnHostsProjectsRequest + (*ListZoneOperationsRequest)(nil), // 1086: google.cloud.compute.v1.ListZoneOperationsRequest + (*ListZonesRequest)(nil), // 1087: google.cloud.compute.v1.ListZonesRequest + (*LocalDisk)(nil), // 1088: google.cloud.compute.v1.LocalDisk + (*LocalizedMessage)(nil), // 1089: google.cloud.compute.v1.LocalizedMessage + (*LocationPolicy)(nil), // 1090: google.cloud.compute.v1.LocationPolicy + (*LocationPolicyLocation)(nil), // 1091: google.cloud.compute.v1.LocationPolicyLocation + (*LocationPolicyLocationConstraints)(nil), // 1092: google.cloud.compute.v1.LocationPolicyLocationConstraints + (*LogConfig)(nil), // 1093: google.cloud.compute.v1.LogConfig + (*LogConfigCloudAuditOptions)(nil), // 1094: google.cloud.compute.v1.LogConfigCloudAuditOptions + (*LogConfigCounterOptions)(nil), // 1095: google.cloud.compute.v1.LogConfigCounterOptions + (*LogConfigCounterOptionsCustomField)(nil), // 1096: google.cloud.compute.v1.LogConfigCounterOptionsCustomField + (*LogConfigDataAccessOptions)(nil), // 1097: google.cloud.compute.v1.LogConfigDataAccessOptions + (*MachineImage)(nil), // 1098: google.cloud.compute.v1.MachineImage + (*MachineImageList)(nil), // 1099: google.cloud.compute.v1.MachineImageList + (*MachineType)(nil), // 1100: google.cloud.compute.v1.MachineType + (*MachineTypeAggregatedList)(nil), // 1101: google.cloud.compute.v1.MachineTypeAggregatedList + (*MachineTypeList)(nil), // 1102: google.cloud.compute.v1.MachineTypeList + (*MachineTypesScopedList)(nil), // 1103: google.cloud.compute.v1.MachineTypesScopedList + (*ManagedInstance)(nil), // 1104: google.cloud.compute.v1.ManagedInstance + (*ManagedInstanceInstanceHealth)(nil), // 1105: google.cloud.compute.v1.ManagedInstanceInstanceHealth + (*ManagedInstanceLastAttempt)(nil), // 1106: google.cloud.compute.v1.ManagedInstanceLastAttempt + (*ManagedInstanceVersion)(nil), // 1107: google.cloud.compute.v1.ManagedInstanceVersion + (*Metadata)(nil), // 1108: google.cloud.compute.v1.Metadata + (*MetadataFilter)(nil), // 1109: google.cloud.compute.v1.MetadataFilter + (*MetadataFilterLabelMatch)(nil), // 1110: google.cloud.compute.v1.MetadataFilterLabelMatch + (*MoveAddressRequest)(nil), // 1111: google.cloud.compute.v1.MoveAddressRequest + (*MoveDiskProjectRequest)(nil), // 1112: google.cloud.compute.v1.MoveDiskProjectRequest + (*MoveFirewallPolicyRequest)(nil), // 1113: google.cloud.compute.v1.MoveFirewallPolicyRequest + (*MoveGlobalAddressRequest)(nil), // 1114: google.cloud.compute.v1.MoveGlobalAddressRequest + (*MoveInstanceProjectRequest)(nil), // 1115: google.cloud.compute.v1.MoveInstanceProjectRequest + (*NamedPort)(nil), // 1116: google.cloud.compute.v1.NamedPort + (*NatIpInfo)(nil), // 1117: google.cloud.compute.v1.NatIpInfo + (*NatIpInfoNatIpInfoMapping)(nil), // 1118: google.cloud.compute.v1.NatIpInfoNatIpInfoMapping + (*NatIpInfoResponse)(nil), // 1119: google.cloud.compute.v1.NatIpInfoResponse + (*Network)(nil), // 1120: google.cloud.compute.v1.Network + (*NetworkAttachment)(nil), // 1121: google.cloud.compute.v1.NetworkAttachment + (*NetworkAttachmentAggregatedList)(nil), // 1122: google.cloud.compute.v1.NetworkAttachmentAggregatedList + (*NetworkAttachmentConnectedEndpoint)(nil), // 1123: google.cloud.compute.v1.NetworkAttachmentConnectedEndpoint + (*NetworkAttachmentList)(nil), // 1124: google.cloud.compute.v1.NetworkAttachmentList + (*NetworkAttachmentsScopedList)(nil), // 1125: google.cloud.compute.v1.NetworkAttachmentsScopedList + (*NetworkEdgeSecurityService)(nil), // 1126: google.cloud.compute.v1.NetworkEdgeSecurityService + (*NetworkEdgeSecurityServiceAggregatedList)(nil), // 1127: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList + (*NetworkEdgeSecurityServicesScopedList)(nil), // 1128: google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList + (*NetworkEndpoint)(nil), // 1129: google.cloud.compute.v1.NetworkEndpoint + (*NetworkEndpointGroup)(nil), // 1130: google.cloud.compute.v1.NetworkEndpointGroup + (*NetworkEndpointGroupAggregatedList)(nil), // 1131: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList + (*NetworkEndpointGroupAppEngine)(nil), // 1132: google.cloud.compute.v1.NetworkEndpointGroupAppEngine + (*NetworkEndpointGroupCloudFunction)(nil), // 1133: google.cloud.compute.v1.NetworkEndpointGroupCloudFunction + (*NetworkEndpointGroupCloudRun)(nil), // 1134: google.cloud.compute.v1.NetworkEndpointGroupCloudRun + (*NetworkEndpointGroupList)(nil), // 1135: google.cloud.compute.v1.NetworkEndpointGroupList + (*NetworkEndpointGroupPscData)(nil), // 1136: google.cloud.compute.v1.NetworkEndpointGroupPscData + (*NetworkEndpointGroupsAttachEndpointsRequest)(nil), // 1137: google.cloud.compute.v1.NetworkEndpointGroupsAttachEndpointsRequest + (*NetworkEndpointGroupsDetachEndpointsRequest)(nil), // 1138: google.cloud.compute.v1.NetworkEndpointGroupsDetachEndpointsRequest + (*NetworkEndpointGroupsListEndpointsRequest)(nil), // 1139: google.cloud.compute.v1.NetworkEndpointGroupsListEndpointsRequest + (*NetworkEndpointGroupsListNetworkEndpoints)(nil), // 1140: google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints + (*NetworkEndpointGroupsScopedList)(nil), // 1141: google.cloud.compute.v1.NetworkEndpointGroupsScopedList + (*NetworkEndpointWithHealthStatus)(nil), // 1142: google.cloud.compute.v1.NetworkEndpointWithHealthStatus + (*NetworkInterface)(nil), // 1143: google.cloud.compute.v1.NetworkInterface + (*NetworkList)(nil), // 1144: google.cloud.compute.v1.NetworkList + (*NetworkPeering)(nil), // 1145: google.cloud.compute.v1.NetworkPeering + (*NetworkPerformanceConfig)(nil), // 1146: google.cloud.compute.v1.NetworkPerformanceConfig + (*NetworkRoutingConfig)(nil), // 1147: google.cloud.compute.v1.NetworkRoutingConfig + (*NetworksAddPeeringRequest)(nil), // 1148: google.cloud.compute.v1.NetworksAddPeeringRequest + (*NetworksGetEffectiveFirewallsResponse)(nil), // 1149: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse + (*NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy)(nil), // 1150: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy + (*NetworksRemovePeeringRequest)(nil), // 1151: google.cloud.compute.v1.NetworksRemovePeeringRequest + (*NetworksUpdatePeeringRequest)(nil), // 1152: google.cloud.compute.v1.NetworksUpdatePeeringRequest + (*NodeGroup)(nil), // 1153: google.cloud.compute.v1.NodeGroup + (*NodeGroupAggregatedList)(nil), // 1154: google.cloud.compute.v1.NodeGroupAggregatedList + (*NodeGroupAutoscalingPolicy)(nil), // 1155: google.cloud.compute.v1.NodeGroupAutoscalingPolicy + (*NodeGroupList)(nil), // 1156: google.cloud.compute.v1.NodeGroupList + (*NodeGroupMaintenanceWindow)(nil), // 1157: google.cloud.compute.v1.NodeGroupMaintenanceWindow + (*NodeGroupNode)(nil), // 1158: google.cloud.compute.v1.NodeGroupNode + (*NodeGroupsAddNodesRequest)(nil), // 1159: google.cloud.compute.v1.NodeGroupsAddNodesRequest + (*NodeGroupsDeleteNodesRequest)(nil), // 1160: google.cloud.compute.v1.NodeGroupsDeleteNodesRequest + (*NodeGroupsListNodes)(nil), // 1161: google.cloud.compute.v1.NodeGroupsListNodes + (*NodeGroupsScopedList)(nil), // 1162: google.cloud.compute.v1.NodeGroupsScopedList + (*NodeGroupsSetNodeTemplateRequest)(nil), // 1163: google.cloud.compute.v1.NodeGroupsSetNodeTemplateRequest + (*NodeGroupsSimulateMaintenanceEventRequest)(nil), // 1164: google.cloud.compute.v1.NodeGroupsSimulateMaintenanceEventRequest + (*NodeTemplate)(nil), // 1165: google.cloud.compute.v1.NodeTemplate + (*NodeTemplateAggregatedList)(nil), // 1166: google.cloud.compute.v1.NodeTemplateAggregatedList + (*NodeTemplateList)(nil), // 1167: google.cloud.compute.v1.NodeTemplateList + (*NodeTemplateNodeTypeFlexibility)(nil), // 1168: google.cloud.compute.v1.NodeTemplateNodeTypeFlexibility + (*NodeTemplatesScopedList)(nil), // 1169: google.cloud.compute.v1.NodeTemplatesScopedList + (*NodeType)(nil), // 1170: google.cloud.compute.v1.NodeType + (*NodeTypeAggregatedList)(nil), // 1171: google.cloud.compute.v1.NodeTypeAggregatedList + (*NodeTypeList)(nil), // 1172: google.cloud.compute.v1.NodeTypeList + (*NodeTypesScopedList)(nil), // 1173: google.cloud.compute.v1.NodeTypesScopedList + (*NotificationEndpoint)(nil), // 1174: google.cloud.compute.v1.NotificationEndpoint + (*NotificationEndpointGrpcSettings)(nil), // 1175: google.cloud.compute.v1.NotificationEndpointGrpcSettings + (*NotificationEndpointList)(nil), // 1176: google.cloud.compute.v1.NotificationEndpointList + (*Operation)(nil), // 1177: google.cloud.compute.v1.Operation + (*OperationAggregatedList)(nil), // 1178: google.cloud.compute.v1.OperationAggregatedList + (*OperationList)(nil), // 1179: google.cloud.compute.v1.OperationList + (*OperationsScopedList)(nil), // 1180: google.cloud.compute.v1.OperationsScopedList + (*OutlierDetection)(nil), // 1181: google.cloud.compute.v1.OutlierDetection + (*PacketIntervals)(nil), // 1182: google.cloud.compute.v1.PacketIntervals + (*PacketMirroring)(nil), // 1183: google.cloud.compute.v1.PacketMirroring + (*PacketMirroringAggregatedList)(nil), // 1184: google.cloud.compute.v1.PacketMirroringAggregatedList + (*PacketMirroringFilter)(nil), // 1185: google.cloud.compute.v1.PacketMirroringFilter + (*PacketMirroringForwardingRuleInfo)(nil), // 1186: google.cloud.compute.v1.PacketMirroringForwardingRuleInfo + (*PacketMirroringList)(nil), // 1187: google.cloud.compute.v1.PacketMirroringList + (*PacketMirroringMirroredResourceInfo)(nil), // 1188: google.cloud.compute.v1.PacketMirroringMirroredResourceInfo + (*PacketMirroringMirroredResourceInfoInstanceInfo)(nil), // 1189: google.cloud.compute.v1.PacketMirroringMirroredResourceInfoInstanceInfo + (*PacketMirroringMirroredResourceInfoSubnetInfo)(nil), // 1190: google.cloud.compute.v1.PacketMirroringMirroredResourceInfoSubnetInfo + (*PacketMirroringNetworkInfo)(nil), // 1191: google.cloud.compute.v1.PacketMirroringNetworkInfo + (*PacketMirroringsScopedList)(nil), // 1192: google.cloud.compute.v1.PacketMirroringsScopedList + (*PatchAutoscalerRequest)(nil), // 1193: google.cloud.compute.v1.PatchAutoscalerRequest + (*PatchBackendBucketRequest)(nil), // 1194: google.cloud.compute.v1.PatchBackendBucketRequest + (*PatchBackendServiceRequest)(nil), // 1195: google.cloud.compute.v1.PatchBackendServiceRequest + (*PatchFirewallPolicyRequest)(nil), // 1196: google.cloud.compute.v1.PatchFirewallPolicyRequest + (*PatchFirewallRequest)(nil), // 1197: google.cloud.compute.v1.PatchFirewallRequest + (*PatchForwardingRuleRequest)(nil), // 1198: google.cloud.compute.v1.PatchForwardingRuleRequest + (*PatchGlobalForwardingRuleRequest)(nil), // 1199: google.cloud.compute.v1.PatchGlobalForwardingRuleRequest + (*PatchGlobalPublicDelegatedPrefixeRequest)(nil), // 1200: google.cloud.compute.v1.PatchGlobalPublicDelegatedPrefixeRequest + (*PatchHealthCheckRequest)(nil), // 1201: google.cloud.compute.v1.PatchHealthCheckRequest + (*PatchImageRequest)(nil), // 1202: google.cloud.compute.v1.PatchImageRequest + (*PatchInstanceGroupManagerRequest)(nil), // 1203: google.cloud.compute.v1.PatchInstanceGroupManagerRequest + (*PatchInterconnectAttachmentRequest)(nil), // 1204: google.cloud.compute.v1.PatchInterconnectAttachmentRequest + (*PatchInterconnectRequest)(nil), // 1205: google.cloud.compute.v1.PatchInterconnectRequest + (*PatchNetworkAttachmentRequest)(nil), // 1206: google.cloud.compute.v1.PatchNetworkAttachmentRequest + (*PatchNetworkEdgeSecurityServiceRequest)(nil), // 1207: google.cloud.compute.v1.PatchNetworkEdgeSecurityServiceRequest + (*PatchNetworkFirewallPolicyRequest)(nil), // 1208: google.cloud.compute.v1.PatchNetworkFirewallPolicyRequest + (*PatchNetworkRequest)(nil), // 1209: google.cloud.compute.v1.PatchNetworkRequest + (*PatchNodeGroupRequest)(nil), // 1210: google.cloud.compute.v1.PatchNodeGroupRequest + (*PatchPacketMirroringRequest)(nil), // 1211: google.cloud.compute.v1.PatchPacketMirroringRequest + (*PatchPerInstanceConfigsInstanceGroupManagerRequest)(nil), // 1212: google.cloud.compute.v1.PatchPerInstanceConfigsInstanceGroupManagerRequest + (*PatchPerInstanceConfigsRegionInstanceGroupManagerRequest)(nil), // 1213: google.cloud.compute.v1.PatchPerInstanceConfigsRegionInstanceGroupManagerRequest + (*PatchPublicAdvertisedPrefixeRequest)(nil), // 1214: google.cloud.compute.v1.PatchPublicAdvertisedPrefixeRequest + (*PatchPublicDelegatedPrefixeRequest)(nil), // 1215: google.cloud.compute.v1.PatchPublicDelegatedPrefixeRequest + (*PatchRegionAutoscalerRequest)(nil), // 1216: google.cloud.compute.v1.PatchRegionAutoscalerRequest + (*PatchRegionBackendServiceRequest)(nil), // 1217: google.cloud.compute.v1.PatchRegionBackendServiceRequest + (*PatchRegionHealthCheckRequest)(nil), // 1218: google.cloud.compute.v1.PatchRegionHealthCheckRequest + (*PatchRegionHealthCheckServiceRequest)(nil), // 1219: google.cloud.compute.v1.PatchRegionHealthCheckServiceRequest + (*PatchRegionInstanceGroupManagerRequest)(nil), // 1220: google.cloud.compute.v1.PatchRegionInstanceGroupManagerRequest + (*PatchRegionNetworkFirewallPolicyRequest)(nil), // 1221: google.cloud.compute.v1.PatchRegionNetworkFirewallPolicyRequest + (*PatchRegionSecurityPolicyRequest)(nil), // 1222: google.cloud.compute.v1.PatchRegionSecurityPolicyRequest + (*PatchRegionSslPolicyRequest)(nil), // 1223: google.cloud.compute.v1.PatchRegionSslPolicyRequest + (*PatchRegionTargetHttpsProxyRequest)(nil), // 1224: google.cloud.compute.v1.PatchRegionTargetHttpsProxyRequest + (*PatchRegionUrlMapRequest)(nil), // 1225: google.cloud.compute.v1.PatchRegionUrlMapRequest + (*PatchResourcePolicyRequest)(nil), // 1226: google.cloud.compute.v1.PatchResourcePolicyRequest + (*PatchRouterRequest)(nil), // 1227: google.cloud.compute.v1.PatchRouterRequest + (*PatchRuleFirewallPolicyRequest)(nil), // 1228: google.cloud.compute.v1.PatchRuleFirewallPolicyRequest + (*PatchRuleNetworkFirewallPolicyRequest)(nil), // 1229: google.cloud.compute.v1.PatchRuleNetworkFirewallPolicyRequest + (*PatchRuleRegionNetworkFirewallPolicyRequest)(nil), // 1230: google.cloud.compute.v1.PatchRuleRegionNetworkFirewallPolicyRequest + (*PatchRuleRegionSecurityPolicyRequest)(nil), // 1231: google.cloud.compute.v1.PatchRuleRegionSecurityPolicyRequest + (*PatchRuleSecurityPolicyRequest)(nil), // 1232: google.cloud.compute.v1.PatchRuleSecurityPolicyRequest + (*PatchSecurityPolicyRequest)(nil), // 1233: google.cloud.compute.v1.PatchSecurityPolicyRequest + (*PatchServiceAttachmentRequest)(nil), // 1234: google.cloud.compute.v1.PatchServiceAttachmentRequest + (*PatchSnapshotSettingRequest)(nil), // 1235: google.cloud.compute.v1.PatchSnapshotSettingRequest + (*PatchSslPolicyRequest)(nil), // 1236: google.cloud.compute.v1.PatchSslPolicyRequest + (*PatchSubnetworkRequest)(nil), // 1237: google.cloud.compute.v1.PatchSubnetworkRequest + (*PatchTargetGrpcProxyRequest)(nil), // 1238: google.cloud.compute.v1.PatchTargetGrpcProxyRequest + (*PatchTargetHttpProxyRequest)(nil), // 1239: google.cloud.compute.v1.PatchTargetHttpProxyRequest + (*PatchTargetHttpsProxyRequest)(nil), // 1240: google.cloud.compute.v1.PatchTargetHttpsProxyRequest + (*PatchUrlMapRequest)(nil), // 1241: google.cloud.compute.v1.PatchUrlMapRequest + (*PathMatcher)(nil), // 1242: google.cloud.compute.v1.PathMatcher + (*PathRule)(nil), // 1243: google.cloud.compute.v1.PathRule + (*PerInstanceConfig)(nil), // 1244: google.cloud.compute.v1.PerInstanceConfig + (*Policy)(nil), // 1245: google.cloud.compute.v1.Policy + (*PreconfiguredWafSet)(nil), // 1246: google.cloud.compute.v1.PreconfiguredWafSet + (*PreservedState)(nil), // 1247: google.cloud.compute.v1.PreservedState + (*PreservedStatePreservedDisk)(nil), // 1248: google.cloud.compute.v1.PreservedStatePreservedDisk + (*PreservedStatePreservedNetworkIp)(nil), // 1249: google.cloud.compute.v1.PreservedStatePreservedNetworkIp + (*PreservedStatePreservedNetworkIpIpAddress)(nil), // 1250: google.cloud.compute.v1.PreservedStatePreservedNetworkIpIpAddress + (*PreviewRouterRequest)(nil), // 1251: google.cloud.compute.v1.PreviewRouterRequest + (*Project)(nil), // 1252: google.cloud.compute.v1.Project + (*ProjectsDisableXpnResourceRequest)(nil), // 1253: google.cloud.compute.v1.ProjectsDisableXpnResourceRequest + (*ProjectsEnableXpnResourceRequest)(nil), // 1254: google.cloud.compute.v1.ProjectsEnableXpnResourceRequest + (*ProjectsGetXpnResources)(nil), // 1255: google.cloud.compute.v1.ProjectsGetXpnResources + (*ProjectsListXpnHostsRequest)(nil), // 1256: google.cloud.compute.v1.ProjectsListXpnHostsRequest + (*ProjectsSetDefaultNetworkTierRequest)(nil), // 1257: google.cloud.compute.v1.ProjectsSetDefaultNetworkTierRequest + (*PublicAdvertisedPrefix)(nil), // 1258: google.cloud.compute.v1.PublicAdvertisedPrefix + (*PublicAdvertisedPrefixList)(nil), // 1259: google.cloud.compute.v1.PublicAdvertisedPrefixList + (*PublicAdvertisedPrefixPublicDelegatedPrefix)(nil), // 1260: google.cloud.compute.v1.PublicAdvertisedPrefixPublicDelegatedPrefix + (*PublicDelegatedPrefix)(nil), // 1261: google.cloud.compute.v1.PublicDelegatedPrefix + (*PublicDelegatedPrefixAggregatedList)(nil), // 1262: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList + (*PublicDelegatedPrefixList)(nil), // 1263: google.cloud.compute.v1.PublicDelegatedPrefixList + (*PublicDelegatedPrefixPublicDelegatedSubPrefix)(nil), // 1264: google.cloud.compute.v1.PublicDelegatedPrefixPublicDelegatedSubPrefix + (*PublicDelegatedPrefixesScopedList)(nil), // 1265: google.cloud.compute.v1.PublicDelegatedPrefixesScopedList + (*Quota)(nil), // 1266: google.cloud.compute.v1.Quota + (*QuotaExceededInfo)(nil), // 1267: google.cloud.compute.v1.QuotaExceededInfo + (*RawDisk)(nil), // 1268: google.cloud.compute.v1.RawDisk + (*RecreateInstancesInstanceGroupManagerRequest)(nil), // 1269: google.cloud.compute.v1.RecreateInstancesInstanceGroupManagerRequest + (*RecreateInstancesRegionInstanceGroupManagerRequest)(nil), // 1270: google.cloud.compute.v1.RecreateInstancesRegionInstanceGroupManagerRequest + (*Reference)(nil), // 1271: google.cloud.compute.v1.Reference + (*Region)(nil), // 1272: google.cloud.compute.v1.Region + (*RegionAddressesMoveRequest)(nil), // 1273: google.cloud.compute.v1.RegionAddressesMoveRequest + (*RegionAutoscalerList)(nil), // 1274: google.cloud.compute.v1.RegionAutoscalerList + (*RegionDiskTypeList)(nil), // 1275: google.cloud.compute.v1.RegionDiskTypeList + (*RegionDisksAddResourcePoliciesRequest)(nil), // 1276: google.cloud.compute.v1.RegionDisksAddResourcePoliciesRequest + (*RegionDisksRemoveResourcePoliciesRequest)(nil), // 1277: google.cloud.compute.v1.RegionDisksRemoveResourcePoliciesRequest + (*RegionDisksResizeRequest)(nil), // 1278: google.cloud.compute.v1.RegionDisksResizeRequest + (*RegionDisksStartAsyncReplicationRequest)(nil), // 1279: google.cloud.compute.v1.RegionDisksStartAsyncReplicationRequest + (*RegionInstanceGroupList)(nil), // 1280: google.cloud.compute.v1.RegionInstanceGroupList + (*RegionInstanceGroupManagerDeleteInstanceConfigReq)(nil), // 1281: google.cloud.compute.v1.RegionInstanceGroupManagerDeleteInstanceConfigReq + (*RegionInstanceGroupManagerList)(nil), // 1282: google.cloud.compute.v1.RegionInstanceGroupManagerList + (*RegionInstanceGroupManagerPatchInstanceConfigReq)(nil), // 1283: google.cloud.compute.v1.RegionInstanceGroupManagerPatchInstanceConfigReq + (*RegionInstanceGroupManagerUpdateInstanceConfigReq)(nil), // 1284: google.cloud.compute.v1.RegionInstanceGroupManagerUpdateInstanceConfigReq + (*RegionInstanceGroupManagersAbandonInstancesRequest)(nil), // 1285: google.cloud.compute.v1.RegionInstanceGroupManagersAbandonInstancesRequest + (*RegionInstanceGroupManagersApplyUpdatesRequest)(nil), // 1286: google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest + (*RegionInstanceGroupManagersCreateInstancesRequest)(nil), // 1287: google.cloud.compute.v1.RegionInstanceGroupManagersCreateInstancesRequest + (*RegionInstanceGroupManagersDeleteInstancesRequest)(nil), // 1288: google.cloud.compute.v1.RegionInstanceGroupManagersDeleteInstancesRequest + (*RegionInstanceGroupManagersListErrorsResponse)(nil), // 1289: google.cloud.compute.v1.RegionInstanceGroupManagersListErrorsResponse + (*RegionInstanceGroupManagersListInstanceConfigsResp)(nil), // 1290: google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp + (*RegionInstanceGroupManagersListInstancesResponse)(nil), // 1291: google.cloud.compute.v1.RegionInstanceGroupManagersListInstancesResponse + (*RegionInstanceGroupManagersRecreateRequest)(nil), // 1292: google.cloud.compute.v1.RegionInstanceGroupManagersRecreateRequest + (*RegionInstanceGroupManagersSetTargetPoolsRequest)(nil), // 1293: google.cloud.compute.v1.RegionInstanceGroupManagersSetTargetPoolsRequest + (*RegionInstanceGroupManagersSetTemplateRequest)(nil), // 1294: google.cloud.compute.v1.RegionInstanceGroupManagersSetTemplateRequest + (*RegionInstanceGroupsListInstances)(nil), // 1295: google.cloud.compute.v1.RegionInstanceGroupsListInstances + (*RegionInstanceGroupsListInstancesRequest)(nil), // 1296: google.cloud.compute.v1.RegionInstanceGroupsListInstancesRequest + (*RegionInstanceGroupsSetNamedPortsRequest)(nil), // 1297: google.cloud.compute.v1.RegionInstanceGroupsSetNamedPortsRequest + (*RegionList)(nil), // 1298: google.cloud.compute.v1.RegionList + (*RegionNetworkEndpointGroupsAttachEndpointsRequest)(nil), // 1299: google.cloud.compute.v1.RegionNetworkEndpointGroupsAttachEndpointsRequest + (*RegionNetworkEndpointGroupsDetachEndpointsRequest)(nil), // 1300: google.cloud.compute.v1.RegionNetworkEndpointGroupsDetachEndpointsRequest + (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse)(nil), // 1301: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse + (*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy)(nil), // 1302: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy + (*RegionSetLabelsRequest)(nil), // 1303: google.cloud.compute.v1.RegionSetLabelsRequest + (*RegionSetPolicyRequest)(nil), // 1304: google.cloud.compute.v1.RegionSetPolicyRequest + (*RegionTargetHttpsProxiesSetSslCertificatesRequest)(nil), // 1305: google.cloud.compute.v1.RegionTargetHttpsProxiesSetSslCertificatesRequest + (*RegionUrlMapsValidateRequest)(nil), // 1306: google.cloud.compute.v1.RegionUrlMapsValidateRequest + (*RemoveAssociationFirewallPolicyRequest)(nil), // 1307: google.cloud.compute.v1.RemoveAssociationFirewallPolicyRequest + (*RemoveAssociationNetworkFirewallPolicyRequest)(nil), // 1308: google.cloud.compute.v1.RemoveAssociationNetworkFirewallPolicyRequest + (*RemoveAssociationRegionNetworkFirewallPolicyRequest)(nil), // 1309: google.cloud.compute.v1.RemoveAssociationRegionNetworkFirewallPolicyRequest + (*RemoveHealthCheckTargetPoolRequest)(nil), // 1310: google.cloud.compute.v1.RemoveHealthCheckTargetPoolRequest + (*RemoveInstanceTargetPoolRequest)(nil), // 1311: google.cloud.compute.v1.RemoveInstanceTargetPoolRequest + (*RemoveInstancesInstanceGroupRequest)(nil), // 1312: google.cloud.compute.v1.RemoveInstancesInstanceGroupRequest + (*RemovePeeringNetworkRequest)(nil), // 1313: google.cloud.compute.v1.RemovePeeringNetworkRequest + (*RemoveResourcePoliciesDiskRequest)(nil), // 1314: google.cloud.compute.v1.RemoveResourcePoliciesDiskRequest + (*RemoveResourcePoliciesInstanceRequest)(nil), // 1315: google.cloud.compute.v1.RemoveResourcePoliciesInstanceRequest + (*RemoveResourcePoliciesRegionDiskRequest)(nil), // 1316: google.cloud.compute.v1.RemoveResourcePoliciesRegionDiskRequest + (*RemoveRuleFirewallPolicyRequest)(nil), // 1317: google.cloud.compute.v1.RemoveRuleFirewallPolicyRequest + (*RemoveRuleNetworkFirewallPolicyRequest)(nil), // 1318: google.cloud.compute.v1.RemoveRuleNetworkFirewallPolicyRequest + (*RemoveRuleRegionNetworkFirewallPolicyRequest)(nil), // 1319: google.cloud.compute.v1.RemoveRuleRegionNetworkFirewallPolicyRequest + (*RemoveRuleRegionSecurityPolicyRequest)(nil), // 1320: google.cloud.compute.v1.RemoveRuleRegionSecurityPolicyRequest + (*RemoveRuleSecurityPolicyRequest)(nil), // 1321: google.cloud.compute.v1.RemoveRuleSecurityPolicyRequest + (*RequestMirrorPolicy)(nil), // 1322: google.cloud.compute.v1.RequestMirrorPolicy + (*Reservation)(nil), // 1323: google.cloud.compute.v1.Reservation + (*ReservationAffinity)(nil), // 1324: google.cloud.compute.v1.ReservationAffinity + (*ReservationAggregatedList)(nil), // 1325: google.cloud.compute.v1.ReservationAggregatedList + (*ReservationList)(nil), // 1326: google.cloud.compute.v1.ReservationList + (*ReservationsResizeRequest)(nil), // 1327: google.cloud.compute.v1.ReservationsResizeRequest + (*ReservationsScopedList)(nil), // 1328: google.cloud.compute.v1.ReservationsScopedList + (*ResetInstanceRequest)(nil), // 1329: google.cloud.compute.v1.ResetInstanceRequest + (*ResizeDiskRequest)(nil), // 1330: google.cloud.compute.v1.ResizeDiskRequest + (*ResizeInstanceGroupManagerRequest)(nil), // 1331: google.cloud.compute.v1.ResizeInstanceGroupManagerRequest + (*ResizeRegionDiskRequest)(nil), // 1332: google.cloud.compute.v1.ResizeRegionDiskRequest + (*ResizeRegionInstanceGroupManagerRequest)(nil), // 1333: google.cloud.compute.v1.ResizeRegionInstanceGroupManagerRequest + (*ResizeReservationRequest)(nil), // 1334: google.cloud.compute.v1.ResizeReservationRequest + (*ResourceCommitment)(nil), // 1335: google.cloud.compute.v1.ResourceCommitment + (*ResourceGroupReference)(nil), // 1336: google.cloud.compute.v1.ResourceGroupReference + (*ResourcePoliciesScopedList)(nil), // 1337: google.cloud.compute.v1.ResourcePoliciesScopedList + (*ResourcePolicy)(nil), // 1338: google.cloud.compute.v1.ResourcePolicy + (*ResourcePolicyAggregatedList)(nil), // 1339: google.cloud.compute.v1.ResourcePolicyAggregatedList + (*ResourcePolicyDailyCycle)(nil), // 1340: google.cloud.compute.v1.ResourcePolicyDailyCycle + (*ResourcePolicyDiskConsistencyGroupPolicy)(nil), // 1341: google.cloud.compute.v1.ResourcePolicyDiskConsistencyGroupPolicy + (*ResourcePolicyGroupPlacementPolicy)(nil), // 1342: google.cloud.compute.v1.ResourcePolicyGroupPlacementPolicy + (*ResourcePolicyHourlyCycle)(nil), // 1343: google.cloud.compute.v1.ResourcePolicyHourlyCycle + (*ResourcePolicyInstanceSchedulePolicy)(nil), // 1344: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy + (*ResourcePolicyInstanceSchedulePolicySchedule)(nil), // 1345: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicySchedule + (*ResourcePolicyList)(nil), // 1346: google.cloud.compute.v1.ResourcePolicyList + (*ResourcePolicyResourceStatus)(nil), // 1347: google.cloud.compute.v1.ResourcePolicyResourceStatus + (*ResourcePolicyResourceStatusInstanceSchedulePolicyStatus)(nil), // 1348: google.cloud.compute.v1.ResourcePolicyResourceStatusInstanceSchedulePolicyStatus + (*ResourcePolicySnapshotSchedulePolicy)(nil), // 1349: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy + (*ResourcePolicySnapshotSchedulePolicyRetentionPolicy)(nil), // 1350: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicyRetentionPolicy + (*ResourcePolicySnapshotSchedulePolicySchedule)(nil), // 1351: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule + (*ResourcePolicySnapshotSchedulePolicySnapshotProperties)(nil), // 1352: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties + (*ResourcePolicyWeeklyCycle)(nil), // 1353: google.cloud.compute.v1.ResourcePolicyWeeklyCycle + (*ResourcePolicyWeeklyCycleDayOfWeek)(nil), // 1354: google.cloud.compute.v1.ResourcePolicyWeeklyCycleDayOfWeek + (*ResourceStatus)(nil), // 1355: google.cloud.compute.v1.ResourceStatus + (*ResumeInstanceRequest)(nil), // 1356: google.cloud.compute.v1.ResumeInstanceRequest + (*Route)(nil), // 1357: google.cloud.compute.v1.Route + (*RouteAsPath)(nil), // 1358: google.cloud.compute.v1.RouteAsPath + (*RouteList)(nil), // 1359: google.cloud.compute.v1.RouteList + (*Router)(nil), // 1360: google.cloud.compute.v1.Router + (*RouterAdvertisedIpRange)(nil), // 1361: google.cloud.compute.v1.RouterAdvertisedIpRange + (*RouterAggregatedList)(nil), // 1362: google.cloud.compute.v1.RouterAggregatedList + (*RouterBgp)(nil), // 1363: google.cloud.compute.v1.RouterBgp + (*RouterBgpPeer)(nil), // 1364: google.cloud.compute.v1.RouterBgpPeer + (*RouterBgpPeerBfd)(nil), // 1365: google.cloud.compute.v1.RouterBgpPeerBfd + (*RouterBgpPeerCustomLearnedIpRange)(nil), // 1366: google.cloud.compute.v1.RouterBgpPeerCustomLearnedIpRange + (*RouterInterface)(nil), // 1367: google.cloud.compute.v1.RouterInterface + (*RouterList)(nil), // 1368: google.cloud.compute.v1.RouterList + (*RouterMd5AuthenticationKey)(nil), // 1369: google.cloud.compute.v1.RouterMd5AuthenticationKey + (*RouterNat)(nil), // 1370: google.cloud.compute.v1.RouterNat + (*RouterNatLogConfig)(nil), // 1371: google.cloud.compute.v1.RouterNatLogConfig + (*RouterNatRule)(nil), // 1372: google.cloud.compute.v1.RouterNatRule + (*RouterNatRuleAction)(nil), // 1373: google.cloud.compute.v1.RouterNatRuleAction + (*RouterNatSubnetworkToNat)(nil), // 1374: google.cloud.compute.v1.RouterNatSubnetworkToNat + (*RouterStatus)(nil), // 1375: google.cloud.compute.v1.RouterStatus + (*RouterStatusBgpPeerStatus)(nil), // 1376: google.cloud.compute.v1.RouterStatusBgpPeerStatus + (*RouterStatusNatStatus)(nil), // 1377: google.cloud.compute.v1.RouterStatusNatStatus + (*RouterStatusNatStatusNatRuleStatus)(nil), // 1378: google.cloud.compute.v1.RouterStatusNatStatusNatRuleStatus + (*RouterStatusResponse)(nil), // 1379: google.cloud.compute.v1.RouterStatusResponse + (*RoutersPreviewResponse)(nil), // 1380: google.cloud.compute.v1.RoutersPreviewResponse + (*RoutersScopedList)(nil), // 1381: google.cloud.compute.v1.RoutersScopedList + (*Rule)(nil), // 1382: google.cloud.compute.v1.Rule + (*SSLHealthCheck)(nil), // 1383: google.cloud.compute.v1.SSLHealthCheck + (*SavedAttachedDisk)(nil), // 1384: google.cloud.compute.v1.SavedAttachedDisk + (*SavedDisk)(nil), // 1385: google.cloud.compute.v1.SavedDisk + (*ScalingScheduleStatus)(nil), // 1386: google.cloud.compute.v1.ScalingScheduleStatus + (*Scheduling)(nil), // 1387: google.cloud.compute.v1.Scheduling + (*SchedulingNodeAffinity)(nil), // 1388: google.cloud.compute.v1.SchedulingNodeAffinity + (*ScratchDisks)(nil), // 1389: google.cloud.compute.v1.ScratchDisks + (*Screenshot)(nil), // 1390: google.cloud.compute.v1.Screenshot + (*SecurityPoliciesAggregatedList)(nil), // 1391: google.cloud.compute.v1.SecurityPoliciesAggregatedList + (*SecurityPoliciesListPreconfiguredExpressionSetsResponse)(nil), // 1392: google.cloud.compute.v1.SecurityPoliciesListPreconfiguredExpressionSetsResponse + (*SecurityPoliciesScopedList)(nil), // 1393: google.cloud.compute.v1.SecurityPoliciesScopedList + (*SecurityPoliciesWafConfig)(nil), // 1394: google.cloud.compute.v1.SecurityPoliciesWafConfig + (*SecurityPolicy)(nil), // 1395: google.cloud.compute.v1.SecurityPolicy + (*SecurityPolicyAdaptiveProtectionConfig)(nil), // 1396: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig + (*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig)(nil), // 1397: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig + (*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig)(nil), // 1398: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig + (*SecurityPolicyAdvancedOptionsConfig)(nil), // 1399: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig + (*SecurityPolicyAdvancedOptionsConfigJsonCustomConfig)(nil), // 1400: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig + (*SecurityPolicyDdosProtectionConfig)(nil), // 1401: google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig + (*SecurityPolicyList)(nil), // 1402: google.cloud.compute.v1.SecurityPolicyList + (*SecurityPolicyRecaptchaOptionsConfig)(nil), // 1403: google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig + (*SecurityPolicyReference)(nil), // 1404: google.cloud.compute.v1.SecurityPolicyReference + (*SecurityPolicyRule)(nil), // 1405: google.cloud.compute.v1.SecurityPolicyRule + (*SecurityPolicyRuleHttpHeaderAction)(nil), // 1406: google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction + (*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption)(nil), // 1407: google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderActionHttpHeaderOption + (*SecurityPolicyRuleMatcher)(nil), // 1408: google.cloud.compute.v1.SecurityPolicyRuleMatcher + (*SecurityPolicyRuleMatcherConfig)(nil), // 1409: google.cloud.compute.v1.SecurityPolicyRuleMatcherConfig + (*SecurityPolicyRuleNetworkMatcher)(nil), // 1410: google.cloud.compute.v1.SecurityPolicyRuleNetworkMatcher + (*SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch)(nil), // 1411: google.cloud.compute.v1.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch + (*SecurityPolicyRulePreconfiguredWafConfig)(nil), // 1412: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig + (*SecurityPolicyRulePreconfiguredWafConfigExclusion)(nil), // 1413: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion + (*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams)(nil), // 1414: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams + (*SecurityPolicyRuleRateLimitOptions)(nil), // 1415: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions + (*SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig)(nil), // 1416: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig + (*SecurityPolicyRuleRateLimitOptionsThreshold)(nil), // 1417: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsThreshold + (*SecurityPolicyRuleRedirectOptions)(nil), // 1418: google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions + (*SecurityPolicyUserDefinedField)(nil), // 1419: google.cloud.compute.v1.SecurityPolicyUserDefinedField + (*SecuritySettings)(nil), // 1420: google.cloud.compute.v1.SecuritySettings + (*SendDiagnosticInterruptInstanceRequest)(nil), // 1421: google.cloud.compute.v1.SendDiagnosticInterruptInstanceRequest + (*SendDiagnosticInterruptInstanceResponse)(nil), // 1422: google.cloud.compute.v1.SendDiagnosticInterruptInstanceResponse + (*SerialPortOutput)(nil), // 1423: google.cloud.compute.v1.SerialPortOutput + (*ServerBinding)(nil), // 1424: google.cloud.compute.v1.ServerBinding + (*ServiceAccount)(nil), // 1425: google.cloud.compute.v1.ServiceAccount + (*ServiceAttachment)(nil), // 1426: google.cloud.compute.v1.ServiceAttachment + (*ServiceAttachmentAggregatedList)(nil), // 1427: google.cloud.compute.v1.ServiceAttachmentAggregatedList + (*ServiceAttachmentConnectedEndpoint)(nil), // 1428: google.cloud.compute.v1.ServiceAttachmentConnectedEndpoint + (*ServiceAttachmentConsumerProjectLimit)(nil), // 1429: google.cloud.compute.v1.ServiceAttachmentConsumerProjectLimit + (*ServiceAttachmentList)(nil), // 1430: google.cloud.compute.v1.ServiceAttachmentList + (*ServiceAttachmentsScopedList)(nil), // 1431: google.cloud.compute.v1.ServiceAttachmentsScopedList + (*SetBackendServiceTargetSslProxyRequest)(nil), // 1432: google.cloud.compute.v1.SetBackendServiceTargetSslProxyRequest + (*SetBackendServiceTargetTcpProxyRequest)(nil), // 1433: google.cloud.compute.v1.SetBackendServiceTargetTcpProxyRequest + (*SetBackupTargetPoolRequest)(nil), // 1434: google.cloud.compute.v1.SetBackupTargetPoolRequest + (*SetCertificateMapTargetHttpsProxyRequest)(nil), // 1435: google.cloud.compute.v1.SetCertificateMapTargetHttpsProxyRequest + (*SetCertificateMapTargetSslProxyRequest)(nil), // 1436: google.cloud.compute.v1.SetCertificateMapTargetSslProxyRequest + (*SetCommonInstanceMetadataOperationMetadata)(nil), // 1437: google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadata + (*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo)(nil), // 1438: google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo + (*SetCommonInstanceMetadataProjectRequest)(nil), // 1439: google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest + (*SetDefaultNetworkTierProjectRequest)(nil), // 1440: google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest + (*SetDeletionProtectionInstanceRequest)(nil), // 1441: google.cloud.compute.v1.SetDeletionProtectionInstanceRequest + (*SetDiskAutoDeleteInstanceRequest)(nil), // 1442: google.cloud.compute.v1.SetDiskAutoDeleteInstanceRequest + (*SetEdgeSecurityPolicyBackendBucketRequest)(nil), // 1443: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest + (*SetEdgeSecurityPolicyBackendServiceRequest)(nil), // 1444: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest + (*SetIamPolicyBackendBucketRequest)(nil), // 1445: google.cloud.compute.v1.SetIamPolicyBackendBucketRequest + (*SetIamPolicyBackendServiceRequest)(nil), // 1446: google.cloud.compute.v1.SetIamPolicyBackendServiceRequest + (*SetIamPolicyDiskRequest)(nil), // 1447: google.cloud.compute.v1.SetIamPolicyDiskRequest + (*SetIamPolicyFirewallPolicyRequest)(nil), // 1448: google.cloud.compute.v1.SetIamPolicyFirewallPolicyRequest + (*SetIamPolicyImageRequest)(nil), // 1449: google.cloud.compute.v1.SetIamPolicyImageRequest + (*SetIamPolicyInstanceRequest)(nil), // 1450: google.cloud.compute.v1.SetIamPolicyInstanceRequest + (*SetIamPolicyInstanceTemplateRequest)(nil), // 1451: google.cloud.compute.v1.SetIamPolicyInstanceTemplateRequest + (*SetIamPolicyLicenseRequest)(nil), // 1452: google.cloud.compute.v1.SetIamPolicyLicenseRequest + (*SetIamPolicyMachineImageRequest)(nil), // 1453: google.cloud.compute.v1.SetIamPolicyMachineImageRequest + (*SetIamPolicyNetworkAttachmentRequest)(nil), // 1454: google.cloud.compute.v1.SetIamPolicyNetworkAttachmentRequest + (*SetIamPolicyNetworkFirewallPolicyRequest)(nil), // 1455: google.cloud.compute.v1.SetIamPolicyNetworkFirewallPolicyRequest + (*SetIamPolicyNodeGroupRequest)(nil), // 1456: google.cloud.compute.v1.SetIamPolicyNodeGroupRequest + (*SetIamPolicyNodeTemplateRequest)(nil), // 1457: google.cloud.compute.v1.SetIamPolicyNodeTemplateRequest + (*SetIamPolicyRegionBackendServiceRequest)(nil), // 1458: google.cloud.compute.v1.SetIamPolicyRegionBackendServiceRequest + (*SetIamPolicyRegionDiskRequest)(nil), // 1459: google.cloud.compute.v1.SetIamPolicyRegionDiskRequest + (*SetIamPolicyRegionNetworkFirewallPolicyRequest)(nil), // 1460: google.cloud.compute.v1.SetIamPolicyRegionNetworkFirewallPolicyRequest + (*SetIamPolicyReservationRequest)(nil), // 1461: google.cloud.compute.v1.SetIamPolicyReservationRequest + (*SetIamPolicyResourcePolicyRequest)(nil), // 1462: google.cloud.compute.v1.SetIamPolicyResourcePolicyRequest + (*SetIamPolicyServiceAttachmentRequest)(nil), // 1463: google.cloud.compute.v1.SetIamPolicyServiceAttachmentRequest + (*SetIamPolicySnapshotRequest)(nil), // 1464: google.cloud.compute.v1.SetIamPolicySnapshotRequest + (*SetIamPolicySubnetworkRequest)(nil), // 1465: google.cloud.compute.v1.SetIamPolicySubnetworkRequest + (*SetInstanceTemplateInstanceGroupManagerRequest)(nil), // 1466: google.cloud.compute.v1.SetInstanceTemplateInstanceGroupManagerRequest + (*SetInstanceTemplateRegionInstanceGroupManagerRequest)(nil), // 1467: google.cloud.compute.v1.SetInstanceTemplateRegionInstanceGroupManagerRequest + (*SetLabelsAddressRequest)(nil), // 1468: google.cloud.compute.v1.SetLabelsAddressRequest + (*SetLabelsDiskRequest)(nil), // 1469: google.cloud.compute.v1.SetLabelsDiskRequest + (*SetLabelsExternalVpnGatewayRequest)(nil), // 1470: google.cloud.compute.v1.SetLabelsExternalVpnGatewayRequest + (*SetLabelsForwardingRuleRequest)(nil), // 1471: google.cloud.compute.v1.SetLabelsForwardingRuleRequest + (*SetLabelsGlobalAddressRequest)(nil), // 1472: google.cloud.compute.v1.SetLabelsGlobalAddressRequest + (*SetLabelsGlobalForwardingRuleRequest)(nil), // 1473: google.cloud.compute.v1.SetLabelsGlobalForwardingRuleRequest + (*SetLabelsImageRequest)(nil), // 1474: google.cloud.compute.v1.SetLabelsImageRequest + (*SetLabelsInstanceRequest)(nil), // 1475: google.cloud.compute.v1.SetLabelsInstanceRequest + (*SetLabelsInterconnectAttachmentRequest)(nil), // 1476: google.cloud.compute.v1.SetLabelsInterconnectAttachmentRequest + (*SetLabelsInterconnectRequest)(nil), // 1477: google.cloud.compute.v1.SetLabelsInterconnectRequest + (*SetLabelsRegionDiskRequest)(nil), // 1478: google.cloud.compute.v1.SetLabelsRegionDiskRequest + (*SetLabelsSecurityPolicyRequest)(nil), // 1479: google.cloud.compute.v1.SetLabelsSecurityPolicyRequest + (*SetLabelsSnapshotRequest)(nil), // 1480: google.cloud.compute.v1.SetLabelsSnapshotRequest + (*SetLabelsTargetVpnGatewayRequest)(nil), // 1481: google.cloud.compute.v1.SetLabelsTargetVpnGatewayRequest + (*SetLabelsVpnGatewayRequest)(nil), // 1482: google.cloud.compute.v1.SetLabelsVpnGatewayRequest + (*SetLabelsVpnTunnelRequest)(nil), // 1483: google.cloud.compute.v1.SetLabelsVpnTunnelRequest + (*SetMachineResourcesInstanceRequest)(nil), // 1484: google.cloud.compute.v1.SetMachineResourcesInstanceRequest + (*SetMachineTypeInstanceRequest)(nil), // 1485: google.cloud.compute.v1.SetMachineTypeInstanceRequest + (*SetMetadataInstanceRequest)(nil), // 1486: google.cloud.compute.v1.SetMetadataInstanceRequest + (*SetMinCpuPlatformInstanceRequest)(nil), // 1487: google.cloud.compute.v1.SetMinCpuPlatformInstanceRequest + (*SetNameInstanceRequest)(nil), // 1488: google.cloud.compute.v1.SetNameInstanceRequest + (*SetNamedPortsInstanceGroupRequest)(nil), // 1489: google.cloud.compute.v1.SetNamedPortsInstanceGroupRequest + (*SetNamedPortsRegionInstanceGroupRequest)(nil), // 1490: google.cloud.compute.v1.SetNamedPortsRegionInstanceGroupRequest + (*SetNodeTemplateNodeGroupRequest)(nil), // 1491: google.cloud.compute.v1.SetNodeTemplateNodeGroupRequest + (*SetPrivateIpGoogleAccessSubnetworkRequest)(nil), // 1492: google.cloud.compute.v1.SetPrivateIpGoogleAccessSubnetworkRequest + (*SetProxyHeaderTargetSslProxyRequest)(nil), // 1493: google.cloud.compute.v1.SetProxyHeaderTargetSslProxyRequest + (*SetProxyHeaderTargetTcpProxyRequest)(nil), // 1494: google.cloud.compute.v1.SetProxyHeaderTargetTcpProxyRequest + (*SetQuicOverrideTargetHttpsProxyRequest)(nil), // 1495: google.cloud.compute.v1.SetQuicOverrideTargetHttpsProxyRequest + (*SetSchedulingInstanceRequest)(nil), // 1496: google.cloud.compute.v1.SetSchedulingInstanceRequest + (*SetSecurityPolicyBackendServiceRequest)(nil), // 1497: google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest + (*SetSecurityPolicyInstanceRequest)(nil), // 1498: google.cloud.compute.v1.SetSecurityPolicyInstanceRequest + (*SetSecurityPolicyRegionBackendServiceRequest)(nil), // 1499: google.cloud.compute.v1.SetSecurityPolicyRegionBackendServiceRequest + (*SetSecurityPolicyTargetInstanceRequest)(nil), // 1500: google.cloud.compute.v1.SetSecurityPolicyTargetInstanceRequest + (*SetSecurityPolicyTargetPoolRequest)(nil), // 1501: google.cloud.compute.v1.SetSecurityPolicyTargetPoolRequest + (*SetServiceAccountInstanceRequest)(nil), // 1502: google.cloud.compute.v1.SetServiceAccountInstanceRequest + (*SetShieldedInstanceIntegrityPolicyInstanceRequest)(nil), // 1503: google.cloud.compute.v1.SetShieldedInstanceIntegrityPolicyInstanceRequest + (*SetSslCertificatesRegionTargetHttpsProxyRequest)(nil), // 1504: google.cloud.compute.v1.SetSslCertificatesRegionTargetHttpsProxyRequest + (*SetSslCertificatesTargetHttpsProxyRequest)(nil), // 1505: google.cloud.compute.v1.SetSslCertificatesTargetHttpsProxyRequest + (*SetSslCertificatesTargetSslProxyRequest)(nil), // 1506: google.cloud.compute.v1.SetSslCertificatesTargetSslProxyRequest + (*SetSslPolicyTargetHttpsProxyRequest)(nil), // 1507: google.cloud.compute.v1.SetSslPolicyTargetHttpsProxyRequest + (*SetSslPolicyTargetSslProxyRequest)(nil), // 1508: google.cloud.compute.v1.SetSslPolicyTargetSslProxyRequest + (*SetTagsInstanceRequest)(nil), // 1509: google.cloud.compute.v1.SetTagsInstanceRequest + (*SetTargetForwardingRuleRequest)(nil), // 1510: google.cloud.compute.v1.SetTargetForwardingRuleRequest + (*SetTargetGlobalForwardingRuleRequest)(nil), // 1511: google.cloud.compute.v1.SetTargetGlobalForwardingRuleRequest + (*SetTargetPoolsInstanceGroupManagerRequest)(nil), // 1512: google.cloud.compute.v1.SetTargetPoolsInstanceGroupManagerRequest + (*SetTargetPoolsRegionInstanceGroupManagerRequest)(nil), // 1513: google.cloud.compute.v1.SetTargetPoolsRegionInstanceGroupManagerRequest + (*SetUrlMapRegionTargetHttpProxyRequest)(nil), // 1514: google.cloud.compute.v1.SetUrlMapRegionTargetHttpProxyRequest + (*SetUrlMapRegionTargetHttpsProxyRequest)(nil), // 1515: google.cloud.compute.v1.SetUrlMapRegionTargetHttpsProxyRequest + (*SetUrlMapTargetHttpProxyRequest)(nil), // 1516: google.cloud.compute.v1.SetUrlMapTargetHttpProxyRequest + (*SetUrlMapTargetHttpsProxyRequest)(nil), // 1517: google.cloud.compute.v1.SetUrlMapTargetHttpsProxyRequest + (*SetUsageExportBucketProjectRequest)(nil), // 1518: google.cloud.compute.v1.SetUsageExportBucketProjectRequest + (*ShareSettings)(nil), // 1519: google.cloud.compute.v1.ShareSettings + (*ShareSettingsProjectConfig)(nil), // 1520: google.cloud.compute.v1.ShareSettingsProjectConfig + (*ShieldedInstanceConfig)(nil), // 1521: google.cloud.compute.v1.ShieldedInstanceConfig + (*ShieldedInstanceIdentity)(nil), // 1522: google.cloud.compute.v1.ShieldedInstanceIdentity + (*ShieldedInstanceIdentityEntry)(nil), // 1523: google.cloud.compute.v1.ShieldedInstanceIdentityEntry + (*ShieldedInstanceIntegrityPolicy)(nil), // 1524: google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy + (*SignedUrlKey)(nil), // 1525: google.cloud.compute.v1.SignedUrlKey + (*SimulateMaintenanceEventInstanceRequest)(nil), // 1526: google.cloud.compute.v1.SimulateMaintenanceEventInstanceRequest + (*SimulateMaintenanceEventNodeGroupRequest)(nil), // 1527: google.cloud.compute.v1.SimulateMaintenanceEventNodeGroupRequest + (*Snapshot)(nil), // 1528: google.cloud.compute.v1.Snapshot + (*SnapshotList)(nil), // 1529: google.cloud.compute.v1.SnapshotList + (*SnapshotSettings)(nil), // 1530: google.cloud.compute.v1.SnapshotSettings + (*SnapshotSettingsStorageLocationSettings)(nil), // 1531: google.cloud.compute.v1.SnapshotSettingsStorageLocationSettings + (*SnapshotSettingsStorageLocationSettingsStorageLocationPreference)(nil), // 1532: google.cloud.compute.v1.SnapshotSettingsStorageLocationSettingsStorageLocationPreference + (*SourceDiskEncryptionKey)(nil), // 1533: google.cloud.compute.v1.SourceDiskEncryptionKey + (*SourceInstanceParams)(nil), // 1534: google.cloud.compute.v1.SourceInstanceParams + (*SourceInstanceProperties)(nil), // 1535: google.cloud.compute.v1.SourceInstanceProperties + (*SslCertificate)(nil), // 1536: google.cloud.compute.v1.SslCertificate + (*SslCertificateAggregatedList)(nil), // 1537: google.cloud.compute.v1.SslCertificateAggregatedList + (*SslCertificateList)(nil), // 1538: google.cloud.compute.v1.SslCertificateList + (*SslCertificateManagedSslCertificate)(nil), // 1539: google.cloud.compute.v1.SslCertificateManagedSslCertificate + (*SslCertificateSelfManagedSslCertificate)(nil), // 1540: google.cloud.compute.v1.SslCertificateSelfManagedSslCertificate + (*SslCertificatesScopedList)(nil), // 1541: google.cloud.compute.v1.SslCertificatesScopedList + (*SslPoliciesAggregatedList)(nil), // 1542: google.cloud.compute.v1.SslPoliciesAggregatedList + (*SslPoliciesList)(nil), // 1543: google.cloud.compute.v1.SslPoliciesList + (*SslPoliciesListAvailableFeaturesResponse)(nil), // 1544: google.cloud.compute.v1.SslPoliciesListAvailableFeaturesResponse + (*SslPoliciesScopedList)(nil), // 1545: google.cloud.compute.v1.SslPoliciesScopedList + (*SslPolicy)(nil), // 1546: google.cloud.compute.v1.SslPolicy + (*SslPolicyReference)(nil), // 1547: google.cloud.compute.v1.SslPolicyReference + (*StartAsyncReplicationDiskRequest)(nil), // 1548: google.cloud.compute.v1.StartAsyncReplicationDiskRequest + (*StartAsyncReplicationRegionDiskRequest)(nil), // 1549: google.cloud.compute.v1.StartAsyncReplicationRegionDiskRequest + (*StartInstanceRequest)(nil), // 1550: google.cloud.compute.v1.StartInstanceRequest + (*StartWithEncryptionKeyInstanceRequest)(nil), // 1551: google.cloud.compute.v1.StartWithEncryptionKeyInstanceRequest + (*StatefulPolicy)(nil), // 1552: google.cloud.compute.v1.StatefulPolicy + (*StatefulPolicyPreservedState)(nil), // 1553: google.cloud.compute.v1.StatefulPolicyPreservedState + (*StatefulPolicyPreservedStateDiskDevice)(nil), // 1554: google.cloud.compute.v1.StatefulPolicyPreservedStateDiskDevice + (*StatefulPolicyPreservedStateNetworkIp)(nil), // 1555: google.cloud.compute.v1.StatefulPolicyPreservedStateNetworkIp + (*Status)(nil), // 1556: google.cloud.compute.v1.Status + (*StopAsyncReplicationDiskRequest)(nil), // 1557: google.cloud.compute.v1.StopAsyncReplicationDiskRequest + (*StopAsyncReplicationRegionDiskRequest)(nil), // 1558: google.cloud.compute.v1.StopAsyncReplicationRegionDiskRequest + (*StopGroupAsyncReplicationDiskRequest)(nil), // 1559: google.cloud.compute.v1.StopGroupAsyncReplicationDiskRequest + (*StopGroupAsyncReplicationRegionDiskRequest)(nil), // 1560: google.cloud.compute.v1.StopGroupAsyncReplicationRegionDiskRequest + (*StopInstanceRequest)(nil), // 1561: google.cloud.compute.v1.StopInstanceRequest + (*Subnetwork)(nil), // 1562: google.cloud.compute.v1.Subnetwork + (*SubnetworkAggregatedList)(nil), // 1563: google.cloud.compute.v1.SubnetworkAggregatedList + (*SubnetworkList)(nil), // 1564: google.cloud.compute.v1.SubnetworkList + (*SubnetworkLogConfig)(nil), // 1565: google.cloud.compute.v1.SubnetworkLogConfig + (*SubnetworkSecondaryRange)(nil), // 1566: google.cloud.compute.v1.SubnetworkSecondaryRange + (*SubnetworksExpandIpCidrRangeRequest)(nil), // 1567: google.cloud.compute.v1.SubnetworksExpandIpCidrRangeRequest + (*SubnetworksScopedList)(nil), // 1568: google.cloud.compute.v1.SubnetworksScopedList + (*SubnetworksSetPrivateIpGoogleAccessRequest)(nil), // 1569: google.cloud.compute.v1.SubnetworksSetPrivateIpGoogleAccessRequest + (*Subsetting)(nil), // 1570: google.cloud.compute.v1.Subsetting + (*SuspendInstanceRequest)(nil), // 1571: google.cloud.compute.v1.SuspendInstanceRequest + (*SwitchToCustomModeNetworkRequest)(nil), // 1572: google.cloud.compute.v1.SwitchToCustomModeNetworkRequest + (*TCPHealthCheck)(nil), // 1573: google.cloud.compute.v1.TCPHealthCheck + (*Tags)(nil), // 1574: google.cloud.compute.v1.Tags + (*TargetGrpcProxy)(nil), // 1575: google.cloud.compute.v1.TargetGrpcProxy + (*TargetGrpcProxyList)(nil), // 1576: google.cloud.compute.v1.TargetGrpcProxyList + (*TargetHttpProxiesScopedList)(nil), // 1577: google.cloud.compute.v1.TargetHttpProxiesScopedList + (*TargetHttpProxy)(nil), // 1578: google.cloud.compute.v1.TargetHttpProxy + (*TargetHttpProxyAggregatedList)(nil), // 1579: google.cloud.compute.v1.TargetHttpProxyAggregatedList + (*TargetHttpProxyList)(nil), // 1580: google.cloud.compute.v1.TargetHttpProxyList + (*TargetHttpsProxiesScopedList)(nil), // 1581: google.cloud.compute.v1.TargetHttpsProxiesScopedList + (*TargetHttpsProxiesSetCertificateMapRequest)(nil), // 1582: google.cloud.compute.v1.TargetHttpsProxiesSetCertificateMapRequest + (*TargetHttpsProxiesSetQuicOverrideRequest)(nil), // 1583: google.cloud.compute.v1.TargetHttpsProxiesSetQuicOverrideRequest + (*TargetHttpsProxiesSetSslCertificatesRequest)(nil), // 1584: google.cloud.compute.v1.TargetHttpsProxiesSetSslCertificatesRequest + (*TargetHttpsProxy)(nil), // 1585: google.cloud.compute.v1.TargetHttpsProxy + (*TargetHttpsProxyAggregatedList)(nil), // 1586: google.cloud.compute.v1.TargetHttpsProxyAggregatedList + (*TargetHttpsProxyList)(nil), // 1587: google.cloud.compute.v1.TargetHttpsProxyList + (*TargetInstance)(nil), // 1588: google.cloud.compute.v1.TargetInstance + (*TargetInstanceAggregatedList)(nil), // 1589: google.cloud.compute.v1.TargetInstanceAggregatedList + (*TargetInstanceList)(nil), // 1590: google.cloud.compute.v1.TargetInstanceList + (*TargetInstancesScopedList)(nil), // 1591: google.cloud.compute.v1.TargetInstancesScopedList + (*TargetPool)(nil), // 1592: google.cloud.compute.v1.TargetPool + (*TargetPoolAggregatedList)(nil), // 1593: google.cloud.compute.v1.TargetPoolAggregatedList + (*TargetPoolInstanceHealth)(nil), // 1594: google.cloud.compute.v1.TargetPoolInstanceHealth + (*TargetPoolList)(nil), // 1595: google.cloud.compute.v1.TargetPoolList + (*TargetPoolsAddHealthCheckRequest)(nil), // 1596: google.cloud.compute.v1.TargetPoolsAddHealthCheckRequest + (*TargetPoolsAddInstanceRequest)(nil), // 1597: google.cloud.compute.v1.TargetPoolsAddInstanceRequest + (*TargetPoolsRemoveHealthCheckRequest)(nil), // 1598: google.cloud.compute.v1.TargetPoolsRemoveHealthCheckRequest + (*TargetPoolsRemoveInstanceRequest)(nil), // 1599: google.cloud.compute.v1.TargetPoolsRemoveInstanceRequest + (*TargetPoolsScopedList)(nil), // 1600: google.cloud.compute.v1.TargetPoolsScopedList + (*TargetReference)(nil), // 1601: google.cloud.compute.v1.TargetReference + (*TargetSslProxiesSetBackendServiceRequest)(nil), // 1602: google.cloud.compute.v1.TargetSslProxiesSetBackendServiceRequest + (*TargetSslProxiesSetCertificateMapRequest)(nil), // 1603: google.cloud.compute.v1.TargetSslProxiesSetCertificateMapRequest + (*TargetSslProxiesSetProxyHeaderRequest)(nil), // 1604: google.cloud.compute.v1.TargetSslProxiesSetProxyHeaderRequest + (*TargetSslProxiesSetSslCertificatesRequest)(nil), // 1605: google.cloud.compute.v1.TargetSslProxiesSetSslCertificatesRequest + (*TargetSslProxy)(nil), // 1606: google.cloud.compute.v1.TargetSslProxy + (*TargetSslProxyList)(nil), // 1607: google.cloud.compute.v1.TargetSslProxyList + (*TargetTcpProxiesScopedList)(nil), // 1608: google.cloud.compute.v1.TargetTcpProxiesScopedList + (*TargetTcpProxiesSetBackendServiceRequest)(nil), // 1609: google.cloud.compute.v1.TargetTcpProxiesSetBackendServiceRequest + (*TargetTcpProxiesSetProxyHeaderRequest)(nil), // 1610: google.cloud.compute.v1.TargetTcpProxiesSetProxyHeaderRequest + (*TargetTcpProxy)(nil), // 1611: google.cloud.compute.v1.TargetTcpProxy + (*TargetTcpProxyAggregatedList)(nil), // 1612: google.cloud.compute.v1.TargetTcpProxyAggregatedList + (*TargetTcpProxyList)(nil), // 1613: google.cloud.compute.v1.TargetTcpProxyList + (*TargetVpnGateway)(nil), // 1614: google.cloud.compute.v1.TargetVpnGateway + (*TargetVpnGatewayAggregatedList)(nil), // 1615: google.cloud.compute.v1.TargetVpnGatewayAggregatedList + (*TargetVpnGatewayList)(nil), // 1616: google.cloud.compute.v1.TargetVpnGatewayList + (*TargetVpnGatewaysScopedList)(nil), // 1617: google.cloud.compute.v1.TargetVpnGatewaysScopedList + (*TestFailure)(nil), // 1618: google.cloud.compute.v1.TestFailure + (*TestIamPermissionsBackendBucketRequest)(nil), // 1619: google.cloud.compute.v1.TestIamPermissionsBackendBucketRequest + (*TestIamPermissionsBackendServiceRequest)(nil), // 1620: google.cloud.compute.v1.TestIamPermissionsBackendServiceRequest + (*TestIamPermissionsDiskRequest)(nil), // 1621: google.cloud.compute.v1.TestIamPermissionsDiskRequest + (*TestIamPermissionsExternalVpnGatewayRequest)(nil), // 1622: google.cloud.compute.v1.TestIamPermissionsExternalVpnGatewayRequest + (*TestIamPermissionsFirewallPolicyRequest)(nil), // 1623: google.cloud.compute.v1.TestIamPermissionsFirewallPolicyRequest + (*TestIamPermissionsImageRequest)(nil), // 1624: google.cloud.compute.v1.TestIamPermissionsImageRequest + (*TestIamPermissionsInstanceRequest)(nil), // 1625: google.cloud.compute.v1.TestIamPermissionsInstanceRequest + (*TestIamPermissionsInstanceTemplateRequest)(nil), // 1626: google.cloud.compute.v1.TestIamPermissionsInstanceTemplateRequest + (*TestIamPermissionsLicenseCodeRequest)(nil), // 1627: google.cloud.compute.v1.TestIamPermissionsLicenseCodeRequest + (*TestIamPermissionsLicenseRequest)(nil), // 1628: google.cloud.compute.v1.TestIamPermissionsLicenseRequest + (*TestIamPermissionsMachineImageRequest)(nil), // 1629: google.cloud.compute.v1.TestIamPermissionsMachineImageRequest + (*TestIamPermissionsNetworkAttachmentRequest)(nil), // 1630: google.cloud.compute.v1.TestIamPermissionsNetworkAttachmentRequest + (*TestIamPermissionsNetworkEndpointGroupRequest)(nil), // 1631: google.cloud.compute.v1.TestIamPermissionsNetworkEndpointGroupRequest + (*TestIamPermissionsNetworkFirewallPolicyRequest)(nil), // 1632: google.cloud.compute.v1.TestIamPermissionsNetworkFirewallPolicyRequest + (*TestIamPermissionsNodeGroupRequest)(nil), // 1633: google.cloud.compute.v1.TestIamPermissionsNodeGroupRequest + (*TestIamPermissionsNodeTemplateRequest)(nil), // 1634: google.cloud.compute.v1.TestIamPermissionsNodeTemplateRequest + (*TestIamPermissionsPacketMirroringRequest)(nil), // 1635: google.cloud.compute.v1.TestIamPermissionsPacketMirroringRequest + (*TestIamPermissionsRegionBackendServiceRequest)(nil), // 1636: google.cloud.compute.v1.TestIamPermissionsRegionBackendServiceRequest + (*TestIamPermissionsRegionDiskRequest)(nil), // 1637: google.cloud.compute.v1.TestIamPermissionsRegionDiskRequest + (*TestIamPermissionsRegionNetworkFirewallPolicyRequest)(nil), // 1638: google.cloud.compute.v1.TestIamPermissionsRegionNetworkFirewallPolicyRequest + (*TestIamPermissionsReservationRequest)(nil), // 1639: google.cloud.compute.v1.TestIamPermissionsReservationRequest + (*TestIamPermissionsResourcePolicyRequest)(nil), // 1640: google.cloud.compute.v1.TestIamPermissionsResourcePolicyRequest + (*TestIamPermissionsServiceAttachmentRequest)(nil), // 1641: google.cloud.compute.v1.TestIamPermissionsServiceAttachmentRequest + (*TestIamPermissionsSnapshotRequest)(nil), // 1642: google.cloud.compute.v1.TestIamPermissionsSnapshotRequest + (*TestIamPermissionsSubnetworkRequest)(nil), // 1643: google.cloud.compute.v1.TestIamPermissionsSubnetworkRequest + (*TestIamPermissionsVpnGatewayRequest)(nil), // 1644: google.cloud.compute.v1.TestIamPermissionsVpnGatewayRequest + (*TestPermissionsRequest)(nil), // 1645: google.cloud.compute.v1.TestPermissionsRequest + (*TestPermissionsResponse)(nil), // 1646: google.cloud.compute.v1.TestPermissionsResponse + (*Uint128)(nil), // 1647: google.cloud.compute.v1.Uint128 + (*UpcomingMaintenance)(nil), // 1648: google.cloud.compute.v1.UpcomingMaintenance + (*UpdateAccessConfigInstanceRequest)(nil), // 1649: google.cloud.compute.v1.UpdateAccessConfigInstanceRequest + (*UpdateAutoscalerRequest)(nil), // 1650: google.cloud.compute.v1.UpdateAutoscalerRequest + (*UpdateBackendBucketRequest)(nil), // 1651: google.cloud.compute.v1.UpdateBackendBucketRequest + (*UpdateBackendServiceRequest)(nil), // 1652: google.cloud.compute.v1.UpdateBackendServiceRequest + (*UpdateDiskRequest)(nil), // 1653: google.cloud.compute.v1.UpdateDiskRequest + (*UpdateDisplayDeviceInstanceRequest)(nil), // 1654: google.cloud.compute.v1.UpdateDisplayDeviceInstanceRequest + (*UpdateFirewallRequest)(nil), // 1655: google.cloud.compute.v1.UpdateFirewallRequest + (*UpdateHealthCheckRequest)(nil), // 1656: google.cloud.compute.v1.UpdateHealthCheckRequest + (*UpdateInstanceRequest)(nil), // 1657: google.cloud.compute.v1.UpdateInstanceRequest + (*UpdateNetworkInterfaceInstanceRequest)(nil), // 1658: google.cloud.compute.v1.UpdateNetworkInterfaceInstanceRequest + (*UpdatePeeringNetworkRequest)(nil), // 1659: google.cloud.compute.v1.UpdatePeeringNetworkRequest + (*UpdatePerInstanceConfigsInstanceGroupManagerRequest)(nil), // 1660: google.cloud.compute.v1.UpdatePerInstanceConfigsInstanceGroupManagerRequest + (*UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest)(nil), // 1661: google.cloud.compute.v1.UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest + (*UpdateRegionAutoscalerRequest)(nil), // 1662: google.cloud.compute.v1.UpdateRegionAutoscalerRequest + (*UpdateRegionBackendServiceRequest)(nil), // 1663: google.cloud.compute.v1.UpdateRegionBackendServiceRequest + (*UpdateRegionCommitmentRequest)(nil), // 1664: google.cloud.compute.v1.UpdateRegionCommitmentRequest + (*UpdateRegionDiskRequest)(nil), // 1665: google.cloud.compute.v1.UpdateRegionDiskRequest + (*UpdateRegionHealthCheckRequest)(nil), // 1666: google.cloud.compute.v1.UpdateRegionHealthCheckRequest + (*UpdateRegionUrlMapRequest)(nil), // 1667: google.cloud.compute.v1.UpdateRegionUrlMapRequest + (*UpdateReservationRequest)(nil), // 1668: google.cloud.compute.v1.UpdateReservationRequest + (*UpdateRouterRequest)(nil), // 1669: google.cloud.compute.v1.UpdateRouterRequest + (*UpdateShieldedInstanceConfigInstanceRequest)(nil), // 1670: google.cloud.compute.v1.UpdateShieldedInstanceConfigInstanceRequest + (*UpdateUrlMapRequest)(nil), // 1671: google.cloud.compute.v1.UpdateUrlMapRequest + (*UrlMap)(nil), // 1672: google.cloud.compute.v1.UrlMap + (*UrlMapList)(nil), // 1673: google.cloud.compute.v1.UrlMapList + (*UrlMapReference)(nil), // 1674: google.cloud.compute.v1.UrlMapReference + (*UrlMapTest)(nil), // 1675: google.cloud.compute.v1.UrlMapTest + (*UrlMapTestHeader)(nil), // 1676: google.cloud.compute.v1.UrlMapTestHeader + (*UrlMapValidationResult)(nil), // 1677: google.cloud.compute.v1.UrlMapValidationResult + (*UrlMapsAggregatedList)(nil), // 1678: google.cloud.compute.v1.UrlMapsAggregatedList + (*UrlMapsScopedList)(nil), // 1679: google.cloud.compute.v1.UrlMapsScopedList + (*UrlMapsValidateRequest)(nil), // 1680: google.cloud.compute.v1.UrlMapsValidateRequest + (*UrlMapsValidateResponse)(nil), // 1681: google.cloud.compute.v1.UrlMapsValidateResponse + (*UrlRewrite)(nil), // 1682: google.cloud.compute.v1.UrlRewrite + (*UsableSubnetwork)(nil), // 1683: google.cloud.compute.v1.UsableSubnetwork + (*UsableSubnetworkSecondaryRange)(nil), // 1684: google.cloud.compute.v1.UsableSubnetworkSecondaryRange + (*UsableSubnetworksAggregatedList)(nil), // 1685: google.cloud.compute.v1.UsableSubnetworksAggregatedList + (*UsageExportLocation)(nil), // 1686: google.cloud.compute.v1.UsageExportLocation + (*ValidateRegionUrlMapRequest)(nil), // 1687: google.cloud.compute.v1.ValidateRegionUrlMapRequest + (*ValidateUrlMapRequest)(nil), // 1688: google.cloud.compute.v1.ValidateUrlMapRequest + (*VmEndpointNatMappings)(nil), // 1689: google.cloud.compute.v1.VmEndpointNatMappings + (*VmEndpointNatMappingsInterfaceNatMappings)(nil), // 1690: google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappings + (*VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings)(nil), // 1691: google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings + (*VmEndpointNatMappingsList)(nil), // 1692: google.cloud.compute.v1.VmEndpointNatMappingsList + (*VpnGateway)(nil), // 1693: google.cloud.compute.v1.VpnGateway + (*VpnGatewayAggregatedList)(nil), // 1694: google.cloud.compute.v1.VpnGatewayAggregatedList + (*VpnGatewayList)(nil), // 1695: google.cloud.compute.v1.VpnGatewayList + (*VpnGatewayStatus)(nil), // 1696: google.cloud.compute.v1.VpnGatewayStatus + (*VpnGatewayStatusHighAvailabilityRequirementState)(nil), // 1697: google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState + (*VpnGatewayStatusTunnel)(nil), // 1698: google.cloud.compute.v1.VpnGatewayStatusTunnel + (*VpnGatewayStatusVpnConnection)(nil), // 1699: google.cloud.compute.v1.VpnGatewayStatusVpnConnection + (*VpnGatewayVpnGatewayInterface)(nil), // 1700: google.cloud.compute.v1.VpnGatewayVpnGatewayInterface + (*VpnGatewaysGetStatusResponse)(nil), // 1701: google.cloud.compute.v1.VpnGatewaysGetStatusResponse + (*VpnGatewaysScopedList)(nil), // 1702: google.cloud.compute.v1.VpnGatewaysScopedList + (*VpnTunnel)(nil), // 1703: google.cloud.compute.v1.VpnTunnel + (*VpnTunnelAggregatedList)(nil), // 1704: google.cloud.compute.v1.VpnTunnelAggregatedList + (*VpnTunnelList)(nil), // 1705: google.cloud.compute.v1.VpnTunnelList + (*VpnTunnelsScopedList)(nil), // 1706: google.cloud.compute.v1.VpnTunnelsScopedList + (*WafExpressionSet)(nil), // 1707: google.cloud.compute.v1.WafExpressionSet + (*WafExpressionSetExpression)(nil), // 1708: google.cloud.compute.v1.WafExpressionSetExpression + (*WaitGlobalOperationRequest)(nil), // 1709: google.cloud.compute.v1.WaitGlobalOperationRequest + (*WaitRegionOperationRequest)(nil), // 1710: google.cloud.compute.v1.WaitRegionOperationRequest + (*WaitZoneOperationRequest)(nil), // 1711: google.cloud.compute.v1.WaitZoneOperationRequest + (*Warning)(nil), // 1712: google.cloud.compute.v1.Warning + (*Warnings)(nil), // 1713: google.cloud.compute.v1.Warnings + (*WeightedBackendService)(nil), // 1714: google.cloud.compute.v1.WeightedBackendService + (*WithdrawPublicAdvertisedPrefixeRequest)(nil), // 1715: google.cloud.compute.v1.WithdrawPublicAdvertisedPrefixeRequest + (*WithdrawPublicDelegatedPrefixeRequest)(nil), // 1716: google.cloud.compute.v1.WithdrawPublicDelegatedPrefixeRequest + (*XpnHostList)(nil), // 1717: google.cloud.compute.v1.XpnHostList + (*XpnResourceId)(nil), // 1718: google.cloud.compute.v1.XpnResourceId + (*Zone)(nil), // 1719: google.cloud.compute.v1.Zone + (*ZoneList)(nil), // 1720: google.cloud.compute.v1.ZoneList + (*ZoneSetLabelsRequest)(nil), // 1721: google.cloud.compute.v1.ZoneSetLabelsRequest + (*ZoneSetPolicyRequest)(nil), // 1722: google.cloud.compute.v1.ZoneSetPolicyRequest + nil, // 1723: google.cloud.compute.v1.AcceleratorTypeAggregatedList.ItemsEntry + nil, // 1724: google.cloud.compute.v1.Address.LabelsEntry + nil, // 1725: google.cloud.compute.v1.AddressAggregatedList.ItemsEntry + nil, // 1726: google.cloud.compute.v1.AttachedDiskInitializeParams.LabelsEntry + nil, // 1727: google.cloud.compute.v1.AttachedDiskInitializeParams.ResourceManagerTagsEntry + nil, // 1728: google.cloud.compute.v1.Autoscaler.ScalingScheduleStatusEntry + nil, // 1729: google.cloud.compute.v1.AutoscalerAggregatedList.ItemsEntry + nil, // 1730: google.cloud.compute.v1.AutoscalingPolicy.ScalingSchedulesEntry + nil, // 1731: google.cloud.compute.v1.BackendService.MetadatasEntry + nil, // 1732: google.cloud.compute.v1.BackendServiceAggregatedList.ItemsEntry + nil, // 1733: google.cloud.compute.v1.BackendServiceGroupHealth.AnnotationsEntry + nil, // 1734: google.cloud.compute.v1.BulkInsertInstanceResource.PerInstancePropertiesEntry + nil, // 1735: google.cloud.compute.v1.CommitmentAggregatedList.ItemsEntry + nil, // 1736: google.cloud.compute.v1.Disk.AsyncSecondaryDisksEntry + nil, // 1737: google.cloud.compute.v1.Disk.LabelsEntry + nil, // 1738: google.cloud.compute.v1.DiskAggregatedList.ItemsEntry + nil, // 1739: google.cloud.compute.v1.DiskParams.ResourceManagerTagsEntry + nil, // 1740: google.cloud.compute.v1.DiskResourceStatus.AsyncSecondaryDisksEntry + nil, // 1741: google.cloud.compute.v1.DiskTypeAggregatedList.ItemsEntry + nil, // 1742: google.cloud.compute.v1.ErrorInfo.MetadatasEntry + nil, // 1743: google.cloud.compute.v1.ExternalVpnGateway.LabelsEntry + nil, // 1744: google.cloud.compute.v1.ForwardingRule.LabelsEntry + nil, // 1745: google.cloud.compute.v1.ForwardingRuleAggregatedList.ItemsEntry + nil, // 1746: google.cloud.compute.v1.GlobalSetLabelsRequest.LabelsEntry + nil, // 1747: google.cloud.compute.v1.HealthChecksAggregatedList.ItemsEntry + nil, // 1748: google.cloud.compute.v1.HealthStatus.AnnotationsEntry + nil, // 1749: google.cloud.compute.v1.Image.LabelsEntry + nil, // 1750: google.cloud.compute.v1.Instance.LabelsEntry + nil, // 1751: google.cloud.compute.v1.InstanceAggregatedList.ItemsEntry + nil, // 1752: google.cloud.compute.v1.InstanceGroupAggregatedList.ItemsEntry + nil, // 1753: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.ItemsEntry + nil, // 1754: google.cloud.compute.v1.InstanceParams.ResourceManagerTagsEntry + nil, // 1755: google.cloud.compute.v1.InstanceProperties.LabelsEntry + nil, // 1756: google.cloud.compute.v1.InstanceProperties.ResourceManagerTagsEntry + nil, // 1757: google.cloud.compute.v1.InstanceTemplateAggregatedList.ItemsEntry + nil, // 1758: google.cloud.compute.v1.InstancesBulkInsertOperationMetadata.PerLocationStatusEntry + nil, // 1759: google.cloud.compute.v1.InstancesSetLabelsRequest.LabelsEntry + nil, // 1760: google.cloud.compute.v1.Interconnect.LabelsEntry + nil, // 1761: google.cloud.compute.v1.InterconnectAttachment.LabelsEntry + nil, // 1762: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.ItemsEntry + nil, // 1763: google.cloud.compute.v1.LocationPolicy.LocationsEntry + nil, // 1764: google.cloud.compute.v1.MachineTypeAggregatedList.ItemsEntry + nil, // 1765: google.cloud.compute.v1.NetworkAttachmentAggregatedList.ItemsEntry + nil, // 1766: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.ItemsEntry + nil, // 1767: google.cloud.compute.v1.NetworkEndpoint.AnnotationsEntry + nil, // 1768: google.cloud.compute.v1.NetworkEndpointGroup.AnnotationsEntry + nil, // 1769: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.ItemsEntry + nil, // 1770: google.cloud.compute.v1.NodeGroupAggregatedList.ItemsEntry + nil, // 1771: google.cloud.compute.v1.NodeTemplate.NodeAffinityLabelsEntry + nil, // 1772: google.cloud.compute.v1.NodeTemplateAggregatedList.ItemsEntry + nil, // 1773: google.cloud.compute.v1.NodeTypeAggregatedList.ItemsEntry + nil, // 1774: google.cloud.compute.v1.OperationAggregatedList.ItemsEntry + nil, // 1775: google.cloud.compute.v1.PacketMirroringAggregatedList.ItemsEntry + nil, // 1776: google.cloud.compute.v1.PreservedState.DisksEntry + nil, // 1777: google.cloud.compute.v1.PreservedState.ExternalIPsEntry + nil, // 1778: google.cloud.compute.v1.PreservedState.InternalIPsEntry + nil, // 1779: google.cloud.compute.v1.PreservedState.MetadataEntry + nil, // 1780: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.ItemsEntry + nil, // 1781: google.cloud.compute.v1.QuotaExceededInfo.DimensionsEntry + nil, // 1782: google.cloud.compute.v1.RegionSetLabelsRequest.LabelsEntry + nil, // 1783: google.cloud.compute.v1.Reservation.ResourcePoliciesEntry + nil, // 1784: google.cloud.compute.v1.ReservationAggregatedList.ItemsEntry + nil, // 1785: google.cloud.compute.v1.ResourcePolicyAggregatedList.ItemsEntry + nil, // 1786: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties.LabelsEntry + nil, // 1787: google.cloud.compute.v1.RouterAggregatedList.ItemsEntry + nil, // 1788: google.cloud.compute.v1.SecurityPoliciesAggregatedList.ItemsEntry + nil, // 1789: google.cloud.compute.v1.SecurityPolicy.LabelsEntry + nil, // 1790: google.cloud.compute.v1.ServiceAttachmentAggregatedList.ItemsEntry + nil, // 1791: google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadata.PerLocationOperationsEntry + nil, // 1792: google.cloud.compute.v1.ShareSettings.ProjectMapEntry + nil, // 1793: google.cloud.compute.v1.Snapshot.LabelsEntry + nil, // 1794: google.cloud.compute.v1.SnapshotSettingsStorageLocationSettings.LocationsEntry + nil, // 1795: google.cloud.compute.v1.SourceInstanceProperties.LabelsEntry + nil, // 1796: google.cloud.compute.v1.SslCertificateAggregatedList.ItemsEntry + nil, // 1797: google.cloud.compute.v1.SslCertificateManagedSslCertificate.DomainStatusEntry + nil, // 1798: google.cloud.compute.v1.SslPoliciesAggregatedList.ItemsEntry + nil, // 1799: google.cloud.compute.v1.StatefulPolicyPreservedState.DisksEntry + nil, // 1800: google.cloud.compute.v1.StatefulPolicyPreservedState.ExternalIPsEntry + nil, // 1801: google.cloud.compute.v1.StatefulPolicyPreservedState.InternalIPsEntry + nil, // 1802: google.cloud.compute.v1.SubnetworkAggregatedList.ItemsEntry + nil, // 1803: google.cloud.compute.v1.TargetHttpProxyAggregatedList.ItemsEntry + nil, // 1804: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.ItemsEntry + nil, // 1805: google.cloud.compute.v1.TargetInstanceAggregatedList.ItemsEntry + nil, // 1806: google.cloud.compute.v1.TargetPoolAggregatedList.ItemsEntry + nil, // 1807: google.cloud.compute.v1.TargetTcpProxyAggregatedList.ItemsEntry + nil, // 1808: google.cloud.compute.v1.TargetVpnGateway.LabelsEntry + nil, // 1809: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.ItemsEntry + nil, // 1810: google.cloud.compute.v1.UrlMapsAggregatedList.ItemsEntry + nil, // 1811: google.cloud.compute.v1.VpnGateway.LabelsEntry + nil, // 1812: google.cloud.compute.v1.VpnGatewayAggregatedList.ItemsEntry + nil, // 1813: google.cloud.compute.v1.VpnTunnel.LabelsEntry + nil, // 1814: google.cloud.compute.v1.VpnTunnelAggregatedList.ItemsEntry + nil, // 1815: google.cloud.compute.v1.ZoneSetLabelsRequest.LabelsEntry + (*anypb.Any)(nil), // 1816: google.protobuf.Any } var file_google_cloud_compute_v1_compute_proto_depIdxs = []int32{ - 860, // 0: google.cloud.compute.v1.AbandonInstancesInstanceGroupManagerRequest.instance_group_managers_abandon_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersAbandonInstancesRequest - 1234, // 1: google.cloud.compute.v1.AbandonInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_abandon_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersAbandonInstancesRequest - 530, // 2: google.cloud.compute.v1.AcceleratorType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus - 1647, // 3: google.cloud.compute.v1.AcceleratorTypeAggregatedList.items:type_name -> google.cloud.compute.v1.AcceleratorTypeAggregatedList.ItemsEntry - 1638, // 4: google.cloud.compute.v1.AcceleratorTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 286, // 5: google.cloud.compute.v1.AcceleratorTypeList.items:type_name -> google.cloud.compute.v1.AcceleratorType - 1638, // 6: google.cloud.compute.v1.AcceleratorTypeList.warning:type_name -> google.cloud.compute.v1.Warning - 286, // 7: google.cloud.compute.v1.AcceleratorTypesScopedList.accelerator_types:type_name -> google.cloud.compute.v1.AcceleratorType - 1638, // 8: google.cloud.compute.v1.AcceleratorTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 291, // 9: google.cloud.compute.v1.AddAccessConfigInstanceRequest.access_config_resource:type_name -> google.cloud.compute.v1.AccessConfig - 579, // 10: google.cloud.compute.v1.AddAssociationFirewallPolicyRequest.firewall_policy_association_resource:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation - 579, // 11: google.cloud.compute.v1.AddAssociationNetworkFirewallPolicyRequest.firewall_policy_association_resource:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation - 579, // 12: google.cloud.compute.v1.AddAssociationRegionNetworkFirewallPolicyRequest.firewall_policy_association_resource:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation - 1526, // 13: google.cloud.compute.v1.AddHealthCheckTargetPoolRequest.target_pools_add_health_check_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsAddHealthCheckRequest - 1527, // 14: google.cloud.compute.v1.AddInstanceTargetPoolRequest.target_pools_add_instance_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsAddInstanceRequest - 874, // 15: google.cloud.compute.v1.AddInstancesInstanceGroupRequest.instance_groups_add_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsAddInstancesRequest - 1113, // 16: google.cloud.compute.v1.AddNodesNodeGroupRequest.node_groups_add_nodes_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsAddNodesRequest - 1102, // 17: google.cloud.compute.v1.AddPeeringNetworkRequest.networks_add_peering_request_resource:type_name -> google.cloud.compute.v1.NetworksAddPeeringRequest - 550, // 18: google.cloud.compute.v1.AddResourcePoliciesDiskRequest.disks_add_resource_policies_request_resource:type_name -> google.cloud.compute.v1.DisksAddResourcePoliciesRequest - 894, // 19: google.cloud.compute.v1.AddResourcePoliciesInstanceRequest.instances_add_resource_policies_request_resource:type_name -> google.cloud.compute.v1.InstancesAddResourcePoliciesRequest - 1225, // 20: google.cloud.compute.v1.AddResourcePoliciesRegionDiskRequest.region_disks_add_resource_policies_request_resource:type_name -> google.cloud.compute.v1.RegionDisksAddResourcePoliciesRequest - 581, // 21: google.cloud.compute.v1.AddRuleFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 581, // 22: google.cloud.compute.v1.AddRuleNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 581, // 23: google.cloud.compute.v1.AddRuleRegionNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 1350, // 24: google.cloud.compute.v1.AddRuleSecurityPolicyRequest.security_policy_rule_resource:type_name -> google.cloud.compute.v1.SecurityPolicyRule - 1460, // 25: google.cloud.compute.v1.AddSignedUrlKeyBackendBucketRequest.signed_url_key_resource:type_name -> google.cloud.compute.v1.SignedUrlKey - 1460, // 26: google.cloud.compute.v1.AddSignedUrlKeyBackendServiceRequest.signed_url_key_resource:type_name -> google.cloud.compute.v1.SignedUrlKey - 1648, // 27: google.cloud.compute.v1.Address.labels:type_name -> google.cloud.compute.v1.Address.LabelsEntry - 1649, // 28: google.cloud.compute.v1.AddressAggregatedList.items:type_name -> google.cloud.compute.v1.AddressAggregatedList.ItemsEntry - 1638, // 29: google.cloud.compute.v1.AddressAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 310, // 30: google.cloud.compute.v1.AddressList.items:type_name -> google.cloud.compute.v1.Address - 1638, // 31: google.cloud.compute.v1.AddressList.warning:type_name -> google.cloud.compute.v1.Warning - 310, // 32: google.cloud.compute.v1.AddressesScopedList.addresses:type_name -> google.cloud.compute.v1.Address - 1638, // 33: google.cloud.compute.v1.AddressesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 358, // 34: google.cloud.compute.v1.AllocationResourceStatus.specific_sku_allocation:type_name -> google.cloud.compute.v1.AllocationResourceStatusSpecificSKUAllocation - 285, // 35: google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig - 359, // 36: google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties.local_ssds:type_name -> google.cloud.compute.v1.AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk - 360, // 37: google.cloud.compute.v1.AllocationSpecificSKUReservation.instance_properties:type_name -> google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties - 861, // 38: google.cloud.compute.v1.ApplyUpdatesToInstancesInstanceGroupManagerRequest.instance_group_managers_apply_updates_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest - 1235, // 39: google.cloud.compute.v1.ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_apply_updates_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest - 368, // 40: google.cloud.compute.v1.AttachDiskInstanceRequest.attached_disk_resource:type_name -> google.cloud.compute.v1.AttachedDisk - 727, // 41: google.cloud.compute.v1.AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest.global_network_endpoint_groups_attach_endpoints_request_resource:type_name -> google.cloud.compute.v1.GlobalNetworkEndpointGroupsAttachEndpointsRequest - 1091, // 42: google.cloud.compute.v1.AttachNetworkEndpointsNetworkEndpointGroupRequest.network_endpoint_groups_attach_endpoints_request_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsAttachEndpointsRequest - 438, // 43: google.cloud.compute.v1.AttachedDisk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 735, // 44: google.cloud.compute.v1.AttachedDisk.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature - 369, // 45: google.cloud.compute.v1.AttachedDisk.initialize_params:type_name -> google.cloud.compute.v1.AttachedDiskInitializeParams - 768, // 46: google.cloud.compute.v1.AttachedDisk.shielded_instance_initial_state:type_name -> google.cloud.compute.v1.InitialStateConfig - 1650, // 47: google.cloud.compute.v1.AttachedDiskInitializeParams.labels:type_name -> google.cloud.compute.v1.AttachedDiskInitializeParams.LabelsEntry - 1651, // 48: google.cloud.compute.v1.AttachedDiskInitializeParams.resource_manager_tags:type_name -> google.cloud.compute.v1.AttachedDiskInitializeParams.ResourceManagerTagsEntry - 438, // 49: google.cloud.compute.v1.AttachedDiskInitializeParams.source_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 438, // 50: google.cloud.compute.v1.AttachedDiskInitializeParams.source_snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 371, // 51: google.cloud.compute.v1.AuditConfig.audit_log_configs:type_name -> google.cloud.compute.v1.AuditLogConfig - 378, // 52: google.cloud.compute.v1.Autoscaler.autoscaling_policy:type_name -> google.cloud.compute.v1.AutoscalingPolicy - 1652, // 53: google.cloud.compute.v1.Autoscaler.scaling_schedule_status:type_name -> google.cloud.compute.v1.Autoscaler.ScalingScheduleStatusEntry - 376, // 54: google.cloud.compute.v1.Autoscaler.status_details:type_name -> google.cloud.compute.v1.AutoscalerStatusDetails - 1653, // 55: google.cloud.compute.v1.AutoscalerAggregatedList.items:type_name -> google.cloud.compute.v1.AutoscalerAggregatedList.ItemsEntry - 1638, // 56: google.cloud.compute.v1.AutoscalerAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 373, // 57: google.cloud.compute.v1.AutoscalerList.items:type_name -> google.cloud.compute.v1.Autoscaler - 1638, // 58: google.cloud.compute.v1.AutoscalerList.warning:type_name -> google.cloud.compute.v1.Warning - 373, // 59: google.cloud.compute.v1.AutoscalersScopedList.autoscalers:type_name -> google.cloud.compute.v1.Autoscaler - 1638, // 60: google.cloud.compute.v1.AutoscalersScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 379, // 61: google.cloud.compute.v1.AutoscalingPolicy.cpu_utilization:type_name -> google.cloud.compute.v1.AutoscalingPolicyCpuUtilization - 380, // 62: google.cloud.compute.v1.AutoscalingPolicy.custom_metric_utilizations:type_name -> google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization - 381, // 63: google.cloud.compute.v1.AutoscalingPolicy.load_balancing_utilization:type_name -> google.cloud.compute.v1.AutoscalingPolicyLoadBalancingUtilization - 382, // 64: google.cloud.compute.v1.AutoscalingPolicy.scale_in_control:type_name -> google.cloud.compute.v1.AutoscalingPolicyScaleInControl - 1654, // 65: google.cloud.compute.v1.AutoscalingPolicy.scaling_schedules:type_name -> google.cloud.compute.v1.AutoscalingPolicy.ScalingSchedulesEntry - 585, // 66: google.cloud.compute.v1.AutoscalingPolicyScaleInControl.max_scaled_in_replicas:type_name -> google.cloud.compute.v1.FixedOrPercent - 386, // 67: google.cloud.compute.v1.BackendBucket.cdn_policy:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicy - 387, // 68: google.cloud.compute.v1.BackendBucketCdnPolicy.bypass_cache_on_request_headers:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicyBypassCacheOnRequestHeader - 388, // 69: google.cloud.compute.v1.BackendBucketCdnPolicy.cache_key_policy:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicyCacheKeyPolicy - 389, // 70: google.cloud.compute.v1.BackendBucketCdnPolicy.negative_caching_policy:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicyNegativeCachingPolicy - 385, // 71: google.cloud.compute.v1.BackendBucketList.items:type_name -> google.cloud.compute.v1.BackendBucket - 1638, // 72: google.cloud.compute.v1.BackendBucketList.warning:type_name -> google.cloud.compute.v1.Warning - 384, // 73: google.cloud.compute.v1.BackendService.backends:type_name -> google.cloud.compute.v1.Backend - 393, // 74: google.cloud.compute.v1.BackendService.cdn_policy:type_name -> google.cloud.compute.v1.BackendServiceCdnPolicy - 420, // 75: google.cloud.compute.v1.BackendService.circuit_breakers:type_name -> google.cloud.compute.v1.CircuitBreakers - 430, // 76: google.cloud.compute.v1.BackendService.connection_draining:type_name -> google.cloud.compute.v1.ConnectionDraining - 396, // 77: google.cloud.compute.v1.BackendService.connection_tracking_policy:type_name -> google.cloud.compute.v1.BackendServiceConnectionTrackingPolicy - 431, // 78: google.cloud.compute.v1.BackendService.consistent_hash:type_name -> google.cloud.compute.v1.ConsistentHashLoadBalancerSettings - 397, // 79: google.cloud.compute.v1.BackendService.failover_policy:type_name -> google.cloud.compute.v1.BackendServiceFailoverPolicy - 399, // 80: google.cloud.compute.v1.BackendService.iap:type_name -> google.cloud.compute.v1.BackendServiceIAP - 401, // 81: google.cloud.compute.v1.BackendService.locality_lb_policies:type_name -> google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig - 404, // 82: google.cloud.compute.v1.BackendService.log_config:type_name -> google.cloud.compute.v1.BackendServiceLogConfig - 559, // 83: google.cloud.compute.v1.BackendService.max_stream_duration:type_name -> google.cloud.compute.v1.Duration - 1655, // 84: google.cloud.compute.v1.BackendService.metadatas:type_name -> google.cloud.compute.v1.BackendService.MetadatasEntry - 1135, // 85: google.cloud.compute.v1.BackendService.outlier_detection:type_name -> google.cloud.compute.v1.OutlierDetection - 1362, // 86: google.cloud.compute.v1.BackendService.security_settings:type_name -> google.cloud.compute.v1.SecuritySettings - 1500, // 87: google.cloud.compute.v1.BackendService.subsetting:type_name -> google.cloud.compute.v1.Subsetting - 1656, // 88: google.cloud.compute.v1.BackendServiceAggregatedList.items:type_name -> google.cloud.compute.v1.BackendServiceAggregatedList.ItemsEntry - 1638, // 89: google.cloud.compute.v1.BackendServiceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 394, // 90: google.cloud.compute.v1.BackendServiceCdnPolicy.bypass_cache_on_request_headers:type_name -> google.cloud.compute.v1.BackendServiceCdnPolicyBypassCacheOnRequestHeader - 419, // 91: google.cloud.compute.v1.BackendServiceCdnPolicy.cache_key_policy:type_name -> google.cloud.compute.v1.CacheKeyPolicy - 395, // 92: google.cloud.compute.v1.BackendServiceCdnPolicy.negative_caching_policy:type_name -> google.cloud.compute.v1.BackendServiceCdnPolicyNegativeCachingPolicy - 1657, // 93: google.cloud.compute.v1.BackendServiceGroupHealth.annotations:type_name -> google.cloud.compute.v1.BackendServiceGroupHealth.AnnotationsEntry - 748, // 94: google.cloud.compute.v1.BackendServiceGroupHealth.health_status:type_name -> google.cloud.compute.v1.HealthStatus - 391, // 95: google.cloud.compute.v1.BackendServiceList.items:type_name -> google.cloud.compute.v1.BackendService - 1638, // 96: google.cloud.compute.v1.BackendServiceList.warning:type_name -> google.cloud.compute.v1.Warning - 402, // 97: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig.custom_policy:type_name -> google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy - 403, // 98: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig.policy:type_name -> google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigPolicy - 391, // 99: google.cloud.compute.v1.BackendServicesScopedList.backend_services:type_name -> google.cloud.compute.v1.BackendService - 1638, // 100: google.cloud.compute.v1.BackendServicesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 409, // 101: google.cloud.compute.v1.BfdStatus.control_packet_counts:type_name -> google.cloud.compute.v1.BfdStatusPacketCounts - 1136, // 102: google.cloud.compute.v1.BfdStatus.control_packet_intervals:type_name -> google.cloud.compute.v1.PacketIntervals - 407, // 103: google.cloud.compute.v1.BfdStatus.rx_packet:type_name -> google.cloud.compute.v1.BfdPacket - 407, // 104: google.cloud.compute.v1.BfdStatus.tx_packet:type_name -> google.cloud.compute.v1.BfdPacket - 569, // 105: google.cloud.compute.v1.Binding.condition:type_name -> google.cloud.compute.v1.Expr - 412, // 106: google.cloud.compute.v1.BulkInsertDiskRequest.bulk_insert_disk_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertDiskResource - 414, // 107: google.cloud.compute.v1.BulkInsertInstanceRequest.bulk_insert_instance_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertInstanceResource - 887, // 108: google.cloud.compute.v1.BulkInsertInstanceResource.instance_properties:type_name -> google.cloud.compute.v1.InstanceProperties - 1047, // 109: google.cloud.compute.v1.BulkInsertInstanceResource.location_policy:type_name -> google.cloud.compute.v1.LocationPolicy - 1658, // 110: google.cloud.compute.v1.BulkInsertInstanceResource.per_instance_properties:type_name -> google.cloud.compute.v1.BulkInsertInstanceResource.PerInstancePropertiesEntry - 412, // 111: google.cloud.compute.v1.BulkInsertRegionDiskRequest.bulk_insert_disk_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertDiskResource - 414, // 112: google.cloud.compute.v1.BulkInsertRegionInstanceRequest.bulk_insert_instance_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertInstanceResource - 938, // 113: google.cloud.compute.v1.Commitment.license_resource:type_name -> google.cloud.compute.v1.LicenseResourceCommitment - 1269, // 114: google.cloud.compute.v1.Commitment.reservations:type_name -> google.cloud.compute.v1.Reservation - 1281, // 115: google.cloud.compute.v1.Commitment.resources:type_name -> google.cloud.compute.v1.ResourceCommitment - 1659, // 116: google.cloud.compute.v1.CommitmentAggregatedList.items:type_name -> google.cloud.compute.v1.CommitmentAggregatedList.ItemsEntry - 1638, // 117: google.cloud.compute.v1.CommitmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 424, // 118: google.cloud.compute.v1.CommitmentList.items:type_name -> google.cloud.compute.v1.Commitment - 1638, // 119: google.cloud.compute.v1.CommitmentList.warning:type_name -> google.cloud.compute.v1.Warning - 424, // 120: google.cloud.compute.v1.CommitmentsScopedList.commitments:type_name -> google.cloud.compute.v1.Commitment - 1638, // 121: google.cloud.compute.v1.CommitmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 432, // 122: google.cloud.compute.v1.ConsistentHashLoadBalancerSettings.http_cookie:type_name -> google.cloud.compute.v1.ConsistentHashLoadBalancerSettingsHttpCookie - 559, // 123: google.cloud.compute.v1.ConsistentHashLoadBalancerSettingsHttpCookie.ttl:type_name -> google.cloud.compute.v1.Duration - 862, // 124: google.cloud.compute.v1.CreateInstancesInstanceGroupManagerRequest.instance_group_managers_create_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersCreateInstancesRequest - 1236, // 125: google.cloud.compute.v1.CreateInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_create_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersCreateInstancesRequest - 1463, // 126: google.cloud.compute.v1.CreateSnapshotDiskRequest.snapshot_resource:type_name -> google.cloud.compute.v1.Snapshot - 1463, // 127: google.cloud.compute.v1.CreateSnapshotRegionDiskRequest.snapshot_resource:type_name -> google.cloud.compute.v1.Snapshot - 438, // 128: google.cloud.compute.v1.CustomerEncryptionKeyProtectedDisk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 863, // 129: google.cloud.compute.v1.DeleteInstancesInstanceGroupManagerRequest.instance_group_managers_delete_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersDeleteInstancesRequest - 1237, // 130: google.cloud.compute.v1.DeleteInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_delete_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersDeleteInstancesRequest - 1114, // 131: google.cloud.compute.v1.DeleteNodesNodeGroupRequest.node_groups_delete_nodes_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsDeleteNodesRequest - 864, // 132: google.cloud.compute.v1.DeletePerInstanceConfigsInstanceGroupManagerRequest.instance_group_managers_delete_per_instance_configs_req_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersDeletePerInstanceConfigsReq - 1230, // 133: google.cloud.compute.v1.DeletePerInstanceConfigsRegionInstanceGroupManagerRequest.region_instance_group_manager_delete_instance_config_req_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagerDeleteInstanceConfigReq - 530, // 134: google.cloud.compute.v1.DeprecateImageRequest.deprecation_status_resource:type_name -> google.cloud.compute.v1.DeprecationStatus - 728, // 135: google.cloud.compute.v1.DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest.global_network_endpoint_groups_detach_endpoints_request_resource:type_name -> google.cloud.compute.v1.GlobalNetworkEndpointGroupsDetachEndpointsRequest - 1092, // 136: google.cloud.compute.v1.DetachNetworkEndpointsNetworkEndpointGroupRequest.network_endpoint_groups_detach_endpoints_request_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsDetachEndpointsRequest - 1202, // 137: google.cloud.compute.v1.DisableXpnResourceProjectRequest.projects_disable_xpn_resource_request_resource:type_name -> google.cloud.compute.v1.ProjectsDisableXpnResourceRequest - 538, // 138: google.cloud.compute.v1.Disk.async_primary_disk:type_name -> google.cloud.compute.v1.DiskAsyncReplication - 1660, // 139: google.cloud.compute.v1.Disk.async_secondary_disks:type_name -> google.cloud.compute.v1.Disk.AsyncSecondaryDisksEntry - 438, // 140: google.cloud.compute.v1.Disk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 735, // 141: google.cloud.compute.v1.Disk.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature - 1661, // 142: google.cloud.compute.v1.Disk.labels:type_name -> google.cloud.compute.v1.Disk.LabelsEntry - 543, // 143: google.cloud.compute.v1.Disk.params:type_name -> google.cloud.compute.v1.DiskParams - 544, // 144: google.cloud.compute.v1.Disk.resource_status:type_name -> google.cloud.compute.v1.DiskResourceStatus - 438, // 145: google.cloud.compute.v1.Disk.source_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 438, // 146: google.cloud.compute.v1.Disk.source_snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 1662, // 147: google.cloud.compute.v1.DiskAggregatedList.items:type_name -> google.cloud.compute.v1.DiskAggregatedList.ItemsEntry - 1638, // 148: google.cloud.compute.v1.DiskAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 538, // 149: google.cloud.compute.v1.DiskAsyncReplicationList.async_replication_disk:type_name -> google.cloud.compute.v1.DiskAsyncReplication - 536, // 150: google.cloud.compute.v1.DiskList.items:type_name -> google.cloud.compute.v1.Disk - 1638, // 151: google.cloud.compute.v1.DiskList.warning:type_name -> google.cloud.compute.v1.Warning - 1663, // 152: google.cloud.compute.v1.DiskParams.resource_manager_tags:type_name -> google.cloud.compute.v1.DiskParams.ResourceManagerTagsEntry - 545, // 153: google.cloud.compute.v1.DiskResourceStatus.async_primary_disk:type_name -> google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus - 1664, // 154: google.cloud.compute.v1.DiskResourceStatus.async_secondary_disks:type_name -> google.cloud.compute.v1.DiskResourceStatus.AsyncSecondaryDisksEntry - 530, // 155: google.cloud.compute.v1.DiskType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus - 1665, // 156: google.cloud.compute.v1.DiskTypeAggregatedList.items:type_name -> google.cloud.compute.v1.DiskTypeAggregatedList.ItemsEntry - 1638, // 157: google.cloud.compute.v1.DiskTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 546, // 158: google.cloud.compute.v1.DiskTypeList.items:type_name -> google.cloud.compute.v1.DiskType - 1638, // 159: google.cloud.compute.v1.DiskTypeList.warning:type_name -> google.cloud.compute.v1.Warning - 546, // 160: google.cloud.compute.v1.DiskTypesScopedList.disk_types:type_name -> google.cloud.compute.v1.DiskType - 1638, // 161: google.cloud.compute.v1.DiskTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 536, // 162: google.cloud.compute.v1.DisksScopedList.disks:type_name -> google.cloud.compute.v1.Disk - 1638, // 163: google.cloud.compute.v1.DisksScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 558, // 164: google.cloud.compute.v1.DistributionPolicy.zones:type_name -> google.cloud.compute.v1.DistributionPolicyZoneConfiguration - 1203, // 165: google.cloud.compute.v1.EnableXpnResourceProjectRequest.projects_enable_xpn_resource_request_resource:type_name -> google.cloud.compute.v1.ProjectsEnableXpnResourceRequest - 565, // 166: google.cloud.compute.v1.Error.errors:type_name -> google.cloud.compute.v1.Errors - 564, // 167: google.cloud.compute.v1.ErrorDetails.error_info:type_name -> google.cloud.compute.v1.ErrorInfo - 750, // 168: google.cloud.compute.v1.ErrorDetails.help:type_name -> google.cloud.compute.v1.Help - 1046, // 169: google.cloud.compute.v1.ErrorDetails.localized_message:type_name -> google.cloud.compute.v1.LocalizedMessage - 1216, // 170: google.cloud.compute.v1.ErrorDetails.quota_info:type_name -> google.cloud.compute.v1.QuotaExceededInfo - 1666, // 171: google.cloud.compute.v1.ErrorInfo.metadatas:type_name -> google.cloud.compute.v1.ErrorInfo.MetadatasEntry - 563, // 172: google.cloud.compute.v1.Errors.error_details:type_name -> google.cloud.compute.v1.ErrorDetails - 566, // 173: google.cloud.compute.v1.ExchangedPeeringRoutesList.items:type_name -> google.cloud.compute.v1.ExchangedPeeringRoute - 1638, // 174: google.cloud.compute.v1.ExchangedPeeringRoutesList.warning:type_name -> google.cloud.compute.v1.Warning - 1497, // 175: google.cloud.compute.v1.ExpandIpCidrRangeSubnetworkRequest.subnetworks_expand_ip_cidr_range_request_resource:type_name -> google.cloud.compute.v1.SubnetworksExpandIpCidrRangeRequest - 571, // 176: google.cloud.compute.v1.ExternalVpnGateway.interfaces:type_name -> google.cloud.compute.v1.ExternalVpnGatewayInterface - 1667, // 177: google.cloud.compute.v1.ExternalVpnGateway.labels:type_name -> google.cloud.compute.v1.ExternalVpnGateway.LabelsEntry - 570, // 178: google.cloud.compute.v1.ExternalVpnGatewayList.items:type_name -> google.cloud.compute.v1.ExternalVpnGateway - 1638, // 179: google.cloud.compute.v1.ExternalVpnGatewayList.warning:type_name -> google.cloud.compute.v1.Warning - 362, // 180: google.cloud.compute.v1.Firewall.allowed:type_name -> google.cloud.compute.v1.Allowed - 528, // 181: google.cloud.compute.v1.Firewall.denied:type_name -> google.cloud.compute.v1.Denied - 576, // 182: google.cloud.compute.v1.Firewall.log_config:type_name -> google.cloud.compute.v1.FirewallLogConfig - 574, // 183: google.cloud.compute.v1.FirewallList.items:type_name -> google.cloud.compute.v1.Firewall - 1638, // 184: google.cloud.compute.v1.FirewallList.warning:type_name -> google.cloud.compute.v1.Warning - 579, // 185: google.cloud.compute.v1.FirewallPoliciesListAssociationsResponse.associations:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation - 579, // 186: google.cloud.compute.v1.FirewallPolicy.associations:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation - 581, // 187: google.cloud.compute.v1.FirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 578, // 188: google.cloud.compute.v1.FirewallPolicyList.items:type_name -> google.cloud.compute.v1.FirewallPolicy - 1638, // 189: google.cloud.compute.v1.FirewallPolicyList.warning:type_name -> google.cloud.compute.v1.Warning - 582, // 190: google.cloud.compute.v1.FirewallPolicyRule.match:type_name -> google.cloud.compute.v1.FirewallPolicyRuleMatcher - 584, // 191: google.cloud.compute.v1.FirewallPolicyRule.target_secure_tags:type_name -> google.cloud.compute.v1.FirewallPolicyRuleSecureTag - 583, // 192: google.cloud.compute.v1.FirewallPolicyRuleMatcher.layer4_configs:type_name -> google.cloud.compute.v1.FirewallPolicyRuleMatcherLayer4Config - 584, // 193: google.cloud.compute.v1.FirewallPolicyRuleMatcher.src_secure_tags:type_name -> google.cloud.compute.v1.FirewallPolicyRuleSecureTag - 1668, // 194: google.cloud.compute.v1.ForwardingRule.labels:type_name -> google.cloud.compute.v1.ForwardingRule.LabelsEntry - 1066, // 195: google.cloud.compute.v1.ForwardingRule.metadata_filters:type_name -> google.cloud.compute.v1.MetadataFilter - 590, // 196: google.cloud.compute.v1.ForwardingRule.service_directory_registrations:type_name -> google.cloud.compute.v1.ForwardingRuleServiceDirectoryRegistration - 1669, // 197: google.cloud.compute.v1.ForwardingRuleAggregatedList.items:type_name -> google.cloud.compute.v1.ForwardingRuleAggregatedList.ItemsEntry - 1638, // 198: google.cloud.compute.v1.ForwardingRuleAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 586, // 199: google.cloud.compute.v1.ForwardingRuleList.items:type_name -> google.cloud.compute.v1.ForwardingRule - 1638, // 200: google.cloud.compute.v1.ForwardingRuleList.warning:type_name -> google.cloud.compute.v1.Warning - 586, // 201: google.cloud.compute.v1.ForwardingRulesScopedList.forwarding_rules:type_name -> google.cloud.compute.v1.ForwardingRule - 1638, // 202: google.cloud.compute.v1.ForwardingRulesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1282, // 203: google.cloud.compute.v1.GetHealthBackendServiceRequest.resource_group_reference_resource:type_name -> google.cloud.compute.v1.ResourceGroupReference - 1282, // 204: google.cloud.compute.v1.GetHealthRegionBackendServiceRequest.resource_group_reference_resource:type_name -> google.cloud.compute.v1.ResourceGroupReference - 888, // 205: google.cloud.compute.v1.GetHealthTargetPoolRequest.instance_reference_resource:type_name -> google.cloud.compute.v1.InstanceReference - 1083, // 206: google.cloud.compute.v1.GlobalNetworkEndpointGroupsAttachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint - 1083, // 207: google.cloud.compute.v1.GlobalNetworkEndpointGroupsDetachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint - 410, // 208: google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding - 1196, // 209: google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy - 1670, // 210: google.cloud.compute.v1.GlobalSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest.LabelsEntry - 410, // 211: google.cloud.compute.v1.GlobalSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding - 1196, // 212: google.cloud.compute.v1.GlobalSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy - 734, // 213: google.cloud.compute.v1.GuestAttributes.query_value:type_name -> google.cloud.compute.v1.GuestAttributesValue - 733, // 214: google.cloud.compute.v1.GuestAttributesValue.items:type_name -> google.cloud.compute.v1.GuestAttributesEntry - 592, // 215: google.cloud.compute.v1.HealthCheck.grpc_health_check:type_name -> google.cloud.compute.v1.GRPCHealthCheck - 736, // 216: google.cloud.compute.v1.HealthCheck.http2_health_check:type_name -> google.cloud.compute.v1.HTTP2HealthCheck - 737, // 217: google.cloud.compute.v1.HealthCheck.http_health_check:type_name -> google.cloud.compute.v1.HTTPHealthCheck - 738, // 218: google.cloud.compute.v1.HealthCheck.https_health_check:type_name -> google.cloud.compute.v1.HTTPSHealthCheck - 741, // 219: google.cloud.compute.v1.HealthCheck.log_config:type_name -> google.cloud.compute.v1.HealthCheckLogConfig - 1329, // 220: google.cloud.compute.v1.HealthCheck.ssl_health_check:type_name -> google.cloud.compute.v1.SSLHealthCheck - 1503, // 221: google.cloud.compute.v1.HealthCheck.tcp_health_check:type_name -> google.cloud.compute.v1.TCPHealthCheck - 739, // 222: google.cloud.compute.v1.HealthCheckList.items:type_name -> google.cloud.compute.v1.HealthCheck - 1638, // 223: google.cloud.compute.v1.HealthCheckList.warning:type_name -> google.cloud.compute.v1.Warning - 743, // 224: google.cloud.compute.v1.HealthCheckServicesList.items:type_name -> google.cloud.compute.v1.HealthCheckService - 1638, // 225: google.cloud.compute.v1.HealthCheckServicesList.warning:type_name -> google.cloud.compute.v1.Warning - 1671, // 226: google.cloud.compute.v1.HealthChecksAggregatedList.items:type_name -> google.cloud.compute.v1.HealthChecksAggregatedList.ItemsEntry - 1638, // 227: google.cloud.compute.v1.HealthChecksAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 739, // 228: google.cloud.compute.v1.HealthChecksScopedList.health_checks:type_name -> google.cloud.compute.v1.HealthCheck - 1638, // 229: google.cloud.compute.v1.HealthChecksScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1672, // 230: google.cloud.compute.v1.HealthStatus.annotations:type_name -> google.cloud.compute.v1.HealthStatus.AnnotationsEntry - 405, // 231: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.backend_service:type_name -> google.cloud.compute.v1.BackendServiceReference - 589, // 232: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.forwarding_rule:type_name -> google.cloud.compute.v1.ForwardingRuleReference - 742, // 233: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.health_check:type_name -> google.cloud.compute.v1.HealthCheckReference - 744, // 234: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.health_check_service:type_name -> google.cloud.compute.v1.HealthCheckServiceReference - 751, // 235: google.cloud.compute.v1.Help.links:type_name -> google.cloud.compute.v1.HelpLink - 559, // 236: google.cloud.compute.v1.HttpFaultDelay.fixed_delay:type_name -> google.cloud.compute.v1.Duration - 753, // 237: google.cloud.compute.v1.HttpFaultInjection.abort:type_name -> google.cloud.compute.v1.HttpFaultAbort - 754, // 238: google.cloud.compute.v1.HttpFaultInjection.delay:type_name -> google.cloud.compute.v1.HttpFaultDelay - 758, // 239: google.cloud.compute.v1.HttpHeaderAction.request_headers_to_add:type_name -> google.cloud.compute.v1.HttpHeaderOption - 758, // 240: google.cloud.compute.v1.HttpHeaderAction.response_headers_to_add:type_name -> google.cloud.compute.v1.HttpHeaderOption - 906, // 241: google.cloud.compute.v1.HttpHeaderMatch.range_match:type_name -> google.cloud.compute.v1.Int64RangeMatch - 559, // 242: google.cloud.compute.v1.HttpRetryPolicy.per_try_timeout:type_name -> google.cloud.compute.v1.Duration - 433, // 243: google.cloud.compute.v1.HttpRouteAction.cors_policy:type_name -> google.cloud.compute.v1.CorsPolicy - 755, // 244: google.cloud.compute.v1.HttpRouteAction.fault_injection_policy:type_name -> google.cloud.compute.v1.HttpFaultInjection - 559, // 245: google.cloud.compute.v1.HttpRouteAction.max_stream_duration:type_name -> google.cloud.compute.v1.Duration - 1268, // 246: google.cloud.compute.v1.HttpRouteAction.request_mirror_policy:type_name -> google.cloud.compute.v1.RequestMirrorPolicy - 761, // 247: google.cloud.compute.v1.HttpRouteAction.retry_policy:type_name -> google.cloud.compute.v1.HttpRetryPolicy - 559, // 248: google.cloud.compute.v1.HttpRouteAction.timeout:type_name -> google.cloud.compute.v1.Duration - 1608, // 249: google.cloud.compute.v1.HttpRouteAction.url_rewrite:type_name -> google.cloud.compute.v1.UrlRewrite - 1640, // 250: google.cloud.compute.v1.HttpRouteAction.weighted_backend_services:type_name -> google.cloud.compute.v1.WeightedBackendService - 756, // 251: google.cloud.compute.v1.HttpRouteRule.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction - 764, // 252: google.cloud.compute.v1.HttpRouteRule.match_rules:type_name -> google.cloud.compute.v1.HttpRouteRuleMatch - 762, // 253: google.cloud.compute.v1.HttpRouteRule.route_action:type_name -> google.cloud.compute.v1.HttpRouteAction - 760, // 254: google.cloud.compute.v1.HttpRouteRule.url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction - 757, // 255: google.cloud.compute.v1.HttpRouteRuleMatch.header_matches:type_name -> google.cloud.compute.v1.HttpHeaderMatch - 1066, // 256: google.cloud.compute.v1.HttpRouteRuleMatch.metadata_filters:type_name -> google.cloud.compute.v1.MetadataFilter - 759, // 257: google.cloud.compute.v1.HttpRouteRuleMatch.query_parameter_matches:type_name -> google.cloud.compute.v1.HttpQueryParameterMatch - 530, // 258: google.cloud.compute.v1.Image.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus - 735, // 259: google.cloud.compute.v1.Image.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature - 438, // 260: google.cloud.compute.v1.Image.image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 1673, // 261: google.cloud.compute.v1.Image.labels:type_name -> google.cloud.compute.v1.Image.LabelsEntry - 1217, // 262: google.cloud.compute.v1.Image.raw_disk:type_name -> google.cloud.compute.v1.RawDisk - 768, // 263: google.cloud.compute.v1.Image.shielded_instance_initial_state:type_name -> google.cloud.compute.v1.InitialStateConfig - 438, // 264: google.cloud.compute.v1.Image.source_disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 438, // 265: google.cloud.compute.v1.Image.source_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 438, // 266: google.cloud.compute.v1.Image.source_snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 765, // 267: google.cloud.compute.v1.ImageFamilyView.image:type_name -> google.cloud.compute.v1.Image - 765, // 268: google.cloud.compute.v1.ImageList.items:type_name -> google.cloud.compute.v1.Image - 1638, // 269: google.cloud.compute.v1.ImageList.warning:type_name -> google.cloud.compute.v1.Warning - 573, // 270: google.cloud.compute.v1.InitialStateConfig.dbs:type_name -> google.cloud.compute.v1.FileContentBuffer - 573, // 271: google.cloud.compute.v1.InitialStateConfig.dbxs:type_name -> google.cloud.compute.v1.FileContentBuffer - 573, // 272: google.cloud.compute.v1.InitialStateConfig.keks:type_name -> google.cloud.compute.v1.FileContentBuffer - 573, // 273: google.cloud.compute.v1.InitialStateConfig.pk:type_name -> google.cloud.compute.v1.FileContentBuffer - 310, // 274: google.cloud.compute.v1.InsertAddressRequest.address_resource:type_name -> google.cloud.compute.v1.Address - 373, // 275: google.cloud.compute.v1.InsertAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler - 385, // 276: google.cloud.compute.v1.InsertBackendBucketRequest.backend_bucket_resource:type_name -> google.cloud.compute.v1.BackendBucket - 391, // 277: google.cloud.compute.v1.InsertBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService - 536, // 278: google.cloud.compute.v1.InsertDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk - 570, // 279: google.cloud.compute.v1.InsertExternalVpnGatewayRequest.external_vpn_gateway_resource:type_name -> google.cloud.compute.v1.ExternalVpnGateway - 578, // 280: google.cloud.compute.v1.InsertFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy - 574, // 281: google.cloud.compute.v1.InsertFirewallRequest.firewall_resource:type_name -> google.cloud.compute.v1.Firewall - 586, // 282: google.cloud.compute.v1.InsertForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule - 310, // 283: google.cloud.compute.v1.InsertGlobalAddressRequest.address_resource:type_name -> google.cloud.compute.v1.Address - 586, // 284: google.cloud.compute.v1.InsertGlobalForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule - 1084, // 285: google.cloud.compute.v1.InsertGlobalNetworkEndpointGroupRequest.network_endpoint_group_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroup - 1210, // 286: google.cloud.compute.v1.InsertGlobalPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix - 739, // 287: google.cloud.compute.v1.InsertHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck - 765, // 288: google.cloud.compute.v1.InsertImageRequest.image_resource:type_name -> google.cloud.compute.v1.Image - 848, // 289: google.cloud.compute.v1.InsertInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager - 845, // 290: google.cloud.compute.v1.InsertInstanceGroupRequest.instance_group_resource:type_name -> google.cloud.compute.v1.InstanceGroup - 841, // 291: google.cloud.compute.v1.InsertInstanceRequest.instance_resource:type_name -> google.cloud.compute.v1.Instance - 889, // 292: google.cloud.compute.v1.InsertInstanceTemplateRequest.instance_template_resource:type_name -> google.cloud.compute.v1.InstanceTemplate - 908, // 293: google.cloud.compute.v1.InsertInterconnectAttachmentRequest.interconnect_attachment_resource:type_name -> google.cloud.compute.v1.InterconnectAttachment - 907, // 294: google.cloud.compute.v1.InsertInterconnectRequest.interconnect_resource:type_name -> google.cloud.compute.v1.Interconnect - 935, // 295: google.cloud.compute.v1.InsertLicenseRequest.license_resource:type_name -> google.cloud.compute.v1.License - 1055, // 296: google.cloud.compute.v1.InsertMachineImageRequest.machine_image_resource:type_name -> google.cloud.compute.v1.MachineImage - 1075, // 297: google.cloud.compute.v1.InsertNetworkAttachmentRequest.network_attachment_resource:type_name -> google.cloud.compute.v1.NetworkAttachment - 1080, // 298: google.cloud.compute.v1.InsertNetworkEdgeSecurityServiceRequest.network_edge_security_service_resource:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityService - 1084, // 299: google.cloud.compute.v1.InsertNetworkEndpointGroupRequest.network_endpoint_group_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroup - 578, // 300: google.cloud.compute.v1.InsertNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy - 1074, // 301: google.cloud.compute.v1.InsertNetworkRequest.network_resource:type_name -> google.cloud.compute.v1.Network - 1107, // 302: google.cloud.compute.v1.InsertNodeGroupRequest.node_group_resource:type_name -> google.cloud.compute.v1.NodeGroup - 1119, // 303: google.cloud.compute.v1.InsertNodeTemplateRequest.node_template_resource:type_name -> google.cloud.compute.v1.NodeTemplate - 1137, // 304: google.cloud.compute.v1.InsertPacketMirroringRequest.packet_mirroring_resource:type_name -> google.cloud.compute.v1.PacketMirroring - 1207, // 305: google.cloud.compute.v1.InsertPublicAdvertisedPrefixeRequest.public_advertised_prefix_resource:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefix - 1210, // 306: google.cloud.compute.v1.InsertPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix - 373, // 307: google.cloud.compute.v1.InsertRegionAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler - 391, // 308: google.cloud.compute.v1.InsertRegionBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService - 424, // 309: google.cloud.compute.v1.InsertRegionCommitmentRequest.commitment_resource:type_name -> google.cloud.compute.v1.Commitment - 536, // 310: google.cloud.compute.v1.InsertRegionDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk - 739, // 311: google.cloud.compute.v1.InsertRegionHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck - 743, // 312: google.cloud.compute.v1.InsertRegionHealthCheckServiceRequest.health_check_service_resource:type_name -> google.cloud.compute.v1.HealthCheckService - 848, // 313: google.cloud.compute.v1.InsertRegionInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager - 889, // 314: google.cloud.compute.v1.InsertRegionInstanceTemplateRequest.instance_template_resource:type_name -> google.cloud.compute.v1.InstanceTemplate - 1084, // 315: google.cloud.compute.v1.InsertRegionNetworkEndpointGroupRequest.network_endpoint_group_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroup - 578, // 316: google.cloud.compute.v1.InsertRegionNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy - 1128, // 317: google.cloud.compute.v1.InsertRegionNotificationEndpointRequest.notification_endpoint_resource:type_name -> google.cloud.compute.v1.NotificationEndpoint - 1341, // 318: google.cloud.compute.v1.InsertRegionSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy - 1468, // 319: google.cloud.compute.v1.InsertRegionSslCertificateRequest.ssl_certificate_resource:type_name -> google.cloud.compute.v1.SslCertificate - 1478, // 320: google.cloud.compute.v1.InsertRegionSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy - 1508, // 321: google.cloud.compute.v1.InsertRegionTargetHttpProxyRequest.target_http_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpProxy - 1515, // 322: google.cloud.compute.v1.InsertRegionTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy - 1541, // 323: google.cloud.compute.v1.InsertRegionTargetTcpProxyRequest.target_tcp_proxy_resource:type_name -> google.cloud.compute.v1.TargetTcpProxy - 1598, // 324: google.cloud.compute.v1.InsertRegionUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap - 1269, // 325: google.cloud.compute.v1.InsertReservationRequest.reservation_resource:type_name -> google.cloud.compute.v1.Reservation - 1284, // 326: google.cloud.compute.v1.InsertResourcePolicyRequest.resource_policy_resource:type_name -> google.cloud.compute.v1.ResourcePolicy - 1303, // 327: google.cloud.compute.v1.InsertRouteRequest.route_resource:type_name -> google.cloud.compute.v1.Route - 1306, // 328: google.cloud.compute.v1.InsertRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router - 1341, // 329: google.cloud.compute.v1.InsertSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy - 1368, // 330: google.cloud.compute.v1.InsertServiceAttachmentRequest.service_attachment_resource:type_name -> google.cloud.compute.v1.ServiceAttachment - 1463, // 331: google.cloud.compute.v1.InsertSnapshotRequest.snapshot_resource:type_name -> google.cloud.compute.v1.Snapshot - 1468, // 332: google.cloud.compute.v1.InsertSslCertificateRequest.ssl_certificate_resource:type_name -> google.cloud.compute.v1.SslCertificate - 1478, // 333: google.cloud.compute.v1.InsertSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy - 1492, // 334: google.cloud.compute.v1.InsertSubnetworkRequest.subnetwork_resource:type_name -> google.cloud.compute.v1.Subnetwork - 1505, // 335: google.cloud.compute.v1.InsertTargetGrpcProxyRequest.target_grpc_proxy_resource:type_name -> google.cloud.compute.v1.TargetGrpcProxy - 1508, // 336: google.cloud.compute.v1.InsertTargetHttpProxyRequest.target_http_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpProxy - 1515, // 337: google.cloud.compute.v1.InsertTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy - 1518, // 338: google.cloud.compute.v1.InsertTargetInstanceRequest.target_instance_resource:type_name -> google.cloud.compute.v1.TargetInstance - 1522, // 339: google.cloud.compute.v1.InsertTargetPoolRequest.target_pool_resource:type_name -> google.cloud.compute.v1.TargetPool - 1536, // 340: google.cloud.compute.v1.InsertTargetSslProxyRequest.target_ssl_proxy_resource:type_name -> google.cloud.compute.v1.TargetSslProxy - 1541, // 341: google.cloud.compute.v1.InsertTargetTcpProxyRequest.target_tcp_proxy_resource:type_name -> google.cloud.compute.v1.TargetTcpProxy - 1544, // 342: google.cloud.compute.v1.InsertTargetVpnGatewayRequest.target_vpn_gateway_resource:type_name -> google.cloud.compute.v1.TargetVpnGateway - 1598, // 343: google.cloud.compute.v1.InsertUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap - 1619, // 344: google.cloud.compute.v1.InsertVpnGatewayRequest.vpn_gateway_resource:type_name -> google.cloud.compute.v1.VpnGateway - 1629, // 345: google.cloud.compute.v1.InsertVpnTunnelRequest.vpn_tunnel_resource:type_name -> google.cloud.compute.v1.VpnTunnel - 314, // 346: google.cloud.compute.v1.Instance.advanced_machine_features:type_name -> google.cloud.compute.v1.AdvancedMachineFeatures - 429, // 347: google.cloud.compute.v1.Instance.confidential_instance_config:type_name -> google.cloud.compute.v1.ConfidentialInstanceConfig - 368, // 348: google.cloud.compute.v1.Instance.disks:type_name -> google.cloud.compute.v1.AttachedDisk - 556, // 349: google.cloud.compute.v1.Instance.display_device:type_name -> google.cloud.compute.v1.DisplayDevice - 285, // 350: google.cloud.compute.v1.Instance.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig - 438, // 351: google.cloud.compute.v1.Instance.instance_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 1674, // 352: google.cloud.compute.v1.Instance.labels:type_name -> google.cloud.compute.v1.Instance.LabelsEntry - 1065, // 353: google.cloud.compute.v1.Instance.metadata:type_name -> google.cloud.compute.v1.Metadata - 1097, // 354: google.cloud.compute.v1.Instance.network_interfaces:type_name -> google.cloud.compute.v1.NetworkInterface - 1100, // 355: google.cloud.compute.v1.Instance.network_performance_config:type_name -> google.cloud.compute.v1.NetworkPerformanceConfig - 886, // 356: google.cloud.compute.v1.Instance.params:type_name -> google.cloud.compute.v1.InstanceParams - 1270, // 357: google.cloud.compute.v1.Instance.reservation_affinity:type_name -> google.cloud.compute.v1.ReservationAffinity - 1301, // 358: google.cloud.compute.v1.Instance.resource_status:type_name -> google.cloud.compute.v1.ResourceStatus - 1333, // 359: google.cloud.compute.v1.Instance.scheduling:type_name -> google.cloud.compute.v1.Scheduling - 1367, // 360: google.cloud.compute.v1.Instance.service_accounts:type_name -> google.cloud.compute.v1.ServiceAccount - 1456, // 361: google.cloud.compute.v1.Instance.shielded_instance_config:type_name -> google.cloud.compute.v1.ShieldedInstanceConfig - 1459, // 362: google.cloud.compute.v1.Instance.shielded_instance_integrity_policy:type_name -> google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy - 438, // 363: google.cloud.compute.v1.Instance.source_machine_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 1504, // 364: google.cloud.compute.v1.Instance.tags:type_name -> google.cloud.compute.v1.Tags - 1675, // 365: google.cloud.compute.v1.InstanceAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceAggregatedList.ItemsEntry - 1638, // 366: google.cloud.compute.v1.InstanceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 844, // 367: google.cloud.compute.v1.InstanceConsumptionData.consumption_info:type_name -> google.cloud.compute.v1.InstanceConsumptionInfo - 1073, // 368: google.cloud.compute.v1.InstanceGroup.named_ports:type_name -> google.cloud.compute.v1.NamedPort - 1676, // 369: google.cloud.compute.v1.InstanceGroupAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceGroupAggregatedList.ItemsEntry - 1638, // 370: google.cloud.compute.v1.InstanceGroupAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 845, // 371: google.cloud.compute.v1.InstanceGroupList.items:type_name -> google.cloud.compute.v1.InstanceGroup - 1638, // 372: google.cloud.compute.v1.InstanceGroupList.warning:type_name -> google.cloud.compute.v1.Warning - 851, // 373: google.cloud.compute.v1.InstanceGroupManager.auto_healing_policies:type_name -> google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy - 849, // 374: google.cloud.compute.v1.InstanceGroupManager.current_actions:type_name -> google.cloud.compute.v1.InstanceGroupManagerActionsSummary - 557, // 375: google.cloud.compute.v1.InstanceGroupManager.distribution_policy:type_name -> google.cloud.compute.v1.DistributionPolicy - 852, // 376: google.cloud.compute.v1.InstanceGroupManager.instance_lifecycle_policy:type_name -> google.cloud.compute.v1.InstanceGroupManagerInstanceLifecyclePolicy - 1073, // 377: google.cloud.compute.v1.InstanceGroupManager.named_ports:type_name -> google.cloud.compute.v1.NamedPort - 1484, // 378: google.cloud.compute.v1.InstanceGroupManager.stateful_policy:type_name -> google.cloud.compute.v1.StatefulPolicy - 854, // 379: google.cloud.compute.v1.InstanceGroupManager.status:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatus - 858, // 380: google.cloud.compute.v1.InstanceGroupManager.update_policy:type_name -> google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy - 859, // 381: google.cloud.compute.v1.InstanceGroupManager.versions:type_name -> google.cloud.compute.v1.InstanceGroupManagerVersion - 1677, // 382: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceGroupManagerAggregatedList.ItemsEntry - 1638, // 383: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 848, // 384: google.cloud.compute.v1.InstanceGroupManagerList.items:type_name -> google.cloud.compute.v1.InstanceGroupManager - 1638, // 385: google.cloud.compute.v1.InstanceGroupManagerList.warning:type_name -> google.cloud.compute.v1.Warning - 855, // 386: google.cloud.compute.v1.InstanceGroupManagerStatus.stateful:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatusStateful - 857, // 387: google.cloud.compute.v1.InstanceGroupManagerStatus.version_target:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatusVersionTarget - 856, // 388: google.cloud.compute.v1.InstanceGroupManagerStatusStateful.per_instance_configs:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatusStatefulPerInstanceConfigs - 585, // 389: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.max_surge:type_name -> google.cloud.compute.v1.FixedOrPercent - 585, // 390: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.max_unavailable:type_name -> google.cloud.compute.v1.FixedOrPercent - 585, // 391: google.cloud.compute.v1.InstanceGroupManagerVersion.target_size:type_name -> google.cloud.compute.v1.FixedOrPercent - 1195, // 392: google.cloud.compute.v1.InstanceGroupManagersCreateInstancesRequest.instances:type_name -> google.cloud.compute.v1.PerInstanceConfig - 882, // 393: google.cloud.compute.v1.InstanceGroupManagersListErrorsResponse.items:type_name -> google.cloud.compute.v1.InstanceManagedByIgmError - 1061, // 394: google.cloud.compute.v1.InstanceGroupManagersListManagedInstancesResponse.managed_instances:type_name -> google.cloud.compute.v1.ManagedInstance - 1195, // 395: google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp.items:type_name -> google.cloud.compute.v1.PerInstanceConfig - 1638, // 396: google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp.warning:type_name -> google.cloud.compute.v1.Warning - 1195, // 397: google.cloud.compute.v1.InstanceGroupManagersPatchPerInstanceConfigsReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig - 848, // 398: google.cloud.compute.v1.InstanceGroupManagersScopedList.instance_group_managers:type_name -> google.cloud.compute.v1.InstanceGroupManager - 1638, // 399: google.cloud.compute.v1.InstanceGroupManagersScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1195, // 400: google.cloud.compute.v1.InstanceGroupManagersUpdatePerInstanceConfigsReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig - 888, // 401: google.cloud.compute.v1.InstanceGroupsAddInstancesRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference - 893, // 402: google.cloud.compute.v1.InstanceGroupsListInstances.items:type_name -> google.cloud.compute.v1.InstanceWithNamedPorts - 1638, // 403: google.cloud.compute.v1.InstanceGroupsListInstances.warning:type_name -> google.cloud.compute.v1.Warning - 888, // 404: google.cloud.compute.v1.InstanceGroupsRemoveInstancesRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference - 845, // 405: google.cloud.compute.v1.InstanceGroupsScopedList.instance_groups:type_name -> google.cloud.compute.v1.InstanceGroup - 1638, // 406: google.cloud.compute.v1.InstanceGroupsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1073, // 407: google.cloud.compute.v1.InstanceGroupsSetNamedPortsRequest.named_ports:type_name -> google.cloud.compute.v1.NamedPort - 841, // 408: google.cloud.compute.v1.InstanceList.items:type_name -> google.cloud.compute.v1.Instance - 1638, // 409: google.cloud.compute.v1.InstanceList.warning:type_name -> google.cloud.compute.v1.Warning - 1220, // 410: google.cloud.compute.v1.InstanceListReferrers.items:type_name -> google.cloud.compute.v1.Reference - 1638, // 411: google.cloud.compute.v1.InstanceListReferrers.warning:type_name -> google.cloud.compute.v1.Warning - 884, // 412: google.cloud.compute.v1.InstanceManagedByIgmError.error:type_name -> google.cloud.compute.v1.InstanceManagedByIgmErrorManagedInstanceError - 883, // 413: google.cloud.compute.v1.InstanceManagedByIgmError.instance_action_details:type_name -> google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails - 1064, // 414: google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails.version:type_name -> google.cloud.compute.v1.ManagedInstanceVersion - 1678, // 415: google.cloud.compute.v1.InstanceParams.resource_manager_tags:type_name -> google.cloud.compute.v1.InstanceParams.ResourceManagerTagsEntry - 314, // 416: google.cloud.compute.v1.InstanceProperties.advanced_machine_features:type_name -> google.cloud.compute.v1.AdvancedMachineFeatures - 429, // 417: google.cloud.compute.v1.InstanceProperties.confidential_instance_config:type_name -> google.cloud.compute.v1.ConfidentialInstanceConfig - 368, // 418: google.cloud.compute.v1.InstanceProperties.disks:type_name -> google.cloud.compute.v1.AttachedDisk - 285, // 419: google.cloud.compute.v1.InstanceProperties.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig - 1679, // 420: google.cloud.compute.v1.InstanceProperties.labels:type_name -> google.cloud.compute.v1.InstanceProperties.LabelsEntry - 1065, // 421: google.cloud.compute.v1.InstanceProperties.metadata:type_name -> google.cloud.compute.v1.Metadata - 1097, // 422: google.cloud.compute.v1.InstanceProperties.network_interfaces:type_name -> google.cloud.compute.v1.NetworkInterface - 1100, // 423: google.cloud.compute.v1.InstanceProperties.network_performance_config:type_name -> google.cloud.compute.v1.NetworkPerformanceConfig - 1270, // 424: google.cloud.compute.v1.InstanceProperties.reservation_affinity:type_name -> google.cloud.compute.v1.ReservationAffinity - 1680, // 425: google.cloud.compute.v1.InstanceProperties.resource_manager_tags:type_name -> google.cloud.compute.v1.InstanceProperties.ResourceManagerTagsEntry - 1333, // 426: google.cloud.compute.v1.InstanceProperties.scheduling:type_name -> google.cloud.compute.v1.Scheduling - 1367, // 427: google.cloud.compute.v1.InstanceProperties.service_accounts:type_name -> google.cloud.compute.v1.ServiceAccount - 1456, // 428: google.cloud.compute.v1.InstanceProperties.shielded_instance_config:type_name -> google.cloud.compute.v1.ShieldedInstanceConfig - 1504, // 429: google.cloud.compute.v1.InstanceProperties.tags:type_name -> google.cloud.compute.v1.Tags - 887, // 430: google.cloud.compute.v1.InstanceTemplate.properties:type_name -> google.cloud.compute.v1.InstanceProperties - 1466, // 431: google.cloud.compute.v1.InstanceTemplate.source_instance_params:type_name -> google.cloud.compute.v1.SourceInstanceParams - 1681, // 432: google.cloud.compute.v1.InstanceTemplateAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceTemplateAggregatedList.ItemsEntry - 1638, // 433: google.cloud.compute.v1.InstanceTemplateAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 889, // 434: google.cloud.compute.v1.InstanceTemplateList.items:type_name -> google.cloud.compute.v1.InstanceTemplate - 1638, // 435: google.cloud.compute.v1.InstanceTemplateList.warning:type_name -> google.cloud.compute.v1.Warning - 889, // 436: google.cloud.compute.v1.InstanceTemplatesScopedList.instance_templates:type_name -> google.cloud.compute.v1.InstanceTemplate - 1638, // 437: google.cloud.compute.v1.InstanceTemplatesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1073, // 438: google.cloud.compute.v1.InstanceWithNamedPorts.named_ports:type_name -> google.cloud.compute.v1.NamedPort - 896, // 439: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse.firewall_policys:type_name -> google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy - 574, // 440: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse.firewalls:type_name -> google.cloud.compute.v1.Firewall - 581, // 441: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 841, // 442: google.cloud.compute.v1.InstancesScopedList.instances:type_name -> google.cloud.compute.v1.Instance - 1638, // 443: google.cloud.compute.v1.InstancesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1682, // 444: google.cloud.compute.v1.InstancesSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.InstancesSetLabelsRequest.LabelsEntry - 285, // 445: google.cloud.compute.v1.InstancesSetMachineResourcesRequest.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig - 439, // 446: google.cloud.compute.v1.InstancesStartWithEncryptionKeyRequest.disks:type_name -> google.cloud.compute.v1.CustomerEncryptionKeyProtectedDisk - 916, // 447: google.cloud.compute.v1.Interconnect.circuit_infos:type_name -> google.cloud.compute.v1.InterconnectCircuitInfo - 926, // 448: google.cloud.compute.v1.Interconnect.expected_outages:type_name -> google.cloud.compute.v1.InterconnectOutageNotification - 1683, // 449: google.cloud.compute.v1.Interconnect.labels:type_name -> google.cloud.compute.v1.Interconnect.LabelsEntry - 910, // 450: google.cloud.compute.v1.InterconnectAttachment.configuration_constraints:type_name -> google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints - 1684, // 451: google.cloud.compute.v1.InterconnectAttachment.labels:type_name -> google.cloud.compute.v1.InterconnectAttachment.LabelsEntry - 913, // 452: google.cloud.compute.v1.InterconnectAttachment.partner_metadata:type_name -> google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata - 914, // 453: google.cloud.compute.v1.InterconnectAttachment.private_interconnect_info:type_name -> google.cloud.compute.v1.InterconnectAttachmentPrivateInfo - 1685, // 454: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.items:type_name -> google.cloud.compute.v1.InterconnectAttachmentAggregatedList.ItemsEntry - 1638, // 455: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 911, // 456: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints.bgp_peer_asn_ranges:type_name -> google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange - 908, // 457: google.cloud.compute.v1.InterconnectAttachmentList.items:type_name -> google.cloud.compute.v1.InterconnectAttachment - 1638, // 458: google.cloud.compute.v1.InterconnectAttachmentList.warning:type_name -> google.cloud.compute.v1.Warning - 908, // 459: google.cloud.compute.v1.InterconnectAttachmentsScopedList.interconnect_attachments:type_name -> google.cloud.compute.v1.InterconnectAttachment - 1638, // 460: google.cloud.compute.v1.InterconnectAttachmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 918, // 461: google.cloud.compute.v1.InterconnectDiagnostics.arp_caches:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsARPEntry - 921, // 462: google.cloud.compute.v1.InterconnectDiagnostics.links:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus - 918, // 463: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.arp_caches:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsARPEntry - 919, // 464: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.lacp_status:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkLACPStatus - 920, // 465: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.receiving_optical_power:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower - 920, // 466: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.transmitting_optical_power:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower - 907, // 467: google.cloud.compute.v1.InterconnectList.items:type_name -> google.cloud.compute.v1.Interconnect - 1638, // 468: google.cloud.compute.v1.InterconnectList.warning:type_name -> google.cloud.compute.v1.Warning - 925, // 469: google.cloud.compute.v1.InterconnectLocation.region_infos:type_name -> google.cloud.compute.v1.InterconnectLocationRegionInfo - 923, // 470: google.cloud.compute.v1.InterconnectLocationList.items:type_name -> google.cloud.compute.v1.InterconnectLocation - 1638, // 471: google.cloud.compute.v1.InterconnectLocationList.warning:type_name -> google.cloud.compute.v1.Warning - 910, // 472: google.cloud.compute.v1.InterconnectRemoteLocation.attachment_configuration_constraints:type_name -> google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints - 928, // 473: google.cloud.compute.v1.InterconnectRemoteLocation.constraints:type_name -> google.cloud.compute.v1.InterconnectRemoteLocationConstraints - 931, // 474: google.cloud.compute.v1.InterconnectRemoteLocation.permitted_connections:type_name -> google.cloud.compute.v1.InterconnectRemoteLocationPermittedConnections - 929, // 475: google.cloud.compute.v1.InterconnectRemoteLocationConstraints.subnet_length_range:type_name -> google.cloud.compute.v1.InterconnectRemoteLocationConstraintsSubnetLengthRange - 927, // 476: google.cloud.compute.v1.InterconnectRemoteLocationList.items:type_name -> google.cloud.compute.v1.InterconnectRemoteLocation - 1638, // 477: google.cloud.compute.v1.InterconnectRemoteLocationList.warning:type_name -> google.cloud.compute.v1.Warning - 917, // 478: google.cloud.compute.v1.InterconnectsGetDiagnosticsResponse.result:type_name -> google.cloud.compute.v1.InterconnectDiagnostics - 418, // 479: google.cloud.compute.v1.InvalidateCacheUrlMapRequest.cache_invalidation_rule_resource:type_name -> google.cloud.compute.v1.CacheInvalidationRule - 939, // 480: google.cloud.compute.v1.License.resource_requirements:type_name -> google.cloud.compute.v1.LicenseResourceRequirements - 937, // 481: google.cloud.compute.v1.LicenseCode.license_alias:type_name -> google.cloud.compute.v1.LicenseCodeLicenseAlias - 935, // 482: google.cloud.compute.v1.LicensesListResponse.items:type_name -> google.cloud.compute.v1.License - 1638, // 483: google.cloud.compute.v1.LicensesListResponse.warning:type_name -> google.cloud.compute.v1.Warning - 876, // 484: google.cloud.compute.v1.ListInstancesInstanceGroupsRequest.instance_groups_list_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsListInstancesRequest - 1245, // 485: google.cloud.compute.v1.ListInstancesRegionInstanceGroupsRequest.region_instance_groups_list_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupsListInstancesRequest - 1093, // 486: google.cloud.compute.v1.ListNetworkEndpointsNetworkEndpointGroupsRequest.network_endpoint_groups_list_endpoints_request_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsListEndpointsRequest - 1205, // 487: google.cloud.compute.v1.ListXpnHostsProjectsRequest.projects_list_xpn_hosts_request_resource:type_name -> google.cloud.compute.v1.ProjectsListXpnHostsRequest - 1686, // 488: google.cloud.compute.v1.LocationPolicy.locations:type_name -> google.cloud.compute.v1.LocationPolicy.LocationsEntry - 1049, // 489: google.cloud.compute.v1.LocationPolicyLocation.constraints:type_name -> google.cloud.compute.v1.LocationPolicyLocationConstraints - 1051, // 490: google.cloud.compute.v1.LogConfig.cloud_audit:type_name -> google.cloud.compute.v1.LogConfigCloudAuditOptions - 1052, // 491: google.cloud.compute.v1.LogConfig.counter:type_name -> google.cloud.compute.v1.LogConfigCounterOptions - 1054, // 492: google.cloud.compute.v1.LogConfig.data_access:type_name -> google.cloud.compute.v1.LogConfigDataAccessOptions - 372, // 493: google.cloud.compute.v1.LogConfigCloudAuditOptions.authorization_logging_options:type_name -> google.cloud.compute.v1.AuthorizationLoggingOptions - 1053, // 494: google.cloud.compute.v1.LogConfigCounterOptions.custom_fields:type_name -> google.cloud.compute.v1.LogConfigCounterOptionsCustomField - 887, // 495: google.cloud.compute.v1.MachineImage.instance_properties:type_name -> google.cloud.compute.v1.InstanceProperties - 438, // 496: google.cloud.compute.v1.MachineImage.machine_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 1331, // 497: google.cloud.compute.v1.MachineImage.saved_disks:type_name -> google.cloud.compute.v1.SavedDisk - 1465, // 498: google.cloud.compute.v1.MachineImage.source_disk_encryption_keys:type_name -> google.cloud.compute.v1.SourceDiskEncryptionKey - 1467, // 499: google.cloud.compute.v1.MachineImage.source_instance_properties:type_name -> google.cloud.compute.v1.SourceInstanceProperties - 1055, // 500: google.cloud.compute.v1.MachineImageList.items:type_name -> google.cloud.compute.v1.MachineImage - 1638, // 501: google.cloud.compute.v1.MachineImageList.warning:type_name -> google.cloud.compute.v1.Warning - 290, // 502: google.cloud.compute.v1.MachineType.accelerators:type_name -> google.cloud.compute.v1.Accelerators - 530, // 503: google.cloud.compute.v1.MachineType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus - 1335, // 504: google.cloud.compute.v1.MachineType.scratch_disks:type_name -> google.cloud.compute.v1.ScratchDisks - 1687, // 505: google.cloud.compute.v1.MachineTypeAggregatedList.items:type_name -> google.cloud.compute.v1.MachineTypeAggregatedList.ItemsEntry - 1638, // 506: google.cloud.compute.v1.MachineTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1057, // 507: google.cloud.compute.v1.MachineTypeList.items:type_name -> google.cloud.compute.v1.MachineType - 1638, // 508: google.cloud.compute.v1.MachineTypeList.warning:type_name -> google.cloud.compute.v1.Warning - 1057, // 509: google.cloud.compute.v1.MachineTypesScopedList.machine_types:type_name -> google.cloud.compute.v1.MachineType - 1638, // 510: google.cloud.compute.v1.MachineTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1062, // 511: google.cloud.compute.v1.ManagedInstance.instance_health:type_name -> google.cloud.compute.v1.ManagedInstanceInstanceHealth - 1063, // 512: google.cloud.compute.v1.ManagedInstance.last_attempt:type_name -> google.cloud.compute.v1.ManagedInstanceLastAttempt - 1198, // 513: google.cloud.compute.v1.ManagedInstance.preserved_state_from_config:type_name -> google.cloud.compute.v1.PreservedState - 1198, // 514: google.cloud.compute.v1.ManagedInstance.preserved_state_from_policy:type_name -> google.cloud.compute.v1.PreservedState - 1064, // 515: google.cloud.compute.v1.ManagedInstance.version:type_name -> google.cloud.compute.v1.ManagedInstanceVersion - 565, // 516: google.cloud.compute.v1.ManagedInstanceLastAttempt.errors:type_name -> google.cloud.compute.v1.Errors - 934, // 517: google.cloud.compute.v1.Metadata.items:type_name -> google.cloud.compute.v1.Items - 1067, // 518: google.cloud.compute.v1.MetadataFilter.filter_labels:type_name -> google.cloud.compute.v1.MetadataFilterLabelMatch - 1222, // 519: google.cloud.compute.v1.MoveAddressRequest.region_addresses_move_request_resource:type_name -> google.cloud.compute.v1.RegionAddressesMoveRequest - 542, // 520: google.cloud.compute.v1.MoveDiskProjectRequest.disk_move_request_resource:type_name -> google.cloud.compute.v1.DiskMoveRequest - 726, // 521: google.cloud.compute.v1.MoveGlobalAddressRequest.global_addresses_move_request_resource:type_name -> google.cloud.compute.v1.GlobalAddressesMoveRequest - 885, // 522: google.cloud.compute.v1.MoveInstanceProjectRequest.instance_move_request_resource:type_name -> google.cloud.compute.v1.InstanceMoveRequest - 1099, // 523: google.cloud.compute.v1.Network.peerings:type_name -> google.cloud.compute.v1.NetworkPeering - 1101, // 524: google.cloud.compute.v1.Network.routing_config:type_name -> google.cloud.compute.v1.NetworkRoutingConfig - 1077, // 525: google.cloud.compute.v1.NetworkAttachment.connection_endpoints:type_name -> google.cloud.compute.v1.NetworkAttachmentConnectedEndpoint - 1688, // 526: google.cloud.compute.v1.NetworkAttachmentAggregatedList.items:type_name -> google.cloud.compute.v1.NetworkAttachmentAggregatedList.ItemsEntry - 1638, // 527: google.cloud.compute.v1.NetworkAttachmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1075, // 528: google.cloud.compute.v1.NetworkAttachmentList.items:type_name -> google.cloud.compute.v1.NetworkAttachment - 1638, // 529: google.cloud.compute.v1.NetworkAttachmentList.warning:type_name -> google.cloud.compute.v1.Warning - 1075, // 530: google.cloud.compute.v1.NetworkAttachmentsScopedList.network_attachments:type_name -> google.cloud.compute.v1.NetworkAttachment - 1638, // 531: google.cloud.compute.v1.NetworkAttachmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1689, // 532: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.items:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.ItemsEntry - 1638, // 533: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1080, // 534: google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList.network_edge_security_services:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityService - 1638, // 535: google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1690, // 536: google.cloud.compute.v1.NetworkEndpoint.annotations:type_name -> google.cloud.compute.v1.NetworkEndpoint.AnnotationsEntry - 1691, // 537: google.cloud.compute.v1.NetworkEndpointGroup.annotations:type_name -> google.cloud.compute.v1.NetworkEndpointGroup.AnnotationsEntry - 1086, // 538: google.cloud.compute.v1.NetworkEndpointGroup.app_engine:type_name -> google.cloud.compute.v1.NetworkEndpointGroupAppEngine - 1087, // 539: google.cloud.compute.v1.NetworkEndpointGroup.cloud_function:type_name -> google.cloud.compute.v1.NetworkEndpointGroupCloudFunction - 1088, // 540: google.cloud.compute.v1.NetworkEndpointGroup.cloud_run:type_name -> google.cloud.compute.v1.NetworkEndpointGroupCloudRun - 1090, // 541: google.cloud.compute.v1.NetworkEndpointGroup.psc_data:type_name -> google.cloud.compute.v1.NetworkEndpointGroupPscData - 1692, // 542: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.items:type_name -> google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.ItemsEntry - 1638, // 543: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1084, // 544: google.cloud.compute.v1.NetworkEndpointGroupList.items:type_name -> google.cloud.compute.v1.NetworkEndpointGroup - 1638, // 545: google.cloud.compute.v1.NetworkEndpointGroupList.warning:type_name -> google.cloud.compute.v1.Warning - 1083, // 546: google.cloud.compute.v1.NetworkEndpointGroupsAttachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint - 1083, // 547: google.cloud.compute.v1.NetworkEndpointGroupsDetachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint - 1096, // 548: google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints.items:type_name -> google.cloud.compute.v1.NetworkEndpointWithHealthStatus - 1638, // 549: google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints.warning:type_name -> google.cloud.compute.v1.Warning - 1084, // 550: google.cloud.compute.v1.NetworkEndpointGroupsScopedList.network_endpoint_groups:type_name -> google.cloud.compute.v1.NetworkEndpointGroup - 1638, // 551: google.cloud.compute.v1.NetworkEndpointGroupsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 749, // 552: google.cloud.compute.v1.NetworkEndpointWithHealthStatus.healths:type_name -> google.cloud.compute.v1.HealthStatusForNetworkEndpoint - 1083, // 553: google.cloud.compute.v1.NetworkEndpointWithHealthStatus.network_endpoint:type_name -> google.cloud.compute.v1.NetworkEndpoint - 291, // 554: google.cloud.compute.v1.NetworkInterface.access_configs:type_name -> google.cloud.compute.v1.AccessConfig - 356, // 555: google.cloud.compute.v1.NetworkInterface.alias_ip_ranges:type_name -> google.cloud.compute.v1.AliasIpRange - 291, // 556: google.cloud.compute.v1.NetworkInterface.ipv6_access_configs:type_name -> google.cloud.compute.v1.AccessConfig - 1074, // 557: google.cloud.compute.v1.NetworkList.items:type_name -> google.cloud.compute.v1.Network - 1638, // 558: google.cloud.compute.v1.NetworkList.warning:type_name -> google.cloud.compute.v1.Warning - 1099, // 559: google.cloud.compute.v1.NetworksAddPeeringRequest.network_peering:type_name -> google.cloud.compute.v1.NetworkPeering - 1104, // 560: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse.firewall_policys:type_name -> google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy - 574, // 561: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse.firewalls:type_name -> google.cloud.compute.v1.Firewall - 581, // 562: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 1099, // 563: google.cloud.compute.v1.NetworksUpdatePeeringRequest.network_peering:type_name -> google.cloud.compute.v1.NetworkPeering - 1109, // 564: google.cloud.compute.v1.NodeGroup.autoscaling_policy:type_name -> google.cloud.compute.v1.NodeGroupAutoscalingPolicy - 1111, // 565: google.cloud.compute.v1.NodeGroup.maintenance_window:type_name -> google.cloud.compute.v1.NodeGroupMaintenanceWindow - 1454, // 566: google.cloud.compute.v1.NodeGroup.share_settings:type_name -> google.cloud.compute.v1.ShareSettings - 1693, // 567: google.cloud.compute.v1.NodeGroupAggregatedList.items:type_name -> google.cloud.compute.v1.NodeGroupAggregatedList.ItemsEntry - 1638, // 568: google.cloud.compute.v1.NodeGroupAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1107, // 569: google.cloud.compute.v1.NodeGroupList.items:type_name -> google.cloud.compute.v1.NodeGroup - 1638, // 570: google.cloud.compute.v1.NodeGroupList.warning:type_name -> google.cloud.compute.v1.Warning - 559, // 571: google.cloud.compute.v1.NodeGroupMaintenanceWindow.maintenance_duration:type_name -> google.cloud.compute.v1.Duration - 285, // 572: google.cloud.compute.v1.NodeGroupNode.accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig - 844, // 573: google.cloud.compute.v1.NodeGroupNode.consumed_resources:type_name -> google.cloud.compute.v1.InstanceConsumptionInfo - 1045, // 574: google.cloud.compute.v1.NodeGroupNode.disks:type_name -> google.cloud.compute.v1.LocalDisk - 843, // 575: google.cloud.compute.v1.NodeGroupNode.instance_consumption_data:type_name -> google.cloud.compute.v1.InstanceConsumptionData - 1366, // 576: google.cloud.compute.v1.NodeGroupNode.server_binding:type_name -> google.cloud.compute.v1.ServerBinding - 844, // 577: google.cloud.compute.v1.NodeGroupNode.total_resources:type_name -> google.cloud.compute.v1.InstanceConsumptionInfo - 1112, // 578: google.cloud.compute.v1.NodeGroupsListNodes.items:type_name -> google.cloud.compute.v1.NodeGroupNode - 1638, // 579: google.cloud.compute.v1.NodeGroupsListNodes.warning:type_name -> google.cloud.compute.v1.Warning - 1107, // 580: google.cloud.compute.v1.NodeGroupsScopedList.node_groups:type_name -> google.cloud.compute.v1.NodeGroup - 1638, // 581: google.cloud.compute.v1.NodeGroupsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 285, // 582: google.cloud.compute.v1.NodeTemplate.accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig - 1045, // 583: google.cloud.compute.v1.NodeTemplate.disks:type_name -> google.cloud.compute.v1.LocalDisk - 1694, // 584: google.cloud.compute.v1.NodeTemplate.node_affinity_labels:type_name -> google.cloud.compute.v1.NodeTemplate.NodeAffinityLabelsEntry - 1122, // 585: google.cloud.compute.v1.NodeTemplate.node_type_flexibility:type_name -> google.cloud.compute.v1.NodeTemplateNodeTypeFlexibility - 1366, // 586: google.cloud.compute.v1.NodeTemplate.server_binding:type_name -> google.cloud.compute.v1.ServerBinding - 1695, // 587: google.cloud.compute.v1.NodeTemplateAggregatedList.items:type_name -> google.cloud.compute.v1.NodeTemplateAggregatedList.ItemsEntry - 1638, // 588: google.cloud.compute.v1.NodeTemplateAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1119, // 589: google.cloud.compute.v1.NodeTemplateList.items:type_name -> google.cloud.compute.v1.NodeTemplate - 1638, // 590: google.cloud.compute.v1.NodeTemplateList.warning:type_name -> google.cloud.compute.v1.Warning - 1119, // 591: google.cloud.compute.v1.NodeTemplatesScopedList.node_templates:type_name -> google.cloud.compute.v1.NodeTemplate - 1638, // 592: google.cloud.compute.v1.NodeTemplatesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 530, // 593: google.cloud.compute.v1.NodeType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus - 1696, // 594: google.cloud.compute.v1.NodeTypeAggregatedList.items:type_name -> google.cloud.compute.v1.NodeTypeAggregatedList.ItemsEntry - 1638, // 595: google.cloud.compute.v1.NodeTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1124, // 596: google.cloud.compute.v1.NodeTypeList.items:type_name -> google.cloud.compute.v1.NodeType - 1638, // 597: google.cloud.compute.v1.NodeTypeList.warning:type_name -> google.cloud.compute.v1.Warning - 1124, // 598: google.cloud.compute.v1.NodeTypesScopedList.node_types:type_name -> google.cloud.compute.v1.NodeType - 1638, // 599: google.cloud.compute.v1.NodeTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1129, // 600: google.cloud.compute.v1.NotificationEndpoint.grpc_settings:type_name -> google.cloud.compute.v1.NotificationEndpointGrpcSettings - 559, // 601: google.cloud.compute.v1.NotificationEndpointGrpcSettings.resend_interval:type_name -> google.cloud.compute.v1.Duration - 1128, // 602: google.cloud.compute.v1.NotificationEndpointList.items:type_name -> google.cloud.compute.v1.NotificationEndpoint - 1638, // 603: google.cloud.compute.v1.NotificationEndpointList.warning:type_name -> google.cloud.compute.v1.Warning - 562, // 604: google.cloud.compute.v1.Operation.error:type_name -> google.cloud.compute.v1.Error - 161, // 605: google.cloud.compute.v1.Operation.status:type_name -> google.cloud.compute.v1.Operation.Status - 1639, // 606: google.cloud.compute.v1.Operation.warnings:type_name -> google.cloud.compute.v1.Warnings - 1697, // 607: google.cloud.compute.v1.OperationAggregatedList.items:type_name -> google.cloud.compute.v1.OperationAggregatedList.ItemsEntry - 1638, // 608: google.cloud.compute.v1.OperationAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1131, // 609: google.cloud.compute.v1.OperationList.items:type_name -> google.cloud.compute.v1.Operation - 1638, // 610: google.cloud.compute.v1.OperationList.warning:type_name -> google.cloud.compute.v1.Warning - 1131, // 611: google.cloud.compute.v1.OperationsScopedList.operations:type_name -> google.cloud.compute.v1.Operation - 1638, // 612: google.cloud.compute.v1.OperationsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 559, // 613: google.cloud.compute.v1.OutlierDetection.base_ejection_time:type_name -> google.cloud.compute.v1.Duration - 559, // 614: google.cloud.compute.v1.OutlierDetection.interval:type_name -> google.cloud.compute.v1.Duration - 1140, // 615: google.cloud.compute.v1.PacketMirroring.collector_ilb:type_name -> google.cloud.compute.v1.PacketMirroringForwardingRuleInfo - 1139, // 616: google.cloud.compute.v1.PacketMirroring.filter:type_name -> google.cloud.compute.v1.PacketMirroringFilter - 1142, // 617: google.cloud.compute.v1.PacketMirroring.mirrored_resources:type_name -> google.cloud.compute.v1.PacketMirroringMirroredResourceInfo - 1145, // 618: google.cloud.compute.v1.PacketMirroring.network:type_name -> google.cloud.compute.v1.PacketMirroringNetworkInfo - 1698, // 619: google.cloud.compute.v1.PacketMirroringAggregatedList.items:type_name -> google.cloud.compute.v1.PacketMirroringAggregatedList.ItemsEntry - 1638, // 620: google.cloud.compute.v1.PacketMirroringAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1137, // 621: google.cloud.compute.v1.PacketMirroringList.items:type_name -> google.cloud.compute.v1.PacketMirroring - 1638, // 622: google.cloud.compute.v1.PacketMirroringList.warning:type_name -> google.cloud.compute.v1.Warning - 1143, // 623: google.cloud.compute.v1.PacketMirroringMirroredResourceInfo.instances:type_name -> google.cloud.compute.v1.PacketMirroringMirroredResourceInfoInstanceInfo - 1144, // 624: google.cloud.compute.v1.PacketMirroringMirroredResourceInfo.subnetworks:type_name -> google.cloud.compute.v1.PacketMirroringMirroredResourceInfoSubnetInfo - 1137, // 625: google.cloud.compute.v1.PacketMirroringsScopedList.packet_mirrorings:type_name -> google.cloud.compute.v1.PacketMirroring - 1638, // 626: google.cloud.compute.v1.PacketMirroringsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 373, // 627: google.cloud.compute.v1.PatchAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler - 385, // 628: google.cloud.compute.v1.PatchBackendBucketRequest.backend_bucket_resource:type_name -> google.cloud.compute.v1.BackendBucket - 391, // 629: google.cloud.compute.v1.PatchBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService - 578, // 630: google.cloud.compute.v1.PatchFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy - 574, // 631: google.cloud.compute.v1.PatchFirewallRequest.firewall_resource:type_name -> google.cloud.compute.v1.Firewall - 586, // 632: google.cloud.compute.v1.PatchForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule - 586, // 633: google.cloud.compute.v1.PatchGlobalForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule - 1210, // 634: google.cloud.compute.v1.PatchGlobalPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix - 739, // 635: google.cloud.compute.v1.PatchHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck - 765, // 636: google.cloud.compute.v1.PatchImageRequest.image_resource:type_name -> google.cloud.compute.v1.Image - 848, // 637: google.cloud.compute.v1.PatchInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager - 908, // 638: google.cloud.compute.v1.PatchInterconnectAttachmentRequest.interconnect_attachment_resource:type_name -> google.cloud.compute.v1.InterconnectAttachment - 907, // 639: google.cloud.compute.v1.PatchInterconnectRequest.interconnect_resource:type_name -> google.cloud.compute.v1.Interconnect - 1080, // 640: google.cloud.compute.v1.PatchNetworkEdgeSecurityServiceRequest.network_edge_security_service_resource:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityService - 578, // 641: google.cloud.compute.v1.PatchNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy - 1074, // 642: google.cloud.compute.v1.PatchNetworkRequest.network_resource:type_name -> google.cloud.compute.v1.Network - 1107, // 643: google.cloud.compute.v1.PatchNodeGroupRequest.node_group_resource:type_name -> google.cloud.compute.v1.NodeGroup - 1137, // 644: google.cloud.compute.v1.PatchPacketMirroringRequest.packet_mirroring_resource:type_name -> google.cloud.compute.v1.PacketMirroring - 868, // 645: google.cloud.compute.v1.PatchPerInstanceConfigsInstanceGroupManagerRequest.instance_group_managers_patch_per_instance_configs_req_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersPatchPerInstanceConfigsReq - 1232, // 646: google.cloud.compute.v1.PatchPerInstanceConfigsRegionInstanceGroupManagerRequest.region_instance_group_manager_patch_instance_config_req_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagerPatchInstanceConfigReq - 1207, // 647: google.cloud.compute.v1.PatchPublicAdvertisedPrefixeRequest.public_advertised_prefix_resource:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefix - 1210, // 648: google.cloud.compute.v1.PatchPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix - 373, // 649: google.cloud.compute.v1.PatchRegionAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler - 391, // 650: google.cloud.compute.v1.PatchRegionBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService - 739, // 651: google.cloud.compute.v1.PatchRegionHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck - 743, // 652: google.cloud.compute.v1.PatchRegionHealthCheckServiceRequest.health_check_service_resource:type_name -> google.cloud.compute.v1.HealthCheckService - 848, // 653: google.cloud.compute.v1.PatchRegionInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager - 578, // 654: google.cloud.compute.v1.PatchRegionNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy - 1341, // 655: google.cloud.compute.v1.PatchRegionSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy - 1478, // 656: google.cloud.compute.v1.PatchRegionSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy - 1515, // 657: google.cloud.compute.v1.PatchRegionTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy - 1598, // 658: google.cloud.compute.v1.PatchRegionUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap - 1284, // 659: google.cloud.compute.v1.PatchResourcePolicyRequest.resource_policy_resource:type_name -> google.cloud.compute.v1.ResourcePolicy - 1306, // 660: google.cloud.compute.v1.PatchRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router - 581, // 661: google.cloud.compute.v1.PatchRuleFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 581, // 662: google.cloud.compute.v1.PatchRuleNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 581, // 663: google.cloud.compute.v1.PatchRuleRegionNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 1350, // 664: google.cloud.compute.v1.PatchRuleSecurityPolicyRequest.security_policy_rule_resource:type_name -> google.cloud.compute.v1.SecurityPolicyRule - 1341, // 665: google.cloud.compute.v1.PatchSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy - 1368, // 666: google.cloud.compute.v1.PatchServiceAttachmentRequest.service_attachment_resource:type_name -> google.cloud.compute.v1.ServiceAttachment - 1478, // 667: google.cloud.compute.v1.PatchSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy - 1492, // 668: google.cloud.compute.v1.PatchSubnetworkRequest.subnetwork_resource:type_name -> google.cloud.compute.v1.Subnetwork - 1505, // 669: google.cloud.compute.v1.PatchTargetGrpcProxyRequest.target_grpc_proxy_resource:type_name -> google.cloud.compute.v1.TargetGrpcProxy - 1508, // 670: google.cloud.compute.v1.PatchTargetHttpProxyRequest.target_http_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpProxy - 1515, // 671: google.cloud.compute.v1.PatchTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy - 1598, // 672: google.cloud.compute.v1.PatchUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap - 762, // 673: google.cloud.compute.v1.PathMatcher.default_route_action:type_name -> google.cloud.compute.v1.HttpRouteAction - 760, // 674: google.cloud.compute.v1.PathMatcher.default_url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction - 756, // 675: google.cloud.compute.v1.PathMatcher.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction - 1194, // 676: google.cloud.compute.v1.PathMatcher.path_rules:type_name -> google.cloud.compute.v1.PathRule - 763, // 677: google.cloud.compute.v1.PathMatcher.route_rules:type_name -> google.cloud.compute.v1.HttpRouteRule - 762, // 678: google.cloud.compute.v1.PathRule.route_action:type_name -> google.cloud.compute.v1.HttpRouteAction - 760, // 679: google.cloud.compute.v1.PathRule.url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction - 1198, // 680: google.cloud.compute.v1.PerInstanceConfig.preserved_state:type_name -> google.cloud.compute.v1.PreservedState - 370, // 681: google.cloud.compute.v1.Policy.audit_configs:type_name -> google.cloud.compute.v1.AuditConfig - 410, // 682: google.cloud.compute.v1.Policy.bindings:type_name -> google.cloud.compute.v1.Binding - 1328, // 683: google.cloud.compute.v1.Policy.rules:type_name -> google.cloud.compute.v1.Rule - 1633, // 684: google.cloud.compute.v1.PreconfiguredWafSet.expression_sets:type_name -> google.cloud.compute.v1.WafExpressionSet - 1699, // 685: google.cloud.compute.v1.PreservedState.disks:type_name -> google.cloud.compute.v1.PreservedState.DisksEntry - 1700, // 686: google.cloud.compute.v1.PreservedState.metadata:type_name -> google.cloud.compute.v1.PreservedState.MetadataEntry - 1306, // 687: google.cloud.compute.v1.PreviewRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router - 1065, // 688: google.cloud.compute.v1.Project.common_instance_metadata:type_name -> google.cloud.compute.v1.Metadata - 1215, // 689: google.cloud.compute.v1.Project.quotas:type_name -> google.cloud.compute.v1.Quota - 1612, // 690: google.cloud.compute.v1.Project.usage_export_location:type_name -> google.cloud.compute.v1.UsageExportLocation - 1642, // 691: google.cloud.compute.v1.ProjectsDisableXpnResourceRequest.xpn_resource:type_name -> google.cloud.compute.v1.XpnResourceId - 1642, // 692: google.cloud.compute.v1.ProjectsEnableXpnResourceRequest.xpn_resource:type_name -> google.cloud.compute.v1.XpnResourceId - 1642, // 693: google.cloud.compute.v1.ProjectsGetXpnResources.resources:type_name -> google.cloud.compute.v1.XpnResourceId - 1209, // 694: google.cloud.compute.v1.PublicAdvertisedPrefix.public_delegated_prefixs:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefixPublicDelegatedPrefix - 1207, // 695: google.cloud.compute.v1.PublicAdvertisedPrefixList.items:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefix - 1638, // 696: google.cloud.compute.v1.PublicAdvertisedPrefixList.warning:type_name -> google.cloud.compute.v1.Warning - 1213, // 697: google.cloud.compute.v1.PublicDelegatedPrefix.public_delegated_sub_prefixs:type_name -> google.cloud.compute.v1.PublicDelegatedPrefixPublicDelegatedSubPrefix - 1701, // 698: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.items:type_name -> google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.ItemsEntry - 1638, // 699: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1210, // 700: google.cloud.compute.v1.PublicDelegatedPrefixList.items:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix - 1638, // 701: google.cloud.compute.v1.PublicDelegatedPrefixList.warning:type_name -> google.cloud.compute.v1.Warning - 1210, // 702: google.cloud.compute.v1.PublicDelegatedPrefixesScopedList.public_delegated_prefixes:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix - 1638, // 703: google.cloud.compute.v1.PublicDelegatedPrefixesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1702, // 704: google.cloud.compute.v1.QuotaExceededInfo.dimensions:type_name -> google.cloud.compute.v1.QuotaExceededInfo.DimensionsEntry - 869, // 705: google.cloud.compute.v1.RecreateInstancesInstanceGroupManagerRequest.instance_group_managers_recreate_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersRecreateInstancesRequest - 1241, // 706: google.cloud.compute.v1.RecreateInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_recreate_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersRecreateRequest - 530, // 707: google.cloud.compute.v1.Region.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus - 1215, // 708: google.cloud.compute.v1.Region.quotas:type_name -> google.cloud.compute.v1.Quota - 373, // 709: google.cloud.compute.v1.RegionAutoscalerList.items:type_name -> google.cloud.compute.v1.Autoscaler - 1638, // 710: google.cloud.compute.v1.RegionAutoscalerList.warning:type_name -> google.cloud.compute.v1.Warning - 546, // 711: google.cloud.compute.v1.RegionDiskTypeList.items:type_name -> google.cloud.compute.v1.DiskType - 1638, // 712: google.cloud.compute.v1.RegionDiskTypeList.warning:type_name -> google.cloud.compute.v1.Warning - 845, // 713: google.cloud.compute.v1.RegionInstanceGroupList.items:type_name -> google.cloud.compute.v1.InstanceGroup - 1638, // 714: google.cloud.compute.v1.RegionInstanceGroupList.warning:type_name -> google.cloud.compute.v1.Warning - 848, // 715: google.cloud.compute.v1.RegionInstanceGroupManagerList.items:type_name -> google.cloud.compute.v1.InstanceGroupManager - 1638, // 716: google.cloud.compute.v1.RegionInstanceGroupManagerList.warning:type_name -> google.cloud.compute.v1.Warning - 1195, // 717: google.cloud.compute.v1.RegionInstanceGroupManagerPatchInstanceConfigReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig - 1195, // 718: google.cloud.compute.v1.RegionInstanceGroupManagerUpdateInstanceConfigReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig - 1195, // 719: google.cloud.compute.v1.RegionInstanceGroupManagersCreateInstancesRequest.instances:type_name -> google.cloud.compute.v1.PerInstanceConfig - 882, // 720: google.cloud.compute.v1.RegionInstanceGroupManagersListErrorsResponse.items:type_name -> google.cloud.compute.v1.InstanceManagedByIgmError - 1195, // 721: google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp.items:type_name -> google.cloud.compute.v1.PerInstanceConfig - 1638, // 722: google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp.warning:type_name -> google.cloud.compute.v1.Warning - 1061, // 723: google.cloud.compute.v1.RegionInstanceGroupManagersListInstancesResponse.managed_instances:type_name -> google.cloud.compute.v1.ManagedInstance - 893, // 724: google.cloud.compute.v1.RegionInstanceGroupsListInstances.items:type_name -> google.cloud.compute.v1.InstanceWithNamedPorts - 1638, // 725: google.cloud.compute.v1.RegionInstanceGroupsListInstances.warning:type_name -> google.cloud.compute.v1.Warning - 1073, // 726: google.cloud.compute.v1.RegionInstanceGroupsSetNamedPortsRequest.named_ports:type_name -> google.cloud.compute.v1.NamedPort - 1221, // 727: google.cloud.compute.v1.RegionList.items:type_name -> google.cloud.compute.v1.Region - 1638, // 728: google.cloud.compute.v1.RegionList.warning:type_name -> google.cloud.compute.v1.Warning - 1249, // 729: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse.firewall_policys:type_name -> google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy - 574, // 730: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse.firewalls:type_name -> google.cloud.compute.v1.Firewall - 581, // 731: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule - 1703, // 732: google.cloud.compute.v1.RegionSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest.LabelsEntry - 410, // 733: google.cloud.compute.v1.RegionSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding - 1196, // 734: google.cloud.compute.v1.RegionSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy - 1598, // 735: google.cloud.compute.v1.RegionUrlMapsValidateRequest.resource:type_name -> google.cloud.compute.v1.UrlMap - 1528, // 736: google.cloud.compute.v1.RemoveHealthCheckTargetPoolRequest.target_pools_remove_health_check_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsRemoveHealthCheckRequest - 1529, // 737: google.cloud.compute.v1.RemoveInstanceTargetPoolRequest.target_pools_remove_instance_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsRemoveInstanceRequest - 877, // 738: google.cloud.compute.v1.RemoveInstancesInstanceGroupRequest.instance_groups_remove_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsRemoveInstancesRequest - 1105, // 739: google.cloud.compute.v1.RemovePeeringNetworkRequest.networks_remove_peering_request_resource:type_name -> google.cloud.compute.v1.NetworksRemovePeeringRequest - 551, // 740: google.cloud.compute.v1.RemoveResourcePoliciesDiskRequest.disks_remove_resource_policies_request_resource:type_name -> google.cloud.compute.v1.DisksRemoveResourcePoliciesRequest - 897, // 741: google.cloud.compute.v1.RemoveResourcePoliciesInstanceRequest.instances_remove_resource_policies_request_resource:type_name -> google.cloud.compute.v1.InstancesRemoveResourcePoliciesRequest - 1226, // 742: google.cloud.compute.v1.RemoveResourcePoliciesRegionDiskRequest.region_disks_remove_resource_policies_request_resource:type_name -> google.cloud.compute.v1.RegionDisksRemoveResourcePoliciesRequest - 1704, // 743: google.cloud.compute.v1.Reservation.resource_policies:type_name -> google.cloud.compute.v1.Reservation.ResourcePoliciesEntry - 357, // 744: google.cloud.compute.v1.Reservation.resource_status:type_name -> google.cloud.compute.v1.AllocationResourceStatus - 1454, // 745: google.cloud.compute.v1.Reservation.share_settings:type_name -> google.cloud.compute.v1.ShareSettings - 361, // 746: google.cloud.compute.v1.Reservation.specific_reservation:type_name -> google.cloud.compute.v1.AllocationSpecificSKUReservation - 1705, // 747: google.cloud.compute.v1.ReservationAggregatedList.items:type_name -> google.cloud.compute.v1.ReservationAggregatedList.ItemsEntry - 1638, // 748: google.cloud.compute.v1.ReservationAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1269, // 749: google.cloud.compute.v1.ReservationList.items:type_name -> google.cloud.compute.v1.Reservation - 1638, // 750: google.cloud.compute.v1.ReservationList.warning:type_name -> google.cloud.compute.v1.Warning - 1269, // 751: google.cloud.compute.v1.ReservationsScopedList.reservations:type_name -> google.cloud.compute.v1.Reservation - 1638, // 752: google.cloud.compute.v1.ReservationsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 552, // 753: google.cloud.compute.v1.ResizeDiskRequest.disks_resize_request_resource:type_name -> google.cloud.compute.v1.DisksResizeRequest - 1227, // 754: google.cloud.compute.v1.ResizeRegionDiskRequest.region_disks_resize_request_resource:type_name -> google.cloud.compute.v1.RegionDisksResizeRequest - 1273, // 755: google.cloud.compute.v1.ResizeReservationRequest.reservations_resize_request_resource:type_name -> google.cloud.compute.v1.ReservationsResizeRequest - 1284, // 756: google.cloud.compute.v1.ResourcePoliciesScopedList.resource_policies:type_name -> google.cloud.compute.v1.ResourcePolicy - 1638, // 757: google.cloud.compute.v1.ResourcePoliciesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1287, // 758: google.cloud.compute.v1.ResourcePolicy.disk_consistency_group_policy:type_name -> google.cloud.compute.v1.ResourcePolicyDiskConsistencyGroupPolicy - 1288, // 759: google.cloud.compute.v1.ResourcePolicy.group_placement_policy:type_name -> google.cloud.compute.v1.ResourcePolicyGroupPlacementPolicy - 1290, // 760: google.cloud.compute.v1.ResourcePolicy.instance_schedule_policy:type_name -> google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy - 1293, // 761: google.cloud.compute.v1.ResourcePolicy.resource_status:type_name -> google.cloud.compute.v1.ResourcePolicyResourceStatus - 1295, // 762: google.cloud.compute.v1.ResourcePolicy.snapshot_schedule_policy:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy - 1706, // 763: google.cloud.compute.v1.ResourcePolicyAggregatedList.items:type_name -> google.cloud.compute.v1.ResourcePolicyAggregatedList.ItemsEntry - 1638, // 764: google.cloud.compute.v1.ResourcePolicyAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1291, // 765: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy.vm_start_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicySchedule - 1291, // 766: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy.vm_stop_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicySchedule - 1284, // 767: google.cloud.compute.v1.ResourcePolicyList.items:type_name -> google.cloud.compute.v1.ResourcePolicy - 1638, // 768: google.cloud.compute.v1.ResourcePolicyList.warning:type_name -> google.cloud.compute.v1.Warning - 1294, // 769: google.cloud.compute.v1.ResourcePolicyResourceStatus.instance_schedule_policy:type_name -> google.cloud.compute.v1.ResourcePolicyResourceStatusInstanceSchedulePolicyStatus - 1296, // 770: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy.retention_policy:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicyRetentionPolicy - 1297, // 771: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy.schedule:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule - 1298, // 772: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy.snapshot_properties:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties - 1286, // 773: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule.daily_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyDailyCycle - 1289, // 774: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule.hourly_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyHourlyCycle - 1299, // 775: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule.weekly_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyWeeklyCycle - 1707, // 776: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties.labels:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties.LabelsEntry - 1300, // 777: google.cloud.compute.v1.ResourcePolicyWeeklyCycle.day_of_weeks:type_name -> google.cloud.compute.v1.ResourcePolicyWeeklyCycleDayOfWeek - 1304, // 778: google.cloud.compute.v1.Route.as_paths:type_name -> google.cloud.compute.v1.RouteAsPath - 1639, // 779: google.cloud.compute.v1.Route.warnings:type_name -> google.cloud.compute.v1.Warnings - 1303, // 780: google.cloud.compute.v1.RouteList.items:type_name -> google.cloud.compute.v1.Route - 1638, // 781: google.cloud.compute.v1.RouteList.warning:type_name -> google.cloud.compute.v1.Warning - 1309, // 782: google.cloud.compute.v1.Router.bgp:type_name -> google.cloud.compute.v1.RouterBgp - 1310, // 783: google.cloud.compute.v1.Router.bgp_peers:type_name -> google.cloud.compute.v1.RouterBgpPeer - 1313, // 784: google.cloud.compute.v1.Router.interfaces:type_name -> google.cloud.compute.v1.RouterInterface - 1315, // 785: google.cloud.compute.v1.Router.md5_authentication_keys:type_name -> google.cloud.compute.v1.RouterMd5AuthenticationKey - 1316, // 786: google.cloud.compute.v1.Router.nats:type_name -> google.cloud.compute.v1.RouterNat - 1708, // 787: google.cloud.compute.v1.RouterAggregatedList.items:type_name -> google.cloud.compute.v1.RouterAggregatedList.ItemsEntry - 1638, // 788: google.cloud.compute.v1.RouterAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1307, // 789: google.cloud.compute.v1.RouterBgp.advertised_ip_ranges:type_name -> google.cloud.compute.v1.RouterAdvertisedIpRange - 1307, // 790: google.cloud.compute.v1.RouterBgpPeer.advertised_ip_ranges:type_name -> google.cloud.compute.v1.RouterAdvertisedIpRange - 1311, // 791: google.cloud.compute.v1.RouterBgpPeer.bfd:type_name -> google.cloud.compute.v1.RouterBgpPeerBfd - 1312, // 792: google.cloud.compute.v1.RouterBgpPeer.custom_learned_ip_ranges:type_name -> google.cloud.compute.v1.RouterBgpPeerCustomLearnedIpRange - 1306, // 793: google.cloud.compute.v1.RouterList.items:type_name -> google.cloud.compute.v1.Router - 1638, // 794: google.cloud.compute.v1.RouterList.warning:type_name -> google.cloud.compute.v1.Warning - 1317, // 795: google.cloud.compute.v1.RouterNat.log_config:type_name -> google.cloud.compute.v1.RouterNatLogConfig - 1318, // 796: google.cloud.compute.v1.RouterNat.rules:type_name -> google.cloud.compute.v1.RouterNatRule - 1320, // 797: google.cloud.compute.v1.RouterNat.subnetworks:type_name -> google.cloud.compute.v1.RouterNatSubnetworkToNat - 1319, // 798: google.cloud.compute.v1.RouterNatRule.action:type_name -> google.cloud.compute.v1.RouterNatRuleAction - 1303, // 799: google.cloud.compute.v1.RouterStatus.best_routes:type_name -> google.cloud.compute.v1.Route - 1303, // 800: google.cloud.compute.v1.RouterStatus.best_routes_for_router:type_name -> google.cloud.compute.v1.Route - 1322, // 801: google.cloud.compute.v1.RouterStatus.bgp_peer_status:type_name -> google.cloud.compute.v1.RouterStatusBgpPeerStatus - 1323, // 802: google.cloud.compute.v1.RouterStatus.nat_status:type_name -> google.cloud.compute.v1.RouterStatusNatStatus - 1303, // 803: google.cloud.compute.v1.RouterStatusBgpPeerStatus.advertised_routes:type_name -> google.cloud.compute.v1.Route - 408, // 804: google.cloud.compute.v1.RouterStatusBgpPeerStatus.bfd_status:type_name -> google.cloud.compute.v1.BfdStatus - 1324, // 805: google.cloud.compute.v1.RouterStatusNatStatus.rule_status:type_name -> google.cloud.compute.v1.RouterStatusNatStatusNatRuleStatus - 1321, // 806: google.cloud.compute.v1.RouterStatusResponse.result:type_name -> google.cloud.compute.v1.RouterStatus - 1306, // 807: google.cloud.compute.v1.RoutersPreviewResponse.resource:type_name -> google.cloud.compute.v1.Router - 1306, // 808: google.cloud.compute.v1.RoutersScopedList.routers:type_name -> google.cloud.compute.v1.Router - 1638, // 809: google.cloud.compute.v1.RoutersScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 428, // 810: google.cloud.compute.v1.Rule.conditions:type_name -> google.cloud.compute.v1.Condition - 1050, // 811: google.cloud.compute.v1.Rule.log_configs:type_name -> google.cloud.compute.v1.LogConfig - 438, // 812: google.cloud.compute.v1.SavedAttachedDisk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 735, // 813: google.cloud.compute.v1.SavedAttachedDisk.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature - 559, // 814: google.cloud.compute.v1.Scheduling.local_ssd_recovery_timeout:type_name -> google.cloud.compute.v1.Duration - 1334, // 815: google.cloud.compute.v1.Scheduling.node_affinities:type_name -> google.cloud.compute.v1.SchedulingNodeAffinity - 1709, // 816: google.cloud.compute.v1.SecurityPoliciesAggregatedList.items:type_name -> google.cloud.compute.v1.SecurityPoliciesAggregatedList.ItemsEntry - 1638, // 817: google.cloud.compute.v1.SecurityPoliciesAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1340, // 818: google.cloud.compute.v1.SecurityPoliciesListPreconfiguredExpressionSetsResponse.preconfigured_expression_sets:type_name -> google.cloud.compute.v1.SecurityPoliciesWafConfig - 1341, // 819: google.cloud.compute.v1.SecurityPoliciesScopedList.security_policies:type_name -> google.cloud.compute.v1.SecurityPolicy - 1638, // 820: google.cloud.compute.v1.SecurityPoliciesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1197, // 821: google.cloud.compute.v1.SecurityPoliciesWafConfig.waf_rules:type_name -> google.cloud.compute.v1.PreconfiguredWafSet - 1342, // 822: google.cloud.compute.v1.SecurityPolicy.adaptive_protection_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig - 1344, // 823: google.cloud.compute.v1.SecurityPolicy.advanced_options_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig - 1346, // 824: google.cloud.compute.v1.SecurityPolicy.ddos_protection_config:type_name -> google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig - 1710, // 825: google.cloud.compute.v1.SecurityPolicy.labels:type_name -> google.cloud.compute.v1.SecurityPolicy.LabelsEntry - 1348, // 826: google.cloud.compute.v1.SecurityPolicy.recaptcha_options_config:type_name -> google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig - 1350, // 827: google.cloud.compute.v1.SecurityPolicy.rules:type_name -> google.cloud.compute.v1.SecurityPolicyRule - 1343, // 828: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig.layer7_ddos_defense_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig - 1345, // 829: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig.json_custom_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig - 1341, // 830: google.cloud.compute.v1.SecurityPolicyList.items:type_name -> google.cloud.compute.v1.SecurityPolicy - 1638, // 831: google.cloud.compute.v1.SecurityPolicyList.warning:type_name -> google.cloud.compute.v1.Warning - 1351, // 832: google.cloud.compute.v1.SecurityPolicyRule.header_action:type_name -> google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction - 1353, // 833: google.cloud.compute.v1.SecurityPolicyRule.match:type_name -> google.cloud.compute.v1.SecurityPolicyRuleMatcher - 1355, // 834: google.cloud.compute.v1.SecurityPolicyRule.preconfigured_waf_config:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig - 1358, // 835: google.cloud.compute.v1.SecurityPolicyRule.rate_limit_options:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions - 1361, // 836: google.cloud.compute.v1.SecurityPolicyRule.redirect_options:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions - 1352, // 837: google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction.request_headers_to_adds:type_name -> google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderActionHttpHeaderOption - 1354, // 838: google.cloud.compute.v1.SecurityPolicyRuleMatcher.config:type_name -> google.cloud.compute.v1.SecurityPolicyRuleMatcherConfig - 569, // 839: google.cloud.compute.v1.SecurityPolicyRuleMatcher.expr:type_name -> google.cloud.compute.v1.Expr - 1356, // 840: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig.exclusions:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion - 1357, // 841: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_cookies_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams - 1357, // 842: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_headers_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams - 1357, // 843: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_query_params_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams - 1357, // 844: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_uris_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams - 1360, // 845: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.ban_threshold:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsThreshold - 1359, // 846: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.enforce_on_key_configs:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig - 1361, // 847: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.exceed_redirect_options:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions - 1360, // 848: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.rate_limit_threshold:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsThreshold - 1370, // 849: google.cloud.compute.v1.ServiceAttachment.connected_endpoints:type_name -> google.cloud.compute.v1.ServiceAttachmentConnectedEndpoint - 1371, // 850: google.cloud.compute.v1.ServiceAttachment.consumer_accept_lists:type_name -> google.cloud.compute.v1.ServiceAttachmentConsumerProjectLimit - 1574, // 851: google.cloud.compute.v1.ServiceAttachment.psc_service_attachment_id:type_name -> google.cloud.compute.v1.Uint128 - 1711, // 852: google.cloud.compute.v1.ServiceAttachmentAggregatedList.items:type_name -> google.cloud.compute.v1.ServiceAttachmentAggregatedList.ItemsEntry - 1638, // 853: google.cloud.compute.v1.ServiceAttachmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1368, // 854: google.cloud.compute.v1.ServiceAttachmentList.items:type_name -> google.cloud.compute.v1.ServiceAttachment - 1638, // 855: google.cloud.compute.v1.ServiceAttachmentList.warning:type_name -> google.cloud.compute.v1.Warning - 1368, // 856: google.cloud.compute.v1.ServiceAttachmentsScopedList.service_attachments:type_name -> google.cloud.compute.v1.ServiceAttachment - 1638, // 857: google.cloud.compute.v1.ServiceAttachmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1532, // 858: google.cloud.compute.v1.SetBackendServiceTargetSslProxyRequest.target_ssl_proxies_set_backend_service_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetBackendServiceRequest - 1539, // 859: google.cloud.compute.v1.SetBackendServiceTargetTcpProxyRequest.target_tcp_proxies_set_backend_service_request_resource:type_name -> google.cloud.compute.v1.TargetTcpProxiesSetBackendServiceRequest - 1531, // 860: google.cloud.compute.v1.SetBackupTargetPoolRequest.target_reference_resource:type_name -> google.cloud.compute.v1.TargetReference - 1512, // 861: google.cloud.compute.v1.SetCertificateMapTargetHttpsProxyRequest.target_https_proxies_set_certificate_map_request_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxiesSetCertificateMapRequest - 1533, // 862: google.cloud.compute.v1.SetCertificateMapTargetSslProxyRequest.target_ssl_proxies_set_certificate_map_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetCertificateMapRequest - 1065, // 863: google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest.metadata_resource:type_name -> google.cloud.compute.v1.Metadata - 1206, // 864: google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest.projects_set_default_network_tier_request_resource:type_name -> google.cloud.compute.v1.ProjectsSetDefaultNetworkTierRequest - 1349, // 865: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference - 1349, // 866: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference - 731, // 867: google.cloud.compute.v1.SetIamPolicyBackendServiceRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest - 1646, // 868: google.cloud.compute.v1.SetIamPolicyDiskRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest - 729, // 869: google.cloud.compute.v1.SetIamPolicyFirewallPolicyRequest.global_organization_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest - 731, // 870: google.cloud.compute.v1.SetIamPolicyImageRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest - 1646, // 871: google.cloud.compute.v1.SetIamPolicyInstanceRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest - 731, // 872: google.cloud.compute.v1.SetIamPolicyInstanceTemplateRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest - 731, // 873: google.cloud.compute.v1.SetIamPolicyLicenseRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest - 731, // 874: google.cloud.compute.v1.SetIamPolicyMachineImageRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest - 1251, // 875: google.cloud.compute.v1.SetIamPolicyNetworkAttachmentRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 731, // 876: google.cloud.compute.v1.SetIamPolicyNetworkFirewallPolicyRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest - 1646, // 877: google.cloud.compute.v1.SetIamPolicyNodeGroupRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest - 1251, // 878: google.cloud.compute.v1.SetIamPolicyNodeTemplateRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 1251, // 879: google.cloud.compute.v1.SetIamPolicyRegionBackendServiceRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 1251, // 880: google.cloud.compute.v1.SetIamPolicyRegionDiskRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 1251, // 881: google.cloud.compute.v1.SetIamPolicyRegionNetworkFirewallPolicyRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 1646, // 882: google.cloud.compute.v1.SetIamPolicyReservationRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest - 1251, // 883: google.cloud.compute.v1.SetIamPolicyResourcePolicyRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 1251, // 884: google.cloud.compute.v1.SetIamPolicyServiceAttachmentRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 731, // 885: google.cloud.compute.v1.SetIamPolicySnapshotRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest - 1251, // 886: google.cloud.compute.v1.SetIamPolicySubnetworkRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest - 871, // 887: google.cloud.compute.v1.SetInstanceTemplateInstanceGroupManagerRequest.instance_group_managers_set_instance_template_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersSetInstanceTemplateRequest - 1243, // 888: google.cloud.compute.v1.SetInstanceTemplateRegionInstanceGroupManagerRequest.region_instance_group_managers_set_template_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersSetTemplateRequest - 1250, // 889: google.cloud.compute.v1.SetLabelsAddressRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest - 1645, // 890: google.cloud.compute.v1.SetLabelsDiskRequest.zone_set_labels_request_resource:type_name -> google.cloud.compute.v1.ZoneSetLabelsRequest - 730, // 891: google.cloud.compute.v1.SetLabelsExternalVpnGatewayRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest - 1250, // 892: google.cloud.compute.v1.SetLabelsForwardingRuleRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest - 730, // 893: google.cloud.compute.v1.SetLabelsGlobalAddressRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest - 730, // 894: google.cloud.compute.v1.SetLabelsGlobalForwardingRuleRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest - 730, // 895: google.cloud.compute.v1.SetLabelsImageRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest - 899, // 896: google.cloud.compute.v1.SetLabelsInstanceRequest.instances_set_labels_request_resource:type_name -> google.cloud.compute.v1.InstancesSetLabelsRequest - 1250, // 897: google.cloud.compute.v1.SetLabelsInterconnectAttachmentRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest - 730, // 898: google.cloud.compute.v1.SetLabelsInterconnectRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest - 1250, // 899: google.cloud.compute.v1.SetLabelsRegionDiskRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest - 730, // 900: google.cloud.compute.v1.SetLabelsSecurityPolicyRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest - 730, // 901: google.cloud.compute.v1.SetLabelsSnapshotRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest - 1250, // 902: google.cloud.compute.v1.SetLabelsTargetVpnGatewayRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest - 1250, // 903: google.cloud.compute.v1.SetLabelsVpnGatewayRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest - 1250, // 904: google.cloud.compute.v1.SetLabelsVpnTunnelRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest - 900, // 905: google.cloud.compute.v1.SetMachineResourcesInstanceRequest.instances_set_machine_resources_request_resource:type_name -> google.cloud.compute.v1.InstancesSetMachineResourcesRequest - 901, // 906: google.cloud.compute.v1.SetMachineTypeInstanceRequest.instances_set_machine_type_request_resource:type_name -> google.cloud.compute.v1.InstancesSetMachineTypeRequest - 1065, // 907: google.cloud.compute.v1.SetMetadataInstanceRequest.metadata_resource:type_name -> google.cloud.compute.v1.Metadata - 902, // 908: google.cloud.compute.v1.SetMinCpuPlatformInstanceRequest.instances_set_min_cpu_platform_request_resource:type_name -> google.cloud.compute.v1.InstancesSetMinCpuPlatformRequest - 903, // 909: google.cloud.compute.v1.SetNameInstanceRequest.instances_set_name_request_resource:type_name -> google.cloud.compute.v1.InstancesSetNameRequest - 879, // 910: google.cloud.compute.v1.SetNamedPortsInstanceGroupRequest.instance_groups_set_named_ports_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsSetNamedPortsRequest - 1246, // 911: google.cloud.compute.v1.SetNamedPortsRegionInstanceGroupRequest.region_instance_groups_set_named_ports_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupsSetNamedPortsRequest - 1117, // 912: google.cloud.compute.v1.SetNodeTemplateNodeGroupRequest.node_groups_set_node_template_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsSetNodeTemplateRequest - 1499, // 913: google.cloud.compute.v1.SetPrivateIpGoogleAccessSubnetworkRequest.subnetworks_set_private_ip_google_access_request_resource:type_name -> google.cloud.compute.v1.SubnetworksSetPrivateIpGoogleAccessRequest - 1534, // 914: google.cloud.compute.v1.SetProxyHeaderTargetSslProxyRequest.target_ssl_proxies_set_proxy_header_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetProxyHeaderRequest - 1540, // 915: google.cloud.compute.v1.SetProxyHeaderTargetTcpProxyRequest.target_tcp_proxies_set_proxy_header_request_resource:type_name -> google.cloud.compute.v1.TargetTcpProxiesSetProxyHeaderRequest - 1513, // 916: google.cloud.compute.v1.SetQuicOverrideTargetHttpsProxyRequest.target_https_proxies_set_quic_override_request_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxiesSetQuicOverrideRequest - 1333, // 917: google.cloud.compute.v1.SetSchedulingInstanceRequest.scheduling_resource:type_name -> google.cloud.compute.v1.Scheduling - 1349, // 918: google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference - 904, // 919: google.cloud.compute.v1.SetServiceAccountInstanceRequest.instances_set_service_account_request_resource:type_name -> google.cloud.compute.v1.InstancesSetServiceAccountRequest - 1459, // 920: google.cloud.compute.v1.SetShieldedInstanceIntegrityPolicyInstanceRequest.shielded_instance_integrity_policy_resource:type_name -> google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy - 1252, // 921: google.cloud.compute.v1.SetSslCertificatesRegionTargetHttpsProxyRequest.region_target_https_proxies_set_ssl_certificates_request_resource:type_name -> google.cloud.compute.v1.RegionTargetHttpsProxiesSetSslCertificatesRequest - 1514, // 922: google.cloud.compute.v1.SetSslCertificatesTargetHttpsProxyRequest.target_https_proxies_set_ssl_certificates_request_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxiesSetSslCertificatesRequest - 1535, // 923: google.cloud.compute.v1.SetSslCertificatesTargetSslProxyRequest.target_ssl_proxies_set_ssl_certificates_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetSslCertificatesRequest - 1479, // 924: google.cloud.compute.v1.SetSslPolicyTargetHttpsProxyRequest.ssl_policy_reference_resource:type_name -> google.cloud.compute.v1.SslPolicyReference - 1479, // 925: google.cloud.compute.v1.SetSslPolicyTargetSslProxyRequest.ssl_policy_reference_resource:type_name -> google.cloud.compute.v1.SslPolicyReference - 1504, // 926: google.cloud.compute.v1.SetTagsInstanceRequest.tags_resource:type_name -> google.cloud.compute.v1.Tags - 1531, // 927: google.cloud.compute.v1.SetTargetForwardingRuleRequest.target_reference_resource:type_name -> google.cloud.compute.v1.TargetReference - 1531, // 928: google.cloud.compute.v1.SetTargetGlobalForwardingRuleRequest.target_reference_resource:type_name -> google.cloud.compute.v1.TargetReference - 872, // 929: google.cloud.compute.v1.SetTargetPoolsInstanceGroupManagerRequest.instance_group_managers_set_target_pools_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersSetTargetPoolsRequest - 1242, // 930: google.cloud.compute.v1.SetTargetPoolsRegionInstanceGroupManagerRequest.region_instance_group_managers_set_target_pools_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersSetTargetPoolsRequest - 1600, // 931: google.cloud.compute.v1.SetUrlMapRegionTargetHttpProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference - 1600, // 932: google.cloud.compute.v1.SetUrlMapRegionTargetHttpsProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference - 1600, // 933: google.cloud.compute.v1.SetUrlMapTargetHttpProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference - 1600, // 934: google.cloud.compute.v1.SetUrlMapTargetHttpsProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference - 1612, // 935: google.cloud.compute.v1.SetUsageExportBucketProjectRequest.usage_export_location_resource:type_name -> google.cloud.compute.v1.UsageExportLocation - 1712, // 936: google.cloud.compute.v1.ShareSettings.project_map:type_name -> google.cloud.compute.v1.ShareSettings.ProjectMapEntry - 1458, // 937: google.cloud.compute.v1.ShieldedInstanceIdentity.encryption_key:type_name -> google.cloud.compute.v1.ShieldedInstanceIdentityEntry - 1458, // 938: google.cloud.compute.v1.ShieldedInstanceIdentity.signing_key:type_name -> google.cloud.compute.v1.ShieldedInstanceIdentityEntry - 1118, // 939: google.cloud.compute.v1.SimulateMaintenanceEventNodeGroupRequest.node_groups_simulate_maintenance_event_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsSimulateMaintenanceEventRequest - 1713, // 940: google.cloud.compute.v1.Snapshot.labels:type_name -> google.cloud.compute.v1.Snapshot.LabelsEntry - 438, // 941: google.cloud.compute.v1.Snapshot.snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 438, // 942: google.cloud.compute.v1.Snapshot.source_disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 1463, // 943: google.cloud.compute.v1.SnapshotList.items:type_name -> google.cloud.compute.v1.Snapshot - 1638, // 944: google.cloud.compute.v1.SnapshotList.warning:type_name -> google.cloud.compute.v1.Warning - 438, // 945: google.cloud.compute.v1.SourceDiskEncryptionKey.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey - 540, // 946: google.cloud.compute.v1.SourceInstanceParams.disk_configs:type_name -> google.cloud.compute.v1.DiskInstantiationConfig - 1330, // 947: google.cloud.compute.v1.SourceInstanceProperties.disks:type_name -> google.cloud.compute.v1.SavedAttachedDisk - 285, // 948: google.cloud.compute.v1.SourceInstanceProperties.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig - 1714, // 949: google.cloud.compute.v1.SourceInstanceProperties.labels:type_name -> google.cloud.compute.v1.SourceInstanceProperties.LabelsEntry - 1065, // 950: google.cloud.compute.v1.SourceInstanceProperties.metadata:type_name -> google.cloud.compute.v1.Metadata - 1097, // 951: google.cloud.compute.v1.SourceInstanceProperties.network_interfaces:type_name -> google.cloud.compute.v1.NetworkInterface - 1333, // 952: google.cloud.compute.v1.SourceInstanceProperties.scheduling:type_name -> google.cloud.compute.v1.Scheduling - 1367, // 953: google.cloud.compute.v1.SourceInstanceProperties.service_accounts:type_name -> google.cloud.compute.v1.ServiceAccount - 1504, // 954: google.cloud.compute.v1.SourceInstanceProperties.tags:type_name -> google.cloud.compute.v1.Tags - 1471, // 955: google.cloud.compute.v1.SslCertificate.managed:type_name -> google.cloud.compute.v1.SslCertificateManagedSslCertificate - 1472, // 956: google.cloud.compute.v1.SslCertificate.self_managed:type_name -> google.cloud.compute.v1.SslCertificateSelfManagedSslCertificate - 1715, // 957: google.cloud.compute.v1.SslCertificateAggregatedList.items:type_name -> google.cloud.compute.v1.SslCertificateAggregatedList.ItemsEntry - 1638, // 958: google.cloud.compute.v1.SslCertificateAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1468, // 959: google.cloud.compute.v1.SslCertificateList.items:type_name -> google.cloud.compute.v1.SslCertificate - 1638, // 960: google.cloud.compute.v1.SslCertificateList.warning:type_name -> google.cloud.compute.v1.Warning - 1716, // 961: google.cloud.compute.v1.SslCertificateManagedSslCertificate.domain_status:type_name -> google.cloud.compute.v1.SslCertificateManagedSslCertificate.DomainStatusEntry - 1468, // 962: google.cloud.compute.v1.SslCertificatesScopedList.ssl_certificates:type_name -> google.cloud.compute.v1.SslCertificate - 1638, // 963: google.cloud.compute.v1.SslCertificatesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1717, // 964: google.cloud.compute.v1.SslPoliciesAggregatedList.items:type_name -> google.cloud.compute.v1.SslPoliciesAggregatedList.ItemsEntry - 1638, // 965: google.cloud.compute.v1.SslPoliciesAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1478, // 966: google.cloud.compute.v1.SslPoliciesList.items:type_name -> google.cloud.compute.v1.SslPolicy - 1638, // 967: google.cloud.compute.v1.SslPoliciesList.warning:type_name -> google.cloud.compute.v1.Warning - 1478, // 968: google.cloud.compute.v1.SslPoliciesScopedList.ssl_policies:type_name -> google.cloud.compute.v1.SslPolicy - 1638, // 969: google.cloud.compute.v1.SslPoliciesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1639, // 970: google.cloud.compute.v1.SslPolicy.warnings:type_name -> google.cloud.compute.v1.Warnings - 554, // 971: google.cloud.compute.v1.StartAsyncReplicationDiskRequest.disks_start_async_replication_request_resource:type_name -> google.cloud.compute.v1.DisksStartAsyncReplicationRequest - 1228, // 972: google.cloud.compute.v1.StartAsyncReplicationRegionDiskRequest.region_disks_start_async_replication_request_resource:type_name -> google.cloud.compute.v1.RegionDisksStartAsyncReplicationRequest - 905, // 973: google.cloud.compute.v1.StartWithEncryptionKeyInstanceRequest.instances_start_with_encryption_key_request_resource:type_name -> google.cloud.compute.v1.InstancesStartWithEncryptionKeyRequest - 1485, // 974: google.cloud.compute.v1.StatefulPolicy.preserved_state:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedState - 1718, // 975: google.cloud.compute.v1.StatefulPolicyPreservedState.disks:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedState.DisksEntry - 555, // 976: google.cloud.compute.v1.StopGroupAsyncReplicationDiskRequest.disks_stop_group_async_replication_resource_resource:type_name -> google.cloud.compute.v1.DisksStopGroupAsyncReplicationResource - 555, // 977: google.cloud.compute.v1.StopGroupAsyncReplicationRegionDiskRequest.disks_stop_group_async_replication_resource_resource:type_name -> google.cloud.compute.v1.DisksStopGroupAsyncReplicationResource - 1495, // 978: google.cloud.compute.v1.Subnetwork.log_config:type_name -> google.cloud.compute.v1.SubnetworkLogConfig - 1496, // 979: google.cloud.compute.v1.Subnetwork.secondary_ip_ranges:type_name -> google.cloud.compute.v1.SubnetworkSecondaryRange - 1719, // 980: google.cloud.compute.v1.SubnetworkAggregatedList.items:type_name -> google.cloud.compute.v1.SubnetworkAggregatedList.ItemsEntry - 1638, // 981: google.cloud.compute.v1.SubnetworkAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1492, // 982: google.cloud.compute.v1.SubnetworkList.items:type_name -> google.cloud.compute.v1.Subnetwork - 1638, // 983: google.cloud.compute.v1.SubnetworkList.warning:type_name -> google.cloud.compute.v1.Warning - 1492, // 984: google.cloud.compute.v1.SubnetworksScopedList.subnetworks:type_name -> google.cloud.compute.v1.Subnetwork - 1638, // 985: google.cloud.compute.v1.SubnetworksScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1505, // 986: google.cloud.compute.v1.TargetGrpcProxyList.items:type_name -> google.cloud.compute.v1.TargetGrpcProxy - 1638, // 987: google.cloud.compute.v1.TargetGrpcProxyList.warning:type_name -> google.cloud.compute.v1.Warning - 1508, // 988: google.cloud.compute.v1.TargetHttpProxiesScopedList.target_http_proxies:type_name -> google.cloud.compute.v1.TargetHttpProxy - 1638, // 989: google.cloud.compute.v1.TargetHttpProxiesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1720, // 990: google.cloud.compute.v1.TargetHttpProxyAggregatedList.items:type_name -> google.cloud.compute.v1.TargetHttpProxyAggregatedList.ItemsEntry - 1508, // 991: google.cloud.compute.v1.TargetHttpProxyList.items:type_name -> google.cloud.compute.v1.TargetHttpProxy - 1638, // 992: google.cloud.compute.v1.TargetHttpProxyList.warning:type_name -> google.cloud.compute.v1.Warning - 1515, // 993: google.cloud.compute.v1.TargetHttpsProxiesScopedList.target_https_proxies:type_name -> google.cloud.compute.v1.TargetHttpsProxy - 1638, // 994: google.cloud.compute.v1.TargetHttpsProxiesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1721, // 995: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.items:type_name -> google.cloud.compute.v1.TargetHttpsProxyAggregatedList.ItemsEntry - 1638, // 996: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1515, // 997: google.cloud.compute.v1.TargetHttpsProxyList.items:type_name -> google.cloud.compute.v1.TargetHttpsProxy - 1638, // 998: google.cloud.compute.v1.TargetHttpsProxyList.warning:type_name -> google.cloud.compute.v1.Warning - 1722, // 999: google.cloud.compute.v1.TargetInstanceAggregatedList.items:type_name -> google.cloud.compute.v1.TargetInstanceAggregatedList.ItemsEntry - 1638, // 1000: google.cloud.compute.v1.TargetInstanceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1518, // 1001: google.cloud.compute.v1.TargetInstanceList.items:type_name -> google.cloud.compute.v1.TargetInstance - 1638, // 1002: google.cloud.compute.v1.TargetInstanceList.warning:type_name -> google.cloud.compute.v1.Warning - 1518, // 1003: google.cloud.compute.v1.TargetInstancesScopedList.target_instances:type_name -> google.cloud.compute.v1.TargetInstance - 1638, // 1004: google.cloud.compute.v1.TargetInstancesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1723, // 1005: google.cloud.compute.v1.TargetPoolAggregatedList.items:type_name -> google.cloud.compute.v1.TargetPoolAggregatedList.ItemsEntry - 1638, // 1006: google.cloud.compute.v1.TargetPoolAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 748, // 1007: google.cloud.compute.v1.TargetPoolInstanceHealth.health_status:type_name -> google.cloud.compute.v1.HealthStatus - 1522, // 1008: google.cloud.compute.v1.TargetPoolList.items:type_name -> google.cloud.compute.v1.TargetPool - 1638, // 1009: google.cloud.compute.v1.TargetPoolList.warning:type_name -> google.cloud.compute.v1.Warning - 742, // 1010: google.cloud.compute.v1.TargetPoolsAddHealthCheckRequest.health_checks:type_name -> google.cloud.compute.v1.HealthCheckReference - 888, // 1011: google.cloud.compute.v1.TargetPoolsAddInstanceRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference - 742, // 1012: google.cloud.compute.v1.TargetPoolsRemoveHealthCheckRequest.health_checks:type_name -> google.cloud.compute.v1.HealthCheckReference - 888, // 1013: google.cloud.compute.v1.TargetPoolsRemoveInstanceRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference - 1522, // 1014: google.cloud.compute.v1.TargetPoolsScopedList.target_pools:type_name -> google.cloud.compute.v1.TargetPool - 1638, // 1015: google.cloud.compute.v1.TargetPoolsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1536, // 1016: google.cloud.compute.v1.TargetSslProxyList.items:type_name -> google.cloud.compute.v1.TargetSslProxy - 1638, // 1017: google.cloud.compute.v1.TargetSslProxyList.warning:type_name -> google.cloud.compute.v1.Warning - 1541, // 1018: google.cloud.compute.v1.TargetTcpProxiesScopedList.target_tcp_proxies:type_name -> google.cloud.compute.v1.TargetTcpProxy - 1638, // 1019: google.cloud.compute.v1.TargetTcpProxiesScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1724, // 1020: google.cloud.compute.v1.TargetTcpProxyAggregatedList.items:type_name -> google.cloud.compute.v1.TargetTcpProxyAggregatedList.ItemsEntry - 1638, // 1021: google.cloud.compute.v1.TargetTcpProxyAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1541, // 1022: google.cloud.compute.v1.TargetTcpProxyList.items:type_name -> google.cloud.compute.v1.TargetTcpProxy - 1638, // 1023: google.cloud.compute.v1.TargetTcpProxyList.warning:type_name -> google.cloud.compute.v1.Warning - 1725, // 1024: google.cloud.compute.v1.TargetVpnGateway.labels:type_name -> google.cloud.compute.v1.TargetVpnGateway.LabelsEntry - 1726, // 1025: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.items:type_name -> google.cloud.compute.v1.TargetVpnGatewayAggregatedList.ItemsEntry - 1638, // 1026: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1544, // 1027: google.cloud.compute.v1.TargetVpnGatewayList.items:type_name -> google.cloud.compute.v1.TargetVpnGateway - 1638, // 1028: google.cloud.compute.v1.TargetVpnGatewayList.warning:type_name -> google.cloud.compute.v1.Warning - 1544, // 1029: google.cloud.compute.v1.TargetVpnGatewaysScopedList.target_vpn_gateways:type_name -> google.cloud.compute.v1.TargetVpnGateway - 1638, // 1030: google.cloud.compute.v1.TargetVpnGatewaysScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1602, // 1031: google.cloud.compute.v1.TestFailure.headers:type_name -> google.cloud.compute.v1.UrlMapTestHeader - 1572, // 1032: google.cloud.compute.v1.TestIamPermissionsDiskRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1033: google.cloud.compute.v1.TestIamPermissionsExternalVpnGatewayRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1034: google.cloud.compute.v1.TestIamPermissionsFirewallPolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1035: google.cloud.compute.v1.TestIamPermissionsImageRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1036: google.cloud.compute.v1.TestIamPermissionsInstanceRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1037: google.cloud.compute.v1.TestIamPermissionsInstanceTemplateRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1038: google.cloud.compute.v1.TestIamPermissionsLicenseCodeRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1039: google.cloud.compute.v1.TestIamPermissionsLicenseRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1040: google.cloud.compute.v1.TestIamPermissionsMachineImageRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1041: google.cloud.compute.v1.TestIamPermissionsNetworkAttachmentRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1042: google.cloud.compute.v1.TestIamPermissionsNetworkEndpointGroupRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1043: google.cloud.compute.v1.TestIamPermissionsNetworkFirewallPolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1044: google.cloud.compute.v1.TestIamPermissionsNodeGroupRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1045: google.cloud.compute.v1.TestIamPermissionsNodeTemplateRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1046: google.cloud.compute.v1.TestIamPermissionsPacketMirroringRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1047: google.cloud.compute.v1.TestIamPermissionsRegionDiskRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1048: google.cloud.compute.v1.TestIamPermissionsRegionNetworkFirewallPolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1049: google.cloud.compute.v1.TestIamPermissionsReservationRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1050: google.cloud.compute.v1.TestIamPermissionsResourcePolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1051: google.cloud.compute.v1.TestIamPermissionsServiceAttachmentRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1052: google.cloud.compute.v1.TestIamPermissionsSnapshotRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1053: google.cloud.compute.v1.TestIamPermissionsSubnetworkRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 1572, // 1054: google.cloud.compute.v1.TestIamPermissionsVpnGatewayRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest - 291, // 1055: google.cloud.compute.v1.UpdateAccessConfigInstanceRequest.access_config_resource:type_name -> google.cloud.compute.v1.AccessConfig - 373, // 1056: google.cloud.compute.v1.UpdateAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler - 385, // 1057: google.cloud.compute.v1.UpdateBackendBucketRequest.backend_bucket_resource:type_name -> google.cloud.compute.v1.BackendBucket - 391, // 1058: google.cloud.compute.v1.UpdateBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService - 536, // 1059: google.cloud.compute.v1.UpdateDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk - 556, // 1060: google.cloud.compute.v1.UpdateDisplayDeviceInstanceRequest.display_device_resource:type_name -> google.cloud.compute.v1.DisplayDevice - 574, // 1061: google.cloud.compute.v1.UpdateFirewallRequest.firewall_resource:type_name -> google.cloud.compute.v1.Firewall - 739, // 1062: google.cloud.compute.v1.UpdateHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck - 841, // 1063: google.cloud.compute.v1.UpdateInstanceRequest.instance_resource:type_name -> google.cloud.compute.v1.Instance - 1097, // 1064: google.cloud.compute.v1.UpdateNetworkInterfaceInstanceRequest.network_interface_resource:type_name -> google.cloud.compute.v1.NetworkInterface - 1106, // 1065: google.cloud.compute.v1.UpdatePeeringNetworkRequest.networks_update_peering_request_resource:type_name -> google.cloud.compute.v1.NetworksUpdatePeeringRequest - 873, // 1066: google.cloud.compute.v1.UpdatePerInstanceConfigsInstanceGroupManagerRequest.instance_group_managers_update_per_instance_configs_req_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersUpdatePerInstanceConfigsReq - 1233, // 1067: google.cloud.compute.v1.UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest.region_instance_group_manager_update_instance_config_req_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagerUpdateInstanceConfigReq - 373, // 1068: google.cloud.compute.v1.UpdateRegionAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler - 391, // 1069: google.cloud.compute.v1.UpdateRegionBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService - 424, // 1070: google.cloud.compute.v1.UpdateRegionCommitmentRequest.commitment_resource:type_name -> google.cloud.compute.v1.Commitment - 536, // 1071: google.cloud.compute.v1.UpdateRegionDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk - 739, // 1072: google.cloud.compute.v1.UpdateRegionHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck - 1598, // 1073: google.cloud.compute.v1.UpdateRegionUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap - 1269, // 1074: google.cloud.compute.v1.UpdateReservationRequest.reservation_resource:type_name -> google.cloud.compute.v1.Reservation - 1306, // 1075: google.cloud.compute.v1.UpdateRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router - 1456, // 1076: google.cloud.compute.v1.UpdateShieldedInstanceConfigInstanceRequest.shielded_instance_config_resource:type_name -> google.cloud.compute.v1.ShieldedInstanceConfig - 1598, // 1077: google.cloud.compute.v1.UpdateUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap - 762, // 1078: google.cloud.compute.v1.UrlMap.default_route_action:type_name -> google.cloud.compute.v1.HttpRouteAction - 760, // 1079: google.cloud.compute.v1.UrlMap.default_url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction - 756, // 1080: google.cloud.compute.v1.UrlMap.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction - 752, // 1081: google.cloud.compute.v1.UrlMap.host_rules:type_name -> google.cloud.compute.v1.HostRule - 1193, // 1082: google.cloud.compute.v1.UrlMap.path_matchers:type_name -> google.cloud.compute.v1.PathMatcher - 1601, // 1083: google.cloud.compute.v1.UrlMap.tests:type_name -> google.cloud.compute.v1.UrlMapTest - 1598, // 1084: google.cloud.compute.v1.UrlMapList.items:type_name -> google.cloud.compute.v1.UrlMap - 1638, // 1085: google.cloud.compute.v1.UrlMapList.warning:type_name -> google.cloud.compute.v1.Warning - 1602, // 1086: google.cloud.compute.v1.UrlMapTest.headers:type_name -> google.cloud.compute.v1.UrlMapTestHeader - 1548, // 1087: google.cloud.compute.v1.UrlMapValidationResult.test_failures:type_name -> google.cloud.compute.v1.TestFailure - 1727, // 1088: google.cloud.compute.v1.UrlMapsAggregatedList.items:type_name -> google.cloud.compute.v1.UrlMapsAggregatedList.ItemsEntry - 1638, // 1089: google.cloud.compute.v1.UrlMapsAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1598, // 1090: google.cloud.compute.v1.UrlMapsScopedList.url_maps:type_name -> google.cloud.compute.v1.UrlMap - 1638, // 1091: google.cloud.compute.v1.UrlMapsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1598, // 1092: google.cloud.compute.v1.UrlMapsValidateRequest.resource:type_name -> google.cloud.compute.v1.UrlMap - 1603, // 1093: google.cloud.compute.v1.UrlMapsValidateResponse.result:type_name -> google.cloud.compute.v1.UrlMapValidationResult - 1610, // 1094: google.cloud.compute.v1.UsableSubnetwork.secondary_ip_ranges:type_name -> google.cloud.compute.v1.UsableSubnetworkSecondaryRange - 1609, // 1095: google.cloud.compute.v1.UsableSubnetworksAggregatedList.items:type_name -> google.cloud.compute.v1.UsableSubnetwork - 1638, // 1096: google.cloud.compute.v1.UsableSubnetworksAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1253, // 1097: google.cloud.compute.v1.ValidateRegionUrlMapRequest.region_url_maps_validate_request_resource:type_name -> google.cloud.compute.v1.RegionUrlMapsValidateRequest - 1606, // 1098: google.cloud.compute.v1.ValidateUrlMapRequest.url_maps_validate_request_resource:type_name -> google.cloud.compute.v1.UrlMapsValidateRequest - 1616, // 1099: google.cloud.compute.v1.VmEndpointNatMappings.interface_nat_mappings:type_name -> google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappings - 1617, // 1100: google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappings.rule_mappings:type_name -> google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings - 1615, // 1101: google.cloud.compute.v1.VmEndpointNatMappingsList.result:type_name -> google.cloud.compute.v1.VmEndpointNatMappings - 1638, // 1102: google.cloud.compute.v1.VmEndpointNatMappingsList.warning:type_name -> google.cloud.compute.v1.Warning - 1728, // 1103: google.cloud.compute.v1.VpnGateway.labels:type_name -> google.cloud.compute.v1.VpnGateway.LabelsEntry - 1626, // 1104: google.cloud.compute.v1.VpnGateway.vpn_interfaces:type_name -> google.cloud.compute.v1.VpnGatewayVpnGatewayInterface - 1729, // 1105: google.cloud.compute.v1.VpnGatewayAggregatedList.items:type_name -> google.cloud.compute.v1.VpnGatewayAggregatedList.ItemsEntry - 1638, // 1106: google.cloud.compute.v1.VpnGatewayAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1619, // 1107: google.cloud.compute.v1.VpnGatewayList.items:type_name -> google.cloud.compute.v1.VpnGateway - 1638, // 1108: google.cloud.compute.v1.VpnGatewayList.warning:type_name -> google.cloud.compute.v1.Warning - 1625, // 1109: google.cloud.compute.v1.VpnGatewayStatus.vpn_connections:type_name -> google.cloud.compute.v1.VpnGatewayStatusVpnConnection - 1623, // 1110: google.cloud.compute.v1.VpnGatewayStatusVpnConnection.state:type_name -> google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState - 1624, // 1111: google.cloud.compute.v1.VpnGatewayStatusVpnConnection.tunnels:type_name -> google.cloud.compute.v1.VpnGatewayStatusTunnel - 1622, // 1112: google.cloud.compute.v1.VpnGatewaysGetStatusResponse.result:type_name -> google.cloud.compute.v1.VpnGatewayStatus - 1619, // 1113: google.cloud.compute.v1.VpnGatewaysScopedList.vpn_gateways:type_name -> google.cloud.compute.v1.VpnGateway - 1638, // 1114: google.cloud.compute.v1.VpnGatewaysScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1730, // 1115: google.cloud.compute.v1.VpnTunnel.labels:type_name -> google.cloud.compute.v1.VpnTunnel.LabelsEntry - 1731, // 1116: google.cloud.compute.v1.VpnTunnelAggregatedList.items:type_name -> google.cloud.compute.v1.VpnTunnelAggregatedList.ItemsEntry - 1638, // 1117: google.cloud.compute.v1.VpnTunnelAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning - 1629, // 1118: google.cloud.compute.v1.VpnTunnelList.items:type_name -> google.cloud.compute.v1.VpnTunnel - 1638, // 1119: google.cloud.compute.v1.VpnTunnelList.warning:type_name -> google.cloud.compute.v1.Warning - 1629, // 1120: google.cloud.compute.v1.VpnTunnelsScopedList.vpn_tunnels:type_name -> google.cloud.compute.v1.VpnTunnel - 1638, // 1121: google.cloud.compute.v1.VpnTunnelsScopedList.warning:type_name -> google.cloud.compute.v1.Warning - 1634, // 1122: google.cloud.compute.v1.WafExpressionSet.expressions:type_name -> google.cloud.compute.v1.WafExpressionSetExpression - 440, // 1123: google.cloud.compute.v1.Warning.data:type_name -> google.cloud.compute.v1.Data - 440, // 1124: google.cloud.compute.v1.Warnings.data:type_name -> google.cloud.compute.v1.Data - 756, // 1125: google.cloud.compute.v1.WeightedBackendService.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction - 1201, // 1126: google.cloud.compute.v1.XpnHostList.items:type_name -> google.cloud.compute.v1.Project - 1638, // 1127: google.cloud.compute.v1.XpnHostList.warning:type_name -> google.cloud.compute.v1.Warning - 530, // 1128: google.cloud.compute.v1.Zone.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus - 1643, // 1129: google.cloud.compute.v1.ZoneList.items:type_name -> google.cloud.compute.v1.Zone - 1638, // 1130: google.cloud.compute.v1.ZoneList.warning:type_name -> google.cloud.compute.v1.Warning - 1732, // 1131: google.cloud.compute.v1.ZoneSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.ZoneSetLabelsRequest.LabelsEntry - 410, // 1132: google.cloud.compute.v1.ZoneSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding - 1196, // 1133: google.cloud.compute.v1.ZoneSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy - 289, // 1134: google.cloud.compute.v1.AcceleratorTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.AcceleratorTypesScopedList - 313, // 1135: google.cloud.compute.v1.AddressAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.AddressesScopedList - 1332, // 1136: google.cloud.compute.v1.Autoscaler.ScalingScheduleStatusEntry.value:type_name -> google.cloud.compute.v1.ScalingScheduleStatus - 377, // 1137: google.cloud.compute.v1.AutoscalerAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.AutoscalersScopedList - 383, // 1138: google.cloud.compute.v1.AutoscalingPolicy.ScalingSchedulesEntry.value:type_name -> google.cloud.compute.v1.AutoscalingPolicyScalingSchedule - 406, // 1139: google.cloud.compute.v1.BackendServiceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.BackendServicesScopedList - 415, // 1140: google.cloud.compute.v1.BulkInsertInstanceResource.PerInstancePropertiesEntry.value:type_name -> google.cloud.compute.v1.BulkInsertInstanceResourcePerInstanceProperties - 427, // 1141: google.cloud.compute.v1.CommitmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.CommitmentsScopedList - 539, // 1142: google.cloud.compute.v1.Disk.AsyncSecondaryDisksEntry.value:type_name -> google.cloud.compute.v1.DiskAsyncReplicationList - 553, // 1143: google.cloud.compute.v1.DiskAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.DisksScopedList - 545, // 1144: google.cloud.compute.v1.DiskResourceStatus.AsyncSecondaryDisksEntry.value:type_name -> google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus - 549, // 1145: google.cloud.compute.v1.DiskTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.DiskTypesScopedList - 591, // 1146: google.cloud.compute.v1.ForwardingRuleAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ForwardingRulesScopedList - 747, // 1147: google.cloud.compute.v1.HealthChecksAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.HealthChecksScopedList - 898, // 1148: google.cloud.compute.v1.InstanceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstancesScopedList - 878, // 1149: google.cloud.compute.v1.InstanceGroupAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstanceGroupsScopedList - 870, // 1150: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstanceGroupManagersScopedList - 892, // 1151: google.cloud.compute.v1.InstanceTemplateAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstanceTemplatesScopedList - 915, // 1152: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InterconnectAttachmentsScopedList - 1048, // 1153: google.cloud.compute.v1.LocationPolicy.LocationsEntry.value:type_name -> google.cloud.compute.v1.LocationPolicyLocation - 1060, // 1154: google.cloud.compute.v1.MachineTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.MachineTypesScopedList - 1079, // 1155: google.cloud.compute.v1.NetworkAttachmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NetworkAttachmentsScopedList - 1082, // 1156: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList - 1095, // 1157: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsScopedList - 1116, // 1158: google.cloud.compute.v1.NodeGroupAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NodeGroupsScopedList - 1123, // 1159: google.cloud.compute.v1.NodeTemplateAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NodeTemplatesScopedList - 1127, // 1160: google.cloud.compute.v1.NodeTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NodeTypesScopedList - 1134, // 1161: google.cloud.compute.v1.OperationAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.OperationsScopedList - 1146, // 1162: google.cloud.compute.v1.PacketMirroringAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.PacketMirroringsScopedList - 1199, // 1163: google.cloud.compute.v1.PreservedState.DisksEntry.value:type_name -> google.cloud.compute.v1.PreservedStatePreservedDisk - 1214, // 1164: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.PublicDelegatedPrefixesScopedList - 1274, // 1165: google.cloud.compute.v1.ReservationAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ReservationsScopedList - 1283, // 1166: google.cloud.compute.v1.ResourcePolicyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ResourcePoliciesScopedList - 1327, // 1167: google.cloud.compute.v1.RouterAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.RoutersScopedList - 1339, // 1168: google.cloud.compute.v1.SecurityPoliciesAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SecurityPoliciesScopedList - 1373, // 1169: google.cloud.compute.v1.ServiceAttachmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ServiceAttachmentsScopedList - 1455, // 1170: google.cloud.compute.v1.ShareSettings.ProjectMapEntry.value:type_name -> google.cloud.compute.v1.ShareSettingsProjectConfig - 1473, // 1171: google.cloud.compute.v1.SslCertificateAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SslCertificatesScopedList - 1477, // 1172: google.cloud.compute.v1.SslPoliciesAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SslPoliciesScopedList - 1486, // 1173: google.cloud.compute.v1.StatefulPolicyPreservedState.DisksEntry.value:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedStateDiskDevice - 1498, // 1174: google.cloud.compute.v1.SubnetworkAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SubnetworksScopedList - 1507, // 1175: google.cloud.compute.v1.TargetHttpProxyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetHttpProxiesScopedList - 1511, // 1176: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetHttpsProxiesScopedList - 1521, // 1177: google.cloud.compute.v1.TargetInstanceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetInstancesScopedList - 1530, // 1178: google.cloud.compute.v1.TargetPoolAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetPoolsScopedList - 1538, // 1179: google.cloud.compute.v1.TargetTcpProxyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetTcpProxiesScopedList - 1547, // 1180: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetVpnGatewaysScopedList - 1605, // 1181: google.cloud.compute.v1.UrlMapsAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.UrlMapsScopedList - 1628, // 1182: google.cloud.compute.v1.VpnGatewayAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.VpnGatewaysScopedList - 1632, // 1183: google.cloud.compute.v1.VpnTunnelAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.VpnTunnelsScopedList - 315, // 1184: google.cloud.compute.v1.AcceleratorTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListAcceleratorTypesRequest - 593, // 1185: google.cloud.compute.v1.AcceleratorTypes.Get:input_type -> google.cloud.compute.v1.GetAcceleratorTypeRequest - 941, // 1186: google.cloud.compute.v1.AcceleratorTypes.List:input_type -> google.cloud.compute.v1.ListAcceleratorTypesRequest - 316, // 1187: google.cloud.compute.v1.Addresses.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListAddressesRequest - 442, // 1188: google.cloud.compute.v1.Addresses.Delete:input_type -> google.cloud.compute.v1.DeleteAddressRequest - 594, // 1189: google.cloud.compute.v1.Addresses.Get:input_type -> google.cloud.compute.v1.GetAddressRequest - 769, // 1190: google.cloud.compute.v1.Addresses.Insert:input_type -> google.cloud.compute.v1.InsertAddressRequest - 942, // 1191: google.cloud.compute.v1.Addresses.List:input_type -> google.cloud.compute.v1.ListAddressesRequest - 1068, // 1192: google.cloud.compute.v1.Addresses.Move:input_type -> google.cloud.compute.v1.MoveAddressRequest - 1407, // 1193: google.cloud.compute.v1.Addresses.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsAddressRequest - 317, // 1194: google.cloud.compute.v1.Autoscalers.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListAutoscalersRequest - 443, // 1195: google.cloud.compute.v1.Autoscalers.Delete:input_type -> google.cloud.compute.v1.DeleteAutoscalerRequest - 598, // 1196: google.cloud.compute.v1.Autoscalers.Get:input_type -> google.cloud.compute.v1.GetAutoscalerRequest - 770, // 1197: google.cloud.compute.v1.Autoscalers.Insert:input_type -> google.cloud.compute.v1.InsertAutoscalerRequest - 944, // 1198: google.cloud.compute.v1.Autoscalers.List:input_type -> google.cloud.compute.v1.ListAutoscalersRequest - 1147, // 1199: google.cloud.compute.v1.Autoscalers.Patch:input_type -> google.cloud.compute.v1.PatchAutoscalerRequest - 1576, // 1200: google.cloud.compute.v1.Autoscalers.Update:input_type -> google.cloud.compute.v1.UpdateAutoscalerRequest - 308, // 1201: google.cloud.compute.v1.BackendBuckets.AddSignedUrlKey:input_type -> google.cloud.compute.v1.AddSignedUrlKeyBackendBucketRequest - 444, // 1202: google.cloud.compute.v1.BackendBuckets.Delete:input_type -> google.cloud.compute.v1.DeleteBackendBucketRequest - 509, // 1203: google.cloud.compute.v1.BackendBuckets.DeleteSignedUrlKey:input_type -> google.cloud.compute.v1.DeleteSignedUrlKeyBackendBucketRequest - 599, // 1204: google.cloud.compute.v1.BackendBuckets.Get:input_type -> google.cloud.compute.v1.GetBackendBucketRequest - 771, // 1205: google.cloud.compute.v1.BackendBuckets.Insert:input_type -> google.cloud.compute.v1.InsertBackendBucketRequest - 947, // 1206: google.cloud.compute.v1.BackendBuckets.List:input_type -> google.cloud.compute.v1.ListBackendBucketsRequest - 1148, // 1207: google.cloud.compute.v1.BackendBuckets.Patch:input_type -> google.cloud.compute.v1.PatchBackendBucketRequest - 1383, // 1208: google.cloud.compute.v1.BackendBuckets.SetEdgeSecurityPolicy:input_type -> google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest - 1577, // 1209: google.cloud.compute.v1.BackendBuckets.Update:input_type -> google.cloud.compute.v1.UpdateBackendBucketRequest - 309, // 1210: google.cloud.compute.v1.BackendServices.AddSignedUrlKey:input_type -> google.cloud.compute.v1.AddSignedUrlKeyBackendServiceRequest - 318, // 1211: google.cloud.compute.v1.BackendServices.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListBackendServicesRequest - 445, // 1212: google.cloud.compute.v1.BackendServices.Delete:input_type -> google.cloud.compute.v1.DeleteBackendServiceRequest - 510, // 1213: google.cloud.compute.v1.BackendServices.DeleteSignedUrlKey:input_type -> google.cloud.compute.v1.DeleteSignedUrlKeyBackendServiceRequest - 600, // 1214: google.cloud.compute.v1.BackendServices.Get:input_type -> google.cloud.compute.v1.GetBackendServiceRequest - 619, // 1215: google.cloud.compute.v1.BackendServices.GetHealth:input_type -> google.cloud.compute.v1.GetHealthBackendServiceRequest - 623, // 1216: google.cloud.compute.v1.BackendServices.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyBackendServiceRequest - 772, // 1217: google.cloud.compute.v1.BackendServices.Insert:input_type -> google.cloud.compute.v1.InsertBackendServiceRequest - 948, // 1218: google.cloud.compute.v1.BackendServices.List:input_type -> google.cloud.compute.v1.ListBackendServicesRequest - 1149, // 1219: google.cloud.compute.v1.BackendServices.Patch:input_type -> google.cloud.compute.v1.PatchBackendServiceRequest - 1384, // 1220: google.cloud.compute.v1.BackendServices.SetEdgeSecurityPolicy:input_type -> google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest - 1385, // 1221: google.cloud.compute.v1.BackendServices.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyBackendServiceRequest - 1436, // 1222: google.cloud.compute.v1.BackendServices.SetSecurityPolicy:input_type -> google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest - 1578, // 1223: google.cloud.compute.v1.BackendServices.Update:input_type -> google.cloud.compute.v1.UpdateBackendServiceRequest - 319, // 1224: google.cloud.compute.v1.DiskTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListDiskTypesRequest - 603, // 1225: google.cloud.compute.v1.DiskTypes.Get:input_type -> google.cloud.compute.v1.GetDiskTypeRequest - 949, // 1226: google.cloud.compute.v1.DiskTypes.List:input_type -> google.cloud.compute.v1.ListDiskTypesRequest - 301, // 1227: google.cloud.compute.v1.Disks.AddResourcePolicies:input_type -> google.cloud.compute.v1.AddResourcePoliciesDiskRequest - 320, // 1228: google.cloud.compute.v1.Disks.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListDisksRequest - 411, // 1229: google.cloud.compute.v1.Disks.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertDiskRequest - 436, // 1230: google.cloud.compute.v1.Disks.CreateSnapshot:input_type -> google.cloud.compute.v1.CreateSnapshotDiskRequest - 446, // 1231: google.cloud.compute.v1.Disks.Delete:input_type -> google.cloud.compute.v1.DeleteDiskRequest - 602, // 1232: google.cloud.compute.v1.Disks.Get:input_type -> google.cloud.compute.v1.GetDiskRequest - 624, // 1233: google.cloud.compute.v1.Disks.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyDiskRequest - 773, // 1234: google.cloud.compute.v1.Disks.Insert:input_type -> google.cloud.compute.v1.InsertDiskRequest - 950, // 1235: google.cloud.compute.v1.Disks.List:input_type -> google.cloud.compute.v1.ListDisksRequest - 1261, // 1236: google.cloud.compute.v1.Disks.RemoveResourcePolicies:input_type -> google.cloud.compute.v1.RemoveResourcePoliciesDiskRequest - 1276, // 1237: google.cloud.compute.v1.Disks.Resize:input_type -> google.cloud.compute.v1.ResizeDiskRequest - 1386, // 1238: google.cloud.compute.v1.Disks.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyDiskRequest - 1408, // 1239: google.cloud.compute.v1.Disks.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsDiskRequest - 1480, // 1240: google.cloud.compute.v1.Disks.StartAsyncReplication:input_type -> google.cloud.compute.v1.StartAsyncReplicationDiskRequest - 1487, // 1241: google.cloud.compute.v1.Disks.StopAsyncReplication:input_type -> google.cloud.compute.v1.StopAsyncReplicationDiskRequest - 1489, // 1242: google.cloud.compute.v1.Disks.StopGroupAsyncReplication:input_type -> google.cloud.compute.v1.StopGroupAsyncReplicationDiskRequest - 1549, // 1243: google.cloud.compute.v1.Disks.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsDiskRequest - 1579, // 1244: google.cloud.compute.v1.Disks.Update:input_type -> google.cloud.compute.v1.UpdateDiskRequest - 447, // 1245: google.cloud.compute.v1.ExternalVpnGateways.Delete:input_type -> google.cloud.compute.v1.DeleteExternalVpnGatewayRequest - 607, // 1246: google.cloud.compute.v1.ExternalVpnGateways.Get:input_type -> google.cloud.compute.v1.GetExternalVpnGatewayRequest - 774, // 1247: google.cloud.compute.v1.ExternalVpnGateways.Insert:input_type -> google.cloud.compute.v1.InsertExternalVpnGatewayRequest - 953, // 1248: google.cloud.compute.v1.ExternalVpnGateways.List:input_type -> google.cloud.compute.v1.ListExternalVpnGatewaysRequest - 1409, // 1249: google.cloud.compute.v1.ExternalVpnGateways.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsExternalVpnGatewayRequest - 1550, // 1250: google.cloud.compute.v1.ExternalVpnGateways.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsExternalVpnGatewayRequest - 293, // 1251: google.cloud.compute.v1.FirewallPolicies.AddAssociation:input_type -> google.cloud.compute.v1.AddAssociationFirewallPolicyRequest - 304, // 1252: google.cloud.compute.v1.FirewallPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleFirewallPolicyRequest - 421, // 1253: google.cloud.compute.v1.FirewallPolicies.CloneRules:input_type -> google.cloud.compute.v1.CloneRulesFirewallPolicyRequest - 448, // 1254: google.cloud.compute.v1.FirewallPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteFirewallPolicyRequest - 608, // 1255: google.cloud.compute.v1.FirewallPolicies.Get:input_type -> google.cloud.compute.v1.GetFirewallPolicyRequest - 595, // 1256: google.cloud.compute.v1.FirewallPolicies.GetAssociation:input_type -> google.cloud.compute.v1.GetAssociationFirewallPolicyRequest - 625, // 1257: google.cloud.compute.v1.FirewallPolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyFirewallPolicyRequest - 697, // 1258: google.cloud.compute.v1.FirewallPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleFirewallPolicyRequest - 775, // 1259: google.cloud.compute.v1.FirewallPolicies.Insert:input_type -> google.cloud.compute.v1.InsertFirewallPolicyRequest - 954, // 1260: google.cloud.compute.v1.FirewallPolicies.List:input_type -> google.cloud.compute.v1.ListFirewallPoliciesRequest - 943, // 1261: google.cloud.compute.v1.FirewallPolicies.ListAssociations:input_type -> google.cloud.compute.v1.ListAssociationsFirewallPolicyRequest - 1070, // 1262: google.cloud.compute.v1.FirewallPolicies.Move:input_type -> google.cloud.compute.v1.MoveFirewallPolicyRequest - 1150, // 1263: google.cloud.compute.v1.FirewallPolicies.Patch:input_type -> google.cloud.compute.v1.PatchFirewallPolicyRequest - 1181, // 1264: google.cloud.compute.v1.FirewallPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleFirewallPolicyRequest - 1254, // 1265: google.cloud.compute.v1.FirewallPolicies.RemoveAssociation:input_type -> google.cloud.compute.v1.RemoveAssociationFirewallPolicyRequest - 1264, // 1266: google.cloud.compute.v1.FirewallPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleFirewallPolicyRequest - 1387, // 1267: google.cloud.compute.v1.FirewallPolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyFirewallPolicyRequest - 1551, // 1268: google.cloud.compute.v1.FirewallPolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsFirewallPolicyRequest - 449, // 1269: google.cloud.compute.v1.Firewalls.Delete:input_type -> google.cloud.compute.v1.DeleteFirewallRequest - 609, // 1270: google.cloud.compute.v1.Firewalls.Get:input_type -> google.cloud.compute.v1.GetFirewallRequest - 776, // 1271: google.cloud.compute.v1.Firewalls.Insert:input_type -> google.cloud.compute.v1.InsertFirewallRequest - 955, // 1272: google.cloud.compute.v1.Firewalls.List:input_type -> google.cloud.compute.v1.ListFirewallsRequest - 1151, // 1273: google.cloud.compute.v1.Firewalls.Patch:input_type -> google.cloud.compute.v1.PatchFirewallRequest - 1581, // 1274: google.cloud.compute.v1.Firewalls.Update:input_type -> google.cloud.compute.v1.UpdateFirewallRequest - 321, // 1275: google.cloud.compute.v1.ForwardingRules.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListForwardingRulesRequest - 450, // 1276: google.cloud.compute.v1.ForwardingRules.Delete:input_type -> google.cloud.compute.v1.DeleteForwardingRuleRequest - 610, // 1277: google.cloud.compute.v1.ForwardingRules.Get:input_type -> google.cloud.compute.v1.GetForwardingRuleRequest - 777, // 1278: google.cloud.compute.v1.ForwardingRules.Insert:input_type -> google.cloud.compute.v1.InsertForwardingRuleRequest - 956, // 1279: google.cloud.compute.v1.ForwardingRules.List:input_type -> google.cloud.compute.v1.ListForwardingRulesRequest - 1152, // 1280: google.cloud.compute.v1.ForwardingRules.Patch:input_type -> google.cloud.compute.v1.PatchForwardingRuleRequest - 1410, // 1281: google.cloud.compute.v1.ForwardingRules.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsForwardingRuleRequest - 1445, // 1282: google.cloud.compute.v1.ForwardingRules.SetTarget:input_type -> google.cloud.compute.v1.SetTargetForwardingRuleRequest - 451, // 1283: google.cloud.compute.v1.GlobalAddresses.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalAddressRequest - 612, // 1284: google.cloud.compute.v1.GlobalAddresses.Get:input_type -> google.cloud.compute.v1.GetGlobalAddressRequest - 778, // 1285: google.cloud.compute.v1.GlobalAddresses.Insert:input_type -> google.cloud.compute.v1.InsertGlobalAddressRequest - 957, // 1286: google.cloud.compute.v1.GlobalAddresses.List:input_type -> google.cloud.compute.v1.ListGlobalAddressesRequest - 1071, // 1287: google.cloud.compute.v1.GlobalAddresses.Move:input_type -> google.cloud.compute.v1.MoveGlobalAddressRequest - 1411, // 1288: google.cloud.compute.v1.GlobalAddresses.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsGlobalAddressRequest - 452, // 1289: google.cloud.compute.v1.GlobalForwardingRules.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalForwardingRuleRequest - 613, // 1290: google.cloud.compute.v1.GlobalForwardingRules.Get:input_type -> google.cloud.compute.v1.GetGlobalForwardingRuleRequest - 779, // 1291: google.cloud.compute.v1.GlobalForwardingRules.Insert:input_type -> google.cloud.compute.v1.InsertGlobalForwardingRuleRequest - 958, // 1292: google.cloud.compute.v1.GlobalForwardingRules.List:input_type -> google.cloud.compute.v1.ListGlobalForwardingRulesRequest - 1153, // 1293: google.cloud.compute.v1.GlobalForwardingRules.Patch:input_type -> google.cloud.compute.v1.PatchGlobalForwardingRuleRequest - 1412, // 1294: google.cloud.compute.v1.GlobalForwardingRules.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsGlobalForwardingRuleRequest - 1446, // 1295: google.cloud.compute.v1.GlobalForwardingRules.SetTarget:input_type -> google.cloud.compute.v1.SetTargetGlobalForwardingRuleRequest - 366, // 1296: google.cloud.compute.v1.GlobalNetworkEndpointGroups.AttachNetworkEndpoints:input_type -> google.cloud.compute.v1.AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest - 453, // 1297: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalNetworkEndpointGroupRequest - 532, // 1298: google.cloud.compute.v1.GlobalNetworkEndpointGroups.DetachNetworkEndpoints:input_type -> google.cloud.compute.v1.DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest - 614, // 1299: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Get:input_type -> google.cloud.compute.v1.GetGlobalNetworkEndpointGroupRequest - 780, // 1300: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Insert:input_type -> google.cloud.compute.v1.InsertGlobalNetworkEndpointGroupRequest - 959, // 1301: google.cloud.compute.v1.GlobalNetworkEndpointGroups.List:input_type -> google.cloud.compute.v1.ListGlobalNetworkEndpointGroupsRequest - 982, // 1302: google.cloud.compute.v1.GlobalNetworkEndpointGroups.ListNetworkEndpoints:input_type -> google.cloud.compute.v1.ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest - 322, // 1303: google.cloud.compute.v1.GlobalOperations.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListGlobalOperationsRequest - 454, // 1304: google.cloud.compute.v1.GlobalOperations.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalOperationRequest - 615, // 1305: google.cloud.compute.v1.GlobalOperations.Get:input_type -> google.cloud.compute.v1.GetGlobalOperationRequest - 960, // 1306: google.cloud.compute.v1.GlobalOperations.List:input_type -> google.cloud.compute.v1.ListGlobalOperationsRequest - 1635, // 1307: google.cloud.compute.v1.GlobalOperations.Wait:input_type -> google.cloud.compute.v1.WaitGlobalOperationRequest - 456, // 1308: google.cloud.compute.v1.GlobalOrganizationOperations.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalOrganizationOperationRequest - 616, // 1309: google.cloud.compute.v1.GlobalOrganizationOperations.Get:input_type -> google.cloud.compute.v1.GetGlobalOrganizationOperationRequest - 961, // 1310: google.cloud.compute.v1.GlobalOrganizationOperations.List:input_type -> google.cloud.compute.v1.ListGlobalOrganizationOperationsRequest - 458, // 1311: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalPublicDelegatedPrefixeRequest - 617, // 1312: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Get:input_type -> google.cloud.compute.v1.GetGlobalPublicDelegatedPrefixeRequest - 781, // 1313: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Insert:input_type -> google.cloud.compute.v1.InsertGlobalPublicDelegatedPrefixeRequest - 962, // 1314: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.List:input_type -> google.cloud.compute.v1.ListGlobalPublicDelegatedPrefixesRequest - 1154, // 1315: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Patch:input_type -> google.cloud.compute.v1.PatchGlobalPublicDelegatedPrefixeRequest - 323, // 1316: google.cloud.compute.v1.HealthChecks.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListHealthChecksRequest - 459, // 1317: google.cloud.compute.v1.HealthChecks.Delete:input_type -> google.cloud.compute.v1.DeleteHealthCheckRequest - 620, // 1318: google.cloud.compute.v1.HealthChecks.Get:input_type -> google.cloud.compute.v1.GetHealthCheckRequest - 782, // 1319: google.cloud.compute.v1.HealthChecks.Insert:input_type -> google.cloud.compute.v1.InsertHealthCheckRequest - 963, // 1320: google.cloud.compute.v1.HealthChecks.List:input_type -> google.cloud.compute.v1.ListHealthChecksRequest - 1155, // 1321: google.cloud.compute.v1.HealthChecks.Patch:input_type -> google.cloud.compute.v1.PatchHealthCheckRequest - 1582, // 1322: google.cloud.compute.v1.HealthChecks.Update:input_type -> google.cloud.compute.v1.UpdateHealthCheckRequest - 643, // 1323: google.cloud.compute.v1.ImageFamilyViews.Get:input_type -> google.cloud.compute.v1.GetImageFamilyViewRequest - 460, // 1324: google.cloud.compute.v1.Images.Delete:input_type -> google.cloud.compute.v1.DeleteImageRequest - 529, // 1325: google.cloud.compute.v1.Images.Deprecate:input_type -> google.cloud.compute.v1.DeprecateImageRequest - 644, // 1326: google.cloud.compute.v1.Images.Get:input_type -> google.cloud.compute.v1.GetImageRequest - 611, // 1327: google.cloud.compute.v1.Images.GetFromFamily:input_type -> google.cloud.compute.v1.GetFromFamilyImageRequest - 626, // 1328: google.cloud.compute.v1.Images.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyImageRequest - 783, // 1329: google.cloud.compute.v1.Images.Insert:input_type -> google.cloud.compute.v1.InsertImageRequest - 964, // 1330: google.cloud.compute.v1.Images.List:input_type -> google.cloud.compute.v1.ListImagesRequest - 1156, // 1331: google.cloud.compute.v1.Images.Patch:input_type -> google.cloud.compute.v1.PatchImageRequest - 1388, // 1332: google.cloud.compute.v1.Images.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyImageRequest - 1413, // 1333: google.cloud.compute.v1.Images.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsImageRequest - 1552, // 1334: google.cloud.compute.v1.Images.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsImageRequest - 283, // 1335: google.cloud.compute.v1.InstanceGroupManagers.AbandonInstances:input_type -> google.cloud.compute.v1.AbandonInstancesInstanceGroupManagerRequest - 324, // 1336: google.cloud.compute.v1.InstanceGroupManagers.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstanceGroupManagersRequest - 363, // 1337: google.cloud.compute.v1.InstanceGroupManagers.ApplyUpdatesToInstances:input_type -> google.cloud.compute.v1.ApplyUpdatesToInstancesInstanceGroupManagerRequest - 434, // 1338: google.cloud.compute.v1.InstanceGroupManagers.CreateInstances:input_type -> google.cloud.compute.v1.CreateInstancesInstanceGroupManagerRequest - 461, // 1339: google.cloud.compute.v1.InstanceGroupManagers.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceGroupManagerRequest - 465, // 1340: google.cloud.compute.v1.InstanceGroupManagers.DeleteInstances:input_type -> google.cloud.compute.v1.DeleteInstancesInstanceGroupManagerRequest - 480, // 1341: google.cloud.compute.v1.InstanceGroupManagers.DeletePerInstanceConfigs:input_type -> google.cloud.compute.v1.DeletePerInstanceConfigsInstanceGroupManagerRequest - 645, // 1342: google.cloud.compute.v1.InstanceGroupManagers.Get:input_type -> google.cloud.compute.v1.GetInstanceGroupManagerRequest - 784, // 1343: google.cloud.compute.v1.InstanceGroupManagers.Insert:input_type -> google.cloud.compute.v1.InsertInstanceGroupManagerRequest - 965, // 1344: google.cloud.compute.v1.InstanceGroupManagers.List:input_type -> google.cloud.compute.v1.ListInstanceGroupManagersRequest - 951, // 1345: google.cloud.compute.v1.InstanceGroupManagers.ListErrors:input_type -> google.cloud.compute.v1.ListErrorsInstanceGroupManagersRequest - 978, // 1346: google.cloud.compute.v1.InstanceGroupManagers.ListManagedInstances:input_type -> google.cloud.compute.v1.ListManagedInstancesInstanceGroupManagersRequest - 992, // 1347: google.cloud.compute.v1.InstanceGroupManagers.ListPerInstanceConfigs:input_type -> google.cloud.compute.v1.ListPerInstanceConfigsInstanceGroupManagersRequest - 1157, // 1348: google.cloud.compute.v1.InstanceGroupManagers.Patch:input_type -> google.cloud.compute.v1.PatchInstanceGroupManagerRequest - 1165, // 1349: google.cloud.compute.v1.InstanceGroupManagers.PatchPerInstanceConfigs:input_type -> google.cloud.compute.v1.PatchPerInstanceConfigsInstanceGroupManagerRequest - 1218, // 1350: google.cloud.compute.v1.InstanceGroupManagers.RecreateInstances:input_type -> google.cloud.compute.v1.RecreateInstancesInstanceGroupManagerRequest - 1277, // 1351: google.cloud.compute.v1.InstanceGroupManagers.Resize:input_type -> google.cloud.compute.v1.ResizeInstanceGroupManagerRequest - 1405, // 1352: google.cloud.compute.v1.InstanceGroupManagers.SetInstanceTemplate:input_type -> google.cloud.compute.v1.SetInstanceTemplateInstanceGroupManagerRequest - 1447, // 1353: google.cloud.compute.v1.InstanceGroupManagers.SetTargetPools:input_type -> google.cloud.compute.v1.SetTargetPoolsInstanceGroupManagerRequest - 1586, // 1354: google.cloud.compute.v1.InstanceGroupManagers.UpdatePerInstanceConfigs:input_type -> google.cloud.compute.v1.UpdatePerInstanceConfigsInstanceGroupManagerRequest - 298, // 1355: google.cloud.compute.v1.InstanceGroups.AddInstances:input_type -> google.cloud.compute.v1.AddInstancesInstanceGroupRequest - 325, // 1356: google.cloud.compute.v1.InstanceGroups.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstanceGroupsRequest - 462, // 1357: google.cloud.compute.v1.InstanceGroups.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceGroupRequest - 646, // 1358: google.cloud.compute.v1.InstanceGroups.Get:input_type -> google.cloud.compute.v1.GetInstanceGroupRequest - 785, // 1359: google.cloud.compute.v1.InstanceGroups.Insert:input_type -> google.cloud.compute.v1.InsertInstanceGroupRequest - 966, // 1360: google.cloud.compute.v1.InstanceGroups.List:input_type -> google.cloud.compute.v1.ListInstanceGroupsRequest - 968, // 1361: google.cloud.compute.v1.InstanceGroups.ListInstances:input_type -> google.cloud.compute.v1.ListInstancesInstanceGroupsRequest - 1259, // 1362: google.cloud.compute.v1.InstanceGroups.RemoveInstances:input_type -> google.cloud.compute.v1.RemoveInstancesInstanceGroupRequest - 1428, // 1363: google.cloud.compute.v1.InstanceGroups.SetNamedPorts:input_type -> google.cloud.compute.v1.SetNamedPortsInstanceGroupRequest - 326, // 1364: google.cloud.compute.v1.InstanceTemplates.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstanceTemplatesRequest - 464, // 1365: google.cloud.compute.v1.InstanceTemplates.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceTemplateRequest - 648, // 1366: google.cloud.compute.v1.InstanceTemplates.Get:input_type -> google.cloud.compute.v1.GetInstanceTemplateRequest - 628, // 1367: google.cloud.compute.v1.InstanceTemplates.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyInstanceTemplateRequest - 787, // 1368: google.cloud.compute.v1.InstanceTemplates.Insert:input_type -> google.cloud.compute.v1.InsertInstanceTemplateRequest - 967, // 1369: google.cloud.compute.v1.InstanceTemplates.List:input_type -> google.cloud.compute.v1.ListInstanceTemplatesRequest - 1390, // 1370: google.cloud.compute.v1.InstanceTemplates.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyInstanceTemplateRequest - 1554, // 1371: google.cloud.compute.v1.InstanceTemplates.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsInstanceTemplateRequest - 292, // 1372: google.cloud.compute.v1.Instances.AddAccessConfig:input_type -> google.cloud.compute.v1.AddAccessConfigInstanceRequest - 302, // 1373: google.cloud.compute.v1.Instances.AddResourcePolicies:input_type -> google.cloud.compute.v1.AddResourcePoliciesInstanceRequest - 327, // 1374: google.cloud.compute.v1.Instances.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstancesRequest - 365, // 1375: google.cloud.compute.v1.Instances.AttachDisk:input_type -> google.cloud.compute.v1.AttachDiskInstanceRequest - 413, // 1376: google.cloud.compute.v1.Instances.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertInstanceRequest - 463, // 1377: google.cloud.compute.v1.Instances.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceRequest - 441, // 1378: google.cloud.compute.v1.Instances.DeleteAccessConfig:input_type -> google.cloud.compute.v1.DeleteAccessConfigInstanceRequest - 531, // 1379: google.cloud.compute.v1.Instances.DetachDisk:input_type -> google.cloud.compute.v1.DetachDiskInstanceRequest - 647, // 1380: google.cloud.compute.v1.Instances.Get:input_type -> google.cloud.compute.v1.GetInstanceRequest - 604, // 1381: google.cloud.compute.v1.Instances.GetEffectiveFirewalls:input_type -> google.cloud.compute.v1.GetEffectiveFirewallsInstanceRequest - 618, // 1382: google.cloud.compute.v1.Instances.GetGuestAttributes:input_type -> google.cloud.compute.v1.GetGuestAttributesInstanceRequest - 627, // 1383: google.cloud.compute.v1.Instances.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyInstanceRequest - 701, // 1384: google.cloud.compute.v1.Instances.GetScreenshot:input_type -> google.cloud.compute.v1.GetScreenshotInstanceRequest - 703, // 1385: google.cloud.compute.v1.Instances.GetSerialPortOutput:input_type -> google.cloud.compute.v1.GetSerialPortOutputInstanceRequest - 705, // 1386: google.cloud.compute.v1.Instances.GetShieldedInstanceIdentity:input_type -> google.cloud.compute.v1.GetShieldedInstanceIdentityInstanceRequest - 786, // 1387: google.cloud.compute.v1.Instances.Insert:input_type -> google.cloud.compute.v1.InsertInstanceRequest - 970, // 1388: google.cloud.compute.v1.Instances.List:input_type -> google.cloud.compute.v1.ListInstancesRequest - 997, // 1389: google.cloud.compute.v1.Instances.ListReferrers:input_type -> google.cloud.compute.v1.ListReferrersInstancesRequest - 1262, // 1390: google.cloud.compute.v1.Instances.RemoveResourcePolicies:input_type -> google.cloud.compute.v1.RemoveResourcePoliciesInstanceRequest - 1275, // 1391: google.cloud.compute.v1.Instances.Reset:input_type -> google.cloud.compute.v1.ResetInstanceRequest - 1302, // 1392: google.cloud.compute.v1.Instances.Resume:input_type -> google.cloud.compute.v1.ResumeInstanceRequest - 1363, // 1393: google.cloud.compute.v1.Instances.SendDiagnosticInterrupt:input_type -> google.cloud.compute.v1.SendDiagnosticInterruptInstanceRequest - 1381, // 1394: google.cloud.compute.v1.Instances.SetDeletionProtection:input_type -> google.cloud.compute.v1.SetDeletionProtectionInstanceRequest - 1382, // 1395: google.cloud.compute.v1.Instances.SetDiskAutoDelete:input_type -> google.cloud.compute.v1.SetDiskAutoDeleteInstanceRequest - 1389, // 1396: google.cloud.compute.v1.Instances.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyInstanceRequest - 1414, // 1397: google.cloud.compute.v1.Instances.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsInstanceRequest - 1423, // 1398: google.cloud.compute.v1.Instances.SetMachineResources:input_type -> google.cloud.compute.v1.SetMachineResourcesInstanceRequest - 1424, // 1399: google.cloud.compute.v1.Instances.SetMachineType:input_type -> google.cloud.compute.v1.SetMachineTypeInstanceRequest - 1425, // 1400: google.cloud.compute.v1.Instances.SetMetadata:input_type -> google.cloud.compute.v1.SetMetadataInstanceRequest - 1426, // 1401: google.cloud.compute.v1.Instances.SetMinCpuPlatform:input_type -> google.cloud.compute.v1.SetMinCpuPlatformInstanceRequest - 1427, // 1402: google.cloud.compute.v1.Instances.SetName:input_type -> google.cloud.compute.v1.SetNameInstanceRequest - 1435, // 1403: google.cloud.compute.v1.Instances.SetScheduling:input_type -> google.cloud.compute.v1.SetSchedulingInstanceRequest - 1437, // 1404: google.cloud.compute.v1.Instances.SetServiceAccount:input_type -> google.cloud.compute.v1.SetServiceAccountInstanceRequest - 1438, // 1405: google.cloud.compute.v1.Instances.SetShieldedInstanceIntegrityPolicy:input_type -> google.cloud.compute.v1.SetShieldedInstanceIntegrityPolicyInstanceRequest - 1444, // 1406: google.cloud.compute.v1.Instances.SetTags:input_type -> google.cloud.compute.v1.SetTagsInstanceRequest - 1461, // 1407: google.cloud.compute.v1.Instances.SimulateMaintenanceEvent:input_type -> google.cloud.compute.v1.SimulateMaintenanceEventInstanceRequest - 1482, // 1408: google.cloud.compute.v1.Instances.Start:input_type -> google.cloud.compute.v1.StartInstanceRequest - 1483, // 1409: google.cloud.compute.v1.Instances.StartWithEncryptionKey:input_type -> google.cloud.compute.v1.StartWithEncryptionKeyInstanceRequest - 1491, // 1410: google.cloud.compute.v1.Instances.Stop:input_type -> google.cloud.compute.v1.StopInstanceRequest - 1501, // 1411: google.cloud.compute.v1.Instances.Suspend:input_type -> google.cloud.compute.v1.SuspendInstanceRequest - 1553, // 1412: google.cloud.compute.v1.Instances.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsInstanceRequest - 1583, // 1413: google.cloud.compute.v1.Instances.Update:input_type -> google.cloud.compute.v1.UpdateInstanceRequest - 1575, // 1414: google.cloud.compute.v1.Instances.UpdateAccessConfig:input_type -> google.cloud.compute.v1.UpdateAccessConfigInstanceRequest - 1580, // 1415: google.cloud.compute.v1.Instances.UpdateDisplayDevice:input_type -> google.cloud.compute.v1.UpdateDisplayDeviceInstanceRequest - 1584, // 1416: google.cloud.compute.v1.Instances.UpdateNetworkInterface:input_type -> google.cloud.compute.v1.UpdateNetworkInterfaceInstanceRequest - 1596, // 1417: google.cloud.compute.v1.Instances.UpdateShieldedInstanceConfig:input_type -> google.cloud.compute.v1.UpdateShieldedInstanceConfigInstanceRequest - 328, // 1418: google.cloud.compute.v1.InterconnectAttachments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInterconnectAttachmentsRequest - 467, // 1419: google.cloud.compute.v1.InterconnectAttachments.Delete:input_type -> google.cloud.compute.v1.DeleteInterconnectAttachmentRequest - 649, // 1420: google.cloud.compute.v1.InterconnectAttachments.Get:input_type -> google.cloud.compute.v1.GetInterconnectAttachmentRequest - 788, // 1421: google.cloud.compute.v1.InterconnectAttachments.Insert:input_type -> google.cloud.compute.v1.InsertInterconnectAttachmentRequest - 971, // 1422: google.cloud.compute.v1.InterconnectAttachments.List:input_type -> google.cloud.compute.v1.ListInterconnectAttachmentsRequest - 1158, // 1423: google.cloud.compute.v1.InterconnectAttachments.Patch:input_type -> google.cloud.compute.v1.PatchInterconnectAttachmentRequest - 1415, // 1424: google.cloud.compute.v1.InterconnectAttachments.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsInterconnectAttachmentRequest - 650, // 1425: google.cloud.compute.v1.InterconnectLocations.Get:input_type -> google.cloud.compute.v1.GetInterconnectLocationRequest - 972, // 1426: google.cloud.compute.v1.InterconnectLocations.List:input_type -> google.cloud.compute.v1.ListInterconnectLocationsRequest - 651, // 1427: google.cloud.compute.v1.InterconnectRemoteLocations.Get:input_type -> google.cloud.compute.v1.GetInterconnectRemoteLocationRequest - 973, // 1428: google.cloud.compute.v1.InterconnectRemoteLocations.List:input_type -> google.cloud.compute.v1.ListInterconnectRemoteLocationsRequest - 468, // 1429: google.cloud.compute.v1.Interconnects.Delete:input_type -> google.cloud.compute.v1.DeleteInterconnectRequest - 652, // 1430: google.cloud.compute.v1.Interconnects.Get:input_type -> google.cloud.compute.v1.GetInterconnectRequest - 601, // 1431: google.cloud.compute.v1.Interconnects.GetDiagnostics:input_type -> google.cloud.compute.v1.GetDiagnosticsInterconnectRequest - 789, // 1432: google.cloud.compute.v1.Interconnects.Insert:input_type -> google.cloud.compute.v1.InsertInterconnectRequest - 974, // 1433: google.cloud.compute.v1.Interconnects.List:input_type -> google.cloud.compute.v1.ListInterconnectsRequest - 1159, // 1434: google.cloud.compute.v1.Interconnects.Patch:input_type -> google.cloud.compute.v1.PatchInterconnectRequest - 1416, // 1435: google.cloud.compute.v1.Interconnects.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsInterconnectRequest - 653, // 1436: google.cloud.compute.v1.LicenseCodes.Get:input_type -> google.cloud.compute.v1.GetLicenseCodeRequest - 1555, // 1437: google.cloud.compute.v1.LicenseCodes.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsLicenseCodeRequest - 469, // 1438: google.cloud.compute.v1.Licenses.Delete:input_type -> google.cloud.compute.v1.DeleteLicenseRequest - 654, // 1439: google.cloud.compute.v1.Licenses.Get:input_type -> google.cloud.compute.v1.GetLicenseRequest - 629, // 1440: google.cloud.compute.v1.Licenses.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyLicenseRequest - 790, // 1441: google.cloud.compute.v1.Licenses.Insert:input_type -> google.cloud.compute.v1.InsertLicenseRequest - 975, // 1442: google.cloud.compute.v1.Licenses.List:input_type -> google.cloud.compute.v1.ListLicensesRequest - 1391, // 1443: google.cloud.compute.v1.Licenses.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyLicenseRequest - 1556, // 1444: google.cloud.compute.v1.Licenses.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsLicenseRequest - 470, // 1445: google.cloud.compute.v1.MachineImages.Delete:input_type -> google.cloud.compute.v1.DeleteMachineImageRequest - 655, // 1446: google.cloud.compute.v1.MachineImages.Get:input_type -> google.cloud.compute.v1.GetMachineImageRequest - 630, // 1447: google.cloud.compute.v1.MachineImages.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyMachineImageRequest - 791, // 1448: google.cloud.compute.v1.MachineImages.Insert:input_type -> google.cloud.compute.v1.InsertMachineImageRequest - 976, // 1449: google.cloud.compute.v1.MachineImages.List:input_type -> google.cloud.compute.v1.ListMachineImagesRequest - 1392, // 1450: google.cloud.compute.v1.MachineImages.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyMachineImageRequest - 1557, // 1451: google.cloud.compute.v1.MachineImages.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsMachineImageRequest - 329, // 1452: google.cloud.compute.v1.MachineTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListMachineTypesRequest - 656, // 1453: google.cloud.compute.v1.MachineTypes.Get:input_type -> google.cloud.compute.v1.GetMachineTypeRequest - 977, // 1454: google.cloud.compute.v1.MachineTypes.List:input_type -> google.cloud.compute.v1.ListMachineTypesRequest - 330, // 1455: google.cloud.compute.v1.NetworkAttachments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNetworkAttachmentsRequest - 471, // 1456: google.cloud.compute.v1.NetworkAttachments.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkAttachmentRequest - 658, // 1457: google.cloud.compute.v1.NetworkAttachments.Get:input_type -> google.cloud.compute.v1.GetNetworkAttachmentRequest - 631, // 1458: google.cloud.compute.v1.NetworkAttachments.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNetworkAttachmentRequest - 792, // 1459: google.cloud.compute.v1.NetworkAttachments.Insert:input_type -> google.cloud.compute.v1.InsertNetworkAttachmentRequest - 980, // 1460: google.cloud.compute.v1.NetworkAttachments.List:input_type -> google.cloud.compute.v1.ListNetworkAttachmentsRequest - 1393, // 1461: google.cloud.compute.v1.NetworkAttachments.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNetworkAttachmentRequest - 1558, // 1462: google.cloud.compute.v1.NetworkAttachments.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNetworkAttachmentRequest - 331, // 1463: google.cloud.compute.v1.NetworkEdgeSecurityServices.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNetworkEdgeSecurityServicesRequest - 472, // 1464: google.cloud.compute.v1.NetworkEdgeSecurityServices.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkEdgeSecurityServiceRequest - 659, // 1465: google.cloud.compute.v1.NetworkEdgeSecurityServices.Get:input_type -> google.cloud.compute.v1.GetNetworkEdgeSecurityServiceRequest - 793, // 1466: google.cloud.compute.v1.NetworkEdgeSecurityServices.Insert:input_type -> google.cloud.compute.v1.InsertNetworkEdgeSecurityServiceRequest - 1160, // 1467: google.cloud.compute.v1.NetworkEdgeSecurityServices.Patch:input_type -> google.cloud.compute.v1.PatchNetworkEdgeSecurityServiceRequest - 332, // 1468: google.cloud.compute.v1.NetworkEndpointGroups.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNetworkEndpointGroupsRequest - 367, // 1469: google.cloud.compute.v1.NetworkEndpointGroups.AttachNetworkEndpoints:input_type -> google.cloud.compute.v1.AttachNetworkEndpointsNetworkEndpointGroupRequest - 473, // 1470: google.cloud.compute.v1.NetworkEndpointGroups.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkEndpointGroupRequest - 533, // 1471: google.cloud.compute.v1.NetworkEndpointGroups.DetachNetworkEndpoints:input_type -> google.cloud.compute.v1.DetachNetworkEndpointsNetworkEndpointGroupRequest - 660, // 1472: google.cloud.compute.v1.NetworkEndpointGroups.Get:input_type -> google.cloud.compute.v1.GetNetworkEndpointGroupRequest - 794, // 1473: google.cloud.compute.v1.NetworkEndpointGroups.Insert:input_type -> google.cloud.compute.v1.InsertNetworkEndpointGroupRequest - 981, // 1474: google.cloud.compute.v1.NetworkEndpointGroups.List:input_type -> google.cloud.compute.v1.ListNetworkEndpointGroupsRequest - 983, // 1475: google.cloud.compute.v1.NetworkEndpointGroups.ListNetworkEndpoints:input_type -> google.cloud.compute.v1.ListNetworkEndpointsNetworkEndpointGroupsRequest - 1559, // 1476: google.cloud.compute.v1.NetworkEndpointGroups.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNetworkEndpointGroupRequest - 294, // 1477: google.cloud.compute.v1.NetworkFirewallPolicies.AddAssociation:input_type -> google.cloud.compute.v1.AddAssociationNetworkFirewallPolicyRequest - 305, // 1478: google.cloud.compute.v1.NetworkFirewallPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleNetworkFirewallPolicyRequest - 422, // 1479: google.cloud.compute.v1.NetworkFirewallPolicies.CloneRules:input_type -> google.cloud.compute.v1.CloneRulesNetworkFirewallPolicyRequest - 474, // 1480: google.cloud.compute.v1.NetworkFirewallPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkFirewallPolicyRequest - 661, // 1481: google.cloud.compute.v1.NetworkFirewallPolicies.Get:input_type -> google.cloud.compute.v1.GetNetworkFirewallPolicyRequest - 596, // 1482: google.cloud.compute.v1.NetworkFirewallPolicies.GetAssociation:input_type -> google.cloud.compute.v1.GetAssociationNetworkFirewallPolicyRequest - 632, // 1483: google.cloud.compute.v1.NetworkFirewallPolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNetworkFirewallPolicyRequest - 698, // 1484: google.cloud.compute.v1.NetworkFirewallPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleNetworkFirewallPolicyRequest - 795, // 1485: google.cloud.compute.v1.NetworkFirewallPolicies.Insert:input_type -> google.cloud.compute.v1.InsertNetworkFirewallPolicyRequest - 984, // 1486: google.cloud.compute.v1.NetworkFirewallPolicies.List:input_type -> google.cloud.compute.v1.ListNetworkFirewallPoliciesRequest - 1161, // 1487: google.cloud.compute.v1.NetworkFirewallPolicies.Patch:input_type -> google.cloud.compute.v1.PatchNetworkFirewallPolicyRequest - 1182, // 1488: google.cloud.compute.v1.NetworkFirewallPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleNetworkFirewallPolicyRequest - 1255, // 1489: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveAssociation:input_type -> google.cloud.compute.v1.RemoveAssociationNetworkFirewallPolicyRequest - 1265, // 1490: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleNetworkFirewallPolicyRequest - 1394, // 1491: google.cloud.compute.v1.NetworkFirewallPolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNetworkFirewallPolicyRequest - 1560, // 1492: google.cloud.compute.v1.NetworkFirewallPolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNetworkFirewallPolicyRequest - 300, // 1493: google.cloud.compute.v1.Networks.AddPeering:input_type -> google.cloud.compute.v1.AddPeeringNetworkRequest - 475, // 1494: google.cloud.compute.v1.Networks.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkRequest - 662, // 1495: google.cloud.compute.v1.Networks.Get:input_type -> google.cloud.compute.v1.GetNetworkRequest - 605, // 1496: google.cloud.compute.v1.Networks.GetEffectiveFirewalls:input_type -> google.cloud.compute.v1.GetEffectiveFirewallsNetworkRequest - 796, // 1497: google.cloud.compute.v1.Networks.Insert:input_type -> google.cloud.compute.v1.InsertNetworkRequest - 985, // 1498: google.cloud.compute.v1.Networks.List:input_type -> google.cloud.compute.v1.ListNetworksRequest - 991, // 1499: google.cloud.compute.v1.Networks.ListPeeringRoutes:input_type -> google.cloud.compute.v1.ListPeeringRoutesNetworksRequest - 1162, // 1500: google.cloud.compute.v1.Networks.Patch:input_type -> google.cloud.compute.v1.PatchNetworkRequest - 1260, // 1501: google.cloud.compute.v1.Networks.RemovePeering:input_type -> google.cloud.compute.v1.RemovePeeringNetworkRequest - 1502, // 1502: google.cloud.compute.v1.Networks.SwitchToCustomMode:input_type -> google.cloud.compute.v1.SwitchToCustomModeNetworkRequest - 1585, // 1503: google.cloud.compute.v1.Networks.UpdatePeering:input_type -> google.cloud.compute.v1.UpdatePeeringNetworkRequest - 299, // 1504: google.cloud.compute.v1.NodeGroups.AddNodes:input_type -> google.cloud.compute.v1.AddNodesNodeGroupRequest - 333, // 1505: google.cloud.compute.v1.NodeGroups.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNodeGroupsRequest - 476, // 1506: google.cloud.compute.v1.NodeGroups.Delete:input_type -> google.cloud.compute.v1.DeleteNodeGroupRequest - 478, // 1507: google.cloud.compute.v1.NodeGroups.DeleteNodes:input_type -> google.cloud.compute.v1.DeleteNodesNodeGroupRequest - 663, // 1508: google.cloud.compute.v1.NodeGroups.Get:input_type -> google.cloud.compute.v1.GetNodeGroupRequest - 633, // 1509: google.cloud.compute.v1.NodeGroups.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNodeGroupRequest - 797, // 1510: google.cloud.compute.v1.NodeGroups.Insert:input_type -> google.cloud.compute.v1.InsertNodeGroupRequest - 986, // 1511: google.cloud.compute.v1.NodeGroups.List:input_type -> google.cloud.compute.v1.ListNodeGroupsRequest - 989, // 1512: google.cloud.compute.v1.NodeGroups.ListNodes:input_type -> google.cloud.compute.v1.ListNodesNodeGroupsRequest - 1163, // 1513: google.cloud.compute.v1.NodeGroups.Patch:input_type -> google.cloud.compute.v1.PatchNodeGroupRequest - 1395, // 1514: google.cloud.compute.v1.NodeGroups.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNodeGroupRequest - 1430, // 1515: google.cloud.compute.v1.NodeGroups.SetNodeTemplate:input_type -> google.cloud.compute.v1.SetNodeTemplateNodeGroupRequest - 1462, // 1516: google.cloud.compute.v1.NodeGroups.SimulateMaintenanceEvent:input_type -> google.cloud.compute.v1.SimulateMaintenanceEventNodeGroupRequest - 1561, // 1517: google.cloud.compute.v1.NodeGroups.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNodeGroupRequest - 334, // 1518: google.cloud.compute.v1.NodeTemplates.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNodeTemplatesRequest - 477, // 1519: google.cloud.compute.v1.NodeTemplates.Delete:input_type -> google.cloud.compute.v1.DeleteNodeTemplateRequest - 664, // 1520: google.cloud.compute.v1.NodeTemplates.Get:input_type -> google.cloud.compute.v1.GetNodeTemplateRequest - 634, // 1521: google.cloud.compute.v1.NodeTemplates.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNodeTemplateRequest - 798, // 1522: google.cloud.compute.v1.NodeTemplates.Insert:input_type -> google.cloud.compute.v1.InsertNodeTemplateRequest - 987, // 1523: google.cloud.compute.v1.NodeTemplates.List:input_type -> google.cloud.compute.v1.ListNodeTemplatesRequest - 1396, // 1524: google.cloud.compute.v1.NodeTemplates.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNodeTemplateRequest - 1562, // 1525: google.cloud.compute.v1.NodeTemplates.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNodeTemplateRequest - 335, // 1526: google.cloud.compute.v1.NodeTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNodeTypesRequest - 665, // 1527: google.cloud.compute.v1.NodeTypes.Get:input_type -> google.cloud.compute.v1.GetNodeTypeRequest - 988, // 1528: google.cloud.compute.v1.NodeTypes.List:input_type -> google.cloud.compute.v1.ListNodeTypesRequest - 336, // 1529: google.cloud.compute.v1.PacketMirrorings.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListPacketMirroringsRequest - 479, // 1530: google.cloud.compute.v1.PacketMirrorings.Delete:input_type -> google.cloud.compute.v1.DeletePacketMirroringRequest - 666, // 1531: google.cloud.compute.v1.PacketMirrorings.Get:input_type -> google.cloud.compute.v1.GetPacketMirroringRequest - 799, // 1532: google.cloud.compute.v1.PacketMirrorings.Insert:input_type -> google.cloud.compute.v1.InsertPacketMirroringRequest - 990, // 1533: google.cloud.compute.v1.PacketMirrorings.List:input_type -> google.cloud.compute.v1.ListPacketMirroringsRequest - 1164, // 1534: google.cloud.compute.v1.PacketMirrorings.Patch:input_type -> google.cloud.compute.v1.PatchPacketMirroringRequest - 1563, // 1535: google.cloud.compute.v1.PacketMirrorings.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsPacketMirroringRequest - 534, // 1536: google.cloud.compute.v1.Projects.DisableXpnHost:input_type -> google.cloud.compute.v1.DisableXpnHostProjectRequest - 535, // 1537: google.cloud.compute.v1.Projects.DisableXpnResource:input_type -> google.cloud.compute.v1.DisableXpnResourceProjectRequest - 560, // 1538: google.cloud.compute.v1.Projects.EnableXpnHost:input_type -> google.cloud.compute.v1.EnableXpnHostProjectRequest - 561, // 1539: google.cloud.compute.v1.Projects.EnableXpnResource:input_type -> google.cloud.compute.v1.EnableXpnResourceProjectRequest - 667, // 1540: google.cloud.compute.v1.Projects.Get:input_type -> google.cloud.compute.v1.GetProjectRequest - 722, // 1541: google.cloud.compute.v1.Projects.GetXpnHost:input_type -> google.cloud.compute.v1.GetXpnHostProjectRequest - 723, // 1542: google.cloud.compute.v1.Projects.GetXpnResources:input_type -> google.cloud.compute.v1.GetXpnResourcesProjectsRequest - 1042, // 1543: google.cloud.compute.v1.Projects.ListXpnHosts:input_type -> google.cloud.compute.v1.ListXpnHostsProjectsRequest - 1069, // 1544: google.cloud.compute.v1.Projects.MoveDisk:input_type -> google.cloud.compute.v1.MoveDiskProjectRequest - 1072, // 1545: google.cloud.compute.v1.Projects.MoveInstance:input_type -> google.cloud.compute.v1.MoveInstanceProjectRequest - 1379, // 1546: google.cloud.compute.v1.Projects.SetCommonInstanceMetadata:input_type -> google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest - 1380, // 1547: google.cloud.compute.v1.Projects.SetDefaultNetworkTier:input_type -> google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest - 1453, // 1548: google.cloud.compute.v1.Projects.SetUsageExportBucket:input_type -> google.cloud.compute.v1.SetUsageExportBucketProjectRequest - 482, // 1549: google.cloud.compute.v1.PublicAdvertisedPrefixes.Delete:input_type -> google.cloud.compute.v1.DeletePublicAdvertisedPrefixeRequest - 668, // 1550: google.cloud.compute.v1.PublicAdvertisedPrefixes.Get:input_type -> google.cloud.compute.v1.GetPublicAdvertisedPrefixeRequest - 800, // 1551: google.cloud.compute.v1.PublicAdvertisedPrefixes.Insert:input_type -> google.cloud.compute.v1.InsertPublicAdvertisedPrefixeRequest - 995, // 1552: google.cloud.compute.v1.PublicAdvertisedPrefixes.List:input_type -> google.cloud.compute.v1.ListPublicAdvertisedPrefixesRequest - 1167, // 1553: google.cloud.compute.v1.PublicAdvertisedPrefixes.Patch:input_type -> google.cloud.compute.v1.PatchPublicAdvertisedPrefixeRequest - 337, // 1554: google.cloud.compute.v1.PublicDelegatedPrefixes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListPublicDelegatedPrefixesRequest - 483, // 1555: google.cloud.compute.v1.PublicDelegatedPrefixes.Delete:input_type -> google.cloud.compute.v1.DeletePublicDelegatedPrefixeRequest - 669, // 1556: google.cloud.compute.v1.PublicDelegatedPrefixes.Get:input_type -> google.cloud.compute.v1.GetPublicDelegatedPrefixeRequest - 801, // 1557: google.cloud.compute.v1.PublicDelegatedPrefixes.Insert:input_type -> google.cloud.compute.v1.InsertPublicDelegatedPrefixeRequest - 996, // 1558: google.cloud.compute.v1.PublicDelegatedPrefixes.List:input_type -> google.cloud.compute.v1.ListPublicDelegatedPrefixesRequest - 1168, // 1559: google.cloud.compute.v1.PublicDelegatedPrefixes.Patch:input_type -> google.cloud.compute.v1.PatchPublicDelegatedPrefixeRequest - 484, // 1560: google.cloud.compute.v1.RegionAutoscalers.Delete:input_type -> google.cloud.compute.v1.DeleteRegionAutoscalerRequest - 670, // 1561: google.cloud.compute.v1.RegionAutoscalers.Get:input_type -> google.cloud.compute.v1.GetRegionAutoscalerRequest - 802, // 1562: google.cloud.compute.v1.RegionAutoscalers.Insert:input_type -> google.cloud.compute.v1.InsertRegionAutoscalerRequest - 998, // 1563: google.cloud.compute.v1.RegionAutoscalers.List:input_type -> google.cloud.compute.v1.ListRegionAutoscalersRequest - 1169, // 1564: google.cloud.compute.v1.RegionAutoscalers.Patch:input_type -> google.cloud.compute.v1.PatchRegionAutoscalerRequest - 1588, // 1565: google.cloud.compute.v1.RegionAutoscalers.Update:input_type -> google.cloud.compute.v1.UpdateRegionAutoscalerRequest - 485, // 1566: google.cloud.compute.v1.RegionBackendServices.Delete:input_type -> google.cloud.compute.v1.DeleteRegionBackendServiceRequest - 671, // 1567: google.cloud.compute.v1.RegionBackendServices.Get:input_type -> google.cloud.compute.v1.GetRegionBackendServiceRequest - 621, // 1568: google.cloud.compute.v1.RegionBackendServices.GetHealth:input_type -> google.cloud.compute.v1.GetHealthRegionBackendServiceRequest - 635, // 1569: google.cloud.compute.v1.RegionBackendServices.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyRegionBackendServiceRequest - 803, // 1570: google.cloud.compute.v1.RegionBackendServices.Insert:input_type -> google.cloud.compute.v1.InsertRegionBackendServiceRequest - 999, // 1571: google.cloud.compute.v1.RegionBackendServices.List:input_type -> google.cloud.compute.v1.ListRegionBackendServicesRequest - 1170, // 1572: google.cloud.compute.v1.RegionBackendServices.Patch:input_type -> google.cloud.compute.v1.PatchRegionBackendServiceRequest - 1397, // 1573: google.cloud.compute.v1.RegionBackendServices.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyRegionBackendServiceRequest - 1589, // 1574: google.cloud.compute.v1.RegionBackendServices.Update:input_type -> google.cloud.compute.v1.UpdateRegionBackendServiceRequest - 338, // 1575: google.cloud.compute.v1.RegionCommitments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListRegionCommitmentsRequest - 672, // 1576: google.cloud.compute.v1.RegionCommitments.Get:input_type -> google.cloud.compute.v1.GetRegionCommitmentRequest - 804, // 1577: google.cloud.compute.v1.RegionCommitments.Insert:input_type -> google.cloud.compute.v1.InsertRegionCommitmentRequest - 1000, // 1578: google.cloud.compute.v1.RegionCommitments.List:input_type -> google.cloud.compute.v1.ListRegionCommitmentsRequest - 1590, // 1579: google.cloud.compute.v1.RegionCommitments.Update:input_type -> google.cloud.compute.v1.UpdateRegionCommitmentRequest - 674, // 1580: google.cloud.compute.v1.RegionDiskTypes.Get:input_type -> google.cloud.compute.v1.GetRegionDiskTypeRequest - 1001, // 1581: google.cloud.compute.v1.RegionDiskTypes.List:input_type -> google.cloud.compute.v1.ListRegionDiskTypesRequest - 303, // 1582: google.cloud.compute.v1.RegionDisks.AddResourcePolicies:input_type -> google.cloud.compute.v1.AddResourcePoliciesRegionDiskRequest - 416, // 1583: google.cloud.compute.v1.RegionDisks.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertRegionDiskRequest - 437, // 1584: google.cloud.compute.v1.RegionDisks.CreateSnapshot:input_type -> google.cloud.compute.v1.CreateSnapshotRegionDiskRequest - 486, // 1585: google.cloud.compute.v1.RegionDisks.Delete:input_type -> google.cloud.compute.v1.DeleteRegionDiskRequest - 673, // 1586: google.cloud.compute.v1.RegionDisks.Get:input_type -> google.cloud.compute.v1.GetRegionDiskRequest - 636, // 1587: google.cloud.compute.v1.RegionDisks.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyRegionDiskRequest - 805, // 1588: google.cloud.compute.v1.RegionDisks.Insert:input_type -> google.cloud.compute.v1.InsertRegionDiskRequest - 1002, // 1589: google.cloud.compute.v1.RegionDisks.List:input_type -> google.cloud.compute.v1.ListRegionDisksRequest - 1263, // 1590: google.cloud.compute.v1.RegionDisks.RemoveResourcePolicies:input_type -> google.cloud.compute.v1.RemoveResourcePoliciesRegionDiskRequest - 1278, // 1591: google.cloud.compute.v1.RegionDisks.Resize:input_type -> google.cloud.compute.v1.ResizeRegionDiskRequest - 1398, // 1592: google.cloud.compute.v1.RegionDisks.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyRegionDiskRequest - 1417, // 1593: google.cloud.compute.v1.RegionDisks.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsRegionDiskRequest - 1481, // 1594: google.cloud.compute.v1.RegionDisks.StartAsyncReplication:input_type -> google.cloud.compute.v1.StartAsyncReplicationRegionDiskRequest - 1488, // 1595: google.cloud.compute.v1.RegionDisks.StopAsyncReplication:input_type -> google.cloud.compute.v1.StopAsyncReplicationRegionDiskRequest - 1490, // 1596: google.cloud.compute.v1.RegionDisks.StopGroupAsyncReplication:input_type -> google.cloud.compute.v1.StopGroupAsyncReplicationRegionDiskRequest - 1564, // 1597: google.cloud.compute.v1.RegionDisks.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsRegionDiskRequest - 1591, // 1598: google.cloud.compute.v1.RegionDisks.Update:input_type -> google.cloud.compute.v1.UpdateRegionDiskRequest - 488, // 1599: google.cloud.compute.v1.RegionHealthCheckServices.Delete:input_type -> google.cloud.compute.v1.DeleteRegionHealthCheckServiceRequest - 676, // 1600: google.cloud.compute.v1.RegionHealthCheckServices.Get:input_type -> google.cloud.compute.v1.GetRegionHealthCheckServiceRequest - 807, // 1601: google.cloud.compute.v1.RegionHealthCheckServices.Insert:input_type -> google.cloud.compute.v1.InsertRegionHealthCheckServiceRequest - 1003, // 1602: google.cloud.compute.v1.RegionHealthCheckServices.List:input_type -> google.cloud.compute.v1.ListRegionHealthCheckServicesRequest - 1172, // 1603: google.cloud.compute.v1.RegionHealthCheckServices.Patch:input_type -> google.cloud.compute.v1.PatchRegionHealthCheckServiceRequest - 487, // 1604: google.cloud.compute.v1.RegionHealthChecks.Delete:input_type -> google.cloud.compute.v1.DeleteRegionHealthCheckRequest - 675, // 1605: google.cloud.compute.v1.RegionHealthChecks.Get:input_type -> google.cloud.compute.v1.GetRegionHealthCheckRequest - 806, // 1606: google.cloud.compute.v1.RegionHealthChecks.Insert:input_type -> google.cloud.compute.v1.InsertRegionHealthCheckRequest - 1004, // 1607: google.cloud.compute.v1.RegionHealthChecks.List:input_type -> google.cloud.compute.v1.ListRegionHealthChecksRequest - 1171, // 1608: google.cloud.compute.v1.RegionHealthChecks.Patch:input_type -> google.cloud.compute.v1.PatchRegionHealthCheckRequest - 1592, // 1609: google.cloud.compute.v1.RegionHealthChecks.Update:input_type -> google.cloud.compute.v1.UpdateRegionHealthCheckRequest - 284, // 1610: google.cloud.compute.v1.RegionInstanceGroupManagers.AbandonInstances:input_type -> google.cloud.compute.v1.AbandonInstancesRegionInstanceGroupManagerRequest - 364, // 1611: google.cloud.compute.v1.RegionInstanceGroupManagers.ApplyUpdatesToInstances:input_type -> google.cloud.compute.v1.ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest - 435, // 1612: google.cloud.compute.v1.RegionInstanceGroupManagers.CreateInstances:input_type -> google.cloud.compute.v1.CreateInstancesRegionInstanceGroupManagerRequest - 489, // 1613: google.cloud.compute.v1.RegionInstanceGroupManagers.Delete:input_type -> google.cloud.compute.v1.DeleteRegionInstanceGroupManagerRequest - 466, // 1614: google.cloud.compute.v1.RegionInstanceGroupManagers.DeleteInstances:input_type -> google.cloud.compute.v1.DeleteInstancesRegionInstanceGroupManagerRequest - 481, // 1615: google.cloud.compute.v1.RegionInstanceGroupManagers.DeletePerInstanceConfigs:input_type -> google.cloud.compute.v1.DeletePerInstanceConfigsRegionInstanceGroupManagerRequest - 677, // 1616: google.cloud.compute.v1.RegionInstanceGroupManagers.Get:input_type -> google.cloud.compute.v1.GetRegionInstanceGroupManagerRequest - 808, // 1617: google.cloud.compute.v1.RegionInstanceGroupManagers.Insert:input_type -> google.cloud.compute.v1.InsertRegionInstanceGroupManagerRequest - 1005, // 1618: google.cloud.compute.v1.RegionInstanceGroupManagers.List:input_type -> google.cloud.compute.v1.ListRegionInstanceGroupManagersRequest - 952, // 1619: google.cloud.compute.v1.RegionInstanceGroupManagers.ListErrors:input_type -> google.cloud.compute.v1.ListErrorsRegionInstanceGroupManagersRequest - 979, // 1620: google.cloud.compute.v1.RegionInstanceGroupManagers.ListManagedInstances:input_type -> google.cloud.compute.v1.ListManagedInstancesRegionInstanceGroupManagersRequest - 993, // 1621: google.cloud.compute.v1.RegionInstanceGroupManagers.ListPerInstanceConfigs:input_type -> google.cloud.compute.v1.ListPerInstanceConfigsRegionInstanceGroupManagersRequest - 1173, // 1622: google.cloud.compute.v1.RegionInstanceGroupManagers.Patch:input_type -> google.cloud.compute.v1.PatchRegionInstanceGroupManagerRequest - 1166, // 1623: google.cloud.compute.v1.RegionInstanceGroupManagers.PatchPerInstanceConfigs:input_type -> google.cloud.compute.v1.PatchPerInstanceConfigsRegionInstanceGroupManagerRequest - 1219, // 1624: google.cloud.compute.v1.RegionInstanceGroupManagers.RecreateInstances:input_type -> google.cloud.compute.v1.RecreateInstancesRegionInstanceGroupManagerRequest - 1279, // 1625: google.cloud.compute.v1.RegionInstanceGroupManagers.Resize:input_type -> google.cloud.compute.v1.ResizeRegionInstanceGroupManagerRequest - 1406, // 1626: google.cloud.compute.v1.RegionInstanceGroupManagers.SetInstanceTemplate:input_type -> google.cloud.compute.v1.SetInstanceTemplateRegionInstanceGroupManagerRequest - 1448, // 1627: google.cloud.compute.v1.RegionInstanceGroupManagers.SetTargetPools:input_type -> google.cloud.compute.v1.SetTargetPoolsRegionInstanceGroupManagerRequest - 1587, // 1628: google.cloud.compute.v1.RegionInstanceGroupManagers.UpdatePerInstanceConfigs:input_type -> google.cloud.compute.v1.UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest - 678, // 1629: google.cloud.compute.v1.RegionInstanceGroups.Get:input_type -> google.cloud.compute.v1.GetRegionInstanceGroupRequest - 1006, // 1630: google.cloud.compute.v1.RegionInstanceGroups.List:input_type -> google.cloud.compute.v1.ListRegionInstanceGroupsRequest - 969, // 1631: google.cloud.compute.v1.RegionInstanceGroups.ListInstances:input_type -> google.cloud.compute.v1.ListInstancesRegionInstanceGroupsRequest - 1429, // 1632: google.cloud.compute.v1.RegionInstanceGroups.SetNamedPorts:input_type -> google.cloud.compute.v1.SetNamedPortsRegionInstanceGroupRequest - 490, // 1633: google.cloud.compute.v1.RegionInstanceTemplates.Delete:input_type -> google.cloud.compute.v1.DeleteRegionInstanceTemplateRequest - 679, // 1634: google.cloud.compute.v1.RegionInstanceTemplates.Get:input_type -> google.cloud.compute.v1.GetRegionInstanceTemplateRequest - 809, // 1635: google.cloud.compute.v1.RegionInstanceTemplates.Insert:input_type -> google.cloud.compute.v1.InsertRegionInstanceTemplateRequest - 1007, // 1636: google.cloud.compute.v1.RegionInstanceTemplates.List:input_type -> google.cloud.compute.v1.ListRegionInstanceTemplatesRequest - 417, // 1637: google.cloud.compute.v1.RegionInstances.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertRegionInstanceRequest - 491, // 1638: google.cloud.compute.v1.RegionNetworkEndpointGroups.Delete:input_type -> google.cloud.compute.v1.DeleteRegionNetworkEndpointGroupRequest - 680, // 1639: google.cloud.compute.v1.RegionNetworkEndpointGroups.Get:input_type -> google.cloud.compute.v1.GetRegionNetworkEndpointGroupRequest - 810, // 1640: google.cloud.compute.v1.RegionNetworkEndpointGroups.Insert:input_type -> google.cloud.compute.v1.InsertRegionNetworkEndpointGroupRequest - 1008, // 1641: google.cloud.compute.v1.RegionNetworkEndpointGroups.List:input_type -> google.cloud.compute.v1.ListRegionNetworkEndpointGroupsRequest - 295, // 1642: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddAssociation:input_type -> google.cloud.compute.v1.AddAssociationRegionNetworkFirewallPolicyRequest - 306, // 1643: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleRegionNetworkFirewallPolicyRequest - 423, // 1644: google.cloud.compute.v1.RegionNetworkFirewallPolicies.CloneRules:input_type -> google.cloud.compute.v1.CloneRulesRegionNetworkFirewallPolicyRequest - 492, // 1645: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionNetworkFirewallPolicyRequest - 681, // 1646: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Get:input_type -> google.cloud.compute.v1.GetRegionNetworkFirewallPolicyRequest - 597, // 1647: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetAssociation:input_type -> google.cloud.compute.v1.GetAssociationRegionNetworkFirewallPolicyRequest - 606, // 1648: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetEffectiveFirewalls:input_type -> google.cloud.compute.v1.GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest - 637, // 1649: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyRegionNetworkFirewallPolicyRequest - 699, // 1650: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleRegionNetworkFirewallPolicyRequest - 811, // 1651: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Insert:input_type -> google.cloud.compute.v1.InsertRegionNetworkFirewallPolicyRequest - 1009, // 1652: google.cloud.compute.v1.RegionNetworkFirewallPolicies.List:input_type -> google.cloud.compute.v1.ListRegionNetworkFirewallPoliciesRequest - 1174, // 1653: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Patch:input_type -> google.cloud.compute.v1.PatchRegionNetworkFirewallPolicyRequest - 1183, // 1654: google.cloud.compute.v1.RegionNetworkFirewallPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleRegionNetworkFirewallPolicyRequest - 1256, // 1655: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveAssociation:input_type -> google.cloud.compute.v1.RemoveAssociationRegionNetworkFirewallPolicyRequest - 1266, // 1656: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleRegionNetworkFirewallPolicyRequest - 1399, // 1657: google.cloud.compute.v1.RegionNetworkFirewallPolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyRegionNetworkFirewallPolicyRequest - 1565, // 1658: google.cloud.compute.v1.RegionNetworkFirewallPolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsRegionNetworkFirewallPolicyRequest - 493, // 1659: google.cloud.compute.v1.RegionNotificationEndpoints.Delete:input_type -> google.cloud.compute.v1.DeleteRegionNotificationEndpointRequest - 682, // 1660: google.cloud.compute.v1.RegionNotificationEndpoints.Get:input_type -> google.cloud.compute.v1.GetRegionNotificationEndpointRequest - 812, // 1661: google.cloud.compute.v1.RegionNotificationEndpoints.Insert:input_type -> google.cloud.compute.v1.InsertRegionNotificationEndpointRequest - 1010, // 1662: google.cloud.compute.v1.RegionNotificationEndpoints.List:input_type -> google.cloud.compute.v1.ListRegionNotificationEndpointsRequest - 494, // 1663: google.cloud.compute.v1.RegionOperations.Delete:input_type -> google.cloud.compute.v1.DeleteRegionOperationRequest - 683, // 1664: google.cloud.compute.v1.RegionOperations.Get:input_type -> google.cloud.compute.v1.GetRegionOperationRequest - 1011, // 1665: google.cloud.compute.v1.RegionOperations.List:input_type -> google.cloud.compute.v1.ListRegionOperationsRequest - 1636, // 1666: google.cloud.compute.v1.RegionOperations.Wait:input_type -> google.cloud.compute.v1.WaitRegionOperationRequest - 496, // 1667: google.cloud.compute.v1.RegionSecurityPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionSecurityPolicyRequest - 685, // 1668: google.cloud.compute.v1.RegionSecurityPolicies.Get:input_type -> google.cloud.compute.v1.GetRegionSecurityPolicyRequest - 813, // 1669: google.cloud.compute.v1.RegionSecurityPolicies.Insert:input_type -> google.cloud.compute.v1.InsertRegionSecurityPolicyRequest - 1012, // 1670: google.cloud.compute.v1.RegionSecurityPolicies.List:input_type -> google.cloud.compute.v1.ListRegionSecurityPoliciesRequest - 1175, // 1671: google.cloud.compute.v1.RegionSecurityPolicies.Patch:input_type -> google.cloud.compute.v1.PatchRegionSecurityPolicyRequest - 497, // 1672: google.cloud.compute.v1.RegionSslCertificates.Delete:input_type -> google.cloud.compute.v1.DeleteRegionSslCertificateRequest - 686, // 1673: google.cloud.compute.v1.RegionSslCertificates.Get:input_type -> google.cloud.compute.v1.GetRegionSslCertificateRequest - 814, // 1674: google.cloud.compute.v1.RegionSslCertificates.Insert:input_type -> google.cloud.compute.v1.InsertRegionSslCertificateRequest - 1013, // 1675: google.cloud.compute.v1.RegionSslCertificates.List:input_type -> google.cloud.compute.v1.ListRegionSslCertificatesRequest - 498, // 1676: google.cloud.compute.v1.RegionSslPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionSslPolicyRequest - 687, // 1677: google.cloud.compute.v1.RegionSslPolicies.Get:input_type -> google.cloud.compute.v1.GetRegionSslPolicyRequest - 815, // 1678: google.cloud.compute.v1.RegionSslPolicies.Insert:input_type -> google.cloud.compute.v1.InsertRegionSslPolicyRequest - 1014, // 1679: google.cloud.compute.v1.RegionSslPolicies.List:input_type -> google.cloud.compute.v1.ListRegionSslPoliciesRequest - 945, // 1680: google.cloud.compute.v1.RegionSslPolicies.ListAvailableFeatures:input_type -> google.cloud.compute.v1.ListAvailableFeaturesRegionSslPoliciesRequest - 1176, // 1681: google.cloud.compute.v1.RegionSslPolicies.Patch:input_type -> google.cloud.compute.v1.PatchRegionSslPolicyRequest - 499, // 1682: google.cloud.compute.v1.RegionTargetHttpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionTargetHttpProxyRequest - 688, // 1683: google.cloud.compute.v1.RegionTargetHttpProxies.Get:input_type -> google.cloud.compute.v1.GetRegionTargetHttpProxyRequest - 816, // 1684: google.cloud.compute.v1.RegionTargetHttpProxies.Insert:input_type -> google.cloud.compute.v1.InsertRegionTargetHttpProxyRequest - 1015, // 1685: google.cloud.compute.v1.RegionTargetHttpProxies.List:input_type -> google.cloud.compute.v1.ListRegionTargetHttpProxiesRequest - 1449, // 1686: google.cloud.compute.v1.RegionTargetHttpProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapRegionTargetHttpProxyRequest - 500, // 1687: google.cloud.compute.v1.RegionTargetHttpsProxies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionTargetHttpsProxyRequest - 689, // 1688: google.cloud.compute.v1.RegionTargetHttpsProxies.Get:input_type -> google.cloud.compute.v1.GetRegionTargetHttpsProxyRequest - 817, // 1689: google.cloud.compute.v1.RegionTargetHttpsProxies.Insert:input_type -> google.cloud.compute.v1.InsertRegionTargetHttpsProxyRequest - 1016, // 1690: google.cloud.compute.v1.RegionTargetHttpsProxies.List:input_type -> google.cloud.compute.v1.ListRegionTargetHttpsProxiesRequest - 1177, // 1691: google.cloud.compute.v1.RegionTargetHttpsProxies.Patch:input_type -> google.cloud.compute.v1.PatchRegionTargetHttpsProxyRequest - 1439, // 1692: google.cloud.compute.v1.RegionTargetHttpsProxies.SetSslCertificates:input_type -> google.cloud.compute.v1.SetSslCertificatesRegionTargetHttpsProxyRequest - 1450, // 1693: google.cloud.compute.v1.RegionTargetHttpsProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapRegionTargetHttpsProxyRequest - 501, // 1694: google.cloud.compute.v1.RegionTargetTcpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionTargetTcpProxyRequest - 690, // 1695: google.cloud.compute.v1.RegionTargetTcpProxies.Get:input_type -> google.cloud.compute.v1.GetRegionTargetTcpProxyRequest - 818, // 1696: google.cloud.compute.v1.RegionTargetTcpProxies.Insert:input_type -> google.cloud.compute.v1.InsertRegionTargetTcpProxyRequest - 1017, // 1697: google.cloud.compute.v1.RegionTargetTcpProxies.List:input_type -> google.cloud.compute.v1.ListRegionTargetTcpProxiesRequest - 502, // 1698: google.cloud.compute.v1.RegionUrlMaps.Delete:input_type -> google.cloud.compute.v1.DeleteRegionUrlMapRequest - 691, // 1699: google.cloud.compute.v1.RegionUrlMaps.Get:input_type -> google.cloud.compute.v1.GetRegionUrlMapRequest - 819, // 1700: google.cloud.compute.v1.RegionUrlMaps.Insert:input_type -> google.cloud.compute.v1.InsertRegionUrlMapRequest - 1018, // 1701: google.cloud.compute.v1.RegionUrlMaps.List:input_type -> google.cloud.compute.v1.ListRegionUrlMapsRequest - 1178, // 1702: google.cloud.compute.v1.RegionUrlMaps.Patch:input_type -> google.cloud.compute.v1.PatchRegionUrlMapRequest - 1593, // 1703: google.cloud.compute.v1.RegionUrlMaps.Update:input_type -> google.cloud.compute.v1.UpdateRegionUrlMapRequest - 1613, // 1704: google.cloud.compute.v1.RegionUrlMaps.Validate:input_type -> google.cloud.compute.v1.ValidateRegionUrlMapRequest - 684, // 1705: google.cloud.compute.v1.Regions.Get:input_type -> google.cloud.compute.v1.GetRegionRequest - 1019, // 1706: google.cloud.compute.v1.Regions.List:input_type -> google.cloud.compute.v1.ListRegionsRequest - 339, // 1707: google.cloud.compute.v1.Reservations.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListReservationsRequest - 503, // 1708: google.cloud.compute.v1.Reservations.Delete:input_type -> google.cloud.compute.v1.DeleteReservationRequest - 692, // 1709: google.cloud.compute.v1.Reservations.Get:input_type -> google.cloud.compute.v1.GetReservationRequest - 638, // 1710: google.cloud.compute.v1.Reservations.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyReservationRequest - 820, // 1711: google.cloud.compute.v1.Reservations.Insert:input_type -> google.cloud.compute.v1.InsertReservationRequest - 1020, // 1712: google.cloud.compute.v1.Reservations.List:input_type -> google.cloud.compute.v1.ListReservationsRequest - 1280, // 1713: google.cloud.compute.v1.Reservations.Resize:input_type -> google.cloud.compute.v1.ResizeReservationRequest - 1400, // 1714: google.cloud.compute.v1.Reservations.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyReservationRequest - 1566, // 1715: google.cloud.compute.v1.Reservations.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsReservationRequest - 1594, // 1716: google.cloud.compute.v1.Reservations.Update:input_type -> google.cloud.compute.v1.UpdateReservationRequest - 340, // 1717: google.cloud.compute.v1.ResourcePolicies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListResourcePoliciesRequest - 504, // 1718: google.cloud.compute.v1.ResourcePolicies.Delete:input_type -> google.cloud.compute.v1.DeleteResourcePolicyRequest - 693, // 1719: google.cloud.compute.v1.ResourcePolicies.Get:input_type -> google.cloud.compute.v1.GetResourcePolicyRequest - 639, // 1720: google.cloud.compute.v1.ResourcePolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyResourcePolicyRequest - 821, // 1721: google.cloud.compute.v1.ResourcePolicies.Insert:input_type -> google.cloud.compute.v1.InsertResourcePolicyRequest - 1021, // 1722: google.cloud.compute.v1.ResourcePolicies.List:input_type -> google.cloud.compute.v1.ListResourcePoliciesRequest - 1179, // 1723: google.cloud.compute.v1.ResourcePolicies.Patch:input_type -> google.cloud.compute.v1.PatchResourcePolicyRequest - 1401, // 1724: google.cloud.compute.v1.ResourcePolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyResourcePolicyRequest - 1567, // 1725: google.cloud.compute.v1.ResourcePolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsResourcePolicyRequest - 341, // 1726: google.cloud.compute.v1.Routers.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListRoutersRequest - 506, // 1727: google.cloud.compute.v1.Routers.Delete:input_type -> google.cloud.compute.v1.DeleteRouterRequest - 695, // 1728: google.cloud.compute.v1.Routers.Get:input_type -> google.cloud.compute.v1.GetRouterRequest - 657, // 1729: google.cloud.compute.v1.Routers.GetNatMappingInfo:input_type -> google.cloud.compute.v1.GetNatMappingInfoRoutersRequest - 696, // 1730: google.cloud.compute.v1.Routers.GetRouterStatus:input_type -> google.cloud.compute.v1.GetRouterStatusRouterRequest - 823, // 1731: google.cloud.compute.v1.Routers.Insert:input_type -> google.cloud.compute.v1.InsertRouterRequest - 1022, // 1732: google.cloud.compute.v1.Routers.List:input_type -> google.cloud.compute.v1.ListRoutersRequest - 1180, // 1733: google.cloud.compute.v1.Routers.Patch:input_type -> google.cloud.compute.v1.PatchRouterRequest - 1200, // 1734: google.cloud.compute.v1.Routers.Preview:input_type -> google.cloud.compute.v1.PreviewRouterRequest - 1595, // 1735: google.cloud.compute.v1.Routers.Update:input_type -> google.cloud.compute.v1.UpdateRouterRequest - 505, // 1736: google.cloud.compute.v1.Routes.Delete:input_type -> google.cloud.compute.v1.DeleteRouteRequest - 694, // 1737: google.cloud.compute.v1.Routes.Get:input_type -> google.cloud.compute.v1.GetRouteRequest - 822, // 1738: google.cloud.compute.v1.Routes.Insert:input_type -> google.cloud.compute.v1.InsertRouteRequest - 1023, // 1739: google.cloud.compute.v1.Routes.List:input_type -> google.cloud.compute.v1.ListRoutesRequest - 307, // 1740: google.cloud.compute.v1.SecurityPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleSecurityPolicyRequest - 342, // 1741: google.cloud.compute.v1.SecurityPolicies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSecurityPoliciesRequest - 507, // 1742: google.cloud.compute.v1.SecurityPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteSecurityPolicyRequest - 702, // 1743: google.cloud.compute.v1.SecurityPolicies.Get:input_type -> google.cloud.compute.v1.GetSecurityPolicyRequest - 700, // 1744: google.cloud.compute.v1.SecurityPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleSecurityPolicyRequest - 824, // 1745: google.cloud.compute.v1.SecurityPolicies.Insert:input_type -> google.cloud.compute.v1.InsertSecurityPolicyRequest - 1024, // 1746: google.cloud.compute.v1.SecurityPolicies.List:input_type -> google.cloud.compute.v1.ListSecurityPoliciesRequest - 994, // 1747: google.cloud.compute.v1.SecurityPolicies.ListPreconfiguredExpressionSets:input_type -> google.cloud.compute.v1.ListPreconfiguredExpressionSetsSecurityPoliciesRequest - 1185, // 1748: google.cloud.compute.v1.SecurityPolicies.Patch:input_type -> google.cloud.compute.v1.PatchSecurityPolicyRequest - 1184, // 1749: google.cloud.compute.v1.SecurityPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleSecurityPolicyRequest - 1267, // 1750: google.cloud.compute.v1.SecurityPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleSecurityPolicyRequest - 1418, // 1751: google.cloud.compute.v1.SecurityPolicies.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsSecurityPolicyRequest - 343, // 1752: google.cloud.compute.v1.ServiceAttachments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListServiceAttachmentsRequest - 508, // 1753: google.cloud.compute.v1.ServiceAttachments.Delete:input_type -> google.cloud.compute.v1.DeleteServiceAttachmentRequest - 704, // 1754: google.cloud.compute.v1.ServiceAttachments.Get:input_type -> google.cloud.compute.v1.GetServiceAttachmentRequest - 640, // 1755: google.cloud.compute.v1.ServiceAttachments.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyServiceAttachmentRequest - 825, // 1756: google.cloud.compute.v1.ServiceAttachments.Insert:input_type -> google.cloud.compute.v1.InsertServiceAttachmentRequest - 1025, // 1757: google.cloud.compute.v1.ServiceAttachments.List:input_type -> google.cloud.compute.v1.ListServiceAttachmentsRequest - 1186, // 1758: google.cloud.compute.v1.ServiceAttachments.Patch:input_type -> google.cloud.compute.v1.PatchServiceAttachmentRequest - 1402, // 1759: google.cloud.compute.v1.ServiceAttachments.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyServiceAttachmentRequest - 1568, // 1760: google.cloud.compute.v1.ServiceAttachments.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsServiceAttachmentRequest - 511, // 1761: google.cloud.compute.v1.Snapshots.Delete:input_type -> google.cloud.compute.v1.DeleteSnapshotRequest - 706, // 1762: google.cloud.compute.v1.Snapshots.Get:input_type -> google.cloud.compute.v1.GetSnapshotRequest - 641, // 1763: google.cloud.compute.v1.Snapshots.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicySnapshotRequest - 826, // 1764: google.cloud.compute.v1.Snapshots.Insert:input_type -> google.cloud.compute.v1.InsertSnapshotRequest - 1026, // 1765: google.cloud.compute.v1.Snapshots.List:input_type -> google.cloud.compute.v1.ListSnapshotsRequest - 1403, // 1766: google.cloud.compute.v1.Snapshots.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicySnapshotRequest - 1419, // 1767: google.cloud.compute.v1.Snapshots.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsSnapshotRequest - 1569, // 1768: google.cloud.compute.v1.Snapshots.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsSnapshotRequest - 344, // 1769: google.cloud.compute.v1.SslCertificates.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSslCertificatesRequest - 512, // 1770: google.cloud.compute.v1.SslCertificates.Delete:input_type -> google.cloud.compute.v1.DeleteSslCertificateRequest - 707, // 1771: google.cloud.compute.v1.SslCertificates.Get:input_type -> google.cloud.compute.v1.GetSslCertificateRequest - 827, // 1772: google.cloud.compute.v1.SslCertificates.Insert:input_type -> google.cloud.compute.v1.InsertSslCertificateRequest - 1027, // 1773: google.cloud.compute.v1.SslCertificates.List:input_type -> google.cloud.compute.v1.ListSslCertificatesRequest - 345, // 1774: google.cloud.compute.v1.SslPolicies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSslPoliciesRequest - 513, // 1775: google.cloud.compute.v1.SslPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteSslPolicyRequest - 708, // 1776: google.cloud.compute.v1.SslPolicies.Get:input_type -> google.cloud.compute.v1.GetSslPolicyRequest - 828, // 1777: google.cloud.compute.v1.SslPolicies.Insert:input_type -> google.cloud.compute.v1.InsertSslPolicyRequest - 1028, // 1778: google.cloud.compute.v1.SslPolicies.List:input_type -> google.cloud.compute.v1.ListSslPoliciesRequest - 946, // 1779: google.cloud.compute.v1.SslPolicies.ListAvailableFeatures:input_type -> google.cloud.compute.v1.ListAvailableFeaturesSslPoliciesRequest - 1187, // 1780: google.cloud.compute.v1.SslPolicies.Patch:input_type -> google.cloud.compute.v1.PatchSslPolicyRequest - 346, // 1781: google.cloud.compute.v1.Subnetworks.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSubnetworksRequest - 514, // 1782: google.cloud.compute.v1.Subnetworks.Delete:input_type -> google.cloud.compute.v1.DeleteSubnetworkRequest - 568, // 1783: google.cloud.compute.v1.Subnetworks.ExpandIpCidrRange:input_type -> google.cloud.compute.v1.ExpandIpCidrRangeSubnetworkRequest - 710, // 1784: google.cloud.compute.v1.Subnetworks.Get:input_type -> google.cloud.compute.v1.GetSubnetworkRequest - 642, // 1785: google.cloud.compute.v1.Subnetworks.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicySubnetworkRequest - 829, // 1786: google.cloud.compute.v1.Subnetworks.Insert:input_type -> google.cloud.compute.v1.InsertSubnetworkRequest - 1029, // 1787: google.cloud.compute.v1.Subnetworks.List:input_type -> google.cloud.compute.v1.ListSubnetworksRequest - 1039, // 1788: google.cloud.compute.v1.Subnetworks.ListUsable:input_type -> google.cloud.compute.v1.ListUsableSubnetworksRequest - 1188, // 1789: google.cloud.compute.v1.Subnetworks.Patch:input_type -> google.cloud.compute.v1.PatchSubnetworkRequest - 1404, // 1790: google.cloud.compute.v1.Subnetworks.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicySubnetworkRequest - 1431, // 1791: google.cloud.compute.v1.Subnetworks.SetPrivateIpGoogleAccess:input_type -> google.cloud.compute.v1.SetPrivateIpGoogleAccessSubnetworkRequest - 1570, // 1792: google.cloud.compute.v1.Subnetworks.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsSubnetworkRequest - 515, // 1793: google.cloud.compute.v1.TargetGrpcProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetGrpcProxyRequest - 711, // 1794: google.cloud.compute.v1.TargetGrpcProxies.Get:input_type -> google.cloud.compute.v1.GetTargetGrpcProxyRequest - 830, // 1795: google.cloud.compute.v1.TargetGrpcProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetGrpcProxyRequest - 1030, // 1796: google.cloud.compute.v1.TargetGrpcProxies.List:input_type -> google.cloud.compute.v1.ListTargetGrpcProxiesRequest - 1189, // 1797: google.cloud.compute.v1.TargetGrpcProxies.Patch:input_type -> google.cloud.compute.v1.PatchTargetGrpcProxyRequest - 347, // 1798: google.cloud.compute.v1.TargetHttpProxies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetHttpProxiesRequest - 516, // 1799: google.cloud.compute.v1.TargetHttpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetHttpProxyRequest - 712, // 1800: google.cloud.compute.v1.TargetHttpProxies.Get:input_type -> google.cloud.compute.v1.GetTargetHttpProxyRequest - 831, // 1801: google.cloud.compute.v1.TargetHttpProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetHttpProxyRequest - 1031, // 1802: google.cloud.compute.v1.TargetHttpProxies.List:input_type -> google.cloud.compute.v1.ListTargetHttpProxiesRequest - 1190, // 1803: google.cloud.compute.v1.TargetHttpProxies.Patch:input_type -> google.cloud.compute.v1.PatchTargetHttpProxyRequest - 1451, // 1804: google.cloud.compute.v1.TargetHttpProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapTargetHttpProxyRequest - 348, // 1805: google.cloud.compute.v1.TargetHttpsProxies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetHttpsProxiesRequest - 517, // 1806: google.cloud.compute.v1.TargetHttpsProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetHttpsProxyRequest - 713, // 1807: google.cloud.compute.v1.TargetHttpsProxies.Get:input_type -> google.cloud.compute.v1.GetTargetHttpsProxyRequest - 832, // 1808: google.cloud.compute.v1.TargetHttpsProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetHttpsProxyRequest - 1032, // 1809: google.cloud.compute.v1.TargetHttpsProxies.List:input_type -> google.cloud.compute.v1.ListTargetHttpsProxiesRequest - 1191, // 1810: google.cloud.compute.v1.TargetHttpsProxies.Patch:input_type -> google.cloud.compute.v1.PatchTargetHttpsProxyRequest - 1377, // 1811: google.cloud.compute.v1.TargetHttpsProxies.SetCertificateMap:input_type -> google.cloud.compute.v1.SetCertificateMapTargetHttpsProxyRequest - 1434, // 1812: google.cloud.compute.v1.TargetHttpsProxies.SetQuicOverride:input_type -> google.cloud.compute.v1.SetQuicOverrideTargetHttpsProxyRequest - 1440, // 1813: google.cloud.compute.v1.TargetHttpsProxies.SetSslCertificates:input_type -> google.cloud.compute.v1.SetSslCertificatesTargetHttpsProxyRequest - 1442, // 1814: google.cloud.compute.v1.TargetHttpsProxies.SetSslPolicy:input_type -> google.cloud.compute.v1.SetSslPolicyTargetHttpsProxyRequest - 1452, // 1815: google.cloud.compute.v1.TargetHttpsProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapTargetHttpsProxyRequest - 349, // 1816: google.cloud.compute.v1.TargetInstances.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetInstancesRequest - 518, // 1817: google.cloud.compute.v1.TargetInstances.Delete:input_type -> google.cloud.compute.v1.DeleteTargetInstanceRequest - 714, // 1818: google.cloud.compute.v1.TargetInstances.Get:input_type -> google.cloud.compute.v1.GetTargetInstanceRequest - 833, // 1819: google.cloud.compute.v1.TargetInstances.Insert:input_type -> google.cloud.compute.v1.InsertTargetInstanceRequest - 1033, // 1820: google.cloud.compute.v1.TargetInstances.List:input_type -> google.cloud.compute.v1.ListTargetInstancesRequest - 296, // 1821: google.cloud.compute.v1.TargetPools.AddHealthCheck:input_type -> google.cloud.compute.v1.AddHealthCheckTargetPoolRequest - 297, // 1822: google.cloud.compute.v1.TargetPools.AddInstance:input_type -> google.cloud.compute.v1.AddInstanceTargetPoolRequest - 350, // 1823: google.cloud.compute.v1.TargetPools.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetPoolsRequest - 519, // 1824: google.cloud.compute.v1.TargetPools.Delete:input_type -> google.cloud.compute.v1.DeleteTargetPoolRequest - 715, // 1825: google.cloud.compute.v1.TargetPools.Get:input_type -> google.cloud.compute.v1.GetTargetPoolRequest - 622, // 1826: google.cloud.compute.v1.TargetPools.GetHealth:input_type -> google.cloud.compute.v1.GetHealthTargetPoolRequest - 834, // 1827: google.cloud.compute.v1.TargetPools.Insert:input_type -> google.cloud.compute.v1.InsertTargetPoolRequest - 1034, // 1828: google.cloud.compute.v1.TargetPools.List:input_type -> google.cloud.compute.v1.ListTargetPoolsRequest - 1257, // 1829: google.cloud.compute.v1.TargetPools.RemoveHealthCheck:input_type -> google.cloud.compute.v1.RemoveHealthCheckTargetPoolRequest - 1258, // 1830: google.cloud.compute.v1.TargetPools.RemoveInstance:input_type -> google.cloud.compute.v1.RemoveInstanceTargetPoolRequest - 1376, // 1831: google.cloud.compute.v1.TargetPools.SetBackup:input_type -> google.cloud.compute.v1.SetBackupTargetPoolRequest - 520, // 1832: google.cloud.compute.v1.TargetSslProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetSslProxyRequest - 716, // 1833: google.cloud.compute.v1.TargetSslProxies.Get:input_type -> google.cloud.compute.v1.GetTargetSslProxyRequest - 835, // 1834: google.cloud.compute.v1.TargetSslProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetSslProxyRequest - 1035, // 1835: google.cloud.compute.v1.TargetSslProxies.List:input_type -> google.cloud.compute.v1.ListTargetSslProxiesRequest - 1374, // 1836: google.cloud.compute.v1.TargetSslProxies.SetBackendService:input_type -> google.cloud.compute.v1.SetBackendServiceTargetSslProxyRequest - 1378, // 1837: google.cloud.compute.v1.TargetSslProxies.SetCertificateMap:input_type -> google.cloud.compute.v1.SetCertificateMapTargetSslProxyRequest - 1432, // 1838: google.cloud.compute.v1.TargetSslProxies.SetProxyHeader:input_type -> google.cloud.compute.v1.SetProxyHeaderTargetSslProxyRequest - 1441, // 1839: google.cloud.compute.v1.TargetSslProxies.SetSslCertificates:input_type -> google.cloud.compute.v1.SetSslCertificatesTargetSslProxyRequest - 1443, // 1840: google.cloud.compute.v1.TargetSslProxies.SetSslPolicy:input_type -> google.cloud.compute.v1.SetSslPolicyTargetSslProxyRequest - 351, // 1841: google.cloud.compute.v1.TargetTcpProxies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetTcpProxiesRequest - 521, // 1842: google.cloud.compute.v1.TargetTcpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetTcpProxyRequest - 717, // 1843: google.cloud.compute.v1.TargetTcpProxies.Get:input_type -> google.cloud.compute.v1.GetTargetTcpProxyRequest - 836, // 1844: google.cloud.compute.v1.TargetTcpProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetTcpProxyRequest - 1036, // 1845: google.cloud.compute.v1.TargetTcpProxies.List:input_type -> google.cloud.compute.v1.ListTargetTcpProxiesRequest - 1375, // 1846: google.cloud.compute.v1.TargetTcpProxies.SetBackendService:input_type -> google.cloud.compute.v1.SetBackendServiceTargetTcpProxyRequest - 1433, // 1847: google.cloud.compute.v1.TargetTcpProxies.SetProxyHeader:input_type -> google.cloud.compute.v1.SetProxyHeaderTargetTcpProxyRequest - 352, // 1848: google.cloud.compute.v1.TargetVpnGateways.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetVpnGatewaysRequest - 522, // 1849: google.cloud.compute.v1.TargetVpnGateways.Delete:input_type -> google.cloud.compute.v1.DeleteTargetVpnGatewayRequest - 718, // 1850: google.cloud.compute.v1.TargetVpnGateways.Get:input_type -> google.cloud.compute.v1.GetTargetVpnGatewayRequest - 837, // 1851: google.cloud.compute.v1.TargetVpnGateways.Insert:input_type -> google.cloud.compute.v1.InsertTargetVpnGatewayRequest - 1037, // 1852: google.cloud.compute.v1.TargetVpnGateways.List:input_type -> google.cloud.compute.v1.ListTargetVpnGatewaysRequest - 1420, // 1853: google.cloud.compute.v1.TargetVpnGateways.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsTargetVpnGatewayRequest - 353, // 1854: google.cloud.compute.v1.UrlMaps.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListUrlMapsRequest - 523, // 1855: google.cloud.compute.v1.UrlMaps.Delete:input_type -> google.cloud.compute.v1.DeleteUrlMapRequest - 719, // 1856: google.cloud.compute.v1.UrlMaps.Get:input_type -> google.cloud.compute.v1.GetUrlMapRequest - 838, // 1857: google.cloud.compute.v1.UrlMaps.Insert:input_type -> google.cloud.compute.v1.InsertUrlMapRequest - 933, // 1858: google.cloud.compute.v1.UrlMaps.InvalidateCache:input_type -> google.cloud.compute.v1.InvalidateCacheUrlMapRequest - 1038, // 1859: google.cloud.compute.v1.UrlMaps.List:input_type -> google.cloud.compute.v1.ListUrlMapsRequest - 1192, // 1860: google.cloud.compute.v1.UrlMaps.Patch:input_type -> google.cloud.compute.v1.PatchUrlMapRequest - 1597, // 1861: google.cloud.compute.v1.UrlMaps.Update:input_type -> google.cloud.compute.v1.UpdateUrlMapRequest - 1614, // 1862: google.cloud.compute.v1.UrlMaps.Validate:input_type -> google.cloud.compute.v1.ValidateUrlMapRequest - 354, // 1863: google.cloud.compute.v1.VpnGateways.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListVpnGatewaysRequest - 524, // 1864: google.cloud.compute.v1.VpnGateways.Delete:input_type -> google.cloud.compute.v1.DeleteVpnGatewayRequest - 720, // 1865: google.cloud.compute.v1.VpnGateways.Get:input_type -> google.cloud.compute.v1.GetVpnGatewayRequest - 709, // 1866: google.cloud.compute.v1.VpnGateways.GetStatus:input_type -> google.cloud.compute.v1.GetStatusVpnGatewayRequest - 839, // 1867: google.cloud.compute.v1.VpnGateways.Insert:input_type -> google.cloud.compute.v1.InsertVpnGatewayRequest - 1040, // 1868: google.cloud.compute.v1.VpnGateways.List:input_type -> google.cloud.compute.v1.ListVpnGatewaysRequest - 1421, // 1869: google.cloud.compute.v1.VpnGateways.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsVpnGatewayRequest - 1571, // 1870: google.cloud.compute.v1.VpnGateways.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsVpnGatewayRequest - 355, // 1871: google.cloud.compute.v1.VpnTunnels.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListVpnTunnelsRequest - 525, // 1872: google.cloud.compute.v1.VpnTunnels.Delete:input_type -> google.cloud.compute.v1.DeleteVpnTunnelRequest - 721, // 1873: google.cloud.compute.v1.VpnTunnels.Get:input_type -> google.cloud.compute.v1.GetVpnTunnelRequest - 840, // 1874: google.cloud.compute.v1.VpnTunnels.Insert:input_type -> google.cloud.compute.v1.InsertVpnTunnelRequest - 1041, // 1875: google.cloud.compute.v1.VpnTunnels.List:input_type -> google.cloud.compute.v1.ListVpnTunnelsRequest - 1422, // 1876: google.cloud.compute.v1.VpnTunnels.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsVpnTunnelRequest - 526, // 1877: google.cloud.compute.v1.ZoneOperations.Delete:input_type -> google.cloud.compute.v1.DeleteZoneOperationRequest - 724, // 1878: google.cloud.compute.v1.ZoneOperations.Get:input_type -> google.cloud.compute.v1.GetZoneOperationRequest - 1043, // 1879: google.cloud.compute.v1.ZoneOperations.List:input_type -> google.cloud.compute.v1.ListZoneOperationsRequest - 1637, // 1880: google.cloud.compute.v1.ZoneOperations.Wait:input_type -> google.cloud.compute.v1.WaitZoneOperationRequest - 725, // 1881: google.cloud.compute.v1.Zones.Get:input_type -> google.cloud.compute.v1.GetZoneRequest - 1044, // 1882: google.cloud.compute.v1.Zones.List:input_type -> google.cloud.compute.v1.ListZonesRequest - 287, // 1883: google.cloud.compute.v1.AcceleratorTypes.AggregatedList:output_type -> google.cloud.compute.v1.AcceleratorTypeAggregatedList - 286, // 1884: google.cloud.compute.v1.AcceleratorTypes.Get:output_type -> google.cloud.compute.v1.AcceleratorType - 288, // 1885: google.cloud.compute.v1.AcceleratorTypes.List:output_type -> google.cloud.compute.v1.AcceleratorTypeList - 311, // 1886: google.cloud.compute.v1.Addresses.AggregatedList:output_type -> google.cloud.compute.v1.AddressAggregatedList - 1131, // 1887: google.cloud.compute.v1.Addresses.Delete:output_type -> google.cloud.compute.v1.Operation - 310, // 1888: google.cloud.compute.v1.Addresses.Get:output_type -> google.cloud.compute.v1.Address - 1131, // 1889: google.cloud.compute.v1.Addresses.Insert:output_type -> google.cloud.compute.v1.Operation - 312, // 1890: google.cloud.compute.v1.Addresses.List:output_type -> google.cloud.compute.v1.AddressList - 1131, // 1891: google.cloud.compute.v1.Addresses.Move:output_type -> google.cloud.compute.v1.Operation - 1131, // 1892: google.cloud.compute.v1.Addresses.SetLabels:output_type -> google.cloud.compute.v1.Operation - 374, // 1893: google.cloud.compute.v1.Autoscalers.AggregatedList:output_type -> google.cloud.compute.v1.AutoscalerAggregatedList - 1131, // 1894: google.cloud.compute.v1.Autoscalers.Delete:output_type -> google.cloud.compute.v1.Operation - 373, // 1895: google.cloud.compute.v1.Autoscalers.Get:output_type -> google.cloud.compute.v1.Autoscaler - 1131, // 1896: google.cloud.compute.v1.Autoscalers.Insert:output_type -> google.cloud.compute.v1.Operation - 375, // 1897: google.cloud.compute.v1.Autoscalers.List:output_type -> google.cloud.compute.v1.AutoscalerList - 1131, // 1898: google.cloud.compute.v1.Autoscalers.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 1899: google.cloud.compute.v1.Autoscalers.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 1900: google.cloud.compute.v1.BackendBuckets.AddSignedUrlKey:output_type -> google.cloud.compute.v1.Operation - 1131, // 1901: google.cloud.compute.v1.BackendBuckets.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 1902: google.cloud.compute.v1.BackendBuckets.DeleteSignedUrlKey:output_type -> google.cloud.compute.v1.Operation - 385, // 1903: google.cloud.compute.v1.BackendBuckets.Get:output_type -> google.cloud.compute.v1.BackendBucket - 1131, // 1904: google.cloud.compute.v1.BackendBuckets.Insert:output_type -> google.cloud.compute.v1.Operation - 390, // 1905: google.cloud.compute.v1.BackendBuckets.List:output_type -> google.cloud.compute.v1.BackendBucketList - 1131, // 1906: google.cloud.compute.v1.BackendBuckets.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 1907: google.cloud.compute.v1.BackendBuckets.SetEdgeSecurityPolicy:output_type -> google.cloud.compute.v1.Operation - 1131, // 1908: google.cloud.compute.v1.BackendBuckets.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 1909: google.cloud.compute.v1.BackendServices.AddSignedUrlKey:output_type -> google.cloud.compute.v1.Operation - 392, // 1910: google.cloud.compute.v1.BackendServices.AggregatedList:output_type -> google.cloud.compute.v1.BackendServiceAggregatedList - 1131, // 1911: google.cloud.compute.v1.BackendServices.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 1912: google.cloud.compute.v1.BackendServices.DeleteSignedUrlKey:output_type -> google.cloud.compute.v1.Operation - 391, // 1913: google.cloud.compute.v1.BackendServices.Get:output_type -> google.cloud.compute.v1.BackendService - 398, // 1914: google.cloud.compute.v1.BackendServices.GetHealth:output_type -> google.cloud.compute.v1.BackendServiceGroupHealth - 1196, // 1915: google.cloud.compute.v1.BackendServices.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 1916: google.cloud.compute.v1.BackendServices.Insert:output_type -> google.cloud.compute.v1.Operation - 400, // 1917: google.cloud.compute.v1.BackendServices.List:output_type -> google.cloud.compute.v1.BackendServiceList - 1131, // 1918: google.cloud.compute.v1.BackendServices.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 1919: google.cloud.compute.v1.BackendServices.SetEdgeSecurityPolicy:output_type -> google.cloud.compute.v1.Operation - 1196, // 1920: google.cloud.compute.v1.BackendServices.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 1921: google.cloud.compute.v1.BackendServices.SetSecurityPolicy:output_type -> google.cloud.compute.v1.Operation - 1131, // 1922: google.cloud.compute.v1.BackendServices.Update:output_type -> google.cloud.compute.v1.Operation - 547, // 1923: google.cloud.compute.v1.DiskTypes.AggregatedList:output_type -> google.cloud.compute.v1.DiskTypeAggregatedList - 546, // 1924: google.cloud.compute.v1.DiskTypes.Get:output_type -> google.cloud.compute.v1.DiskType - 548, // 1925: google.cloud.compute.v1.DiskTypes.List:output_type -> google.cloud.compute.v1.DiskTypeList - 1131, // 1926: google.cloud.compute.v1.Disks.AddResourcePolicies:output_type -> google.cloud.compute.v1.Operation - 537, // 1927: google.cloud.compute.v1.Disks.AggregatedList:output_type -> google.cloud.compute.v1.DiskAggregatedList - 1131, // 1928: google.cloud.compute.v1.Disks.BulkInsert:output_type -> google.cloud.compute.v1.Operation - 1131, // 1929: google.cloud.compute.v1.Disks.CreateSnapshot:output_type -> google.cloud.compute.v1.Operation - 1131, // 1930: google.cloud.compute.v1.Disks.Delete:output_type -> google.cloud.compute.v1.Operation - 536, // 1931: google.cloud.compute.v1.Disks.Get:output_type -> google.cloud.compute.v1.Disk - 1196, // 1932: google.cloud.compute.v1.Disks.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 1933: google.cloud.compute.v1.Disks.Insert:output_type -> google.cloud.compute.v1.Operation - 541, // 1934: google.cloud.compute.v1.Disks.List:output_type -> google.cloud.compute.v1.DiskList - 1131, // 1935: google.cloud.compute.v1.Disks.RemoveResourcePolicies:output_type -> google.cloud.compute.v1.Operation - 1131, // 1936: google.cloud.compute.v1.Disks.Resize:output_type -> google.cloud.compute.v1.Operation - 1196, // 1937: google.cloud.compute.v1.Disks.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 1938: google.cloud.compute.v1.Disks.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1131, // 1939: google.cloud.compute.v1.Disks.StartAsyncReplication:output_type -> google.cloud.compute.v1.Operation - 1131, // 1940: google.cloud.compute.v1.Disks.StopAsyncReplication:output_type -> google.cloud.compute.v1.Operation - 1131, // 1941: google.cloud.compute.v1.Disks.StopGroupAsyncReplication:output_type -> google.cloud.compute.v1.Operation - 1573, // 1942: google.cloud.compute.v1.Disks.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 1943: google.cloud.compute.v1.Disks.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 1944: google.cloud.compute.v1.ExternalVpnGateways.Delete:output_type -> google.cloud.compute.v1.Operation - 570, // 1945: google.cloud.compute.v1.ExternalVpnGateways.Get:output_type -> google.cloud.compute.v1.ExternalVpnGateway - 1131, // 1946: google.cloud.compute.v1.ExternalVpnGateways.Insert:output_type -> google.cloud.compute.v1.Operation - 572, // 1947: google.cloud.compute.v1.ExternalVpnGateways.List:output_type -> google.cloud.compute.v1.ExternalVpnGatewayList - 1131, // 1948: google.cloud.compute.v1.ExternalVpnGateways.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1573, // 1949: google.cloud.compute.v1.ExternalVpnGateways.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 1950: google.cloud.compute.v1.FirewallPolicies.AddAssociation:output_type -> google.cloud.compute.v1.Operation - 1131, // 1951: google.cloud.compute.v1.FirewallPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 1952: google.cloud.compute.v1.FirewallPolicies.CloneRules:output_type -> google.cloud.compute.v1.Operation - 1131, // 1953: google.cloud.compute.v1.FirewallPolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 578, // 1954: google.cloud.compute.v1.FirewallPolicies.Get:output_type -> google.cloud.compute.v1.FirewallPolicy - 579, // 1955: google.cloud.compute.v1.FirewallPolicies.GetAssociation:output_type -> google.cloud.compute.v1.FirewallPolicyAssociation - 1196, // 1956: google.cloud.compute.v1.FirewallPolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 581, // 1957: google.cloud.compute.v1.FirewallPolicies.GetRule:output_type -> google.cloud.compute.v1.FirewallPolicyRule - 1131, // 1958: google.cloud.compute.v1.FirewallPolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 580, // 1959: google.cloud.compute.v1.FirewallPolicies.List:output_type -> google.cloud.compute.v1.FirewallPolicyList - 577, // 1960: google.cloud.compute.v1.FirewallPolicies.ListAssociations:output_type -> google.cloud.compute.v1.FirewallPoliciesListAssociationsResponse - 1131, // 1961: google.cloud.compute.v1.FirewallPolicies.Move:output_type -> google.cloud.compute.v1.Operation - 1131, // 1962: google.cloud.compute.v1.FirewallPolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 1963: google.cloud.compute.v1.FirewallPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 1964: google.cloud.compute.v1.FirewallPolicies.RemoveAssociation:output_type -> google.cloud.compute.v1.Operation - 1131, // 1965: google.cloud.compute.v1.FirewallPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation - 1196, // 1966: google.cloud.compute.v1.FirewallPolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 1967: google.cloud.compute.v1.FirewallPolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 1968: google.cloud.compute.v1.Firewalls.Delete:output_type -> google.cloud.compute.v1.Operation - 574, // 1969: google.cloud.compute.v1.Firewalls.Get:output_type -> google.cloud.compute.v1.Firewall - 1131, // 1970: google.cloud.compute.v1.Firewalls.Insert:output_type -> google.cloud.compute.v1.Operation - 575, // 1971: google.cloud.compute.v1.Firewalls.List:output_type -> google.cloud.compute.v1.FirewallList - 1131, // 1972: google.cloud.compute.v1.Firewalls.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 1973: google.cloud.compute.v1.Firewalls.Update:output_type -> google.cloud.compute.v1.Operation - 587, // 1974: google.cloud.compute.v1.ForwardingRules.AggregatedList:output_type -> google.cloud.compute.v1.ForwardingRuleAggregatedList - 1131, // 1975: google.cloud.compute.v1.ForwardingRules.Delete:output_type -> google.cloud.compute.v1.Operation - 586, // 1976: google.cloud.compute.v1.ForwardingRules.Get:output_type -> google.cloud.compute.v1.ForwardingRule - 1131, // 1977: google.cloud.compute.v1.ForwardingRules.Insert:output_type -> google.cloud.compute.v1.Operation - 588, // 1978: google.cloud.compute.v1.ForwardingRules.List:output_type -> google.cloud.compute.v1.ForwardingRuleList - 1131, // 1979: google.cloud.compute.v1.ForwardingRules.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 1980: google.cloud.compute.v1.ForwardingRules.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1131, // 1981: google.cloud.compute.v1.ForwardingRules.SetTarget:output_type -> google.cloud.compute.v1.Operation - 1131, // 1982: google.cloud.compute.v1.GlobalAddresses.Delete:output_type -> google.cloud.compute.v1.Operation - 310, // 1983: google.cloud.compute.v1.GlobalAddresses.Get:output_type -> google.cloud.compute.v1.Address - 1131, // 1984: google.cloud.compute.v1.GlobalAddresses.Insert:output_type -> google.cloud.compute.v1.Operation - 312, // 1985: google.cloud.compute.v1.GlobalAddresses.List:output_type -> google.cloud.compute.v1.AddressList - 1131, // 1986: google.cloud.compute.v1.GlobalAddresses.Move:output_type -> google.cloud.compute.v1.Operation - 1131, // 1987: google.cloud.compute.v1.GlobalAddresses.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1131, // 1988: google.cloud.compute.v1.GlobalForwardingRules.Delete:output_type -> google.cloud.compute.v1.Operation - 586, // 1989: google.cloud.compute.v1.GlobalForwardingRules.Get:output_type -> google.cloud.compute.v1.ForwardingRule - 1131, // 1990: google.cloud.compute.v1.GlobalForwardingRules.Insert:output_type -> google.cloud.compute.v1.Operation - 588, // 1991: google.cloud.compute.v1.GlobalForwardingRules.List:output_type -> google.cloud.compute.v1.ForwardingRuleList - 1131, // 1992: google.cloud.compute.v1.GlobalForwardingRules.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 1993: google.cloud.compute.v1.GlobalForwardingRules.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1131, // 1994: google.cloud.compute.v1.GlobalForwardingRules.SetTarget:output_type -> google.cloud.compute.v1.Operation - 1131, // 1995: google.cloud.compute.v1.GlobalNetworkEndpointGroups.AttachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation - 1131, // 1996: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 1997: google.cloud.compute.v1.GlobalNetworkEndpointGroups.DetachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation - 1084, // 1998: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Get:output_type -> google.cloud.compute.v1.NetworkEndpointGroup - 1131, // 1999: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Insert:output_type -> google.cloud.compute.v1.Operation - 1089, // 2000: google.cloud.compute.v1.GlobalNetworkEndpointGroups.List:output_type -> google.cloud.compute.v1.NetworkEndpointGroupList - 1094, // 2001: google.cloud.compute.v1.GlobalNetworkEndpointGroups.ListNetworkEndpoints:output_type -> google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints - 1132, // 2002: google.cloud.compute.v1.GlobalOperations.AggregatedList:output_type -> google.cloud.compute.v1.OperationAggregatedList - 455, // 2003: google.cloud.compute.v1.GlobalOperations.Delete:output_type -> google.cloud.compute.v1.DeleteGlobalOperationResponse - 1131, // 2004: google.cloud.compute.v1.GlobalOperations.Get:output_type -> google.cloud.compute.v1.Operation - 1133, // 2005: google.cloud.compute.v1.GlobalOperations.List:output_type -> google.cloud.compute.v1.OperationList - 1131, // 2006: google.cloud.compute.v1.GlobalOperations.Wait:output_type -> google.cloud.compute.v1.Operation - 457, // 2007: google.cloud.compute.v1.GlobalOrganizationOperations.Delete:output_type -> google.cloud.compute.v1.DeleteGlobalOrganizationOperationResponse - 1131, // 2008: google.cloud.compute.v1.GlobalOrganizationOperations.Get:output_type -> google.cloud.compute.v1.Operation - 1133, // 2009: google.cloud.compute.v1.GlobalOrganizationOperations.List:output_type -> google.cloud.compute.v1.OperationList - 1131, // 2010: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Delete:output_type -> google.cloud.compute.v1.Operation - 1210, // 2011: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Get:output_type -> google.cloud.compute.v1.PublicDelegatedPrefix - 1131, // 2012: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Insert:output_type -> google.cloud.compute.v1.Operation - 1212, // 2013: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.List:output_type -> google.cloud.compute.v1.PublicDelegatedPrefixList - 1131, // 2014: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Patch:output_type -> google.cloud.compute.v1.Operation - 746, // 2015: google.cloud.compute.v1.HealthChecks.AggregatedList:output_type -> google.cloud.compute.v1.HealthChecksAggregatedList - 1131, // 2016: google.cloud.compute.v1.HealthChecks.Delete:output_type -> google.cloud.compute.v1.Operation - 739, // 2017: google.cloud.compute.v1.HealthChecks.Get:output_type -> google.cloud.compute.v1.HealthCheck - 1131, // 2018: google.cloud.compute.v1.HealthChecks.Insert:output_type -> google.cloud.compute.v1.Operation - 740, // 2019: google.cloud.compute.v1.HealthChecks.List:output_type -> google.cloud.compute.v1.HealthCheckList - 1131, // 2020: google.cloud.compute.v1.HealthChecks.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2021: google.cloud.compute.v1.HealthChecks.Update:output_type -> google.cloud.compute.v1.Operation - 766, // 2022: google.cloud.compute.v1.ImageFamilyViews.Get:output_type -> google.cloud.compute.v1.ImageFamilyView - 1131, // 2023: google.cloud.compute.v1.Images.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 2024: google.cloud.compute.v1.Images.Deprecate:output_type -> google.cloud.compute.v1.Operation - 765, // 2025: google.cloud.compute.v1.Images.Get:output_type -> google.cloud.compute.v1.Image - 765, // 2026: google.cloud.compute.v1.Images.GetFromFamily:output_type -> google.cloud.compute.v1.Image - 1196, // 2027: google.cloud.compute.v1.Images.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2028: google.cloud.compute.v1.Images.Insert:output_type -> google.cloud.compute.v1.Operation - 767, // 2029: google.cloud.compute.v1.Images.List:output_type -> google.cloud.compute.v1.ImageList - 1131, // 2030: google.cloud.compute.v1.Images.Patch:output_type -> google.cloud.compute.v1.Operation - 1196, // 2031: google.cloud.compute.v1.Images.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2032: google.cloud.compute.v1.Images.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1573, // 2033: google.cloud.compute.v1.Images.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2034: google.cloud.compute.v1.InstanceGroupManagers.AbandonInstances:output_type -> google.cloud.compute.v1.Operation - 850, // 2035: google.cloud.compute.v1.InstanceGroupManagers.AggregatedList:output_type -> google.cloud.compute.v1.InstanceGroupManagerAggregatedList - 1131, // 2036: google.cloud.compute.v1.InstanceGroupManagers.ApplyUpdatesToInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2037: google.cloud.compute.v1.InstanceGroupManagers.CreateInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2038: google.cloud.compute.v1.InstanceGroupManagers.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 2039: google.cloud.compute.v1.InstanceGroupManagers.DeleteInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2040: google.cloud.compute.v1.InstanceGroupManagers.DeletePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation - 848, // 2041: google.cloud.compute.v1.InstanceGroupManagers.Get:output_type -> google.cloud.compute.v1.InstanceGroupManager - 1131, // 2042: google.cloud.compute.v1.InstanceGroupManagers.Insert:output_type -> google.cloud.compute.v1.Operation - 853, // 2043: google.cloud.compute.v1.InstanceGroupManagers.List:output_type -> google.cloud.compute.v1.InstanceGroupManagerList - 865, // 2044: google.cloud.compute.v1.InstanceGroupManagers.ListErrors:output_type -> google.cloud.compute.v1.InstanceGroupManagersListErrorsResponse - 866, // 2045: google.cloud.compute.v1.InstanceGroupManagers.ListManagedInstances:output_type -> google.cloud.compute.v1.InstanceGroupManagersListManagedInstancesResponse - 867, // 2046: google.cloud.compute.v1.InstanceGroupManagers.ListPerInstanceConfigs:output_type -> google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp - 1131, // 2047: google.cloud.compute.v1.InstanceGroupManagers.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2048: google.cloud.compute.v1.InstanceGroupManagers.PatchPerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation - 1131, // 2049: google.cloud.compute.v1.InstanceGroupManagers.RecreateInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2050: google.cloud.compute.v1.InstanceGroupManagers.Resize:output_type -> google.cloud.compute.v1.Operation - 1131, // 2051: google.cloud.compute.v1.InstanceGroupManagers.SetInstanceTemplate:output_type -> google.cloud.compute.v1.Operation - 1131, // 2052: google.cloud.compute.v1.InstanceGroupManagers.SetTargetPools:output_type -> google.cloud.compute.v1.Operation - 1131, // 2053: google.cloud.compute.v1.InstanceGroupManagers.UpdatePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation - 1131, // 2054: google.cloud.compute.v1.InstanceGroups.AddInstances:output_type -> google.cloud.compute.v1.Operation - 846, // 2055: google.cloud.compute.v1.InstanceGroups.AggregatedList:output_type -> google.cloud.compute.v1.InstanceGroupAggregatedList - 1131, // 2056: google.cloud.compute.v1.InstanceGroups.Delete:output_type -> google.cloud.compute.v1.Operation - 845, // 2057: google.cloud.compute.v1.InstanceGroups.Get:output_type -> google.cloud.compute.v1.InstanceGroup - 1131, // 2058: google.cloud.compute.v1.InstanceGroups.Insert:output_type -> google.cloud.compute.v1.Operation - 847, // 2059: google.cloud.compute.v1.InstanceGroups.List:output_type -> google.cloud.compute.v1.InstanceGroupList - 875, // 2060: google.cloud.compute.v1.InstanceGroups.ListInstances:output_type -> google.cloud.compute.v1.InstanceGroupsListInstances - 1131, // 2061: google.cloud.compute.v1.InstanceGroups.RemoveInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2062: google.cloud.compute.v1.InstanceGroups.SetNamedPorts:output_type -> google.cloud.compute.v1.Operation - 890, // 2063: google.cloud.compute.v1.InstanceTemplates.AggregatedList:output_type -> google.cloud.compute.v1.InstanceTemplateAggregatedList - 1131, // 2064: google.cloud.compute.v1.InstanceTemplates.Delete:output_type -> google.cloud.compute.v1.Operation - 889, // 2065: google.cloud.compute.v1.InstanceTemplates.Get:output_type -> google.cloud.compute.v1.InstanceTemplate - 1196, // 2066: google.cloud.compute.v1.InstanceTemplates.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2067: google.cloud.compute.v1.InstanceTemplates.Insert:output_type -> google.cloud.compute.v1.Operation - 891, // 2068: google.cloud.compute.v1.InstanceTemplates.List:output_type -> google.cloud.compute.v1.InstanceTemplateList - 1196, // 2069: google.cloud.compute.v1.InstanceTemplates.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2070: google.cloud.compute.v1.InstanceTemplates.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2071: google.cloud.compute.v1.Instances.AddAccessConfig:output_type -> google.cloud.compute.v1.Operation - 1131, // 2072: google.cloud.compute.v1.Instances.AddResourcePolicies:output_type -> google.cloud.compute.v1.Operation - 842, // 2073: google.cloud.compute.v1.Instances.AggregatedList:output_type -> google.cloud.compute.v1.InstanceAggregatedList - 1131, // 2074: google.cloud.compute.v1.Instances.AttachDisk:output_type -> google.cloud.compute.v1.Operation - 1131, // 2075: google.cloud.compute.v1.Instances.BulkInsert:output_type -> google.cloud.compute.v1.Operation - 1131, // 2076: google.cloud.compute.v1.Instances.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 2077: google.cloud.compute.v1.Instances.DeleteAccessConfig:output_type -> google.cloud.compute.v1.Operation - 1131, // 2078: google.cloud.compute.v1.Instances.DetachDisk:output_type -> google.cloud.compute.v1.Operation - 841, // 2079: google.cloud.compute.v1.Instances.Get:output_type -> google.cloud.compute.v1.Instance - 895, // 2080: google.cloud.compute.v1.Instances.GetEffectiveFirewalls:output_type -> google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse - 732, // 2081: google.cloud.compute.v1.Instances.GetGuestAttributes:output_type -> google.cloud.compute.v1.GuestAttributes - 1196, // 2082: google.cloud.compute.v1.Instances.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1336, // 2083: google.cloud.compute.v1.Instances.GetScreenshot:output_type -> google.cloud.compute.v1.Screenshot - 1365, // 2084: google.cloud.compute.v1.Instances.GetSerialPortOutput:output_type -> google.cloud.compute.v1.SerialPortOutput - 1457, // 2085: google.cloud.compute.v1.Instances.GetShieldedInstanceIdentity:output_type -> google.cloud.compute.v1.ShieldedInstanceIdentity - 1131, // 2086: google.cloud.compute.v1.Instances.Insert:output_type -> google.cloud.compute.v1.Operation - 880, // 2087: google.cloud.compute.v1.Instances.List:output_type -> google.cloud.compute.v1.InstanceList - 881, // 2088: google.cloud.compute.v1.Instances.ListReferrers:output_type -> google.cloud.compute.v1.InstanceListReferrers - 1131, // 2089: google.cloud.compute.v1.Instances.RemoveResourcePolicies:output_type -> google.cloud.compute.v1.Operation - 1131, // 2090: google.cloud.compute.v1.Instances.Reset:output_type -> google.cloud.compute.v1.Operation - 1131, // 2091: google.cloud.compute.v1.Instances.Resume:output_type -> google.cloud.compute.v1.Operation - 1364, // 2092: google.cloud.compute.v1.Instances.SendDiagnosticInterrupt:output_type -> google.cloud.compute.v1.SendDiagnosticInterruptInstanceResponse - 1131, // 2093: google.cloud.compute.v1.Instances.SetDeletionProtection:output_type -> google.cloud.compute.v1.Operation - 1131, // 2094: google.cloud.compute.v1.Instances.SetDiskAutoDelete:output_type -> google.cloud.compute.v1.Operation - 1196, // 2095: google.cloud.compute.v1.Instances.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2096: google.cloud.compute.v1.Instances.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1131, // 2097: google.cloud.compute.v1.Instances.SetMachineResources:output_type -> google.cloud.compute.v1.Operation - 1131, // 2098: google.cloud.compute.v1.Instances.SetMachineType:output_type -> google.cloud.compute.v1.Operation - 1131, // 2099: google.cloud.compute.v1.Instances.SetMetadata:output_type -> google.cloud.compute.v1.Operation - 1131, // 2100: google.cloud.compute.v1.Instances.SetMinCpuPlatform:output_type -> google.cloud.compute.v1.Operation - 1131, // 2101: google.cloud.compute.v1.Instances.SetName:output_type -> google.cloud.compute.v1.Operation - 1131, // 2102: google.cloud.compute.v1.Instances.SetScheduling:output_type -> google.cloud.compute.v1.Operation - 1131, // 2103: google.cloud.compute.v1.Instances.SetServiceAccount:output_type -> google.cloud.compute.v1.Operation - 1131, // 2104: google.cloud.compute.v1.Instances.SetShieldedInstanceIntegrityPolicy:output_type -> google.cloud.compute.v1.Operation - 1131, // 2105: google.cloud.compute.v1.Instances.SetTags:output_type -> google.cloud.compute.v1.Operation - 1131, // 2106: google.cloud.compute.v1.Instances.SimulateMaintenanceEvent:output_type -> google.cloud.compute.v1.Operation - 1131, // 2107: google.cloud.compute.v1.Instances.Start:output_type -> google.cloud.compute.v1.Operation - 1131, // 2108: google.cloud.compute.v1.Instances.StartWithEncryptionKey:output_type -> google.cloud.compute.v1.Operation - 1131, // 2109: google.cloud.compute.v1.Instances.Stop:output_type -> google.cloud.compute.v1.Operation - 1131, // 2110: google.cloud.compute.v1.Instances.Suspend:output_type -> google.cloud.compute.v1.Operation - 1573, // 2111: google.cloud.compute.v1.Instances.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2112: google.cloud.compute.v1.Instances.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 2113: google.cloud.compute.v1.Instances.UpdateAccessConfig:output_type -> google.cloud.compute.v1.Operation - 1131, // 2114: google.cloud.compute.v1.Instances.UpdateDisplayDevice:output_type -> google.cloud.compute.v1.Operation - 1131, // 2115: google.cloud.compute.v1.Instances.UpdateNetworkInterface:output_type -> google.cloud.compute.v1.Operation - 1131, // 2116: google.cloud.compute.v1.Instances.UpdateShieldedInstanceConfig:output_type -> google.cloud.compute.v1.Operation - 909, // 2117: google.cloud.compute.v1.InterconnectAttachments.AggregatedList:output_type -> google.cloud.compute.v1.InterconnectAttachmentAggregatedList - 1131, // 2118: google.cloud.compute.v1.InterconnectAttachments.Delete:output_type -> google.cloud.compute.v1.Operation - 908, // 2119: google.cloud.compute.v1.InterconnectAttachments.Get:output_type -> google.cloud.compute.v1.InterconnectAttachment - 1131, // 2120: google.cloud.compute.v1.InterconnectAttachments.Insert:output_type -> google.cloud.compute.v1.Operation - 912, // 2121: google.cloud.compute.v1.InterconnectAttachments.List:output_type -> google.cloud.compute.v1.InterconnectAttachmentList - 1131, // 2122: google.cloud.compute.v1.InterconnectAttachments.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2123: google.cloud.compute.v1.InterconnectAttachments.SetLabels:output_type -> google.cloud.compute.v1.Operation - 923, // 2124: google.cloud.compute.v1.InterconnectLocations.Get:output_type -> google.cloud.compute.v1.InterconnectLocation - 924, // 2125: google.cloud.compute.v1.InterconnectLocations.List:output_type -> google.cloud.compute.v1.InterconnectLocationList - 927, // 2126: google.cloud.compute.v1.InterconnectRemoteLocations.Get:output_type -> google.cloud.compute.v1.InterconnectRemoteLocation - 930, // 2127: google.cloud.compute.v1.InterconnectRemoteLocations.List:output_type -> google.cloud.compute.v1.InterconnectRemoteLocationList - 1131, // 2128: google.cloud.compute.v1.Interconnects.Delete:output_type -> google.cloud.compute.v1.Operation - 907, // 2129: google.cloud.compute.v1.Interconnects.Get:output_type -> google.cloud.compute.v1.Interconnect - 932, // 2130: google.cloud.compute.v1.Interconnects.GetDiagnostics:output_type -> google.cloud.compute.v1.InterconnectsGetDiagnosticsResponse - 1131, // 2131: google.cloud.compute.v1.Interconnects.Insert:output_type -> google.cloud.compute.v1.Operation - 922, // 2132: google.cloud.compute.v1.Interconnects.List:output_type -> google.cloud.compute.v1.InterconnectList - 1131, // 2133: google.cloud.compute.v1.Interconnects.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2134: google.cloud.compute.v1.Interconnects.SetLabels:output_type -> google.cloud.compute.v1.Operation - 936, // 2135: google.cloud.compute.v1.LicenseCodes.Get:output_type -> google.cloud.compute.v1.LicenseCode - 1573, // 2136: google.cloud.compute.v1.LicenseCodes.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2137: google.cloud.compute.v1.Licenses.Delete:output_type -> google.cloud.compute.v1.Operation - 935, // 2138: google.cloud.compute.v1.Licenses.Get:output_type -> google.cloud.compute.v1.License - 1196, // 2139: google.cloud.compute.v1.Licenses.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2140: google.cloud.compute.v1.Licenses.Insert:output_type -> google.cloud.compute.v1.Operation - 940, // 2141: google.cloud.compute.v1.Licenses.List:output_type -> google.cloud.compute.v1.LicensesListResponse - 1196, // 2142: google.cloud.compute.v1.Licenses.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2143: google.cloud.compute.v1.Licenses.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2144: google.cloud.compute.v1.MachineImages.Delete:output_type -> google.cloud.compute.v1.Operation - 1055, // 2145: google.cloud.compute.v1.MachineImages.Get:output_type -> google.cloud.compute.v1.MachineImage - 1196, // 2146: google.cloud.compute.v1.MachineImages.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2147: google.cloud.compute.v1.MachineImages.Insert:output_type -> google.cloud.compute.v1.Operation - 1056, // 2148: google.cloud.compute.v1.MachineImages.List:output_type -> google.cloud.compute.v1.MachineImageList - 1196, // 2149: google.cloud.compute.v1.MachineImages.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2150: google.cloud.compute.v1.MachineImages.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1058, // 2151: google.cloud.compute.v1.MachineTypes.AggregatedList:output_type -> google.cloud.compute.v1.MachineTypeAggregatedList - 1057, // 2152: google.cloud.compute.v1.MachineTypes.Get:output_type -> google.cloud.compute.v1.MachineType - 1059, // 2153: google.cloud.compute.v1.MachineTypes.List:output_type -> google.cloud.compute.v1.MachineTypeList - 1076, // 2154: google.cloud.compute.v1.NetworkAttachments.AggregatedList:output_type -> google.cloud.compute.v1.NetworkAttachmentAggregatedList - 1131, // 2155: google.cloud.compute.v1.NetworkAttachments.Delete:output_type -> google.cloud.compute.v1.Operation - 1075, // 2156: google.cloud.compute.v1.NetworkAttachments.Get:output_type -> google.cloud.compute.v1.NetworkAttachment - 1196, // 2157: google.cloud.compute.v1.NetworkAttachments.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2158: google.cloud.compute.v1.NetworkAttachments.Insert:output_type -> google.cloud.compute.v1.Operation - 1078, // 2159: google.cloud.compute.v1.NetworkAttachments.List:output_type -> google.cloud.compute.v1.NetworkAttachmentList - 1196, // 2160: google.cloud.compute.v1.NetworkAttachments.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2161: google.cloud.compute.v1.NetworkAttachments.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1081, // 2162: google.cloud.compute.v1.NetworkEdgeSecurityServices.AggregatedList:output_type -> google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList - 1131, // 2163: google.cloud.compute.v1.NetworkEdgeSecurityServices.Delete:output_type -> google.cloud.compute.v1.Operation - 1080, // 2164: google.cloud.compute.v1.NetworkEdgeSecurityServices.Get:output_type -> google.cloud.compute.v1.NetworkEdgeSecurityService - 1131, // 2165: google.cloud.compute.v1.NetworkEdgeSecurityServices.Insert:output_type -> google.cloud.compute.v1.Operation - 1131, // 2166: google.cloud.compute.v1.NetworkEdgeSecurityServices.Patch:output_type -> google.cloud.compute.v1.Operation - 1085, // 2167: google.cloud.compute.v1.NetworkEndpointGroups.AggregatedList:output_type -> google.cloud.compute.v1.NetworkEndpointGroupAggregatedList - 1131, // 2168: google.cloud.compute.v1.NetworkEndpointGroups.AttachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation - 1131, // 2169: google.cloud.compute.v1.NetworkEndpointGroups.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 2170: google.cloud.compute.v1.NetworkEndpointGroups.DetachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation - 1084, // 2171: google.cloud.compute.v1.NetworkEndpointGroups.Get:output_type -> google.cloud.compute.v1.NetworkEndpointGroup - 1131, // 2172: google.cloud.compute.v1.NetworkEndpointGroups.Insert:output_type -> google.cloud.compute.v1.Operation - 1089, // 2173: google.cloud.compute.v1.NetworkEndpointGroups.List:output_type -> google.cloud.compute.v1.NetworkEndpointGroupList - 1094, // 2174: google.cloud.compute.v1.NetworkEndpointGroups.ListNetworkEndpoints:output_type -> google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints - 1573, // 2175: google.cloud.compute.v1.NetworkEndpointGroups.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2176: google.cloud.compute.v1.NetworkFirewallPolicies.AddAssociation:output_type -> google.cloud.compute.v1.Operation - 1131, // 2177: google.cloud.compute.v1.NetworkFirewallPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 2178: google.cloud.compute.v1.NetworkFirewallPolicies.CloneRules:output_type -> google.cloud.compute.v1.Operation - 1131, // 2179: google.cloud.compute.v1.NetworkFirewallPolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 578, // 2180: google.cloud.compute.v1.NetworkFirewallPolicies.Get:output_type -> google.cloud.compute.v1.FirewallPolicy - 579, // 2181: google.cloud.compute.v1.NetworkFirewallPolicies.GetAssociation:output_type -> google.cloud.compute.v1.FirewallPolicyAssociation - 1196, // 2182: google.cloud.compute.v1.NetworkFirewallPolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 581, // 2183: google.cloud.compute.v1.NetworkFirewallPolicies.GetRule:output_type -> google.cloud.compute.v1.FirewallPolicyRule - 1131, // 2184: google.cloud.compute.v1.NetworkFirewallPolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 580, // 2185: google.cloud.compute.v1.NetworkFirewallPolicies.List:output_type -> google.cloud.compute.v1.FirewallPolicyList - 1131, // 2186: google.cloud.compute.v1.NetworkFirewallPolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2187: google.cloud.compute.v1.NetworkFirewallPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 2188: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveAssociation:output_type -> google.cloud.compute.v1.Operation - 1131, // 2189: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation - 1196, // 2190: google.cloud.compute.v1.NetworkFirewallPolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2191: google.cloud.compute.v1.NetworkFirewallPolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2192: google.cloud.compute.v1.Networks.AddPeering:output_type -> google.cloud.compute.v1.Operation - 1131, // 2193: google.cloud.compute.v1.Networks.Delete:output_type -> google.cloud.compute.v1.Operation - 1074, // 2194: google.cloud.compute.v1.Networks.Get:output_type -> google.cloud.compute.v1.Network - 1103, // 2195: google.cloud.compute.v1.Networks.GetEffectiveFirewalls:output_type -> google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse - 1131, // 2196: google.cloud.compute.v1.Networks.Insert:output_type -> google.cloud.compute.v1.Operation - 1098, // 2197: google.cloud.compute.v1.Networks.List:output_type -> google.cloud.compute.v1.NetworkList - 567, // 2198: google.cloud.compute.v1.Networks.ListPeeringRoutes:output_type -> google.cloud.compute.v1.ExchangedPeeringRoutesList - 1131, // 2199: google.cloud.compute.v1.Networks.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2200: google.cloud.compute.v1.Networks.RemovePeering:output_type -> google.cloud.compute.v1.Operation - 1131, // 2201: google.cloud.compute.v1.Networks.SwitchToCustomMode:output_type -> google.cloud.compute.v1.Operation - 1131, // 2202: google.cloud.compute.v1.Networks.UpdatePeering:output_type -> google.cloud.compute.v1.Operation - 1131, // 2203: google.cloud.compute.v1.NodeGroups.AddNodes:output_type -> google.cloud.compute.v1.Operation - 1108, // 2204: google.cloud.compute.v1.NodeGroups.AggregatedList:output_type -> google.cloud.compute.v1.NodeGroupAggregatedList - 1131, // 2205: google.cloud.compute.v1.NodeGroups.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 2206: google.cloud.compute.v1.NodeGroups.DeleteNodes:output_type -> google.cloud.compute.v1.Operation - 1107, // 2207: google.cloud.compute.v1.NodeGroups.Get:output_type -> google.cloud.compute.v1.NodeGroup - 1196, // 2208: google.cloud.compute.v1.NodeGroups.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2209: google.cloud.compute.v1.NodeGroups.Insert:output_type -> google.cloud.compute.v1.Operation - 1110, // 2210: google.cloud.compute.v1.NodeGroups.List:output_type -> google.cloud.compute.v1.NodeGroupList - 1115, // 2211: google.cloud.compute.v1.NodeGroups.ListNodes:output_type -> google.cloud.compute.v1.NodeGroupsListNodes - 1131, // 2212: google.cloud.compute.v1.NodeGroups.Patch:output_type -> google.cloud.compute.v1.Operation - 1196, // 2213: google.cloud.compute.v1.NodeGroups.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2214: google.cloud.compute.v1.NodeGroups.SetNodeTemplate:output_type -> google.cloud.compute.v1.Operation - 1131, // 2215: google.cloud.compute.v1.NodeGroups.SimulateMaintenanceEvent:output_type -> google.cloud.compute.v1.Operation - 1573, // 2216: google.cloud.compute.v1.NodeGroups.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1120, // 2217: google.cloud.compute.v1.NodeTemplates.AggregatedList:output_type -> google.cloud.compute.v1.NodeTemplateAggregatedList - 1131, // 2218: google.cloud.compute.v1.NodeTemplates.Delete:output_type -> google.cloud.compute.v1.Operation - 1119, // 2219: google.cloud.compute.v1.NodeTemplates.Get:output_type -> google.cloud.compute.v1.NodeTemplate - 1196, // 2220: google.cloud.compute.v1.NodeTemplates.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2221: google.cloud.compute.v1.NodeTemplates.Insert:output_type -> google.cloud.compute.v1.Operation - 1121, // 2222: google.cloud.compute.v1.NodeTemplates.List:output_type -> google.cloud.compute.v1.NodeTemplateList - 1196, // 2223: google.cloud.compute.v1.NodeTemplates.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2224: google.cloud.compute.v1.NodeTemplates.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1125, // 2225: google.cloud.compute.v1.NodeTypes.AggregatedList:output_type -> google.cloud.compute.v1.NodeTypeAggregatedList - 1124, // 2226: google.cloud.compute.v1.NodeTypes.Get:output_type -> google.cloud.compute.v1.NodeType - 1126, // 2227: google.cloud.compute.v1.NodeTypes.List:output_type -> google.cloud.compute.v1.NodeTypeList - 1138, // 2228: google.cloud.compute.v1.PacketMirrorings.AggregatedList:output_type -> google.cloud.compute.v1.PacketMirroringAggregatedList - 1131, // 2229: google.cloud.compute.v1.PacketMirrorings.Delete:output_type -> google.cloud.compute.v1.Operation - 1137, // 2230: google.cloud.compute.v1.PacketMirrorings.Get:output_type -> google.cloud.compute.v1.PacketMirroring - 1131, // 2231: google.cloud.compute.v1.PacketMirrorings.Insert:output_type -> google.cloud.compute.v1.Operation - 1141, // 2232: google.cloud.compute.v1.PacketMirrorings.List:output_type -> google.cloud.compute.v1.PacketMirroringList - 1131, // 2233: google.cloud.compute.v1.PacketMirrorings.Patch:output_type -> google.cloud.compute.v1.Operation - 1573, // 2234: google.cloud.compute.v1.PacketMirrorings.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2235: google.cloud.compute.v1.Projects.DisableXpnHost:output_type -> google.cloud.compute.v1.Operation - 1131, // 2236: google.cloud.compute.v1.Projects.DisableXpnResource:output_type -> google.cloud.compute.v1.Operation - 1131, // 2237: google.cloud.compute.v1.Projects.EnableXpnHost:output_type -> google.cloud.compute.v1.Operation - 1131, // 2238: google.cloud.compute.v1.Projects.EnableXpnResource:output_type -> google.cloud.compute.v1.Operation - 1201, // 2239: google.cloud.compute.v1.Projects.Get:output_type -> google.cloud.compute.v1.Project - 1201, // 2240: google.cloud.compute.v1.Projects.GetXpnHost:output_type -> google.cloud.compute.v1.Project - 1204, // 2241: google.cloud.compute.v1.Projects.GetXpnResources:output_type -> google.cloud.compute.v1.ProjectsGetXpnResources - 1641, // 2242: google.cloud.compute.v1.Projects.ListXpnHosts:output_type -> google.cloud.compute.v1.XpnHostList - 1131, // 2243: google.cloud.compute.v1.Projects.MoveDisk:output_type -> google.cloud.compute.v1.Operation - 1131, // 2244: google.cloud.compute.v1.Projects.MoveInstance:output_type -> google.cloud.compute.v1.Operation - 1131, // 2245: google.cloud.compute.v1.Projects.SetCommonInstanceMetadata:output_type -> google.cloud.compute.v1.Operation - 1131, // 2246: google.cloud.compute.v1.Projects.SetDefaultNetworkTier:output_type -> google.cloud.compute.v1.Operation - 1131, // 2247: google.cloud.compute.v1.Projects.SetUsageExportBucket:output_type -> google.cloud.compute.v1.Operation - 1131, // 2248: google.cloud.compute.v1.PublicAdvertisedPrefixes.Delete:output_type -> google.cloud.compute.v1.Operation - 1207, // 2249: google.cloud.compute.v1.PublicAdvertisedPrefixes.Get:output_type -> google.cloud.compute.v1.PublicAdvertisedPrefix - 1131, // 2250: google.cloud.compute.v1.PublicAdvertisedPrefixes.Insert:output_type -> google.cloud.compute.v1.Operation - 1208, // 2251: google.cloud.compute.v1.PublicAdvertisedPrefixes.List:output_type -> google.cloud.compute.v1.PublicAdvertisedPrefixList - 1131, // 2252: google.cloud.compute.v1.PublicAdvertisedPrefixes.Patch:output_type -> google.cloud.compute.v1.Operation - 1211, // 2253: google.cloud.compute.v1.PublicDelegatedPrefixes.AggregatedList:output_type -> google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList - 1131, // 2254: google.cloud.compute.v1.PublicDelegatedPrefixes.Delete:output_type -> google.cloud.compute.v1.Operation - 1210, // 2255: google.cloud.compute.v1.PublicDelegatedPrefixes.Get:output_type -> google.cloud.compute.v1.PublicDelegatedPrefix - 1131, // 2256: google.cloud.compute.v1.PublicDelegatedPrefixes.Insert:output_type -> google.cloud.compute.v1.Operation - 1212, // 2257: google.cloud.compute.v1.PublicDelegatedPrefixes.List:output_type -> google.cloud.compute.v1.PublicDelegatedPrefixList - 1131, // 2258: google.cloud.compute.v1.PublicDelegatedPrefixes.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2259: google.cloud.compute.v1.RegionAutoscalers.Delete:output_type -> google.cloud.compute.v1.Operation - 373, // 2260: google.cloud.compute.v1.RegionAutoscalers.Get:output_type -> google.cloud.compute.v1.Autoscaler - 1131, // 2261: google.cloud.compute.v1.RegionAutoscalers.Insert:output_type -> google.cloud.compute.v1.Operation - 1223, // 2262: google.cloud.compute.v1.RegionAutoscalers.List:output_type -> google.cloud.compute.v1.RegionAutoscalerList - 1131, // 2263: google.cloud.compute.v1.RegionAutoscalers.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2264: google.cloud.compute.v1.RegionAutoscalers.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 2265: google.cloud.compute.v1.RegionBackendServices.Delete:output_type -> google.cloud.compute.v1.Operation - 391, // 2266: google.cloud.compute.v1.RegionBackendServices.Get:output_type -> google.cloud.compute.v1.BackendService - 398, // 2267: google.cloud.compute.v1.RegionBackendServices.GetHealth:output_type -> google.cloud.compute.v1.BackendServiceGroupHealth - 1196, // 2268: google.cloud.compute.v1.RegionBackendServices.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2269: google.cloud.compute.v1.RegionBackendServices.Insert:output_type -> google.cloud.compute.v1.Operation - 400, // 2270: google.cloud.compute.v1.RegionBackendServices.List:output_type -> google.cloud.compute.v1.BackendServiceList - 1131, // 2271: google.cloud.compute.v1.RegionBackendServices.Patch:output_type -> google.cloud.compute.v1.Operation - 1196, // 2272: google.cloud.compute.v1.RegionBackendServices.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2273: google.cloud.compute.v1.RegionBackendServices.Update:output_type -> google.cloud.compute.v1.Operation - 425, // 2274: google.cloud.compute.v1.RegionCommitments.AggregatedList:output_type -> google.cloud.compute.v1.CommitmentAggregatedList - 424, // 2275: google.cloud.compute.v1.RegionCommitments.Get:output_type -> google.cloud.compute.v1.Commitment - 1131, // 2276: google.cloud.compute.v1.RegionCommitments.Insert:output_type -> google.cloud.compute.v1.Operation - 426, // 2277: google.cloud.compute.v1.RegionCommitments.List:output_type -> google.cloud.compute.v1.CommitmentList - 1131, // 2278: google.cloud.compute.v1.RegionCommitments.Update:output_type -> google.cloud.compute.v1.Operation - 546, // 2279: google.cloud.compute.v1.RegionDiskTypes.Get:output_type -> google.cloud.compute.v1.DiskType - 1224, // 2280: google.cloud.compute.v1.RegionDiskTypes.List:output_type -> google.cloud.compute.v1.RegionDiskTypeList - 1131, // 2281: google.cloud.compute.v1.RegionDisks.AddResourcePolicies:output_type -> google.cloud.compute.v1.Operation - 1131, // 2282: google.cloud.compute.v1.RegionDisks.BulkInsert:output_type -> google.cloud.compute.v1.Operation - 1131, // 2283: google.cloud.compute.v1.RegionDisks.CreateSnapshot:output_type -> google.cloud.compute.v1.Operation - 1131, // 2284: google.cloud.compute.v1.RegionDisks.Delete:output_type -> google.cloud.compute.v1.Operation - 536, // 2285: google.cloud.compute.v1.RegionDisks.Get:output_type -> google.cloud.compute.v1.Disk - 1196, // 2286: google.cloud.compute.v1.RegionDisks.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2287: google.cloud.compute.v1.RegionDisks.Insert:output_type -> google.cloud.compute.v1.Operation - 541, // 2288: google.cloud.compute.v1.RegionDisks.List:output_type -> google.cloud.compute.v1.DiskList - 1131, // 2289: google.cloud.compute.v1.RegionDisks.RemoveResourcePolicies:output_type -> google.cloud.compute.v1.Operation - 1131, // 2290: google.cloud.compute.v1.RegionDisks.Resize:output_type -> google.cloud.compute.v1.Operation - 1196, // 2291: google.cloud.compute.v1.RegionDisks.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2292: google.cloud.compute.v1.RegionDisks.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1131, // 2293: google.cloud.compute.v1.RegionDisks.StartAsyncReplication:output_type -> google.cloud.compute.v1.Operation - 1131, // 2294: google.cloud.compute.v1.RegionDisks.StopAsyncReplication:output_type -> google.cloud.compute.v1.Operation - 1131, // 2295: google.cloud.compute.v1.RegionDisks.StopGroupAsyncReplication:output_type -> google.cloud.compute.v1.Operation - 1573, // 2296: google.cloud.compute.v1.RegionDisks.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2297: google.cloud.compute.v1.RegionDisks.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 2298: google.cloud.compute.v1.RegionHealthCheckServices.Delete:output_type -> google.cloud.compute.v1.Operation - 743, // 2299: google.cloud.compute.v1.RegionHealthCheckServices.Get:output_type -> google.cloud.compute.v1.HealthCheckService - 1131, // 2300: google.cloud.compute.v1.RegionHealthCheckServices.Insert:output_type -> google.cloud.compute.v1.Operation - 745, // 2301: google.cloud.compute.v1.RegionHealthCheckServices.List:output_type -> google.cloud.compute.v1.HealthCheckServicesList - 1131, // 2302: google.cloud.compute.v1.RegionHealthCheckServices.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2303: google.cloud.compute.v1.RegionHealthChecks.Delete:output_type -> google.cloud.compute.v1.Operation - 739, // 2304: google.cloud.compute.v1.RegionHealthChecks.Get:output_type -> google.cloud.compute.v1.HealthCheck - 1131, // 2305: google.cloud.compute.v1.RegionHealthChecks.Insert:output_type -> google.cloud.compute.v1.Operation - 740, // 2306: google.cloud.compute.v1.RegionHealthChecks.List:output_type -> google.cloud.compute.v1.HealthCheckList - 1131, // 2307: google.cloud.compute.v1.RegionHealthChecks.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2308: google.cloud.compute.v1.RegionHealthChecks.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 2309: google.cloud.compute.v1.RegionInstanceGroupManagers.AbandonInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2310: google.cloud.compute.v1.RegionInstanceGroupManagers.ApplyUpdatesToInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2311: google.cloud.compute.v1.RegionInstanceGroupManagers.CreateInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2312: google.cloud.compute.v1.RegionInstanceGroupManagers.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 2313: google.cloud.compute.v1.RegionInstanceGroupManagers.DeleteInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2314: google.cloud.compute.v1.RegionInstanceGroupManagers.DeletePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation - 848, // 2315: google.cloud.compute.v1.RegionInstanceGroupManagers.Get:output_type -> google.cloud.compute.v1.InstanceGroupManager - 1131, // 2316: google.cloud.compute.v1.RegionInstanceGroupManagers.Insert:output_type -> google.cloud.compute.v1.Operation - 1231, // 2317: google.cloud.compute.v1.RegionInstanceGroupManagers.List:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagerList - 1238, // 2318: google.cloud.compute.v1.RegionInstanceGroupManagers.ListErrors:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagersListErrorsResponse - 1240, // 2319: google.cloud.compute.v1.RegionInstanceGroupManagers.ListManagedInstances:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagersListInstancesResponse - 1239, // 2320: google.cloud.compute.v1.RegionInstanceGroupManagers.ListPerInstanceConfigs:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp - 1131, // 2321: google.cloud.compute.v1.RegionInstanceGroupManagers.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2322: google.cloud.compute.v1.RegionInstanceGroupManagers.PatchPerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation - 1131, // 2323: google.cloud.compute.v1.RegionInstanceGroupManagers.RecreateInstances:output_type -> google.cloud.compute.v1.Operation - 1131, // 2324: google.cloud.compute.v1.RegionInstanceGroupManagers.Resize:output_type -> google.cloud.compute.v1.Operation - 1131, // 2325: google.cloud.compute.v1.RegionInstanceGroupManagers.SetInstanceTemplate:output_type -> google.cloud.compute.v1.Operation - 1131, // 2326: google.cloud.compute.v1.RegionInstanceGroupManagers.SetTargetPools:output_type -> google.cloud.compute.v1.Operation - 1131, // 2327: google.cloud.compute.v1.RegionInstanceGroupManagers.UpdatePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation - 845, // 2328: google.cloud.compute.v1.RegionInstanceGroups.Get:output_type -> google.cloud.compute.v1.InstanceGroup - 1229, // 2329: google.cloud.compute.v1.RegionInstanceGroups.List:output_type -> google.cloud.compute.v1.RegionInstanceGroupList - 1244, // 2330: google.cloud.compute.v1.RegionInstanceGroups.ListInstances:output_type -> google.cloud.compute.v1.RegionInstanceGroupsListInstances - 1131, // 2331: google.cloud.compute.v1.RegionInstanceGroups.SetNamedPorts:output_type -> google.cloud.compute.v1.Operation - 1131, // 2332: google.cloud.compute.v1.RegionInstanceTemplates.Delete:output_type -> google.cloud.compute.v1.Operation - 889, // 2333: google.cloud.compute.v1.RegionInstanceTemplates.Get:output_type -> google.cloud.compute.v1.InstanceTemplate - 1131, // 2334: google.cloud.compute.v1.RegionInstanceTemplates.Insert:output_type -> google.cloud.compute.v1.Operation - 891, // 2335: google.cloud.compute.v1.RegionInstanceTemplates.List:output_type -> google.cloud.compute.v1.InstanceTemplateList - 1131, // 2336: google.cloud.compute.v1.RegionInstances.BulkInsert:output_type -> google.cloud.compute.v1.Operation - 1131, // 2337: google.cloud.compute.v1.RegionNetworkEndpointGroups.Delete:output_type -> google.cloud.compute.v1.Operation - 1084, // 2338: google.cloud.compute.v1.RegionNetworkEndpointGroups.Get:output_type -> google.cloud.compute.v1.NetworkEndpointGroup - 1131, // 2339: google.cloud.compute.v1.RegionNetworkEndpointGroups.Insert:output_type -> google.cloud.compute.v1.Operation - 1089, // 2340: google.cloud.compute.v1.RegionNetworkEndpointGroups.List:output_type -> google.cloud.compute.v1.NetworkEndpointGroupList - 1131, // 2341: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddAssociation:output_type -> google.cloud.compute.v1.Operation - 1131, // 2342: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 2343: google.cloud.compute.v1.RegionNetworkFirewallPolicies.CloneRules:output_type -> google.cloud.compute.v1.Operation - 1131, // 2344: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 578, // 2345: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Get:output_type -> google.cloud.compute.v1.FirewallPolicy - 579, // 2346: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetAssociation:output_type -> google.cloud.compute.v1.FirewallPolicyAssociation - 1248, // 2347: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetEffectiveFirewalls:output_type -> google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse - 1196, // 2348: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 581, // 2349: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetRule:output_type -> google.cloud.compute.v1.FirewallPolicyRule - 1131, // 2350: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 580, // 2351: google.cloud.compute.v1.RegionNetworkFirewallPolicies.List:output_type -> google.cloud.compute.v1.FirewallPolicyList - 1131, // 2352: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2353: google.cloud.compute.v1.RegionNetworkFirewallPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 2354: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveAssociation:output_type -> google.cloud.compute.v1.Operation - 1131, // 2355: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation - 1196, // 2356: google.cloud.compute.v1.RegionNetworkFirewallPolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2357: google.cloud.compute.v1.RegionNetworkFirewallPolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2358: google.cloud.compute.v1.RegionNotificationEndpoints.Delete:output_type -> google.cloud.compute.v1.Operation - 1128, // 2359: google.cloud.compute.v1.RegionNotificationEndpoints.Get:output_type -> google.cloud.compute.v1.NotificationEndpoint - 1131, // 2360: google.cloud.compute.v1.RegionNotificationEndpoints.Insert:output_type -> google.cloud.compute.v1.Operation - 1130, // 2361: google.cloud.compute.v1.RegionNotificationEndpoints.List:output_type -> google.cloud.compute.v1.NotificationEndpointList - 495, // 2362: google.cloud.compute.v1.RegionOperations.Delete:output_type -> google.cloud.compute.v1.DeleteRegionOperationResponse - 1131, // 2363: google.cloud.compute.v1.RegionOperations.Get:output_type -> google.cloud.compute.v1.Operation - 1133, // 2364: google.cloud.compute.v1.RegionOperations.List:output_type -> google.cloud.compute.v1.OperationList - 1131, // 2365: google.cloud.compute.v1.RegionOperations.Wait:output_type -> google.cloud.compute.v1.Operation - 1131, // 2366: google.cloud.compute.v1.RegionSecurityPolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 1341, // 2367: google.cloud.compute.v1.RegionSecurityPolicies.Get:output_type -> google.cloud.compute.v1.SecurityPolicy - 1131, // 2368: google.cloud.compute.v1.RegionSecurityPolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 1347, // 2369: google.cloud.compute.v1.RegionSecurityPolicies.List:output_type -> google.cloud.compute.v1.SecurityPolicyList - 1131, // 2370: google.cloud.compute.v1.RegionSecurityPolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2371: google.cloud.compute.v1.RegionSslCertificates.Delete:output_type -> google.cloud.compute.v1.Operation - 1468, // 2372: google.cloud.compute.v1.RegionSslCertificates.Get:output_type -> google.cloud.compute.v1.SslCertificate - 1131, // 2373: google.cloud.compute.v1.RegionSslCertificates.Insert:output_type -> google.cloud.compute.v1.Operation - 1470, // 2374: google.cloud.compute.v1.RegionSslCertificates.List:output_type -> google.cloud.compute.v1.SslCertificateList - 1131, // 2375: google.cloud.compute.v1.RegionSslPolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 1478, // 2376: google.cloud.compute.v1.RegionSslPolicies.Get:output_type -> google.cloud.compute.v1.SslPolicy - 1131, // 2377: google.cloud.compute.v1.RegionSslPolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 1475, // 2378: google.cloud.compute.v1.RegionSslPolicies.List:output_type -> google.cloud.compute.v1.SslPoliciesList - 1476, // 2379: google.cloud.compute.v1.RegionSslPolicies.ListAvailableFeatures:output_type -> google.cloud.compute.v1.SslPoliciesListAvailableFeaturesResponse - 1131, // 2380: google.cloud.compute.v1.RegionSslPolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2381: google.cloud.compute.v1.RegionTargetHttpProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1508, // 2382: google.cloud.compute.v1.RegionTargetHttpProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpProxy - 1131, // 2383: google.cloud.compute.v1.RegionTargetHttpProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1510, // 2384: google.cloud.compute.v1.RegionTargetHttpProxies.List:output_type -> google.cloud.compute.v1.TargetHttpProxyList - 1131, // 2385: google.cloud.compute.v1.RegionTargetHttpProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation - 1131, // 2386: google.cloud.compute.v1.RegionTargetHttpsProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1515, // 2387: google.cloud.compute.v1.RegionTargetHttpsProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpsProxy - 1131, // 2388: google.cloud.compute.v1.RegionTargetHttpsProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1517, // 2389: google.cloud.compute.v1.RegionTargetHttpsProxies.List:output_type -> google.cloud.compute.v1.TargetHttpsProxyList - 1131, // 2390: google.cloud.compute.v1.RegionTargetHttpsProxies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2391: google.cloud.compute.v1.RegionTargetHttpsProxies.SetSslCertificates:output_type -> google.cloud.compute.v1.Operation - 1131, // 2392: google.cloud.compute.v1.RegionTargetHttpsProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation - 1131, // 2393: google.cloud.compute.v1.RegionTargetTcpProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1541, // 2394: google.cloud.compute.v1.RegionTargetTcpProxies.Get:output_type -> google.cloud.compute.v1.TargetTcpProxy - 1131, // 2395: google.cloud.compute.v1.RegionTargetTcpProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1543, // 2396: google.cloud.compute.v1.RegionTargetTcpProxies.List:output_type -> google.cloud.compute.v1.TargetTcpProxyList - 1131, // 2397: google.cloud.compute.v1.RegionUrlMaps.Delete:output_type -> google.cloud.compute.v1.Operation - 1598, // 2398: google.cloud.compute.v1.RegionUrlMaps.Get:output_type -> google.cloud.compute.v1.UrlMap - 1131, // 2399: google.cloud.compute.v1.RegionUrlMaps.Insert:output_type -> google.cloud.compute.v1.Operation - 1599, // 2400: google.cloud.compute.v1.RegionUrlMaps.List:output_type -> google.cloud.compute.v1.UrlMapList - 1131, // 2401: google.cloud.compute.v1.RegionUrlMaps.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2402: google.cloud.compute.v1.RegionUrlMaps.Update:output_type -> google.cloud.compute.v1.Operation - 1607, // 2403: google.cloud.compute.v1.RegionUrlMaps.Validate:output_type -> google.cloud.compute.v1.UrlMapsValidateResponse - 1221, // 2404: google.cloud.compute.v1.Regions.Get:output_type -> google.cloud.compute.v1.Region - 1247, // 2405: google.cloud.compute.v1.Regions.List:output_type -> google.cloud.compute.v1.RegionList - 1271, // 2406: google.cloud.compute.v1.Reservations.AggregatedList:output_type -> google.cloud.compute.v1.ReservationAggregatedList - 1131, // 2407: google.cloud.compute.v1.Reservations.Delete:output_type -> google.cloud.compute.v1.Operation - 1269, // 2408: google.cloud.compute.v1.Reservations.Get:output_type -> google.cloud.compute.v1.Reservation - 1196, // 2409: google.cloud.compute.v1.Reservations.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2410: google.cloud.compute.v1.Reservations.Insert:output_type -> google.cloud.compute.v1.Operation - 1272, // 2411: google.cloud.compute.v1.Reservations.List:output_type -> google.cloud.compute.v1.ReservationList - 1131, // 2412: google.cloud.compute.v1.Reservations.Resize:output_type -> google.cloud.compute.v1.Operation - 1196, // 2413: google.cloud.compute.v1.Reservations.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2414: google.cloud.compute.v1.Reservations.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2415: google.cloud.compute.v1.Reservations.Update:output_type -> google.cloud.compute.v1.Operation - 1285, // 2416: google.cloud.compute.v1.ResourcePolicies.AggregatedList:output_type -> google.cloud.compute.v1.ResourcePolicyAggregatedList - 1131, // 2417: google.cloud.compute.v1.ResourcePolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 1284, // 2418: google.cloud.compute.v1.ResourcePolicies.Get:output_type -> google.cloud.compute.v1.ResourcePolicy - 1196, // 2419: google.cloud.compute.v1.ResourcePolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2420: google.cloud.compute.v1.ResourcePolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 1292, // 2421: google.cloud.compute.v1.ResourcePolicies.List:output_type -> google.cloud.compute.v1.ResourcePolicyList - 1131, // 2422: google.cloud.compute.v1.ResourcePolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1196, // 2423: google.cloud.compute.v1.ResourcePolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2424: google.cloud.compute.v1.ResourcePolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1308, // 2425: google.cloud.compute.v1.Routers.AggregatedList:output_type -> google.cloud.compute.v1.RouterAggregatedList - 1131, // 2426: google.cloud.compute.v1.Routers.Delete:output_type -> google.cloud.compute.v1.Operation - 1306, // 2427: google.cloud.compute.v1.Routers.Get:output_type -> google.cloud.compute.v1.Router - 1618, // 2428: google.cloud.compute.v1.Routers.GetNatMappingInfo:output_type -> google.cloud.compute.v1.VmEndpointNatMappingsList - 1325, // 2429: google.cloud.compute.v1.Routers.GetRouterStatus:output_type -> google.cloud.compute.v1.RouterStatusResponse - 1131, // 2430: google.cloud.compute.v1.Routers.Insert:output_type -> google.cloud.compute.v1.Operation - 1314, // 2431: google.cloud.compute.v1.Routers.List:output_type -> google.cloud.compute.v1.RouterList - 1131, // 2432: google.cloud.compute.v1.Routers.Patch:output_type -> google.cloud.compute.v1.Operation - 1326, // 2433: google.cloud.compute.v1.Routers.Preview:output_type -> google.cloud.compute.v1.RoutersPreviewResponse - 1131, // 2434: google.cloud.compute.v1.Routers.Update:output_type -> google.cloud.compute.v1.Operation - 1131, // 2435: google.cloud.compute.v1.Routes.Delete:output_type -> google.cloud.compute.v1.Operation - 1303, // 2436: google.cloud.compute.v1.Routes.Get:output_type -> google.cloud.compute.v1.Route - 1131, // 2437: google.cloud.compute.v1.Routes.Insert:output_type -> google.cloud.compute.v1.Operation - 1305, // 2438: google.cloud.compute.v1.Routes.List:output_type -> google.cloud.compute.v1.RouteList - 1131, // 2439: google.cloud.compute.v1.SecurityPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation - 1337, // 2440: google.cloud.compute.v1.SecurityPolicies.AggregatedList:output_type -> google.cloud.compute.v1.SecurityPoliciesAggregatedList - 1131, // 2441: google.cloud.compute.v1.SecurityPolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 1341, // 2442: google.cloud.compute.v1.SecurityPolicies.Get:output_type -> google.cloud.compute.v1.SecurityPolicy - 1350, // 2443: google.cloud.compute.v1.SecurityPolicies.GetRule:output_type -> google.cloud.compute.v1.SecurityPolicyRule - 1131, // 2444: google.cloud.compute.v1.SecurityPolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 1347, // 2445: google.cloud.compute.v1.SecurityPolicies.List:output_type -> google.cloud.compute.v1.SecurityPolicyList - 1338, // 2446: google.cloud.compute.v1.SecurityPolicies.ListPreconfiguredExpressionSets:output_type -> google.cloud.compute.v1.SecurityPoliciesListPreconfiguredExpressionSetsResponse - 1131, // 2447: google.cloud.compute.v1.SecurityPolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2448: google.cloud.compute.v1.SecurityPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 2449: google.cloud.compute.v1.SecurityPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation - 1131, // 2450: google.cloud.compute.v1.SecurityPolicies.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1369, // 2451: google.cloud.compute.v1.ServiceAttachments.AggregatedList:output_type -> google.cloud.compute.v1.ServiceAttachmentAggregatedList - 1131, // 2452: google.cloud.compute.v1.ServiceAttachments.Delete:output_type -> google.cloud.compute.v1.Operation - 1368, // 2453: google.cloud.compute.v1.ServiceAttachments.Get:output_type -> google.cloud.compute.v1.ServiceAttachment - 1196, // 2454: google.cloud.compute.v1.ServiceAttachments.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2455: google.cloud.compute.v1.ServiceAttachments.Insert:output_type -> google.cloud.compute.v1.Operation - 1372, // 2456: google.cloud.compute.v1.ServiceAttachments.List:output_type -> google.cloud.compute.v1.ServiceAttachmentList - 1131, // 2457: google.cloud.compute.v1.ServiceAttachments.Patch:output_type -> google.cloud.compute.v1.Operation - 1196, // 2458: google.cloud.compute.v1.ServiceAttachments.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1573, // 2459: google.cloud.compute.v1.ServiceAttachments.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2460: google.cloud.compute.v1.Snapshots.Delete:output_type -> google.cloud.compute.v1.Operation - 1463, // 2461: google.cloud.compute.v1.Snapshots.Get:output_type -> google.cloud.compute.v1.Snapshot - 1196, // 2462: google.cloud.compute.v1.Snapshots.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2463: google.cloud.compute.v1.Snapshots.Insert:output_type -> google.cloud.compute.v1.Operation - 1464, // 2464: google.cloud.compute.v1.Snapshots.List:output_type -> google.cloud.compute.v1.SnapshotList - 1196, // 2465: google.cloud.compute.v1.Snapshots.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2466: google.cloud.compute.v1.Snapshots.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1573, // 2467: google.cloud.compute.v1.Snapshots.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1469, // 2468: google.cloud.compute.v1.SslCertificates.AggregatedList:output_type -> google.cloud.compute.v1.SslCertificateAggregatedList - 1131, // 2469: google.cloud.compute.v1.SslCertificates.Delete:output_type -> google.cloud.compute.v1.Operation - 1468, // 2470: google.cloud.compute.v1.SslCertificates.Get:output_type -> google.cloud.compute.v1.SslCertificate - 1131, // 2471: google.cloud.compute.v1.SslCertificates.Insert:output_type -> google.cloud.compute.v1.Operation - 1470, // 2472: google.cloud.compute.v1.SslCertificates.List:output_type -> google.cloud.compute.v1.SslCertificateList - 1474, // 2473: google.cloud.compute.v1.SslPolicies.AggregatedList:output_type -> google.cloud.compute.v1.SslPoliciesAggregatedList - 1131, // 2474: google.cloud.compute.v1.SslPolicies.Delete:output_type -> google.cloud.compute.v1.Operation - 1478, // 2475: google.cloud.compute.v1.SslPolicies.Get:output_type -> google.cloud.compute.v1.SslPolicy - 1131, // 2476: google.cloud.compute.v1.SslPolicies.Insert:output_type -> google.cloud.compute.v1.Operation - 1475, // 2477: google.cloud.compute.v1.SslPolicies.List:output_type -> google.cloud.compute.v1.SslPoliciesList - 1476, // 2478: google.cloud.compute.v1.SslPolicies.ListAvailableFeatures:output_type -> google.cloud.compute.v1.SslPoliciesListAvailableFeaturesResponse - 1131, // 2479: google.cloud.compute.v1.SslPolicies.Patch:output_type -> google.cloud.compute.v1.Operation - 1493, // 2480: google.cloud.compute.v1.Subnetworks.AggregatedList:output_type -> google.cloud.compute.v1.SubnetworkAggregatedList - 1131, // 2481: google.cloud.compute.v1.Subnetworks.Delete:output_type -> google.cloud.compute.v1.Operation - 1131, // 2482: google.cloud.compute.v1.Subnetworks.ExpandIpCidrRange:output_type -> google.cloud.compute.v1.Operation - 1492, // 2483: google.cloud.compute.v1.Subnetworks.Get:output_type -> google.cloud.compute.v1.Subnetwork - 1196, // 2484: google.cloud.compute.v1.Subnetworks.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2485: google.cloud.compute.v1.Subnetworks.Insert:output_type -> google.cloud.compute.v1.Operation - 1494, // 2486: google.cloud.compute.v1.Subnetworks.List:output_type -> google.cloud.compute.v1.SubnetworkList - 1611, // 2487: google.cloud.compute.v1.Subnetworks.ListUsable:output_type -> google.cloud.compute.v1.UsableSubnetworksAggregatedList - 1131, // 2488: google.cloud.compute.v1.Subnetworks.Patch:output_type -> google.cloud.compute.v1.Operation - 1196, // 2489: google.cloud.compute.v1.Subnetworks.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy - 1131, // 2490: google.cloud.compute.v1.Subnetworks.SetPrivateIpGoogleAccess:output_type -> google.cloud.compute.v1.Operation - 1573, // 2491: google.cloud.compute.v1.Subnetworks.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1131, // 2492: google.cloud.compute.v1.TargetGrpcProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1505, // 2493: google.cloud.compute.v1.TargetGrpcProxies.Get:output_type -> google.cloud.compute.v1.TargetGrpcProxy - 1131, // 2494: google.cloud.compute.v1.TargetGrpcProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1506, // 2495: google.cloud.compute.v1.TargetGrpcProxies.List:output_type -> google.cloud.compute.v1.TargetGrpcProxyList - 1131, // 2496: google.cloud.compute.v1.TargetGrpcProxies.Patch:output_type -> google.cloud.compute.v1.Operation - 1509, // 2497: google.cloud.compute.v1.TargetHttpProxies.AggregatedList:output_type -> google.cloud.compute.v1.TargetHttpProxyAggregatedList - 1131, // 2498: google.cloud.compute.v1.TargetHttpProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1508, // 2499: google.cloud.compute.v1.TargetHttpProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpProxy - 1131, // 2500: google.cloud.compute.v1.TargetHttpProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1510, // 2501: google.cloud.compute.v1.TargetHttpProxies.List:output_type -> google.cloud.compute.v1.TargetHttpProxyList - 1131, // 2502: google.cloud.compute.v1.TargetHttpProxies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2503: google.cloud.compute.v1.TargetHttpProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation - 1516, // 2504: google.cloud.compute.v1.TargetHttpsProxies.AggregatedList:output_type -> google.cloud.compute.v1.TargetHttpsProxyAggregatedList - 1131, // 2505: google.cloud.compute.v1.TargetHttpsProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1515, // 2506: google.cloud.compute.v1.TargetHttpsProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpsProxy - 1131, // 2507: google.cloud.compute.v1.TargetHttpsProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1517, // 2508: google.cloud.compute.v1.TargetHttpsProxies.List:output_type -> google.cloud.compute.v1.TargetHttpsProxyList - 1131, // 2509: google.cloud.compute.v1.TargetHttpsProxies.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2510: google.cloud.compute.v1.TargetHttpsProxies.SetCertificateMap:output_type -> google.cloud.compute.v1.Operation - 1131, // 2511: google.cloud.compute.v1.TargetHttpsProxies.SetQuicOverride:output_type -> google.cloud.compute.v1.Operation - 1131, // 2512: google.cloud.compute.v1.TargetHttpsProxies.SetSslCertificates:output_type -> google.cloud.compute.v1.Operation - 1131, // 2513: google.cloud.compute.v1.TargetHttpsProxies.SetSslPolicy:output_type -> google.cloud.compute.v1.Operation - 1131, // 2514: google.cloud.compute.v1.TargetHttpsProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation - 1519, // 2515: google.cloud.compute.v1.TargetInstances.AggregatedList:output_type -> google.cloud.compute.v1.TargetInstanceAggregatedList - 1131, // 2516: google.cloud.compute.v1.TargetInstances.Delete:output_type -> google.cloud.compute.v1.Operation - 1518, // 2517: google.cloud.compute.v1.TargetInstances.Get:output_type -> google.cloud.compute.v1.TargetInstance - 1131, // 2518: google.cloud.compute.v1.TargetInstances.Insert:output_type -> google.cloud.compute.v1.Operation - 1520, // 2519: google.cloud.compute.v1.TargetInstances.List:output_type -> google.cloud.compute.v1.TargetInstanceList - 1131, // 2520: google.cloud.compute.v1.TargetPools.AddHealthCheck:output_type -> google.cloud.compute.v1.Operation - 1131, // 2521: google.cloud.compute.v1.TargetPools.AddInstance:output_type -> google.cloud.compute.v1.Operation - 1523, // 2522: google.cloud.compute.v1.TargetPools.AggregatedList:output_type -> google.cloud.compute.v1.TargetPoolAggregatedList - 1131, // 2523: google.cloud.compute.v1.TargetPools.Delete:output_type -> google.cloud.compute.v1.Operation - 1522, // 2524: google.cloud.compute.v1.TargetPools.Get:output_type -> google.cloud.compute.v1.TargetPool - 1524, // 2525: google.cloud.compute.v1.TargetPools.GetHealth:output_type -> google.cloud.compute.v1.TargetPoolInstanceHealth - 1131, // 2526: google.cloud.compute.v1.TargetPools.Insert:output_type -> google.cloud.compute.v1.Operation - 1525, // 2527: google.cloud.compute.v1.TargetPools.List:output_type -> google.cloud.compute.v1.TargetPoolList - 1131, // 2528: google.cloud.compute.v1.TargetPools.RemoveHealthCheck:output_type -> google.cloud.compute.v1.Operation - 1131, // 2529: google.cloud.compute.v1.TargetPools.RemoveInstance:output_type -> google.cloud.compute.v1.Operation - 1131, // 2530: google.cloud.compute.v1.TargetPools.SetBackup:output_type -> google.cloud.compute.v1.Operation - 1131, // 2531: google.cloud.compute.v1.TargetSslProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1536, // 2532: google.cloud.compute.v1.TargetSslProxies.Get:output_type -> google.cloud.compute.v1.TargetSslProxy - 1131, // 2533: google.cloud.compute.v1.TargetSslProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1537, // 2534: google.cloud.compute.v1.TargetSslProxies.List:output_type -> google.cloud.compute.v1.TargetSslProxyList - 1131, // 2535: google.cloud.compute.v1.TargetSslProxies.SetBackendService:output_type -> google.cloud.compute.v1.Operation - 1131, // 2536: google.cloud.compute.v1.TargetSslProxies.SetCertificateMap:output_type -> google.cloud.compute.v1.Operation - 1131, // 2537: google.cloud.compute.v1.TargetSslProxies.SetProxyHeader:output_type -> google.cloud.compute.v1.Operation - 1131, // 2538: google.cloud.compute.v1.TargetSslProxies.SetSslCertificates:output_type -> google.cloud.compute.v1.Operation - 1131, // 2539: google.cloud.compute.v1.TargetSslProxies.SetSslPolicy:output_type -> google.cloud.compute.v1.Operation - 1542, // 2540: google.cloud.compute.v1.TargetTcpProxies.AggregatedList:output_type -> google.cloud.compute.v1.TargetTcpProxyAggregatedList - 1131, // 2541: google.cloud.compute.v1.TargetTcpProxies.Delete:output_type -> google.cloud.compute.v1.Operation - 1541, // 2542: google.cloud.compute.v1.TargetTcpProxies.Get:output_type -> google.cloud.compute.v1.TargetTcpProxy - 1131, // 2543: google.cloud.compute.v1.TargetTcpProxies.Insert:output_type -> google.cloud.compute.v1.Operation - 1543, // 2544: google.cloud.compute.v1.TargetTcpProxies.List:output_type -> google.cloud.compute.v1.TargetTcpProxyList - 1131, // 2545: google.cloud.compute.v1.TargetTcpProxies.SetBackendService:output_type -> google.cloud.compute.v1.Operation - 1131, // 2546: google.cloud.compute.v1.TargetTcpProxies.SetProxyHeader:output_type -> google.cloud.compute.v1.Operation - 1545, // 2547: google.cloud.compute.v1.TargetVpnGateways.AggregatedList:output_type -> google.cloud.compute.v1.TargetVpnGatewayAggregatedList - 1131, // 2548: google.cloud.compute.v1.TargetVpnGateways.Delete:output_type -> google.cloud.compute.v1.Operation - 1544, // 2549: google.cloud.compute.v1.TargetVpnGateways.Get:output_type -> google.cloud.compute.v1.TargetVpnGateway - 1131, // 2550: google.cloud.compute.v1.TargetVpnGateways.Insert:output_type -> google.cloud.compute.v1.Operation - 1546, // 2551: google.cloud.compute.v1.TargetVpnGateways.List:output_type -> google.cloud.compute.v1.TargetVpnGatewayList - 1131, // 2552: google.cloud.compute.v1.TargetVpnGateways.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1604, // 2553: google.cloud.compute.v1.UrlMaps.AggregatedList:output_type -> google.cloud.compute.v1.UrlMapsAggregatedList - 1131, // 2554: google.cloud.compute.v1.UrlMaps.Delete:output_type -> google.cloud.compute.v1.Operation - 1598, // 2555: google.cloud.compute.v1.UrlMaps.Get:output_type -> google.cloud.compute.v1.UrlMap - 1131, // 2556: google.cloud.compute.v1.UrlMaps.Insert:output_type -> google.cloud.compute.v1.Operation - 1131, // 2557: google.cloud.compute.v1.UrlMaps.InvalidateCache:output_type -> google.cloud.compute.v1.Operation - 1599, // 2558: google.cloud.compute.v1.UrlMaps.List:output_type -> google.cloud.compute.v1.UrlMapList - 1131, // 2559: google.cloud.compute.v1.UrlMaps.Patch:output_type -> google.cloud.compute.v1.Operation - 1131, // 2560: google.cloud.compute.v1.UrlMaps.Update:output_type -> google.cloud.compute.v1.Operation - 1607, // 2561: google.cloud.compute.v1.UrlMaps.Validate:output_type -> google.cloud.compute.v1.UrlMapsValidateResponse - 1620, // 2562: google.cloud.compute.v1.VpnGateways.AggregatedList:output_type -> google.cloud.compute.v1.VpnGatewayAggregatedList - 1131, // 2563: google.cloud.compute.v1.VpnGateways.Delete:output_type -> google.cloud.compute.v1.Operation - 1619, // 2564: google.cloud.compute.v1.VpnGateways.Get:output_type -> google.cloud.compute.v1.VpnGateway - 1627, // 2565: google.cloud.compute.v1.VpnGateways.GetStatus:output_type -> google.cloud.compute.v1.VpnGatewaysGetStatusResponse - 1131, // 2566: google.cloud.compute.v1.VpnGateways.Insert:output_type -> google.cloud.compute.v1.Operation - 1621, // 2567: google.cloud.compute.v1.VpnGateways.List:output_type -> google.cloud.compute.v1.VpnGatewayList - 1131, // 2568: google.cloud.compute.v1.VpnGateways.SetLabels:output_type -> google.cloud.compute.v1.Operation - 1573, // 2569: google.cloud.compute.v1.VpnGateways.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse - 1630, // 2570: google.cloud.compute.v1.VpnTunnels.AggregatedList:output_type -> google.cloud.compute.v1.VpnTunnelAggregatedList - 1131, // 2571: google.cloud.compute.v1.VpnTunnels.Delete:output_type -> google.cloud.compute.v1.Operation - 1629, // 2572: google.cloud.compute.v1.VpnTunnels.Get:output_type -> google.cloud.compute.v1.VpnTunnel - 1131, // 2573: google.cloud.compute.v1.VpnTunnels.Insert:output_type -> google.cloud.compute.v1.Operation - 1631, // 2574: google.cloud.compute.v1.VpnTunnels.List:output_type -> google.cloud.compute.v1.VpnTunnelList - 1131, // 2575: google.cloud.compute.v1.VpnTunnels.SetLabels:output_type -> google.cloud.compute.v1.Operation - 527, // 2576: google.cloud.compute.v1.ZoneOperations.Delete:output_type -> google.cloud.compute.v1.DeleteZoneOperationResponse - 1131, // 2577: google.cloud.compute.v1.ZoneOperations.Get:output_type -> google.cloud.compute.v1.Operation - 1133, // 2578: google.cloud.compute.v1.ZoneOperations.List:output_type -> google.cloud.compute.v1.OperationList - 1131, // 2579: google.cloud.compute.v1.ZoneOperations.Wait:output_type -> google.cloud.compute.v1.Operation - 1643, // 2580: google.cloud.compute.v1.Zones.Get:output_type -> google.cloud.compute.v1.Zone - 1644, // 2581: google.cloud.compute.v1.Zones.List:output_type -> google.cloud.compute.v1.ZoneList - 1883, // [1883:2582] is the sub-list for method output_type - 1184, // [1184:1883] is the sub-list for method input_type - 1184, // [1184:1184] is the sub-list for extension type_name - 1184, // [1184:1184] is the sub-list for extension extendee - 0, // [0:1184] is the sub-list for field type_name + 892, // 0: google.cloud.compute.v1.AbandonInstancesInstanceGroupManagerRequest.instance_group_managers_abandon_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersAbandonInstancesRequest + 1285, // 1: google.cloud.compute.v1.AbandonInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_abandon_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersAbandonInstancesRequest + 556, // 2: google.cloud.compute.v1.AcceleratorType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus + 1723, // 3: google.cloud.compute.v1.AcceleratorTypeAggregatedList.items:type_name -> google.cloud.compute.v1.AcceleratorTypeAggregatedList.ItemsEntry + 1712, // 4: google.cloud.compute.v1.AcceleratorTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 305, // 5: google.cloud.compute.v1.AcceleratorTypeList.items:type_name -> google.cloud.compute.v1.AcceleratorType + 1712, // 6: google.cloud.compute.v1.AcceleratorTypeList.warning:type_name -> google.cloud.compute.v1.Warning + 305, // 7: google.cloud.compute.v1.AcceleratorTypesScopedList.accelerator_types:type_name -> google.cloud.compute.v1.AcceleratorType + 1712, // 8: google.cloud.compute.v1.AcceleratorTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 310, // 9: google.cloud.compute.v1.AddAccessConfigInstanceRequest.access_config_resource:type_name -> google.cloud.compute.v1.AccessConfig + 606, // 10: google.cloud.compute.v1.AddAssociationFirewallPolicyRequest.firewall_policy_association_resource:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation + 606, // 11: google.cloud.compute.v1.AddAssociationNetworkFirewallPolicyRequest.firewall_policy_association_resource:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation + 606, // 12: google.cloud.compute.v1.AddAssociationRegionNetworkFirewallPolicyRequest.firewall_policy_association_resource:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation + 1596, // 13: google.cloud.compute.v1.AddHealthCheckTargetPoolRequest.target_pools_add_health_check_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsAddHealthCheckRequest + 1597, // 14: google.cloud.compute.v1.AddInstanceTargetPoolRequest.target_pools_add_instance_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsAddInstanceRequest + 906, // 15: google.cloud.compute.v1.AddInstancesInstanceGroupRequest.instance_groups_add_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsAddInstancesRequest + 1159, // 16: google.cloud.compute.v1.AddNodesNodeGroupRequest.node_groups_add_nodes_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsAddNodesRequest + 1148, // 17: google.cloud.compute.v1.AddPeeringNetworkRequest.networks_add_peering_request_resource:type_name -> google.cloud.compute.v1.NetworksAddPeeringRequest + 577, // 18: google.cloud.compute.v1.AddResourcePoliciesDiskRequest.disks_add_resource_policies_request_resource:type_name -> google.cloud.compute.v1.DisksAddResourcePoliciesRequest + 926, // 19: google.cloud.compute.v1.AddResourcePoliciesInstanceRequest.instances_add_resource_policies_request_resource:type_name -> google.cloud.compute.v1.InstancesAddResourcePoliciesRequest + 1276, // 20: google.cloud.compute.v1.AddResourcePoliciesRegionDiskRequest.region_disks_add_resource_policies_request_resource:type_name -> google.cloud.compute.v1.RegionDisksAddResourcePoliciesRequest + 608, // 21: google.cloud.compute.v1.AddRuleFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 608, // 22: google.cloud.compute.v1.AddRuleNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 608, // 23: google.cloud.compute.v1.AddRuleRegionNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 1405, // 24: google.cloud.compute.v1.AddRuleRegionSecurityPolicyRequest.security_policy_rule_resource:type_name -> google.cloud.compute.v1.SecurityPolicyRule + 1405, // 25: google.cloud.compute.v1.AddRuleSecurityPolicyRequest.security_policy_rule_resource:type_name -> google.cloud.compute.v1.SecurityPolicyRule + 1525, // 26: google.cloud.compute.v1.AddSignedUrlKeyBackendBucketRequest.signed_url_key_resource:type_name -> google.cloud.compute.v1.SignedUrlKey + 1525, // 27: google.cloud.compute.v1.AddSignedUrlKeyBackendServiceRequest.signed_url_key_resource:type_name -> google.cloud.compute.v1.SignedUrlKey + 1724, // 28: google.cloud.compute.v1.Address.labels:type_name -> google.cloud.compute.v1.Address.LabelsEntry + 1725, // 29: google.cloud.compute.v1.AddressAggregatedList.items:type_name -> google.cloud.compute.v1.AddressAggregatedList.ItemsEntry + 1712, // 30: google.cloud.compute.v1.AddressAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 330, // 31: google.cloud.compute.v1.AddressList.items:type_name -> google.cloud.compute.v1.Address + 1712, // 32: google.cloud.compute.v1.AddressList.warning:type_name -> google.cloud.compute.v1.Warning + 330, // 33: google.cloud.compute.v1.AddressesScopedList.addresses:type_name -> google.cloud.compute.v1.Address + 1712, // 34: google.cloud.compute.v1.AddressesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 378, // 35: google.cloud.compute.v1.AllocationResourceStatus.specific_sku_allocation:type_name -> google.cloud.compute.v1.AllocationResourceStatusSpecificSKUAllocation + 304, // 36: google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig + 379, // 37: google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties.local_ssds:type_name -> google.cloud.compute.v1.AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk + 380, // 38: google.cloud.compute.v1.AllocationSpecificSKUReservation.instance_properties:type_name -> google.cloud.compute.v1.AllocationSpecificSKUAllocationReservedInstanceProperties + 893, // 39: google.cloud.compute.v1.ApplyUpdatesToInstancesInstanceGroupManagerRequest.instance_group_managers_apply_updates_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersApplyUpdatesRequest + 1286, // 40: google.cloud.compute.v1.ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_apply_updates_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersApplyUpdatesRequest + 391, // 41: google.cloud.compute.v1.AttachDiskInstanceRequest.attached_disk_resource:type_name -> google.cloud.compute.v1.AttachedDisk + 759, // 42: google.cloud.compute.v1.AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest.global_network_endpoint_groups_attach_endpoints_request_resource:type_name -> google.cloud.compute.v1.GlobalNetworkEndpointGroupsAttachEndpointsRequest + 1137, // 43: google.cloud.compute.v1.AttachNetworkEndpointsNetworkEndpointGroupRequest.network_endpoint_groups_attach_endpoints_request_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsAttachEndpointsRequest + 1299, // 44: google.cloud.compute.v1.AttachNetworkEndpointsRegionNetworkEndpointGroupRequest.region_network_endpoint_groups_attach_endpoints_request_resource:type_name -> google.cloud.compute.v1.RegionNetworkEndpointGroupsAttachEndpointsRequest + 464, // 45: google.cloud.compute.v1.AttachedDisk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 767, // 46: google.cloud.compute.v1.AttachedDisk.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature + 392, // 47: google.cloud.compute.v1.AttachedDisk.initialize_params:type_name -> google.cloud.compute.v1.AttachedDiskInitializeParams + 800, // 48: google.cloud.compute.v1.AttachedDisk.shielded_instance_initial_state:type_name -> google.cloud.compute.v1.InitialStateConfig + 1726, // 49: google.cloud.compute.v1.AttachedDiskInitializeParams.labels:type_name -> google.cloud.compute.v1.AttachedDiskInitializeParams.LabelsEntry + 1727, // 50: google.cloud.compute.v1.AttachedDiskInitializeParams.resource_manager_tags:type_name -> google.cloud.compute.v1.AttachedDiskInitializeParams.ResourceManagerTagsEntry + 464, // 51: google.cloud.compute.v1.AttachedDiskInitializeParams.source_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 464, // 52: google.cloud.compute.v1.AttachedDiskInitializeParams.source_snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 394, // 53: google.cloud.compute.v1.AuditConfig.audit_log_configs:type_name -> google.cloud.compute.v1.AuditLogConfig + 401, // 54: google.cloud.compute.v1.Autoscaler.autoscaling_policy:type_name -> google.cloud.compute.v1.AutoscalingPolicy + 1728, // 55: google.cloud.compute.v1.Autoscaler.scaling_schedule_status:type_name -> google.cloud.compute.v1.Autoscaler.ScalingScheduleStatusEntry + 399, // 56: google.cloud.compute.v1.Autoscaler.status_details:type_name -> google.cloud.compute.v1.AutoscalerStatusDetails + 1729, // 57: google.cloud.compute.v1.AutoscalerAggregatedList.items:type_name -> google.cloud.compute.v1.AutoscalerAggregatedList.ItemsEntry + 1712, // 58: google.cloud.compute.v1.AutoscalerAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 396, // 59: google.cloud.compute.v1.AutoscalerList.items:type_name -> google.cloud.compute.v1.Autoscaler + 1712, // 60: google.cloud.compute.v1.AutoscalerList.warning:type_name -> google.cloud.compute.v1.Warning + 396, // 61: google.cloud.compute.v1.AutoscalersScopedList.autoscalers:type_name -> google.cloud.compute.v1.Autoscaler + 1712, // 62: google.cloud.compute.v1.AutoscalersScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 402, // 63: google.cloud.compute.v1.AutoscalingPolicy.cpu_utilization:type_name -> google.cloud.compute.v1.AutoscalingPolicyCpuUtilization + 403, // 64: google.cloud.compute.v1.AutoscalingPolicy.custom_metric_utilizations:type_name -> google.cloud.compute.v1.AutoscalingPolicyCustomMetricUtilization + 404, // 65: google.cloud.compute.v1.AutoscalingPolicy.load_balancing_utilization:type_name -> google.cloud.compute.v1.AutoscalingPolicyLoadBalancingUtilization + 405, // 66: google.cloud.compute.v1.AutoscalingPolicy.scale_in_control:type_name -> google.cloud.compute.v1.AutoscalingPolicyScaleInControl + 1730, // 67: google.cloud.compute.v1.AutoscalingPolicy.scaling_schedules:type_name -> google.cloud.compute.v1.AutoscalingPolicy.ScalingSchedulesEntry + 612, // 68: google.cloud.compute.v1.AutoscalingPolicyScaleInControl.max_scaled_in_replicas:type_name -> google.cloud.compute.v1.FixedOrPercent + 409, // 69: google.cloud.compute.v1.BackendBucket.cdn_policy:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicy + 410, // 70: google.cloud.compute.v1.BackendBucketCdnPolicy.bypass_cache_on_request_headers:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicyBypassCacheOnRequestHeader + 411, // 71: google.cloud.compute.v1.BackendBucketCdnPolicy.cache_key_policy:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicyCacheKeyPolicy + 412, // 72: google.cloud.compute.v1.BackendBucketCdnPolicy.negative_caching_policy:type_name -> google.cloud.compute.v1.BackendBucketCdnPolicyNegativeCachingPolicy + 408, // 73: google.cloud.compute.v1.BackendBucketList.items:type_name -> google.cloud.compute.v1.BackendBucket + 1712, // 74: google.cloud.compute.v1.BackendBucketList.warning:type_name -> google.cloud.compute.v1.Warning + 407, // 75: google.cloud.compute.v1.BackendService.backends:type_name -> google.cloud.compute.v1.Backend + 416, // 76: google.cloud.compute.v1.BackendService.cdn_policy:type_name -> google.cloud.compute.v1.BackendServiceCdnPolicy + 446, // 77: google.cloud.compute.v1.BackendService.circuit_breakers:type_name -> google.cloud.compute.v1.CircuitBreakers + 456, // 78: google.cloud.compute.v1.BackendService.connection_draining:type_name -> google.cloud.compute.v1.ConnectionDraining + 419, // 79: google.cloud.compute.v1.BackendService.connection_tracking_policy:type_name -> google.cloud.compute.v1.BackendServiceConnectionTrackingPolicy + 457, // 80: google.cloud.compute.v1.BackendService.consistent_hash:type_name -> google.cloud.compute.v1.ConsistentHashLoadBalancerSettings + 420, // 81: google.cloud.compute.v1.BackendService.failover_policy:type_name -> google.cloud.compute.v1.BackendServiceFailoverPolicy + 422, // 82: google.cloud.compute.v1.BackendService.iap:type_name -> google.cloud.compute.v1.BackendServiceIAP + 425, // 83: google.cloud.compute.v1.BackendService.locality_lb_policies:type_name -> google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig + 428, // 84: google.cloud.compute.v1.BackendService.log_config:type_name -> google.cloud.compute.v1.BackendServiceLogConfig + 586, // 85: google.cloud.compute.v1.BackendService.max_stream_duration:type_name -> google.cloud.compute.v1.Duration + 1731, // 86: google.cloud.compute.v1.BackendService.metadatas:type_name -> google.cloud.compute.v1.BackendService.MetadatasEntry + 1181, // 87: google.cloud.compute.v1.BackendService.outlier_detection:type_name -> google.cloud.compute.v1.OutlierDetection + 1420, // 88: google.cloud.compute.v1.BackendService.security_settings:type_name -> google.cloud.compute.v1.SecuritySettings + 1570, // 89: google.cloud.compute.v1.BackendService.subsetting:type_name -> google.cloud.compute.v1.Subsetting + 430, // 90: google.cloud.compute.v1.BackendService.used_by:type_name -> google.cloud.compute.v1.BackendServiceUsedBy + 1732, // 91: google.cloud.compute.v1.BackendServiceAggregatedList.items:type_name -> google.cloud.compute.v1.BackendServiceAggregatedList.ItemsEntry + 1712, // 92: google.cloud.compute.v1.BackendServiceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 417, // 93: google.cloud.compute.v1.BackendServiceCdnPolicy.bypass_cache_on_request_headers:type_name -> google.cloud.compute.v1.BackendServiceCdnPolicyBypassCacheOnRequestHeader + 445, // 94: google.cloud.compute.v1.BackendServiceCdnPolicy.cache_key_policy:type_name -> google.cloud.compute.v1.CacheKeyPolicy + 418, // 95: google.cloud.compute.v1.BackendServiceCdnPolicy.negative_caching_policy:type_name -> google.cloud.compute.v1.BackendServiceCdnPolicyNegativeCachingPolicy + 1733, // 96: google.cloud.compute.v1.BackendServiceGroupHealth.annotations:type_name -> google.cloud.compute.v1.BackendServiceGroupHealth.AnnotationsEntry + 780, // 97: google.cloud.compute.v1.BackendServiceGroupHealth.health_status:type_name -> google.cloud.compute.v1.HealthStatus + 414, // 98: google.cloud.compute.v1.BackendServiceList.items:type_name -> google.cloud.compute.v1.BackendService + 1712, // 99: google.cloud.compute.v1.BackendServiceList.warning:type_name -> google.cloud.compute.v1.Warning + 414, // 100: google.cloud.compute.v1.BackendServiceListUsable.items:type_name -> google.cloud.compute.v1.BackendService + 1712, // 101: google.cloud.compute.v1.BackendServiceListUsable.warning:type_name -> google.cloud.compute.v1.Warning + 426, // 102: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig.custom_policy:type_name -> google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy + 427, // 103: google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfig.policy:type_name -> google.cloud.compute.v1.BackendServiceLocalityLoadBalancingPolicyConfigPolicy + 414, // 104: google.cloud.compute.v1.BackendServicesScopedList.backend_services:type_name -> google.cloud.compute.v1.BackendService + 1712, // 105: google.cloud.compute.v1.BackendServicesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 434, // 106: google.cloud.compute.v1.BfdStatus.control_packet_counts:type_name -> google.cloud.compute.v1.BfdStatusPacketCounts + 1182, // 107: google.cloud.compute.v1.BfdStatus.control_packet_intervals:type_name -> google.cloud.compute.v1.PacketIntervals + 432, // 108: google.cloud.compute.v1.BfdStatus.rx_packet:type_name -> google.cloud.compute.v1.BfdPacket + 432, // 109: google.cloud.compute.v1.BfdStatus.tx_packet:type_name -> google.cloud.compute.v1.BfdPacket + 596, // 110: google.cloud.compute.v1.Binding.condition:type_name -> google.cloud.compute.v1.Expr + 437, // 111: google.cloud.compute.v1.BulkInsertDiskRequest.bulk_insert_disk_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertDiskResource + 439, // 112: google.cloud.compute.v1.BulkInsertInstanceRequest.bulk_insert_instance_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertInstanceResource + 919, // 113: google.cloud.compute.v1.BulkInsertInstanceResource.instance_properties:type_name -> google.cloud.compute.v1.InstanceProperties + 1090, // 114: google.cloud.compute.v1.BulkInsertInstanceResource.location_policy:type_name -> google.cloud.compute.v1.LocationPolicy + 1734, // 115: google.cloud.compute.v1.BulkInsertInstanceResource.per_instance_properties:type_name -> google.cloud.compute.v1.BulkInsertInstanceResource.PerInstancePropertiesEntry + 437, // 116: google.cloud.compute.v1.BulkInsertRegionDiskRequest.bulk_insert_disk_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertDiskResource + 439, // 117: google.cloud.compute.v1.BulkInsertRegionInstanceRequest.bulk_insert_instance_resource_resource:type_name -> google.cloud.compute.v1.BulkInsertInstanceResource + 978, // 118: google.cloud.compute.v1.Commitment.license_resource:type_name -> google.cloud.compute.v1.LicenseResourceCommitment + 1323, // 119: google.cloud.compute.v1.Commitment.reservations:type_name -> google.cloud.compute.v1.Reservation + 1335, // 120: google.cloud.compute.v1.Commitment.resources:type_name -> google.cloud.compute.v1.ResourceCommitment + 1735, // 121: google.cloud.compute.v1.CommitmentAggregatedList.items:type_name -> google.cloud.compute.v1.CommitmentAggregatedList.ItemsEntry + 1712, // 122: google.cloud.compute.v1.CommitmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 450, // 123: google.cloud.compute.v1.CommitmentList.items:type_name -> google.cloud.compute.v1.Commitment + 1712, // 124: google.cloud.compute.v1.CommitmentList.warning:type_name -> google.cloud.compute.v1.Warning + 450, // 125: google.cloud.compute.v1.CommitmentsScopedList.commitments:type_name -> google.cloud.compute.v1.Commitment + 1712, // 126: google.cloud.compute.v1.CommitmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 458, // 127: google.cloud.compute.v1.ConsistentHashLoadBalancerSettings.http_cookie:type_name -> google.cloud.compute.v1.ConsistentHashLoadBalancerSettingsHttpCookie + 586, // 128: google.cloud.compute.v1.ConsistentHashLoadBalancerSettingsHttpCookie.ttl:type_name -> google.cloud.compute.v1.Duration + 894, // 129: google.cloud.compute.v1.CreateInstancesInstanceGroupManagerRequest.instance_group_managers_create_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersCreateInstancesRequest + 1287, // 130: google.cloud.compute.v1.CreateInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_create_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersCreateInstancesRequest + 1528, // 131: google.cloud.compute.v1.CreateSnapshotDiskRequest.snapshot_resource:type_name -> google.cloud.compute.v1.Snapshot + 1528, // 132: google.cloud.compute.v1.CreateSnapshotRegionDiskRequest.snapshot_resource:type_name -> google.cloud.compute.v1.Snapshot + 464, // 133: google.cloud.compute.v1.CustomerEncryptionKeyProtectedDisk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 895, // 134: google.cloud.compute.v1.DeleteInstancesInstanceGroupManagerRequest.instance_group_managers_delete_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersDeleteInstancesRequest + 1288, // 135: google.cloud.compute.v1.DeleteInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_delete_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersDeleteInstancesRequest + 1160, // 136: google.cloud.compute.v1.DeleteNodesNodeGroupRequest.node_groups_delete_nodes_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsDeleteNodesRequest + 896, // 137: google.cloud.compute.v1.DeletePerInstanceConfigsInstanceGroupManagerRequest.instance_group_managers_delete_per_instance_configs_req_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersDeletePerInstanceConfigsReq + 1281, // 138: google.cloud.compute.v1.DeletePerInstanceConfigsRegionInstanceGroupManagerRequest.region_instance_group_manager_delete_instance_config_req_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagerDeleteInstanceConfigReq + 556, // 139: google.cloud.compute.v1.DeprecateImageRequest.deprecation_status_resource:type_name -> google.cloud.compute.v1.DeprecationStatus + 760, // 140: google.cloud.compute.v1.DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest.global_network_endpoint_groups_detach_endpoints_request_resource:type_name -> google.cloud.compute.v1.GlobalNetworkEndpointGroupsDetachEndpointsRequest + 1138, // 141: google.cloud.compute.v1.DetachNetworkEndpointsNetworkEndpointGroupRequest.network_endpoint_groups_detach_endpoints_request_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsDetachEndpointsRequest + 1300, // 142: google.cloud.compute.v1.DetachNetworkEndpointsRegionNetworkEndpointGroupRequest.region_network_endpoint_groups_detach_endpoints_request_resource:type_name -> google.cloud.compute.v1.RegionNetworkEndpointGroupsDetachEndpointsRequest + 1253, // 143: google.cloud.compute.v1.DisableXpnResourceProjectRequest.projects_disable_xpn_resource_request_resource:type_name -> google.cloud.compute.v1.ProjectsDisableXpnResourceRequest + 565, // 144: google.cloud.compute.v1.Disk.async_primary_disk:type_name -> google.cloud.compute.v1.DiskAsyncReplication + 1736, // 145: google.cloud.compute.v1.Disk.async_secondary_disks:type_name -> google.cloud.compute.v1.Disk.AsyncSecondaryDisksEntry + 464, // 146: google.cloud.compute.v1.Disk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 767, // 147: google.cloud.compute.v1.Disk.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature + 1737, // 148: google.cloud.compute.v1.Disk.labels:type_name -> google.cloud.compute.v1.Disk.LabelsEntry + 570, // 149: google.cloud.compute.v1.Disk.params:type_name -> google.cloud.compute.v1.DiskParams + 571, // 150: google.cloud.compute.v1.Disk.resource_status:type_name -> google.cloud.compute.v1.DiskResourceStatus + 464, // 151: google.cloud.compute.v1.Disk.source_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 464, // 152: google.cloud.compute.v1.Disk.source_snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 1738, // 153: google.cloud.compute.v1.DiskAggregatedList.items:type_name -> google.cloud.compute.v1.DiskAggregatedList.ItemsEntry + 1712, // 154: google.cloud.compute.v1.DiskAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 565, // 155: google.cloud.compute.v1.DiskAsyncReplicationList.async_replication_disk:type_name -> google.cloud.compute.v1.DiskAsyncReplication + 563, // 156: google.cloud.compute.v1.DiskList.items:type_name -> google.cloud.compute.v1.Disk + 1712, // 157: google.cloud.compute.v1.DiskList.warning:type_name -> google.cloud.compute.v1.Warning + 1739, // 158: google.cloud.compute.v1.DiskParams.resource_manager_tags:type_name -> google.cloud.compute.v1.DiskParams.ResourceManagerTagsEntry + 572, // 159: google.cloud.compute.v1.DiskResourceStatus.async_primary_disk:type_name -> google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus + 1740, // 160: google.cloud.compute.v1.DiskResourceStatus.async_secondary_disks:type_name -> google.cloud.compute.v1.DiskResourceStatus.AsyncSecondaryDisksEntry + 556, // 161: google.cloud.compute.v1.DiskType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus + 1741, // 162: google.cloud.compute.v1.DiskTypeAggregatedList.items:type_name -> google.cloud.compute.v1.DiskTypeAggregatedList.ItemsEntry + 1712, // 163: google.cloud.compute.v1.DiskTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 573, // 164: google.cloud.compute.v1.DiskTypeList.items:type_name -> google.cloud.compute.v1.DiskType + 1712, // 165: google.cloud.compute.v1.DiskTypeList.warning:type_name -> google.cloud.compute.v1.Warning + 573, // 166: google.cloud.compute.v1.DiskTypesScopedList.disk_types:type_name -> google.cloud.compute.v1.DiskType + 1712, // 167: google.cloud.compute.v1.DiskTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 563, // 168: google.cloud.compute.v1.DisksScopedList.disks:type_name -> google.cloud.compute.v1.Disk + 1712, // 169: google.cloud.compute.v1.DisksScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 585, // 170: google.cloud.compute.v1.DistributionPolicy.zones:type_name -> google.cloud.compute.v1.DistributionPolicyZoneConfiguration + 1254, // 171: google.cloud.compute.v1.EnableXpnResourceProjectRequest.projects_enable_xpn_resource_request_resource:type_name -> google.cloud.compute.v1.ProjectsEnableXpnResourceRequest + 592, // 172: google.cloud.compute.v1.Error.errors:type_name -> google.cloud.compute.v1.Errors + 591, // 173: google.cloud.compute.v1.ErrorDetails.error_info:type_name -> google.cloud.compute.v1.ErrorInfo + 782, // 174: google.cloud.compute.v1.ErrorDetails.help:type_name -> google.cloud.compute.v1.Help + 1089, // 175: google.cloud.compute.v1.ErrorDetails.localized_message:type_name -> google.cloud.compute.v1.LocalizedMessage + 1267, // 176: google.cloud.compute.v1.ErrorDetails.quota_info:type_name -> google.cloud.compute.v1.QuotaExceededInfo + 1742, // 177: google.cloud.compute.v1.ErrorInfo.metadatas:type_name -> google.cloud.compute.v1.ErrorInfo.MetadatasEntry + 590, // 178: google.cloud.compute.v1.Errors.error_details:type_name -> google.cloud.compute.v1.ErrorDetails + 593, // 179: google.cloud.compute.v1.ExchangedPeeringRoutesList.items:type_name -> google.cloud.compute.v1.ExchangedPeeringRoute + 1712, // 180: google.cloud.compute.v1.ExchangedPeeringRoutesList.warning:type_name -> google.cloud.compute.v1.Warning + 1567, // 181: google.cloud.compute.v1.ExpandIpCidrRangeSubnetworkRequest.subnetworks_expand_ip_cidr_range_request_resource:type_name -> google.cloud.compute.v1.SubnetworksExpandIpCidrRangeRequest + 598, // 182: google.cloud.compute.v1.ExternalVpnGateway.interfaces:type_name -> google.cloud.compute.v1.ExternalVpnGatewayInterface + 1743, // 183: google.cloud.compute.v1.ExternalVpnGateway.labels:type_name -> google.cloud.compute.v1.ExternalVpnGateway.LabelsEntry + 597, // 184: google.cloud.compute.v1.ExternalVpnGatewayList.items:type_name -> google.cloud.compute.v1.ExternalVpnGateway + 1712, // 185: google.cloud.compute.v1.ExternalVpnGatewayList.warning:type_name -> google.cloud.compute.v1.Warning + 382, // 186: google.cloud.compute.v1.Firewall.allowed:type_name -> google.cloud.compute.v1.Allowed + 554, // 187: google.cloud.compute.v1.Firewall.denied:type_name -> google.cloud.compute.v1.Denied + 603, // 188: google.cloud.compute.v1.Firewall.log_config:type_name -> google.cloud.compute.v1.FirewallLogConfig + 601, // 189: google.cloud.compute.v1.FirewallList.items:type_name -> google.cloud.compute.v1.Firewall + 1712, // 190: google.cloud.compute.v1.FirewallList.warning:type_name -> google.cloud.compute.v1.Warning + 606, // 191: google.cloud.compute.v1.FirewallPoliciesListAssociationsResponse.associations:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation + 606, // 192: google.cloud.compute.v1.FirewallPolicy.associations:type_name -> google.cloud.compute.v1.FirewallPolicyAssociation + 608, // 193: google.cloud.compute.v1.FirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 605, // 194: google.cloud.compute.v1.FirewallPolicyList.items:type_name -> google.cloud.compute.v1.FirewallPolicy + 1712, // 195: google.cloud.compute.v1.FirewallPolicyList.warning:type_name -> google.cloud.compute.v1.Warning + 609, // 196: google.cloud.compute.v1.FirewallPolicyRule.match:type_name -> google.cloud.compute.v1.FirewallPolicyRuleMatcher + 611, // 197: google.cloud.compute.v1.FirewallPolicyRule.target_secure_tags:type_name -> google.cloud.compute.v1.FirewallPolicyRuleSecureTag + 610, // 198: google.cloud.compute.v1.FirewallPolicyRuleMatcher.layer4_configs:type_name -> google.cloud.compute.v1.FirewallPolicyRuleMatcherLayer4Config + 611, // 199: google.cloud.compute.v1.FirewallPolicyRuleMatcher.src_secure_tags:type_name -> google.cloud.compute.v1.FirewallPolicyRuleSecureTag + 1744, // 200: google.cloud.compute.v1.ForwardingRule.labels:type_name -> google.cloud.compute.v1.ForwardingRule.LabelsEntry + 1109, // 201: google.cloud.compute.v1.ForwardingRule.metadata_filters:type_name -> google.cloud.compute.v1.MetadataFilter + 617, // 202: google.cloud.compute.v1.ForwardingRule.service_directory_registrations:type_name -> google.cloud.compute.v1.ForwardingRuleServiceDirectoryRegistration + 1745, // 203: google.cloud.compute.v1.ForwardingRuleAggregatedList.items:type_name -> google.cloud.compute.v1.ForwardingRuleAggregatedList.ItemsEntry + 1712, // 204: google.cloud.compute.v1.ForwardingRuleAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 613, // 205: google.cloud.compute.v1.ForwardingRuleList.items:type_name -> google.cloud.compute.v1.ForwardingRule + 1712, // 206: google.cloud.compute.v1.ForwardingRuleList.warning:type_name -> google.cloud.compute.v1.Warning + 613, // 207: google.cloud.compute.v1.ForwardingRulesScopedList.forwarding_rules:type_name -> google.cloud.compute.v1.ForwardingRule + 1712, // 208: google.cloud.compute.v1.ForwardingRulesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1336, // 209: google.cloud.compute.v1.GetHealthBackendServiceRequest.resource_group_reference_resource:type_name -> google.cloud.compute.v1.ResourceGroupReference + 1336, // 210: google.cloud.compute.v1.GetHealthRegionBackendServiceRequest.resource_group_reference_resource:type_name -> google.cloud.compute.v1.ResourceGroupReference + 920, // 211: google.cloud.compute.v1.GetHealthTargetPoolRequest.instance_reference_resource:type_name -> google.cloud.compute.v1.InstanceReference + 1129, // 212: google.cloud.compute.v1.GlobalNetworkEndpointGroupsAttachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint + 1129, // 213: google.cloud.compute.v1.GlobalNetworkEndpointGroupsDetachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint + 435, // 214: google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding + 1245, // 215: google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy + 1746, // 216: google.cloud.compute.v1.GlobalSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest.LabelsEntry + 435, // 217: google.cloud.compute.v1.GlobalSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding + 1245, // 218: google.cloud.compute.v1.GlobalSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy + 766, // 219: google.cloud.compute.v1.GuestAttributes.query_value:type_name -> google.cloud.compute.v1.GuestAttributesValue + 765, // 220: google.cloud.compute.v1.GuestAttributesValue.items:type_name -> google.cloud.compute.v1.GuestAttributesEntry + 619, // 221: google.cloud.compute.v1.HealthCheck.grpc_health_check:type_name -> google.cloud.compute.v1.GRPCHealthCheck + 768, // 222: google.cloud.compute.v1.HealthCheck.http2_health_check:type_name -> google.cloud.compute.v1.HTTP2HealthCheck + 769, // 223: google.cloud.compute.v1.HealthCheck.http_health_check:type_name -> google.cloud.compute.v1.HTTPHealthCheck + 770, // 224: google.cloud.compute.v1.HealthCheck.https_health_check:type_name -> google.cloud.compute.v1.HTTPSHealthCheck + 773, // 225: google.cloud.compute.v1.HealthCheck.log_config:type_name -> google.cloud.compute.v1.HealthCheckLogConfig + 1383, // 226: google.cloud.compute.v1.HealthCheck.ssl_health_check:type_name -> google.cloud.compute.v1.SSLHealthCheck + 1573, // 227: google.cloud.compute.v1.HealthCheck.tcp_health_check:type_name -> google.cloud.compute.v1.TCPHealthCheck + 771, // 228: google.cloud.compute.v1.HealthCheckList.items:type_name -> google.cloud.compute.v1.HealthCheck + 1712, // 229: google.cloud.compute.v1.HealthCheckList.warning:type_name -> google.cloud.compute.v1.Warning + 775, // 230: google.cloud.compute.v1.HealthCheckServicesList.items:type_name -> google.cloud.compute.v1.HealthCheckService + 1712, // 231: google.cloud.compute.v1.HealthCheckServicesList.warning:type_name -> google.cloud.compute.v1.Warning + 1747, // 232: google.cloud.compute.v1.HealthChecksAggregatedList.items:type_name -> google.cloud.compute.v1.HealthChecksAggregatedList.ItemsEntry + 1712, // 233: google.cloud.compute.v1.HealthChecksAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 771, // 234: google.cloud.compute.v1.HealthChecksScopedList.health_checks:type_name -> google.cloud.compute.v1.HealthCheck + 1712, // 235: google.cloud.compute.v1.HealthChecksScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1748, // 236: google.cloud.compute.v1.HealthStatus.annotations:type_name -> google.cloud.compute.v1.HealthStatus.AnnotationsEntry + 429, // 237: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.backend_service:type_name -> google.cloud.compute.v1.BackendServiceReference + 616, // 238: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.forwarding_rule:type_name -> google.cloud.compute.v1.ForwardingRuleReference + 774, // 239: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.health_check:type_name -> google.cloud.compute.v1.HealthCheckReference + 776, // 240: google.cloud.compute.v1.HealthStatusForNetworkEndpoint.health_check_service:type_name -> google.cloud.compute.v1.HealthCheckServiceReference + 783, // 241: google.cloud.compute.v1.Help.links:type_name -> google.cloud.compute.v1.HelpLink + 586, // 242: google.cloud.compute.v1.HttpFaultDelay.fixed_delay:type_name -> google.cloud.compute.v1.Duration + 785, // 243: google.cloud.compute.v1.HttpFaultInjection.abort:type_name -> google.cloud.compute.v1.HttpFaultAbort + 786, // 244: google.cloud.compute.v1.HttpFaultInjection.delay:type_name -> google.cloud.compute.v1.HttpFaultDelay + 790, // 245: google.cloud.compute.v1.HttpHeaderAction.request_headers_to_add:type_name -> google.cloud.compute.v1.HttpHeaderOption + 790, // 246: google.cloud.compute.v1.HttpHeaderAction.response_headers_to_add:type_name -> google.cloud.compute.v1.HttpHeaderOption + 940, // 247: google.cloud.compute.v1.HttpHeaderMatch.range_match:type_name -> google.cloud.compute.v1.Int64RangeMatch + 586, // 248: google.cloud.compute.v1.HttpRetryPolicy.per_try_timeout:type_name -> google.cloud.compute.v1.Duration + 459, // 249: google.cloud.compute.v1.HttpRouteAction.cors_policy:type_name -> google.cloud.compute.v1.CorsPolicy + 787, // 250: google.cloud.compute.v1.HttpRouteAction.fault_injection_policy:type_name -> google.cloud.compute.v1.HttpFaultInjection + 586, // 251: google.cloud.compute.v1.HttpRouteAction.max_stream_duration:type_name -> google.cloud.compute.v1.Duration + 1322, // 252: google.cloud.compute.v1.HttpRouteAction.request_mirror_policy:type_name -> google.cloud.compute.v1.RequestMirrorPolicy + 793, // 253: google.cloud.compute.v1.HttpRouteAction.retry_policy:type_name -> google.cloud.compute.v1.HttpRetryPolicy + 586, // 254: google.cloud.compute.v1.HttpRouteAction.timeout:type_name -> google.cloud.compute.v1.Duration + 1682, // 255: google.cloud.compute.v1.HttpRouteAction.url_rewrite:type_name -> google.cloud.compute.v1.UrlRewrite + 1714, // 256: google.cloud.compute.v1.HttpRouteAction.weighted_backend_services:type_name -> google.cloud.compute.v1.WeightedBackendService + 788, // 257: google.cloud.compute.v1.HttpRouteRule.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction + 796, // 258: google.cloud.compute.v1.HttpRouteRule.match_rules:type_name -> google.cloud.compute.v1.HttpRouteRuleMatch + 794, // 259: google.cloud.compute.v1.HttpRouteRule.route_action:type_name -> google.cloud.compute.v1.HttpRouteAction + 792, // 260: google.cloud.compute.v1.HttpRouteRule.url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction + 789, // 261: google.cloud.compute.v1.HttpRouteRuleMatch.header_matches:type_name -> google.cloud.compute.v1.HttpHeaderMatch + 1109, // 262: google.cloud.compute.v1.HttpRouteRuleMatch.metadata_filters:type_name -> google.cloud.compute.v1.MetadataFilter + 791, // 263: google.cloud.compute.v1.HttpRouteRuleMatch.query_parameter_matches:type_name -> google.cloud.compute.v1.HttpQueryParameterMatch + 556, // 264: google.cloud.compute.v1.Image.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus + 767, // 265: google.cloud.compute.v1.Image.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature + 464, // 266: google.cloud.compute.v1.Image.image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 1749, // 267: google.cloud.compute.v1.Image.labels:type_name -> google.cloud.compute.v1.Image.LabelsEntry + 1268, // 268: google.cloud.compute.v1.Image.raw_disk:type_name -> google.cloud.compute.v1.RawDisk + 800, // 269: google.cloud.compute.v1.Image.shielded_instance_initial_state:type_name -> google.cloud.compute.v1.InitialStateConfig + 464, // 270: google.cloud.compute.v1.Image.source_disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 464, // 271: google.cloud.compute.v1.Image.source_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 464, // 272: google.cloud.compute.v1.Image.source_snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 797, // 273: google.cloud.compute.v1.ImageFamilyView.image:type_name -> google.cloud.compute.v1.Image + 797, // 274: google.cloud.compute.v1.ImageList.items:type_name -> google.cloud.compute.v1.Image + 1712, // 275: google.cloud.compute.v1.ImageList.warning:type_name -> google.cloud.compute.v1.Warning + 600, // 276: google.cloud.compute.v1.InitialStateConfig.dbs:type_name -> google.cloud.compute.v1.FileContentBuffer + 600, // 277: google.cloud.compute.v1.InitialStateConfig.dbxs:type_name -> google.cloud.compute.v1.FileContentBuffer + 600, // 278: google.cloud.compute.v1.InitialStateConfig.keks:type_name -> google.cloud.compute.v1.FileContentBuffer + 600, // 279: google.cloud.compute.v1.InitialStateConfig.pk:type_name -> google.cloud.compute.v1.FileContentBuffer + 330, // 280: google.cloud.compute.v1.InsertAddressRequest.address_resource:type_name -> google.cloud.compute.v1.Address + 396, // 281: google.cloud.compute.v1.InsertAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler + 408, // 282: google.cloud.compute.v1.InsertBackendBucketRequest.backend_bucket_resource:type_name -> google.cloud.compute.v1.BackendBucket + 414, // 283: google.cloud.compute.v1.InsertBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService + 563, // 284: google.cloud.compute.v1.InsertDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk + 597, // 285: google.cloud.compute.v1.InsertExternalVpnGatewayRequest.external_vpn_gateway_resource:type_name -> google.cloud.compute.v1.ExternalVpnGateway + 605, // 286: google.cloud.compute.v1.InsertFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy + 601, // 287: google.cloud.compute.v1.InsertFirewallRequest.firewall_resource:type_name -> google.cloud.compute.v1.Firewall + 613, // 288: google.cloud.compute.v1.InsertForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule + 330, // 289: google.cloud.compute.v1.InsertGlobalAddressRequest.address_resource:type_name -> google.cloud.compute.v1.Address + 613, // 290: google.cloud.compute.v1.InsertGlobalForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule + 1130, // 291: google.cloud.compute.v1.InsertGlobalNetworkEndpointGroupRequest.network_endpoint_group_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroup + 1261, // 292: google.cloud.compute.v1.InsertGlobalPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix + 771, // 293: google.cloud.compute.v1.InsertHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck + 797, // 294: google.cloud.compute.v1.InsertImageRequest.image_resource:type_name -> google.cloud.compute.v1.Image + 880, // 295: google.cloud.compute.v1.InsertInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager + 877, // 296: google.cloud.compute.v1.InsertInstanceGroupRequest.instance_group_resource:type_name -> google.cloud.compute.v1.InstanceGroup + 873, // 297: google.cloud.compute.v1.InsertInstanceRequest.instance_resource:type_name -> google.cloud.compute.v1.Instance + 921, // 298: google.cloud.compute.v1.InsertInstanceTemplateRequest.instance_template_resource:type_name -> google.cloud.compute.v1.InstanceTemplate + 942, // 299: google.cloud.compute.v1.InsertInterconnectAttachmentRequest.interconnect_attachment_resource:type_name -> google.cloud.compute.v1.InterconnectAttachment + 941, // 300: google.cloud.compute.v1.InsertInterconnectRequest.interconnect_resource:type_name -> google.cloud.compute.v1.Interconnect + 975, // 301: google.cloud.compute.v1.InsertLicenseRequest.license_resource:type_name -> google.cloud.compute.v1.License + 1098, // 302: google.cloud.compute.v1.InsertMachineImageRequest.machine_image_resource:type_name -> google.cloud.compute.v1.MachineImage + 1121, // 303: google.cloud.compute.v1.InsertNetworkAttachmentRequest.network_attachment_resource:type_name -> google.cloud.compute.v1.NetworkAttachment + 1126, // 304: google.cloud.compute.v1.InsertNetworkEdgeSecurityServiceRequest.network_edge_security_service_resource:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityService + 1130, // 305: google.cloud.compute.v1.InsertNetworkEndpointGroupRequest.network_endpoint_group_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroup + 605, // 306: google.cloud.compute.v1.InsertNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy + 1120, // 307: google.cloud.compute.v1.InsertNetworkRequest.network_resource:type_name -> google.cloud.compute.v1.Network + 1153, // 308: google.cloud.compute.v1.InsertNodeGroupRequest.node_group_resource:type_name -> google.cloud.compute.v1.NodeGroup + 1165, // 309: google.cloud.compute.v1.InsertNodeTemplateRequest.node_template_resource:type_name -> google.cloud.compute.v1.NodeTemplate + 1183, // 310: google.cloud.compute.v1.InsertPacketMirroringRequest.packet_mirroring_resource:type_name -> google.cloud.compute.v1.PacketMirroring + 1258, // 311: google.cloud.compute.v1.InsertPublicAdvertisedPrefixeRequest.public_advertised_prefix_resource:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefix + 1261, // 312: google.cloud.compute.v1.InsertPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix + 396, // 313: google.cloud.compute.v1.InsertRegionAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler + 414, // 314: google.cloud.compute.v1.InsertRegionBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService + 450, // 315: google.cloud.compute.v1.InsertRegionCommitmentRequest.commitment_resource:type_name -> google.cloud.compute.v1.Commitment + 563, // 316: google.cloud.compute.v1.InsertRegionDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk + 771, // 317: google.cloud.compute.v1.InsertRegionHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck + 775, // 318: google.cloud.compute.v1.InsertRegionHealthCheckServiceRequest.health_check_service_resource:type_name -> google.cloud.compute.v1.HealthCheckService + 880, // 319: google.cloud.compute.v1.InsertRegionInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager + 921, // 320: google.cloud.compute.v1.InsertRegionInstanceTemplateRequest.instance_template_resource:type_name -> google.cloud.compute.v1.InstanceTemplate + 1130, // 321: google.cloud.compute.v1.InsertRegionNetworkEndpointGroupRequest.network_endpoint_group_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroup + 605, // 322: google.cloud.compute.v1.InsertRegionNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy + 1174, // 323: google.cloud.compute.v1.InsertRegionNotificationEndpointRequest.notification_endpoint_resource:type_name -> google.cloud.compute.v1.NotificationEndpoint + 1395, // 324: google.cloud.compute.v1.InsertRegionSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy + 1536, // 325: google.cloud.compute.v1.InsertRegionSslCertificateRequest.ssl_certificate_resource:type_name -> google.cloud.compute.v1.SslCertificate + 1546, // 326: google.cloud.compute.v1.InsertRegionSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy + 1578, // 327: google.cloud.compute.v1.InsertRegionTargetHttpProxyRequest.target_http_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpProxy + 1585, // 328: google.cloud.compute.v1.InsertRegionTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy + 1611, // 329: google.cloud.compute.v1.InsertRegionTargetTcpProxyRequest.target_tcp_proxy_resource:type_name -> google.cloud.compute.v1.TargetTcpProxy + 1672, // 330: google.cloud.compute.v1.InsertRegionUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap + 1323, // 331: google.cloud.compute.v1.InsertReservationRequest.reservation_resource:type_name -> google.cloud.compute.v1.Reservation + 1338, // 332: google.cloud.compute.v1.InsertResourcePolicyRequest.resource_policy_resource:type_name -> google.cloud.compute.v1.ResourcePolicy + 1357, // 333: google.cloud.compute.v1.InsertRouteRequest.route_resource:type_name -> google.cloud.compute.v1.Route + 1360, // 334: google.cloud.compute.v1.InsertRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router + 1395, // 335: google.cloud.compute.v1.InsertSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy + 1426, // 336: google.cloud.compute.v1.InsertServiceAttachmentRequest.service_attachment_resource:type_name -> google.cloud.compute.v1.ServiceAttachment + 1528, // 337: google.cloud.compute.v1.InsertSnapshotRequest.snapshot_resource:type_name -> google.cloud.compute.v1.Snapshot + 1536, // 338: google.cloud.compute.v1.InsertSslCertificateRequest.ssl_certificate_resource:type_name -> google.cloud.compute.v1.SslCertificate + 1546, // 339: google.cloud.compute.v1.InsertSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy + 1562, // 340: google.cloud.compute.v1.InsertSubnetworkRequest.subnetwork_resource:type_name -> google.cloud.compute.v1.Subnetwork + 1575, // 341: google.cloud.compute.v1.InsertTargetGrpcProxyRequest.target_grpc_proxy_resource:type_name -> google.cloud.compute.v1.TargetGrpcProxy + 1578, // 342: google.cloud.compute.v1.InsertTargetHttpProxyRequest.target_http_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpProxy + 1585, // 343: google.cloud.compute.v1.InsertTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy + 1588, // 344: google.cloud.compute.v1.InsertTargetInstanceRequest.target_instance_resource:type_name -> google.cloud.compute.v1.TargetInstance + 1592, // 345: google.cloud.compute.v1.InsertTargetPoolRequest.target_pool_resource:type_name -> google.cloud.compute.v1.TargetPool + 1606, // 346: google.cloud.compute.v1.InsertTargetSslProxyRequest.target_ssl_proxy_resource:type_name -> google.cloud.compute.v1.TargetSslProxy + 1611, // 347: google.cloud.compute.v1.InsertTargetTcpProxyRequest.target_tcp_proxy_resource:type_name -> google.cloud.compute.v1.TargetTcpProxy + 1614, // 348: google.cloud.compute.v1.InsertTargetVpnGatewayRequest.target_vpn_gateway_resource:type_name -> google.cloud.compute.v1.TargetVpnGateway + 1672, // 349: google.cloud.compute.v1.InsertUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap + 1693, // 350: google.cloud.compute.v1.InsertVpnGatewayRequest.vpn_gateway_resource:type_name -> google.cloud.compute.v1.VpnGateway + 1703, // 351: google.cloud.compute.v1.InsertVpnTunnelRequest.vpn_tunnel_resource:type_name -> google.cloud.compute.v1.VpnTunnel + 334, // 352: google.cloud.compute.v1.Instance.advanced_machine_features:type_name -> google.cloud.compute.v1.AdvancedMachineFeatures + 455, // 353: google.cloud.compute.v1.Instance.confidential_instance_config:type_name -> google.cloud.compute.v1.ConfidentialInstanceConfig + 391, // 354: google.cloud.compute.v1.Instance.disks:type_name -> google.cloud.compute.v1.AttachedDisk + 583, // 355: google.cloud.compute.v1.Instance.display_device:type_name -> google.cloud.compute.v1.DisplayDevice + 304, // 356: google.cloud.compute.v1.Instance.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig + 464, // 357: google.cloud.compute.v1.Instance.instance_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 1750, // 358: google.cloud.compute.v1.Instance.labels:type_name -> google.cloud.compute.v1.Instance.LabelsEntry + 1108, // 359: google.cloud.compute.v1.Instance.metadata:type_name -> google.cloud.compute.v1.Metadata + 1143, // 360: google.cloud.compute.v1.Instance.network_interfaces:type_name -> google.cloud.compute.v1.NetworkInterface + 1146, // 361: google.cloud.compute.v1.Instance.network_performance_config:type_name -> google.cloud.compute.v1.NetworkPerformanceConfig + 918, // 362: google.cloud.compute.v1.Instance.params:type_name -> google.cloud.compute.v1.InstanceParams + 1324, // 363: google.cloud.compute.v1.Instance.reservation_affinity:type_name -> google.cloud.compute.v1.ReservationAffinity + 1355, // 364: google.cloud.compute.v1.Instance.resource_status:type_name -> google.cloud.compute.v1.ResourceStatus + 1387, // 365: google.cloud.compute.v1.Instance.scheduling:type_name -> google.cloud.compute.v1.Scheduling + 1425, // 366: google.cloud.compute.v1.Instance.service_accounts:type_name -> google.cloud.compute.v1.ServiceAccount + 1521, // 367: google.cloud.compute.v1.Instance.shielded_instance_config:type_name -> google.cloud.compute.v1.ShieldedInstanceConfig + 1524, // 368: google.cloud.compute.v1.Instance.shielded_instance_integrity_policy:type_name -> google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy + 464, // 369: google.cloud.compute.v1.Instance.source_machine_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 1574, // 370: google.cloud.compute.v1.Instance.tags:type_name -> google.cloud.compute.v1.Tags + 1751, // 371: google.cloud.compute.v1.InstanceAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceAggregatedList.ItemsEntry + 1712, // 372: google.cloud.compute.v1.InstanceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 876, // 373: google.cloud.compute.v1.InstanceConsumptionData.consumption_info:type_name -> google.cloud.compute.v1.InstanceConsumptionInfo + 1116, // 374: google.cloud.compute.v1.InstanceGroup.named_ports:type_name -> google.cloud.compute.v1.NamedPort + 1752, // 375: google.cloud.compute.v1.InstanceGroupAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceGroupAggregatedList.ItemsEntry + 1712, // 376: google.cloud.compute.v1.InstanceGroupAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 877, // 377: google.cloud.compute.v1.InstanceGroupList.items:type_name -> google.cloud.compute.v1.InstanceGroup + 1712, // 378: google.cloud.compute.v1.InstanceGroupList.warning:type_name -> google.cloud.compute.v1.Warning + 883, // 379: google.cloud.compute.v1.InstanceGroupManager.auto_healing_policies:type_name -> google.cloud.compute.v1.InstanceGroupManagerAutoHealingPolicy + 881, // 380: google.cloud.compute.v1.InstanceGroupManager.current_actions:type_name -> google.cloud.compute.v1.InstanceGroupManagerActionsSummary + 584, // 381: google.cloud.compute.v1.InstanceGroupManager.distribution_policy:type_name -> google.cloud.compute.v1.DistributionPolicy + 884, // 382: google.cloud.compute.v1.InstanceGroupManager.instance_lifecycle_policy:type_name -> google.cloud.compute.v1.InstanceGroupManagerInstanceLifecyclePolicy + 1116, // 383: google.cloud.compute.v1.InstanceGroupManager.named_ports:type_name -> google.cloud.compute.v1.NamedPort + 1552, // 384: google.cloud.compute.v1.InstanceGroupManager.stateful_policy:type_name -> google.cloud.compute.v1.StatefulPolicy + 886, // 385: google.cloud.compute.v1.InstanceGroupManager.status:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatus + 890, // 386: google.cloud.compute.v1.InstanceGroupManager.update_policy:type_name -> google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy + 891, // 387: google.cloud.compute.v1.InstanceGroupManager.versions:type_name -> google.cloud.compute.v1.InstanceGroupManagerVersion + 1753, // 388: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceGroupManagerAggregatedList.ItemsEntry + 1712, // 389: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 880, // 390: google.cloud.compute.v1.InstanceGroupManagerList.items:type_name -> google.cloud.compute.v1.InstanceGroupManager + 1712, // 391: google.cloud.compute.v1.InstanceGroupManagerList.warning:type_name -> google.cloud.compute.v1.Warning + 887, // 392: google.cloud.compute.v1.InstanceGroupManagerStatus.stateful:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatusStateful + 889, // 393: google.cloud.compute.v1.InstanceGroupManagerStatus.version_target:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatusVersionTarget + 888, // 394: google.cloud.compute.v1.InstanceGroupManagerStatusStateful.per_instance_configs:type_name -> google.cloud.compute.v1.InstanceGroupManagerStatusStatefulPerInstanceConfigs + 612, // 395: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.max_surge:type_name -> google.cloud.compute.v1.FixedOrPercent + 612, // 396: google.cloud.compute.v1.InstanceGroupManagerUpdatePolicy.max_unavailable:type_name -> google.cloud.compute.v1.FixedOrPercent + 612, // 397: google.cloud.compute.v1.InstanceGroupManagerVersion.target_size:type_name -> google.cloud.compute.v1.FixedOrPercent + 1244, // 398: google.cloud.compute.v1.InstanceGroupManagersCreateInstancesRequest.instances:type_name -> google.cloud.compute.v1.PerInstanceConfig + 914, // 399: google.cloud.compute.v1.InstanceGroupManagersListErrorsResponse.items:type_name -> google.cloud.compute.v1.InstanceManagedByIgmError + 1104, // 400: google.cloud.compute.v1.InstanceGroupManagersListManagedInstancesResponse.managed_instances:type_name -> google.cloud.compute.v1.ManagedInstance + 1244, // 401: google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp.items:type_name -> google.cloud.compute.v1.PerInstanceConfig + 1712, // 402: google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp.warning:type_name -> google.cloud.compute.v1.Warning + 1244, // 403: google.cloud.compute.v1.InstanceGroupManagersPatchPerInstanceConfigsReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig + 880, // 404: google.cloud.compute.v1.InstanceGroupManagersScopedList.instance_group_managers:type_name -> google.cloud.compute.v1.InstanceGroupManager + 1712, // 405: google.cloud.compute.v1.InstanceGroupManagersScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1244, // 406: google.cloud.compute.v1.InstanceGroupManagersUpdatePerInstanceConfigsReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig + 920, // 407: google.cloud.compute.v1.InstanceGroupsAddInstancesRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference + 925, // 408: google.cloud.compute.v1.InstanceGroupsListInstances.items:type_name -> google.cloud.compute.v1.InstanceWithNamedPorts + 1712, // 409: google.cloud.compute.v1.InstanceGroupsListInstances.warning:type_name -> google.cloud.compute.v1.Warning + 920, // 410: google.cloud.compute.v1.InstanceGroupsRemoveInstancesRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference + 877, // 411: google.cloud.compute.v1.InstanceGroupsScopedList.instance_groups:type_name -> google.cloud.compute.v1.InstanceGroup + 1712, // 412: google.cloud.compute.v1.InstanceGroupsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1116, // 413: google.cloud.compute.v1.InstanceGroupsSetNamedPortsRequest.named_ports:type_name -> google.cloud.compute.v1.NamedPort + 873, // 414: google.cloud.compute.v1.InstanceList.items:type_name -> google.cloud.compute.v1.Instance + 1712, // 415: google.cloud.compute.v1.InstanceList.warning:type_name -> google.cloud.compute.v1.Warning + 1271, // 416: google.cloud.compute.v1.InstanceListReferrers.items:type_name -> google.cloud.compute.v1.Reference + 1712, // 417: google.cloud.compute.v1.InstanceListReferrers.warning:type_name -> google.cloud.compute.v1.Warning + 916, // 418: google.cloud.compute.v1.InstanceManagedByIgmError.error:type_name -> google.cloud.compute.v1.InstanceManagedByIgmErrorManagedInstanceError + 915, // 419: google.cloud.compute.v1.InstanceManagedByIgmError.instance_action_details:type_name -> google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails + 1107, // 420: google.cloud.compute.v1.InstanceManagedByIgmErrorInstanceActionDetails.version:type_name -> google.cloud.compute.v1.ManagedInstanceVersion + 1754, // 421: google.cloud.compute.v1.InstanceParams.resource_manager_tags:type_name -> google.cloud.compute.v1.InstanceParams.ResourceManagerTagsEntry + 334, // 422: google.cloud.compute.v1.InstanceProperties.advanced_machine_features:type_name -> google.cloud.compute.v1.AdvancedMachineFeatures + 455, // 423: google.cloud.compute.v1.InstanceProperties.confidential_instance_config:type_name -> google.cloud.compute.v1.ConfidentialInstanceConfig + 391, // 424: google.cloud.compute.v1.InstanceProperties.disks:type_name -> google.cloud.compute.v1.AttachedDisk + 304, // 425: google.cloud.compute.v1.InstanceProperties.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig + 1755, // 426: google.cloud.compute.v1.InstanceProperties.labels:type_name -> google.cloud.compute.v1.InstanceProperties.LabelsEntry + 1108, // 427: google.cloud.compute.v1.InstanceProperties.metadata:type_name -> google.cloud.compute.v1.Metadata + 1143, // 428: google.cloud.compute.v1.InstanceProperties.network_interfaces:type_name -> google.cloud.compute.v1.NetworkInterface + 1146, // 429: google.cloud.compute.v1.InstanceProperties.network_performance_config:type_name -> google.cloud.compute.v1.NetworkPerformanceConfig + 1324, // 430: google.cloud.compute.v1.InstanceProperties.reservation_affinity:type_name -> google.cloud.compute.v1.ReservationAffinity + 1756, // 431: google.cloud.compute.v1.InstanceProperties.resource_manager_tags:type_name -> google.cloud.compute.v1.InstanceProperties.ResourceManagerTagsEntry + 1387, // 432: google.cloud.compute.v1.InstanceProperties.scheduling:type_name -> google.cloud.compute.v1.Scheduling + 1425, // 433: google.cloud.compute.v1.InstanceProperties.service_accounts:type_name -> google.cloud.compute.v1.ServiceAccount + 1521, // 434: google.cloud.compute.v1.InstanceProperties.shielded_instance_config:type_name -> google.cloud.compute.v1.ShieldedInstanceConfig + 1574, // 435: google.cloud.compute.v1.InstanceProperties.tags:type_name -> google.cloud.compute.v1.Tags + 919, // 436: google.cloud.compute.v1.InstanceTemplate.properties:type_name -> google.cloud.compute.v1.InstanceProperties + 1534, // 437: google.cloud.compute.v1.InstanceTemplate.source_instance_params:type_name -> google.cloud.compute.v1.SourceInstanceParams + 1757, // 438: google.cloud.compute.v1.InstanceTemplateAggregatedList.items:type_name -> google.cloud.compute.v1.InstanceTemplateAggregatedList.ItemsEntry + 1712, // 439: google.cloud.compute.v1.InstanceTemplateAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 921, // 440: google.cloud.compute.v1.InstanceTemplateList.items:type_name -> google.cloud.compute.v1.InstanceTemplate + 1712, // 441: google.cloud.compute.v1.InstanceTemplateList.warning:type_name -> google.cloud.compute.v1.Warning + 921, // 442: google.cloud.compute.v1.InstanceTemplatesScopedList.instance_templates:type_name -> google.cloud.compute.v1.InstanceTemplate + 1712, // 443: google.cloud.compute.v1.InstanceTemplatesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1116, // 444: google.cloud.compute.v1.InstanceWithNamedPorts.named_ports:type_name -> google.cloud.compute.v1.NamedPort + 1758, // 445: google.cloud.compute.v1.InstancesBulkInsertOperationMetadata.per_location_status:type_name -> google.cloud.compute.v1.InstancesBulkInsertOperationMetadata.PerLocationStatusEntry + 929, // 446: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse.firewall_policys:type_name -> google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy + 601, // 447: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse.firewalls:type_name -> google.cloud.compute.v1.Firewall + 608, // 448: google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 873, // 449: google.cloud.compute.v1.InstancesScopedList.instances:type_name -> google.cloud.compute.v1.Instance + 1712, // 450: google.cloud.compute.v1.InstancesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1759, // 451: google.cloud.compute.v1.InstancesSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.InstancesSetLabelsRequest.LabelsEntry + 304, // 452: google.cloud.compute.v1.InstancesSetMachineResourcesRequest.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig + 465, // 453: google.cloud.compute.v1.InstancesStartWithEncryptionKeyRequest.disks:type_name -> google.cloud.compute.v1.CustomerEncryptionKeyProtectedDisk + 950, // 454: google.cloud.compute.v1.Interconnect.circuit_infos:type_name -> google.cloud.compute.v1.InterconnectCircuitInfo + 965, // 455: google.cloud.compute.v1.Interconnect.expected_outages:type_name -> google.cloud.compute.v1.InterconnectOutageNotification + 1760, // 456: google.cloud.compute.v1.Interconnect.labels:type_name -> google.cloud.compute.v1.Interconnect.LabelsEntry + 961, // 457: google.cloud.compute.v1.Interconnect.macsec:type_name -> google.cloud.compute.v1.InterconnectMacsec + 944, // 458: google.cloud.compute.v1.InterconnectAttachment.configuration_constraints:type_name -> google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints + 1761, // 459: google.cloud.compute.v1.InterconnectAttachment.labels:type_name -> google.cloud.compute.v1.InterconnectAttachment.LabelsEntry + 947, // 460: google.cloud.compute.v1.InterconnectAttachment.partner_metadata:type_name -> google.cloud.compute.v1.InterconnectAttachmentPartnerMetadata + 948, // 461: google.cloud.compute.v1.InterconnectAttachment.private_interconnect_info:type_name -> google.cloud.compute.v1.InterconnectAttachmentPrivateInfo + 1762, // 462: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.items:type_name -> google.cloud.compute.v1.InterconnectAttachmentAggregatedList.ItemsEntry + 1712, // 463: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 945, // 464: google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints.bgp_peer_asn_ranges:type_name -> google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange + 942, // 465: google.cloud.compute.v1.InterconnectAttachmentList.items:type_name -> google.cloud.compute.v1.InterconnectAttachment + 1712, // 466: google.cloud.compute.v1.InterconnectAttachmentList.warning:type_name -> google.cloud.compute.v1.Warning + 942, // 467: google.cloud.compute.v1.InterconnectAttachmentsScopedList.interconnect_attachments:type_name -> google.cloud.compute.v1.InterconnectAttachment + 1712, // 468: google.cloud.compute.v1.InterconnectAttachmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 952, // 469: google.cloud.compute.v1.InterconnectDiagnostics.arp_caches:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsARPEntry + 955, // 470: google.cloud.compute.v1.InterconnectDiagnostics.links:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus + 952, // 471: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.arp_caches:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsARPEntry + 953, // 472: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.lacp_status:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkLACPStatus + 956, // 473: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.macsec:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsMacsecStatus + 954, // 474: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.receiving_optical_power:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower + 954, // 475: google.cloud.compute.v1.InterconnectDiagnosticsLinkStatus.transmitting_optical_power:type_name -> google.cloud.compute.v1.InterconnectDiagnosticsLinkOpticalPower + 941, // 476: google.cloud.compute.v1.InterconnectList.items:type_name -> google.cloud.compute.v1.Interconnect + 1712, // 477: google.cloud.compute.v1.InterconnectList.warning:type_name -> google.cloud.compute.v1.Warning + 960, // 478: google.cloud.compute.v1.InterconnectLocation.region_infos:type_name -> google.cloud.compute.v1.InterconnectLocationRegionInfo + 958, // 479: google.cloud.compute.v1.InterconnectLocationList.items:type_name -> google.cloud.compute.v1.InterconnectLocation + 1712, // 480: google.cloud.compute.v1.InterconnectLocationList.warning:type_name -> google.cloud.compute.v1.Warning + 964, // 481: google.cloud.compute.v1.InterconnectMacsec.pre_shared_keys:type_name -> google.cloud.compute.v1.InterconnectMacsecPreSharedKey + 963, // 482: google.cloud.compute.v1.InterconnectMacsecConfig.pre_shared_keys:type_name -> google.cloud.compute.v1.InterconnectMacsecConfigPreSharedKey + 944, // 483: google.cloud.compute.v1.InterconnectRemoteLocation.attachment_configuration_constraints:type_name -> google.cloud.compute.v1.InterconnectAttachmentConfigurationConstraints + 967, // 484: google.cloud.compute.v1.InterconnectRemoteLocation.constraints:type_name -> google.cloud.compute.v1.InterconnectRemoteLocationConstraints + 970, // 485: google.cloud.compute.v1.InterconnectRemoteLocation.permitted_connections:type_name -> google.cloud.compute.v1.InterconnectRemoteLocationPermittedConnections + 968, // 486: google.cloud.compute.v1.InterconnectRemoteLocationConstraints.subnet_length_range:type_name -> google.cloud.compute.v1.InterconnectRemoteLocationConstraintsSubnetLengthRange + 966, // 487: google.cloud.compute.v1.InterconnectRemoteLocationList.items:type_name -> google.cloud.compute.v1.InterconnectRemoteLocation + 1712, // 488: google.cloud.compute.v1.InterconnectRemoteLocationList.warning:type_name -> google.cloud.compute.v1.Warning + 951, // 489: google.cloud.compute.v1.InterconnectsGetDiagnosticsResponse.result:type_name -> google.cloud.compute.v1.InterconnectDiagnostics + 962, // 490: google.cloud.compute.v1.InterconnectsGetMacsecConfigResponse.result:type_name -> google.cloud.compute.v1.InterconnectMacsecConfig + 444, // 491: google.cloud.compute.v1.InvalidateCacheUrlMapRequest.cache_invalidation_rule_resource:type_name -> google.cloud.compute.v1.CacheInvalidationRule + 979, // 492: google.cloud.compute.v1.License.resource_requirements:type_name -> google.cloud.compute.v1.LicenseResourceRequirements + 977, // 493: google.cloud.compute.v1.LicenseCode.license_alias:type_name -> google.cloud.compute.v1.LicenseCodeLicenseAlias + 975, // 494: google.cloud.compute.v1.LicensesListResponse.items:type_name -> google.cloud.compute.v1.License + 1712, // 495: google.cloud.compute.v1.LicensesListResponse.warning:type_name -> google.cloud.compute.v1.Warning + 908, // 496: google.cloud.compute.v1.ListInstancesInstanceGroupsRequest.instance_groups_list_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsListInstancesRequest + 1296, // 497: google.cloud.compute.v1.ListInstancesRegionInstanceGroupsRequest.region_instance_groups_list_instances_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupsListInstancesRequest + 1139, // 498: google.cloud.compute.v1.ListNetworkEndpointsNetworkEndpointGroupsRequest.network_endpoint_groups_list_endpoints_request_resource:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsListEndpointsRequest + 1256, // 499: google.cloud.compute.v1.ListXpnHostsProjectsRequest.projects_list_xpn_hosts_request_resource:type_name -> google.cloud.compute.v1.ProjectsListXpnHostsRequest + 1763, // 500: google.cloud.compute.v1.LocationPolicy.locations:type_name -> google.cloud.compute.v1.LocationPolicy.LocationsEntry + 1092, // 501: google.cloud.compute.v1.LocationPolicyLocation.constraints:type_name -> google.cloud.compute.v1.LocationPolicyLocationConstraints + 1094, // 502: google.cloud.compute.v1.LogConfig.cloud_audit:type_name -> google.cloud.compute.v1.LogConfigCloudAuditOptions + 1095, // 503: google.cloud.compute.v1.LogConfig.counter:type_name -> google.cloud.compute.v1.LogConfigCounterOptions + 1097, // 504: google.cloud.compute.v1.LogConfig.data_access:type_name -> google.cloud.compute.v1.LogConfigDataAccessOptions + 395, // 505: google.cloud.compute.v1.LogConfigCloudAuditOptions.authorization_logging_options:type_name -> google.cloud.compute.v1.AuthorizationLoggingOptions + 1096, // 506: google.cloud.compute.v1.LogConfigCounterOptions.custom_fields:type_name -> google.cloud.compute.v1.LogConfigCounterOptionsCustomField + 919, // 507: google.cloud.compute.v1.MachineImage.instance_properties:type_name -> google.cloud.compute.v1.InstanceProperties + 464, // 508: google.cloud.compute.v1.MachineImage.machine_image_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 1385, // 509: google.cloud.compute.v1.MachineImage.saved_disks:type_name -> google.cloud.compute.v1.SavedDisk + 1533, // 510: google.cloud.compute.v1.MachineImage.source_disk_encryption_keys:type_name -> google.cloud.compute.v1.SourceDiskEncryptionKey + 1535, // 511: google.cloud.compute.v1.MachineImage.source_instance_properties:type_name -> google.cloud.compute.v1.SourceInstanceProperties + 1098, // 512: google.cloud.compute.v1.MachineImageList.items:type_name -> google.cloud.compute.v1.MachineImage + 1712, // 513: google.cloud.compute.v1.MachineImageList.warning:type_name -> google.cloud.compute.v1.Warning + 309, // 514: google.cloud.compute.v1.MachineType.accelerators:type_name -> google.cloud.compute.v1.Accelerators + 556, // 515: google.cloud.compute.v1.MachineType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus + 1389, // 516: google.cloud.compute.v1.MachineType.scratch_disks:type_name -> google.cloud.compute.v1.ScratchDisks + 1764, // 517: google.cloud.compute.v1.MachineTypeAggregatedList.items:type_name -> google.cloud.compute.v1.MachineTypeAggregatedList.ItemsEntry + 1712, // 518: google.cloud.compute.v1.MachineTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1100, // 519: google.cloud.compute.v1.MachineTypeList.items:type_name -> google.cloud.compute.v1.MachineType + 1712, // 520: google.cloud.compute.v1.MachineTypeList.warning:type_name -> google.cloud.compute.v1.Warning + 1100, // 521: google.cloud.compute.v1.MachineTypesScopedList.machine_types:type_name -> google.cloud.compute.v1.MachineType + 1712, // 522: google.cloud.compute.v1.MachineTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1105, // 523: google.cloud.compute.v1.ManagedInstance.instance_health:type_name -> google.cloud.compute.v1.ManagedInstanceInstanceHealth + 1106, // 524: google.cloud.compute.v1.ManagedInstance.last_attempt:type_name -> google.cloud.compute.v1.ManagedInstanceLastAttempt + 1247, // 525: google.cloud.compute.v1.ManagedInstance.preserved_state_from_config:type_name -> google.cloud.compute.v1.PreservedState + 1247, // 526: google.cloud.compute.v1.ManagedInstance.preserved_state_from_policy:type_name -> google.cloud.compute.v1.PreservedState + 1107, // 527: google.cloud.compute.v1.ManagedInstance.version:type_name -> google.cloud.compute.v1.ManagedInstanceVersion + 592, // 528: google.cloud.compute.v1.ManagedInstanceLastAttempt.errors:type_name -> google.cloud.compute.v1.Errors + 974, // 529: google.cloud.compute.v1.Metadata.items:type_name -> google.cloud.compute.v1.Items + 1110, // 530: google.cloud.compute.v1.MetadataFilter.filter_labels:type_name -> google.cloud.compute.v1.MetadataFilterLabelMatch + 1273, // 531: google.cloud.compute.v1.MoveAddressRequest.region_addresses_move_request_resource:type_name -> google.cloud.compute.v1.RegionAddressesMoveRequest + 569, // 532: google.cloud.compute.v1.MoveDiskProjectRequest.disk_move_request_resource:type_name -> google.cloud.compute.v1.DiskMoveRequest + 758, // 533: google.cloud.compute.v1.MoveGlobalAddressRequest.global_addresses_move_request_resource:type_name -> google.cloud.compute.v1.GlobalAddressesMoveRequest + 917, // 534: google.cloud.compute.v1.MoveInstanceProjectRequest.instance_move_request_resource:type_name -> google.cloud.compute.v1.InstanceMoveRequest + 1118, // 535: google.cloud.compute.v1.NatIpInfo.nat_ip_info_mappings:type_name -> google.cloud.compute.v1.NatIpInfoNatIpInfoMapping + 1117, // 536: google.cloud.compute.v1.NatIpInfoResponse.result:type_name -> google.cloud.compute.v1.NatIpInfo + 1145, // 537: google.cloud.compute.v1.Network.peerings:type_name -> google.cloud.compute.v1.NetworkPeering + 1147, // 538: google.cloud.compute.v1.Network.routing_config:type_name -> google.cloud.compute.v1.NetworkRoutingConfig + 1123, // 539: google.cloud.compute.v1.NetworkAttachment.connection_endpoints:type_name -> google.cloud.compute.v1.NetworkAttachmentConnectedEndpoint + 1765, // 540: google.cloud.compute.v1.NetworkAttachmentAggregatedList.items:type_name -> google.cloud.compute.v1.NetworkAttachmentAggregatedList.ItemsEntry + 1712, // 541: google.cloud.compute.v1.NetworkAttachmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1121, // 542: google.cloud.compute.v1.NetworkAttachmentList.items:type_name -> google.cloud.compute.v1.NetworkAttachment + 1712, // 543: google.cloud.compute.v1.NetworkAttachmentList.warning:type_name -> google.cloud.compute.v1.Warning + 1121, // 544: google.cloud.compute.v1.NetworkAttachmentsScopedList.network_attachments:type_name -> google.cloud.compute.v1.NetworkAttachment + 1712, // 545: google.cloud.compute.v1.NetworkAttachmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1766, // 546: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.items:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.ItemsEntry + 1712, // 547: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1126, // 548: google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList.network_edge_security_services:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityService + 1712, // 549: google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1767, // 550: google.cloud.compute.v1.NetworkEndpoint.annotations:type_name -> google.cloud.compute.v1.NetworkEndpoint.AnnotationsEntry + 1768, // 551: google.cloud.compute.v1.NetworkEndpointGroup.annotations:type_name -> google.cloud.compute.v1.NetworkEndpointGroup.AnnotationsEntry + 1132, // 552: google.cloud.compute.v1.NetworkEndpointGroup.app_engine:type_name -> google.cloud.compute.v1.NetworkEndpointGroupAppEngine + 1133, // 553: google.cloud.compute.v1.NetworkEndpointGroup.cloud_function:type_name -> google.cloud.compute.v1.NetworkEndpointGroupCloudFunction + 1134, // 554: google.cloud.compute.v1.NetworkEndpointGroup.cloud_run:type_name -> google.cloud.compute.v1.NetworkEndpointGroupCloudRun + 1136, // 555: google.cloud.compute.v1.NetworkEndpointGroup.psc_data:type_name -> google.cloud.compute.v1.NetworkEndpointGroupPscData + 1769, // 556: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.items:type_name -> google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.ItemsEntry + 1712, // 557: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1130, // 558: google.cloud.compute.v1.NetworkEndpointGroupList.items:type_name -> google.cloud.compute.v1.NetworkEndpointGroup + 1712, // 559: google.cloud.compute.v1.NetworkEndpointGroupList.warning:type_name -> google.cloud.compute.v1.Warning + 1129, // 560: google.cloud.compute.v1.NetworkEndpointGroupsAttachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint + 1129, // 561: google.cloud.compute.v1.NetworkEndpointGroupsDetachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint + 1142, // 562: google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints.items:type_name -> google.cloud.compute.v1.NetworkEndpointWithHealthStatus + 1712, // 563: google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints.warning:type_name -> google.cloud.compute.v1.Warning + 1130, // 564: google.cloud.compute.v1.NetworkEndpointGroupsScopedList.network_endpoint_groups:type_name -> google.cloud.compute.v1.NetworkEndpointGroup + 1712, // 565: google.cloud.compute.v1.NetworkEndpointGroupsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 781, // 566: google.cloud.compute.v1.NetworkEndpointWithHealthStatus.healths:type_name -> google.cloud.compute.v1.HealthStatusForNetworkEndpoint + 1129, // 567: google.cloud.compute.v1.NetworkEndpointWithHealthStatus.network_endpoint:type_name -> google.cloud.compute.v1.NetworkEndpoint + 310, // 568: google.cloud.compute.v1.NetworkInterface.access_configs:type_name -> google.cloud.compute.v1.AccessConfig + 376, // 569: google.cloud.compute.v1.NetworkInterface.alias_ip_ranges:type_name -> google.cloud.compute.v1.AliasIpRange + 310, // 570: google.cloud.compute.v1.NetworkInterface.ipv6_access_configs:type_name -> google.cloud.compute.v1.AccessConfig + 1120, // 571: google.cloud.compute.v1.NetworkList.items:type_name -> google.cloud.compute.v1.Network + 1712, // 572: google.cloud.compute.v1.NetworkList.warning:type_name -> google.cloud.compute.v1.Warning + 1145, // 573: google.cloud.compute.v1.NetworksAddPeeringRequest.network_peering:type_name -> google.cloud.compute.v1.NetworkPeering + 1150, // 574: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse.firewall_policys:type_name -> google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy + 601, // 575: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse.firewalls:type_name -> google.cloud.compute.v1.Firewall + 608, // 576: google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 1145, // 577: google.cloud.compute.v1.NetworksUpdatePeeringRequest.network_peering:type_name -> google.cloud.compute.v1.NetworkPeering + 1155, // 578: google.cloud.compute.v1.NodeGroup.autoscaling_policy:type_name -> google.cloud.compute.v1.NodeGroupAutoscalingPolicy + 1157, // 579: google.cloud.compute.v1.NodeGroup.maintenance_window:type_name -> google.cloud.compute.v1.NodeGroupMaintenanceWindow + 1519, // 580: google.cloud.compute.v1.NodeGroup.share_settings:type_name -> google.cloud.compute.v1.ShareSettings + 1770, // 581: google.cloud.compute.v1.NodeGroupAggregatedList.items:type_name -> google.cloud.compute.v1.NodeGroupAggregatedList.ItemsEntry + 1712, // 582: google.cloud.compute.v1.NodeGroupAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1153, // 583: google.cloud.compute.v1.NodeGroupList.items:type_name -> google.cloud.compute.v1.NodeGroup + 1712, // 584: google.cloud.compute.v1.NodeGroupList.warning:type_name -> google.cloud.compute.v1.Warning + 586, // 585: google.cloud.compute.v1.NodeGroupMaintenanceWindow.maintenance_duration:type_name -> google.cloud.compute.v1.Duration + 304, // 586: google.cloud.compute.v1.NodeGroupNode.accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig + 876, // 587: google.cloud.compute.v1.NodeGroupNode.consumed_resources:type_name -> google.cloud.compute.v1.InstanceConsumptionInfo + 1088, // 588: google.cloud.compute.v1.NodeGroupNode.disks:type_name -> google.cloud.compute.v1.LocalDisk + 875, // 589: google.cloud.compute.v1.NodeGroupNode.instance_consumption_data:type_name -> google.cloud.compute.v1.InstanceConsumptionData + 1424, // 590: google.cloud.compute.v1.NodeGroupNode.server_binding:type_name -> google.cloud.compute.v1.ServerBinding + 876, // 591: google.cloud.compute.v1.NodeGroupNode.total_resources:type_name -> google.cloud.compute.v1.InstanceConsumptionInfo + 1158, // 592: google.cloud.compute.v1.NodeGroupsListNodes.items:type_name -> google.cloud.compute.v1.NodeGroupNode + 1712, // 593: google.cloud.compute.v1.NodeGroupsListNodes.warning:type_name -> google.cloud.compute.v1.Warning + 1153, // 594: google.cloud.compute.v1.NodeGroupsScopedList.node_groups:type_name -> google.cloud.compute.v1.NodeGroup + 1712, // 595: google.cloud.compute.v1.NodeGroupsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 304, // 596: google.cloud.compute.v1.NodeTemplate.accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig + 1088, // 597: google.cloud.compute.v1.NodeTemplate.disks:type_name -> google.cloud.compute.v1.LocalDisk + 1771, // 598: google.cloud.compute.v1.NodeTemplate.node_affinity_labels:type_name -> google.cloud.compute.v1.NodeTemplate.NodeAffinityLabelsEntry + 1168, // 599: google.cloud.compute.v1.NodeTemplate.node_type_flexibility:type_name -> google.cloud.compute.v1.NodeTemplateNodeTypeFlexibility + 1424, // 600: google.cloud.compute.v1.NodeTemplate.server_binding:type_name -> google.cloud.compute.v1.ServerBinding + 1772, // 601: google.cloud.compute.v1.NodeTemplateAggregatedList.items:type_name -> google.cloud.compute.v1.NodeTemplateAggregatedList.ItemsEntry + 1712, // 602: google.cloud.compute.v1.NodeTemplateAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1165, // 603: google.cloud.compute.v1.NodeTemplateList.items:type_name -> google.cloud.compute.v1.NodeTemplate + 1712, // 604: google.cloud.compute.v1.NodeTemplateList.warning:type_name -> google.cloud.compute.v1.Warning + 1165, // 605: google.cloud.compute.v1.NodeTemplatesScopedList.node_templates:type_name -> google.cloud.compute.v1.NodeTemplate + 1712, // 606: google.cloud.compute.v1.NodeTemplatesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 556, // 607: google.cloud.compute.v1.NodeType.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus + 1773, // 608: google.cloud.compute.v1.NodeTypeAggregatedList.items:type_name -> google.cloud.compute.v1.NodeTypeAggregatedList.ItemsEntry + 1712, // 609: google.cloud.compute.v1.NodeTypeAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1170, // 610: google.cloud.compute.v1.NodeTypeList.items:type_name -> google.cloud.compute.v1.NodeType + 1712, // 611: google.cloud.compute.v1.NodeTypeList.warning:type_name -> google.cloud.compute.v1.Warning + 1170, // 612: google.cloud.compute.v1.NodeTypesScopedList.node_types:type_name -> google.cloud.compute.v1.NodeType + 1712, // 613: google.cloud.compute.v1.NodeTypesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1175, // 614: google.cloud.compute.v1.NotificationEndpoint.grpc_settings:type_name -> google.cloud.compute.v1.NotificationEndpointGrpcSettings + 586, // 615: google.cloud.compute.v1.NotificationEndpointGrpcSettings.resend_interval:type_name -> google.cloud.compute.v1.Duration + 1174, // 616: google.cloud.compute.v1.NotificationEndpointList.items:type_name -> google.cloud.compute.v1.NotificationEndpoint + 1712, // 617: google.cloud.compute.v1.NotificationEndpointList.warning:type_name -> google.cloud.compute.v1.Warning + 589, // 618: google.cloud.compute.v1.Operation.error:type_name -> google.cloud.compute.v1.Error + 927, // 619: google.cloud.compute.v1.Operation.instances_bulk_insert_operation_metadata:type_name -> google.cloud.compute.v1.InstancesBulkInsertOperationMetadata + 1437, // 620: google.cloud.compute.v1.Operation.set_common_instance_metadata_operation_metadata:type_name -> google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadata + 168, // 621: google.cloud.compute.v1.Operation.status:type_name -> google.cloud.compute.v1.Operation.Status + 1713, // 622: google.cloud.compute.v1.Operation.warnings:type_name -> google.cloud.compute.v1.Warnings + 1774, // 623: google.cloud.compute.v1.OperationAggregatedList.items:type_name -> google.cloud.compute.v1.OperationAggregatedList.ItemsEntry + 1712, // 624: google.cloud.compute.v1.OperationAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1177, // 625: google.cloud.compute.v1.OperationList.items:type_name -> google.cloud.compute.v1.Operation + 1712, // 626: google.cloud.compute.v1.OperationList.warning:type_name -> google.cloud.compute.v1.Warning + 1177, // 627: google.cloud.compute.v1.OperationsScopedList.operations:type_name -> google.cloud.compute.v1.Operation + 1712, // 628: google.cloud.compute.v1.OperationsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 586, // 629: google.cloud.compute.v1.OutlierDetection.base_ejection_time:type_name -> google.cloud.compute.v1.Duration + 586, // 630: google.cloud.compute.v1.OutlierDetection.interval:type_name -> google.cloud.compute.v1.Duration + 1186, // 631: google.cloud.compute.v1.PacketMirroring.collector_ilb:type_name -> google.cloud.compute.v1.PacketMirroringForwardingRuleInfo + 1185, // 632: google.cloud.compute.v1.PacketMirroring.filter:type_name -> google.cloud.compute.v1.PacketMirroringFilter + 1188, // 633: google.cloud.compute.v1.PacketMirroring.mirrored_resources:type_name -> google.cloud.compute.v1.PacketMirroringMirroredResourceInfo + 1191, // 634: google.cloud.compute.v1.PacketMirroring.network:type_name -> google.cloud.compute.v1.PacketMirroringNetworkInfo + 1775, // 635: google.cloud.compute.v1.PacketMirroringAggregatedList.items:type_name -> google.cloud.compute.v1.PacketMirroringAggregatedList.ItemsEntry + 1712, // 636: google.cloud.compute.v1.PacketMirroringAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1183, // 637: google.cloud.compute.v1.PacketMirroringList.items:type_name -> google.cloud.compute.v1.PacketMirroring + 1712, // 638: google.cloud.compute.v1.PacketMirroringList.warning:type_name -> google.cloud.compute.v1.Warning + 1189, // 639: google.cloud.compute.v1.PacketMirroringMirroredResourceInfo.instances:type_name -> google.cloud.compute.v1.PacketMirroringMirroredResourceInfoInstanceInfo + 1190, // 640: google.cloud.compute.v1.PacketMirroringMirroredResourceInfo.subnetworks:type_name -> google.cloud.compute.v1.PacketMirroringMirroredResourceInfoSubnetInfo + 1183, // 641: google.cloud.compute.v1.PacketMirroringsScopedList.packet_mirrorings:type_name -> google.cloud.compute.v1.PacketMirroring + 1712, // 642: google.cloud.compute.v1.PacketMirroringsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 396, // 643: google.cloud.compute.v1.PatchAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler + 408, // 644: google.cloud.compute.v1.PatchBackendBucketRequest.backend_bucket_resource:type_name -> google.cloud.compute.v1.BackendBucket + 414, // 645: google.cloud.compute.v1.PatchBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService + 605, // 646: google.cloud.compute.v1.PatchFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy + 601, // 647: google.cloud.compute.v1.PatchFirewallRequest.firewall_resource:type_name -> google.cloud.compute.v1.Firewall + 613, // 648: google.cloud.compute.v1.PatchForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule + 613, // 649: google.cloud.compute.v1.PatchGlobalForwardingRuleRequest.forwarding_rule_resource:type_name -> google.cloud.compute.v1.ForwardingRule + 1261, // 650: google.cloud.compute.v1.PatchGlobalPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix + 771, // 651: google.cloud.compute.v1.PatchHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck + 797, // 652: google.cloud.compute.v1.PatchImageRequest.image_resource:type_name -> google.cloud.compute.v1.Image + 880, // 653: google.cloud.compute.v1.PatchInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager + 942, // 654: google.cloud.compute.v1.PatchInterconnectAttachmentRequest.interconnect_attachment_resource:type_name -> google.cloud.compute.v1.InterconnectAttachment + 941, // 655: google.cloud.compute.v1.PatchInterconnectRequest.interconnect_resource:type_name -> google.cloud.compute.v1.Interconnect + 1121, // 656: google.cloud.compute.v1.PatchNetworkAttachmentRequest.network_attachment_resource:type_name -> google.cloud.compute.v1.NetworkAttachment + 1126, // 657: google.cloud.compute.v1.PatchNetworkEdgeSecurityServiceRequest.network_edge_security_service_resource:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityService + 605, // 658: google.cloud.compute.v1.PatchNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy + 1120, // 659: google.cloud.compute.v1.PatchNetworkRequest.network_resource:type_name -> google.cloud.compute.v1.Network + 1153, // 660: google.cloud.compute.v1.PatchNodeGroupRequest.node_group_resource:type_name -> google.cloud.compute.v1.NodeGroup + 1183, // 661: google.cloud.compute.v1.PatchPacketMirroringRequest.packet_mirroring_resource:type_name -> google.cloud.compute.v1.PacketMirroring + 900, // 662: google.cloud.compute.v1.PatchPerInstanceConfigsInstanceGroupManagerRequest.instance_group_managers_patch_per_instance_configs_req_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersPatchPerInstanceConfigsReq + 1283, // 663: google.cloud.compute.v1.PatchPerInstanceConfigsRegionInstanceGroupManagerRequest.region_instance_group_manager_patch_instance_config_req_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagerPatchInstanceConfigReq + 1258, // 664: google.cloud.compute.v1.PatchPublicAdvertisedPrefixeRequest.public_advertised_prefix_resource:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefix + 1261, // 665: google.cloud.compute.v1.PatchPublicDelegatedPrefixeRequest.public_delegated_prefix_resource:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix + 396, // 666: google.cloud.compute.v1.PatchRegionAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler + 414, // 667: google.cloud.compute.v1.PatchRegionBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService + 771, // 668: google.cloud.compute.v1.PatchRegionHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck + 775, // 669: google.cloud.compute.v1.PatchRegionHealthCheckServiceRequest.health_check_service_resource:type_name -> google.cloud.compute.v1.HealthCheckService + 880, // 670: google.cloud.compute.v1.PatchRegionInstanceGroupManagerRequest.instance_group_manager_resource:type_name -> google.cloud.compute.v1.InstanceGroupManager + 605, // 671: google.cloud.compute.v1.PatchRegionNetworkFirewallPolicyRequest.firewall_policy_resource:type_name -> google.cloud.compute.v1.FirewallPolicy + 1395, // 672: google.cloud.compute.v1.PatchRegionSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy + 1546, // 673: google.cloud.compute.v1.PatchRegionSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy + 1585, // 674: google.cloud.compute.v1.PatchRegionTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy + 1672, // 675: google.cloud.compute.v1.PatchRegionUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap + 1338, // 676: google.cloud.compute.v1.PatchResourcePolicyRequest.resource_policy_resource:type_name -> google.cloud.compute.v1.ResourcePolicy + 1360, // 677: google.cloud.compute.v1.PatchRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router + 608, // 678: google.cloud.compute.v1.PatchRuleFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 608, // 679: google.cloud.compute.v1.PatchRuleNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 608, // 680: google.cloud.compute.v1.PatchRuleRegionNetworkFirewallPolicyRequest.firewall_policy_rule_resource:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 1405, // 681: google.cloud.compute.v1.PatchRuleRegionSecurityPolicyRequest.security_policy_rule_resource:type_name -> google.cloud.compute.v1.SecurityPolicyRule + 1405, // 682: google.cloud.compute.v1.PatchRuleSecurityPolicyRequest.security_policy_rule_resource:type_name -> google.cloud.compute.v1.SecurityPolicyRule + 1395, // 683: google.cloud.compute.v1.PatchSecurityPolicyRequest.security_policy_resource:type_name -> google.cloud.compute.v1.SecurityPolicy + 1426, // 684: google.cloud.compute.v1.PatchServiceAttachmentRequest.service_attachment_resource:type_name -> google.cloud.compute.v1.ServiceAttachment + 1530, // 685: google.cloud.compute.v1.PatchSnapshotSettingRequest.snapshot_settings_resource:type_name -> google.cloud.compute.v1.SnapshotSettings + 1546, // 686: google.cloud.compute.v1.PatchSslPolicyRequest.ssl_policy_resource:type_name -> google.cloud.compute.v1.SslPolicy + 1562, // 687: google.cloud.compute.v1.PatchSubnetworkRequest.subnetwork_resource:type_name -> google.cloud.compute.v1.Subnetwork + 1575, // 688: google.cloud.compute.v1.PatchTargetGrpcProxyRequest.target_grpc_proxy_resource:type_name -> google.cloud.compute.v1.TargetGrpcProxy + 1578, // 689: google.cloud.compute.v1.PatchTargetHttpProxyRequest.target_http_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpProxy + 1585, // 690: google.cloud.compute.v1.PatchTargetHttpsProxyRequest.target_https_proxy_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxy + 1672, // 691: google.cloud.compute.v1.PatchUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap + 794, // 692: google.cloud.compute.v1.PathMatcher.default_route_action:type_name -> google.cloud.compute.v1.HttpRouteAction + 792, // 693: google.cloud.compute.v1.PathMatcher.default_url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction + 788, // 694: google.cloud.compute.v1.PathMatcher.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction + 1243, // 695: google.cloud.compute.v1.PathMatcher.path_rules:type_name -> google.cloud.compute.v1.PathRule + 795, // 696: google.cloud.compute.v1.PathMatcher.route_rules:type_name -> google.cloud.compute.v1.HttpRouteRule + 794, // 697: google.cloud.compute.v1.PathRule.route_action:type_name -> google.cloud.compute.v1.HttpRouteAction + 792, // 698: google.cloud.compute.v1.PathRule.url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction + 1247, // 699: google.cloud.compute.v1.PerInstanceConfig.preserved_state:type_name -> google.cloud.compute.v1.PreservedState + 393, // 700: google.cloud.compute.v1.Policy.audit_configs:type_name -> google.cloud.compute.v1.AuditConfig + 435, // 701: google.cloud.compute.v1.Policy.bindings:type_name -> google.cloud.compute.v1.Binding + 1382, // 702: google.cloud.compute.v1.Policy.rules:type_name -> google.cloud.compute.v1.Rule + 1707, // 703: google.cloud.compute.v1.PreconfiguredWafSet.expression_sets:type_name -> google.cloud.compute.v1.WafExpressionSet + 1776, // 704: google.cloud.compute.v1.PreservedState.disks:type_name -> google.cloud.compute.v1.PreservedState.DisksEntry + 1777, // 705: google.cloud.compute.v1.PreservedState.external_i_ps:type_name -> google.cloud.compute.v1.PreservedState.ExternalIPsEntry + 1778, // 706: google.cloud.compute.v1.PreservedState.internal_i_ps:type_name -> google.cloud.compute.v1.PreservedState.InternalIPsEntry + 1779, // 707: google.cloud.compute.v1.PreservedState.metadata:type_name -> google.cloud.compute.v1.PreservedState.MetadataEntry + 1250, // 708: google.cloud.compute.v1.PreservedStatePreservedNetworkIp.ip_address:type_name -> google.cloud.compute.v1.PreservedStatePreservedNetworkIpIpAddress + 1360, // 709: google.cloud.compute.v1.PreviewRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router + 1108, // 710: google.cloud.compute.v1.Project.common_instance_metadata:type_name -> google.cloud.compute.v1.Metadata + 1266, // 711: google.cloud.compute.v1.Project.quotas:type_name -> google.cloud.compute.v1.Quota + 1686, // 712: google.cloud.compute.v1.Project.usage_export_location:type_name -> google.cloud.compute.v1.UsageExportLocation + 1718, // 713: google.cloud.compute.v1.ProjectsDisableXpnResourceRequest.xpn_resource:type_name -> google.cloud.compute.v1.XpnResourceId + 1718, // 714: google.cloud.compute.v1.ProjectsEnableXpnResourceRequest.xpn_resource:type_name -> google.cloud.compute.v1.XpnResourceId + 1718, // 715: google.cloud.compute.v1.ProjectsGetXpnResources.resources:type_name -> google.cloud.compute.v1.XpnResourceId + 1260, // 716: google.cloud.compute.v1.PublicAdvertisedPrefix.public_delegated_prefixs:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefixPublicDelegatedPrefix + 1258, // 717: google.cloud.compute.v1.PublicAdvertisedPrefixList.items:type_name -> google.cloud.compute.v1.PublicAdvertisedPrefix + 1712, // 718: google.cloud.compute.v1.PublicAdvertisedPrefixList.warning:type_name -> google.cloud.compute.v1.Warning + 1264, // 719: google.cloud.compute.v1.PublicDelegatedPrefix.public_delegated_sub_prefixs:type_name -> google.cloud.compute.v1.PublicDelegatedPrefixPublicDelegatedSubPrefix + 1780, // 720: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.items:type_name -> google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.ItemsEntry + 1712, // 721: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1261, // 722: google.cloud.compute.v1.PublicDelegatedPrefixList.items:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix + 1712, // 723: google.cloud.compute.v1.PublicDelegatedPrefixList.warning:type_name -> google.cloud.compute.v1.Warning + 1261, // 724: google.cloud.compute.v1.PublicDelegatedPrefixesScopedList.public_delegated_prefixes:type_name -> google.cloud.compute.v1.PublicDelegatedPrefix + 1712, // 725: google.cloud.compute.v1.PublicDelegatedPrefixesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1781, // 726: google.cloud.compute.v1.QuotaExceededInfo.dimensions:type_name -> google.cloud.compute.v1.QuotaExceededInfo.DimensionsEntry + 901, // 727: google.cloud.compute.v1.RecreateInstancesInstanceGroupManagerRequest.instance_group_managers_recreate_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersRecreateInstancesRequest + 1292, // 728: google.cloud.compute.v1.RecreateInstancesRegionInstanceGroupManagerRequest.region_instance_group_managers_recreate_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersRecreateRequest + 556, // 729: google.cloud.compute.v1.Region.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus + 1266, // 730: google.cloud.compute.v1.Region.quotas:type_name -> google.cloud.compute.v1.Quota + 396, // 731: google.cloud.compute.v1.RegionAutoscalerList.items:type_name -> google.cloud.compute.v1.Autoscaler + 1712, // 732: google.cloud.compute.v1.RegionAutoscalerList.warning:type_name -> google.cloud.compute.v1.Warning + 573, // 733: google.cloud.compute.v1.RegionDiskTypeList.items:type_name -> google.cloud.compute.v1.DiskType + 1712, // 734: google.cloud.compute.v1.RegionDiskTypeList.warning:type_name -> google.cloud.compute.v1.Warning + 877, // 735: google.cloud.compute.v1.RegionInstanceGroupList.items:type_name -> google.cloud.compute.v1.InstanceGroup + 1712, // 736: google.cloud.compute.v1.RegionInstanceGroupList.warning:type_name -> google.cloud.compute.v1.Warning + 880, // 737: google.cloud.compute.v1.RegionInstanceGroupManagerList.items:type_name -> google.cloud.compute.v1.InstanceGroupManager + 1712, // 738: google.cloud.compute.v1.RegionInstanceGroupManagerList.warning:type_name -> google.cloud.compute.v1.Warning + 1244, // 739: google.cloud.compute.v1.RegionInstanceGroupManagerPatchInstanceConfigReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig + 1244, // 740: google.cloud.compute.v1.RegionInstanceGroupManagerUpdateInstanceConfigReq.per_instance_configs:type_name -> google.cloud.compute.v1.PerInstanceConfig + 1244, // 741: google.cloud.compute.v1.RegionInstanceGroupManagersCreateInstancesRequest.instances:type_name -> google.cloud.compute.v1.PerInstanceConfig + 914, // 742: google.cloud.compute.v1.RegionInstanceGroupManagersListErrorsResponse.items:type_name -> google.cloud.compute.v1.InstanceManagedByIgmError + 1244, // 743: google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp.items:type_name -> google.cloud.compute.v1.PerInstanceConfig + 1712, // 744: google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp.warning:type_name -> google.cloud.compute.v1.Warning + 1104, // 745: google.cloud.compute.v1.RegionInstanceGroupManagersListInstancesResponse.managed_instances:type_name -> google.cloud.compute.v1.ManagedInstance + 925, // 746: google.cloud.compute.v1.RegionInstanceGroupsListInstances.items:type_name -> google.cloud.compute.v1.InstanceWithNamedPorts + 1712, // 747: google.cloud.compute.v1.RegionInstanceGroupsListInstances.warning:type_name -> google.cloud.compute.v1.Warning + 1116, // 748: google.cloud.compute.v1.RegionInstanceGroupsSetNamedPortsRequest.named_ports:type_name -> google.cloud.compute.v1.NamedPort + 1272, // 749: google.cloud.compute.v1.RegionList.items:type_name -> google.cloud.compute.v1.Region + 1712, // 750: google.cloud.compute.v1.RegionList.warning:type_name -> google.cloud.compute.v1.Warning + 1129, // 751: google.cloud.compute.v1.RegionNetworkEndpointGroupsAttachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint + 1129, // 752: google.cloud.compute.v1.RegionNetworkEndpointGroupsDetachEndpointsRequest.network_endpoints:type_name -> google.cloud.compute.v1.NetworkEndpoint + 1302, // 753: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse.firewall_policys:type_name -> google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy + 601, // 754: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse.firewalls:type_name -> google.cloud.compute.v1.Firewall + 608, // 755: google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy.rules:type_name -> google.cloud.compute.v1.FirewallPolicyRule + 1782, // 756: google.cloud.compute.v1.RegionSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest.LabelsEntry + 435, // 757: google.cloud.compute.v1.RegionSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding + 1245, // 758: google.cloud.compute.v1.RegionSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy + 1672, // 759: google.cloud.compute.v1.RegionUrlMapsValidateRequest.resource:type_name -> google.cloud.compute.v1.UrlMap + 1598, // 760: google.cloud.compute.v1.RemoveHealthCheckTargetPoolRequest.target_pools_remove_health_check_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsRemoveHealthCheckRequest + 1599, // 761: google.cloud.compute.v1.RemoveInstanceTargetPoolRequest.target_pools_remove_instance_request_resource:type_name -> google.cloud.compute.v1.TargetPoolsRemoveInstanceRequest + 909, // 762: google.cloud.compute.v1.RemoveInstancesInstanceGroupRequest.instance_groups_remove_instances_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsRemoveInstancesRequest + 1151, // 763: google.cloud.compute.v1.RemovePeeringNetworkRequest.networks_remove_peering_request_resource:type_name -> google.cloud.compute.v1.NetworksRemovePeeringRequest + 578, // 764: google.cloud.compute.v1.RemoveResourcePoliciesDiskRequest.disks_remove_resource_policies_request_resource:type_name -> google.cloud.compute.v1.DisksRemoveResourcePoliciesRequest + 930, // 765: google.cloud.compute.v1.RemoveResourcePoliciesInstanceRequest.instances_remove_resource_policies_request_resource:type_name -> google.cloud.compute.v1.InstancesRemoveResourcePoliciesRequest + 1277, // 766: google.cloud.compute.v1.RemoveResourcePoliciesRegionDiskRequest.region_disks_remove_resource_policies_request_resource:type_name -> google.cloud.compute.v1.RegionDisksRemoveResourcePoliciesRequest + 1783, // 767: google.cloud.compute.v1.Reservation.resource_policies:type_name -> google.cloud.compute.v1.Reservation.ResourcePoliciesEntry + 377, // 768: google.cloud.compute.v1.Reservation.resource_status:type_name -> google.cloud.compute.v1.AllocationResourceStatus + 1519, // 769: google.cloud.compute.v1.Reservation.share_settings:type_name -> google.cloud.compute.v1.ShareSettings + 381, // 770: google.cloud.compute.v1.Reservation.specific_reservation:type_name -> google.cloud.compute.v1.AllocationSpecificSKUReservation + 1784, // 771: google.cloud.compute.v1.ReservationAggregatedList.items:type_name -> google.cloud.compute.v1.ReservationAggregatedList.ItemsEntry + 1712, // 772: google.cloud.compute.v1.ReservationAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1323, // 773: google.cloud.compute.v1.ReservationList.items:type_name -> google.cloud.compute.v1.Reservation + 1712, // 774: google.cloud.compute.v1.ReservationList.warning:type_name -> google.cloud.compute.v1.Warning + 1323, // 775: google.cloud.compute.v1.ReservationsScopedList.reservations:type_name -> google.cloud.compute.v1.Reservation + 1712, // 776: google.cloud.compute.v1.ReservationsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 579, // 777: google.cloud.compute.v1.ResizeDiskRequest.disks_resize_request_resource:type_name -> google.cloud.compute.v1.DisksResizeRequest + 1278, // 778: google.cloud.compute.v1.ResizeRegionDiskRequest.region_disks_resize_request_resource:type_name -> google.cloud.compute.v1.RegionDisksResizeRequest + 1327, // 779: google.cloud.compute.v1.ResizeReservationRequest.reservations_resize_request_resource:type_name -> google.cloud.compute.v1.ReservationsResizeRequest + 1338, // 780: google.cloud.compute.v1.ResourcePoliciesScopedList.resource_policies:type_name -> google.cloud.compute.v1.ResourcePolicy + 1712, // 781: google.cloud.compute.v1.ResourcePoliciesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1341, // 782: google.cloud.compute.v1.ResourcePolicy.disk_consistency_group_policy:type_name -> google.cloud.compute.v1.ResourcePolicyDiskConsistencyGroupPolicy + 1342, // 783: google.cloud.compute.v1.ResourcePolicy.group_placement_policy:type_name -> google.cloud.compute.v1.ResourcePolicyGroupPlacementPolicy + 1344, // 784: google.cloud.compute.v1.ResourcePolicy.instance_schedule_policy:type_name -> google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy + 1347, // 785: google.cloud.compute.v1.ResourcePolicy.resource_status:type_name -> google.cloud.compute.v1.ResourcePolicyResourceStatus + 1349, // 786: google.cloud.compute.v1.ResourcePolicy.snapshot_schedule_policy:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy + 1785, // 787: google.cloud.compute.v1.ResourcePolicyAggregatedList.items:type_name -> google.cloud.compute.v1.ResourcePolicyAggregatedList.ItemsEntry + 1712, // 788: google.cloud.compute.v1.ResourcePolicyAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1345, // 789: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy.vm_start_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicySchedule + 1345, // 790: google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicy.vm_stop_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyInstanceSchedulePolicySchedule + 1338, // 791: google.cloud.compute.v1.ResourcePolicyList.items:type_name -> google.cloud.compute.v1.ResourcePolicy + 1712, // 792: google.cloud.compute.v1.ResourcePolicyList.warning:type_name -> google.cloud.compute.v1.Warning + 1348, // 793: google.cloud.compute.v1.ResourcePolicyResourceStatus.instance_schedule_policy:type_name -> google.cloud.compute.v1.ResourcePolicyResourceStatusInstanceSchedulePolicyStatus + 1350, // 794: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy.retention_policy:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicyRetentionPolicy + 1351, // 795: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy.schedule:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule + 1352, // 796: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicy.snapshot_properties:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties + 1340, // 797: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule.daily_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyDailyCycle + 1343, // 798: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule.hourly_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyHourlyCycle + 1353, // 799: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySchedule.weekly_schedule:type_name -> google.cloud.compute.v1.ResourcePolicyWeeklyCycle + 1786, // 800: google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties.labels:type_name -> google.cloud.compute.v1.ResourcePolicySnapshotSchedulePolicySnapshotProperties.LabelsEntry + 1354, // 801: google.cloud.compute.v1.ResourcePolicyWeeklyCycle.day_of_weeks:type_name -> google.cloud.compute.v1.ResourcePolicyWeeklyCycleDayOfWeek + 1648, // 802: google.cloud.compute.v1.ResourceStatus.upcoming_maintenance:type_name -> google.cloud.compute.v1.UpcomingMaintenance + 1358, // 803: google.cloud.compute.v1.Route.as_paths:type_name -> google.cloud.compute.v1.RouteAsPath + 1713, // 804: google.cloud.compute.v1.Route.warnings:type_name -> google.cloud.compute.v1.Warnings + 1357, // 805: google.cloud.compute.v1.RouteList.items:type_name -> google.cloud.compute.v1.Route + 1712, // 806: google.cloud.compute.v1.RouteList.warning:type_name -> google.cloud.compute.v1.Warning + 1363, // 807: google.cloud.compute.v1.Router.bgp:type_name -> google.cloud.compute.v1.RouterBgp + 1364, // 808: google.cloud.compute.v1.Router.bgp_peers:type_name -> google.cloud.compute.v1.RouterBgpPeer + 1367, // 809: google.cloud.compute.v1.Router.interfaces:type_name -> google.cloud.compute.v1.RouterInterface + 1369, // 810: google.cloud.compute.v1.Router.md5_authentication_keys:type_name -> google.cloud.compute.v1.RouterMd5AuthenticationKey + 1370, // 811: google.cloud.compute.v1.Router.nats:type_name -> google.cloud.compute.v1.RouterNat + 1787, // 812: google.cloud.compute.v1.RouterAggregatedList.items:type_name -> google.cloud.compute.v1.RouterAggregatedList.ItemsEntry + 1712, // 813: google.cloud.compute.v1.RouterAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1361, // 814: google.cloud.compute.v1.RouterBgp.advertised_ip_ranges:type_name -> google.cloud.compute.v1.RouterAdvertisedIpRange + 1361, // 815: google.cloud.compute.v1.RouterBgpPeer.advertised_ip_ranges:type_name -> google.cloud.compute.v1.RouterAdvertisedIpRange + 1365, // 816: google.cloud.compute.v1.RouterBgpPeer.bfd:type_name -> google.cloud.compute.v1.RouterBgpPeerBfd + 1366, // 817: google.cloud.compute.v1.RouterBgpPeer.custom_learned_ip_ranges:type_name -> google.cloud.compute.v1.RouterBgpPeerCustomLearnedIpRange + 1360, // 818: google.cloud.compute.v1.RouterList.items:type_name -> google.cloud.compute.v1.Router + 1712, // 819: google.cloud.compute.v1.RouterList.warning:type_name -> google.cloud.compute.v1.Warning + 1371, // 820: google.cloud.compute.v1.RouterNat.log_config:type_name -> google.cloud.compute.v1.RouterNatLogConfig + 1372, // 821: google.cloud.compute.v1.RouterNat.rules:type_name -> google.cloud.compute.v1.RouterNatRule + 1374, // 822: google.cloud.compute.v1.RouterNat.subnetworks:type_name -> google.cloud.compute.v1.RouterNatSubnetworkToNat + 1373, // 823: google.cloud.compute.v1.RouterNatRule.action:type_name -> google.cloud.compute.v1.RouterNatRuleAction + 1357, // 824: google.cloud.compute.v1.RouterStatus.best_routes:type_name -> google.cloud.compute.v1.Route + 1357, // 825: google.cloud.compute.v1.RouterStatus.best_routes_for_router:type_name -> google.cloud.compute.v1.Route + 1376, // 826: google.cloud.compute.v1.RouterStatus.bgp_peer_status:type_name -> google.cloud.compute.v1.RouterStatusBgpPeerStatus + 1377, // 827: google.cloud.compute.v1.RouterStatus.nat_status:type_name -> google.cloud.compute.v1.RouterStatusNatStatus + 1357, // 828: google.cloud.compute.v1.RouterStatusBgpPeerStatus.advertised_routes:type_name -> google.cloud.compute.v1.Route + 433, // 829: google.cloud.compute.v1.RouterStatusBgpPeerStatus.bfd_status:type_name -> google.cloud.compute.v1.BfdStatus + 1378, // 830: google.cloud.compute.v1.RouterStatusNatStatus.rule_status:type_name -> google.cloud.compute.v1.RouterStatusNatStatusNatRuleStatus + 1375, // 831: google.cloud.compute.v1.RouterStatusResponse.result:type_name -> google.cloud.compute.v1.RouterStatus + 1360, // 832: google.cloud.compute.v1.RoutersPreviewResponse.resource:type_name -> google.cloud.compute.v1.Router + 1360, // 833: google.cloud.compute.v1.RoutersScopedList.routers:type_name -> google.cloud.compute.v1.Router + 1712, // 834: google.cloud.compute.v1.RoutersScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 454, // 835: google.cloud.compute.v1.Rule.conditions:type_name -> google.cloud.compute.v1.Condition + 1093, // 836: google.cloud.compute.v1.Rule.log_configs:type_name -> google.cloud.compute.v1.LogConfig + 464, // 837: google.cloud.compute.v1.SavedAttachedDisk.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 767, // 838: google.cloud.compute.v1.SavedAttachedDisk.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature + 586, // 839: google.cloud.compute.v1.Scheduling.local_ssd_recovery_timeout:type_name -> google.cloud.compute.v1.Duration + 1388, // 840: google.cloud.compute.v1.Scheduling.node_affinities:type_name -> google.cloud.compute.v1.SchedulingNodeAffinity + 1788, // 841: google.cloud.compute.v1.SecurityPoliciesAggregatedList.items:type_name -> google.cloud.compute.v1.SecurityPoliciesAggregatedList.ItemsEntry + 1712, // 842: google.cloud.compute.v1.SecurityPoliciesAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1394, // 843: google.cloud.compute.v1.SecurityPoliciesListPreconfiguredExpressionSetsResponse.preconfigured_expression_sets:type_name -> google.cloud.compute.v1.SecurityPoliciesWafConfig + 1395, // 844: google.cloud.compute.v1.SecurityPoliciesScopedList.security_policies:type_name -> google.cloud.compute.v1.SecurityPolicy + 1712, // 845: google.cloud.compute.v1.SecurityPoliciesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1246, // 846: google.cloud.compute.v1.SecurityPoliciesWafConfig.waf_rules:type_name -> google.cloud.compute.v1.PreconfiguredWafSet + 1396, // 847: google.cloud.compute.v1.SecurityPolicy.adaptive_protection_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig + 1399, // 848: google.cloud.compute.v1.SecurityPolicy.advanced_options_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig + 1401, // 849: google.cloud.compute.v1.SecurityPolicy.ddos_protection_config:type_name -> google.cloud.compute.v1.SecurityPolicyDdosProtectionConfig + 1789, // 850: google.cloud.compute.v1.SecurityPolicy.labels:type_name -> google.cloud.compute.v1.SecurityPolicy.LabelsEntry + 1403, // 851: google.cloud.compute.v1.SecurityPolicy.recaptcha_options_config:type_name -> google.cloud.compute.v1.SecurityPolicyRecaptchaOptionsConfig + 1405, // 852: google.cloud.compute.v1.SecurityPolicy.rules:type_name -> google.cloud.compute.v1.SecurityPolicyRule + 1419, // 853: google.cloud.compute.v1.SecurityPolicy.user_defined_fields:type_name -> google.cloud.compute.v1.SecurityPolicyUserDefinedField + 1397, // 854: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfig.layer7_ddos_defense_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig + 1398, // 855: google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig.threshold_configs:type_name -> google.cloud.compute.v1.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig + 1400, // 856: google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfig.json_custom_config:type_name -> google.cloud.compute.v1.SecurityPolicyAdvancedOptionsConfigJsonCustomConfig + 1395, // 857: google.cloud.compute.v1.SecurityPolicyList.items:type_name -> google.cloud.compute.v1.SecurityPolicy + 1712, // 858: google.cloud.compute.v1.SecurityPolicyList.warning:type_name -> google.cloud.compute.v1.Warning + 1406, // 859: google.cloud.compute.v1.SecurityPolicyRule.header_action:type_name -> google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction + 1408, // 860: google.cloud.compute.v1.SecurityPolicyRule.match:type_name -> google.cloud.compute.v1.SecurityPolicyRuleMatcher + 1410, // 861: google.cloud.compute.v1.SecurityPolicyRule.network_match:type_name -> google.cloud.compute.v1.SecurityPolicyRuleNetworkMatcher + 1412, // 862: google.cloud.compute.v1.SecurityPolicyRule.preconfigured_waf_config:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig + 1415, // 863: google.cloud.compute.v1.SecurityPolicyRule.rate_limit_options:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions + 1418, // 864: google.cloud.compute.v1.SecurityPolicyRule.redirect_options:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions + 1407, // 865: google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderAction.request_headers_to_adds:type_name -> google.cloud.compute.v1.SecurityPolicyRuleHttpHeaderActionHttpHeaderOption + 1409, // 866: google.cloud.compute.v1.SecurityPolicyRuleMatcher.config:type_name -> google.cloud.compute.v1.SecurityPolicyRuleMatcherConfig + 596, // 867: google.cloud.compute.v1.SecurityPolicyRuleMatcher.expr:type_name -> google.cloud.compute.v1.Expr + 1411, // 868: google.cloud.compute.v1.SecurityPolicyRuleNetworkMatcher.user_defined_fields:type_name -> google.cloud.compute.v1.SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch + 1413, // 869: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfig.exclusions:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion + 1414, // 870: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_cookies_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams + 1414, // 871: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_headers_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams + 1414, // 872: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_query_params_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams + 1414, // 873: google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusion.request_uris_to_exclude:type_name -> google.cloud.compute.v1.SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams + 1417, // 874: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.ban_threshold:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsThreshold + 1416, // 875: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.enforce_on_key_configs:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig + 1418, // 876: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.exceed_redirect_options:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRedirectOptions + 1417, // 877: google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptions.rate_limit_threshold:type_name -> google.cloud.compute.v1.SecurityPolicyRuleRateLimitOptionsThreshold + 301, // 878: google.cloud.compute.v1.SecuritySettings.aws_v4_authentication:type_name -> google.cloud.compute.v1.AWSV4Signature + 1428, // 879: google.cloud.compute.v1.ServiceAttachment.connected_endpoints:type_name -> google.cloud.compute.v1.ServiceAttachmentConnectedEndpoint + 1429, // 880: google.cloud.compute.v1.ServiceAttachment.consumer_accept_lists:type_name -> google.cloud.compute.v1.ServiceAttachmentConsumerProjectLimit + 1647, // 881: google.cloud.compute.v1.ServiceAttachment.psc_service_attachment_id:type_name -> google.cloud.compute.v1.Uint128 + 1790, // 882: google.cloud.compute.v1.ServiceAttachmentAggregatedList.items:type_name -> google.cloud.compute.v1.ServiceAttachmentAggregatedList.ItemsEntry + 1712, // 883: google.cloud.compute.v1.ServiceAttachmentAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1426, // 884: google.cloud.compute.v1.ServiceAttachmentList.items:type_name -> google.cloud.compute.v1.ServiceAttachment + 1712, // 885: google.cloud.compute.v1.ServiceAttachmentList.warning:type_name -> google.cloud.compute.v1.Warning + 1426, // 886: google.cloud.compute.v1.ServiceAttachmentsScopedList.service_attachments:type_name -> google.cloud.compute.v1.ServiceAttachment + 1712, // 887: google.cloud.compute.v1.ServiceAttachmentsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1602, // 888: google.cloud.compute.v1.SetBackendServiceTargetSslProxyRequest.target_ssl_proxies_set_backend_service_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetBackendServiceRequest + 1609, // 889: google.cloud.compute.v1.SetBackendServiceTargetTcpProxyRequest.target_tcp_proxies_set_backend_service_request_resource:type_name -> google.cloud.compute.v1.TargetTcpProxiesSetBackendServiceRequest + 1601, // 890: google.cloud.compute.v1.SetBackupTargetPoolRequest.target_reference_resource:type_name -> google.cloud.compute.v1.TargetReference + 1582, // 891: google.cloud.compute.v1.SetCertificateMapTargetHttpsProxyRequest.target_https_proxies_set_certificate_map_request_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxiesSetCertificateMapRequest + 1603, // 892: google.cloud.compute.v1.SetCertificateMapTargetSslProxyRequest.target_ssl_proxies_set_certificate_map_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetCertificateMapRequest + 1791, // 893: google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadata.per_location_operations:type_name -> google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadata.PerLocationOperationsEntry + 1556, // 894: google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo.error:type_name -> google.cloud.compute.v1.Status + 1108, // 895: google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest.metadata_resource:type_name -> google.cloud.compute.v1.Metadata + 1257, // 896: google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest.projects_set_default_network_tier_request_resource:type_name -> google.cloud.compute.v1.ProjectsSetDefaultNetworkTierRequest + 1404, // 897: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference + 1404, // 898: google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference + 763, // 899: google.cloud.compute.v1.SetIamPolicyBackendBucketRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 763, // 900: google.cloud.compute.v1.SetIamPolicyBackendServiceRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 1722, // 901: google.cloud.compute.v1.SetIamPolicyDiskRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest + 761, // 902: google.cloud.compute.v1.SetIamPolicyFirewallPolicyRequest.global_organization_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalOrganizationSetPolicyRequest + 763, // 903: google.cloud.compute.v1.SetIamPolicyImageRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 1722, // 904: google.cloud.compute.v1.SetIamPolicyInstanceRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest + 763, // 905: google.cloud.compute.v1.SetIamPolicyInstanceTemplateRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 763, // 906: google.cloud.compute.v1.SetIamPolicyLicenseRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 763, // 907: google.cloud.compute.v1.SetIamPolicyMachineImageRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 1304, // 908: google.cloud.compute.v1.SetIamPolicyNetworkAttachmentRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 763, // 909: google.cloud.compute.v1.SetIamPolicyNetworkFirewallPolicyRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 1722, // 910: google.cloud.compute.v1.SetIamPolicyNodeGroupRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest + 1304, // 911: google.cloud.compute.v1.SetIamPolicyNodeTemplateRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 1304, // 912: google.cloud.compute.v1.SetIamPolicyRegionBackendServiceRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 1304, // 913: google.cloud.compute.v1.SetIamPolicyRegionDiskRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 1304, // 914: google.cloud.compute.v1.SetIamPolicyRegionNetworkFirewallPolicyRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 1722, // 915: google.cloud.compute.v1.SetIamPolicyReservationRequest.zone_set_policy_request_resource:type_name -> google.cloud.compute.v1.ZoneSetPolicyRequest + 1304, // 916: google.cloud.compute.v1.SetIamPolicyResourcePolicyRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 1304, // 917: google.cloud.compute.v1.SetIamPolicyServiceAttachmentRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 763, // 918: google.cloud.compute.v1.SetIamPolicySnapshotRequest.global_set_policy_request_resource:type_name -> google.cloud.compute.v1.GlobalSetPolicyRequest + 1304, // 919: google.cloud.compute.v1.SetIamPolicySubnetworkRequest.region_set_policy_request_resource:type_name -> google.cloud.compute.v1.RegionSetPolicyRequest + 903, // 920: google.cloud.compute.v1.SetInstanceTemplateInstanceGroupManagerRequest.instance_group_managers_set_instance_template_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersSetInstanceTemplateRequest + 1294, // 921: google.cloud.compute.v1.SetInstanceTemplateRegionInstanceGroupManagerRequest.region_instance_group_managers_set_template_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersSetTemplateRequest + 1303, // 922: google.cloud.compute.v1.SetLabelsAddressRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest + 1721, // 923: google.cloud.compute.v1.SetLabelsDiskRequest.zone_set_labels_request_resource:type_name -> google.cloud.compute.v1.ZoneSetLabelsRequest + 762, // 924: google.cloud.compute.v1.SetLabelsExternalVpnGatewayRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest + 1303, // 925: google.cloud.compute.v1.SetLabelsForwardingRuleRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest + 762, // 926: google.cloud.compute.v1.SetLabelsGlobalAddressRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest + 762, // 927: google.cloud.compute.v1.SetLabelsGlobalForwardingRuleRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest + 762, // 928: google.cloud.compute.v1.SetLabelsImageRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest + 932, // 929: google.cloud.compute.v1.SetLabelsInstanceRequest.instances_set_labels_request_resource:type_name -> google.cloud.compute.v1.InstancesSetLabelsRequest + 1303, // 930: google.cloud.compute.v1.SetLabelsInterconnectAttachmentRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest + 762, // 931: google.cloud.compute.v1.SetLabelsInterconnectRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest + 1303, // 932: google.cloud.compute.v1.SetLabelsRegionDiskRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest + 762, // 933: google.cloud.compute.v1.SetLabelsSecurityPolicyRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest + 762, // 934: google.cloud.compute.v1.SetLabelsSnapshotRequest.global_set_labels_request_resource:type_name -> google.cloud.compute.v1.GlobalSetLabelsRequest + 1303, // 935: google.cloud.compute.v1.SetLabelsTargetVpnGatewayRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest + 1303, // 936: google.cloud.compute.v1.SetLabelsVpnGatewayRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest + 1303, // 937: google.cloud.compute.v1.SetLabelsVpnTunnelRequest.region_set_labels_request_resource:type_name -> google.cloud.compute.v1.RegionSetLabelsRequest + 933, // 938: google.cloud.compute.v1.SetMachineResourcesInstanceRequest.instances_set_machine_resources_request_resource:type_name -> google.cloud.compute.v1.InstancesSetMachineResourcesRequest + 934, // 939: google.cloud.compute.v1.SetMachineTypeInstanceRequest.instances_set_machine_type_request_resource:type_name -> google.cloud.compute.v1.InstancesSetMachineTypeRequest + 1108, // 940: google.cloud.compute.v1.SetMetadataInstanceRequest.metadata_resource:type_name -> google.cloud.compute.v1.Metadata + 935, // 941: google.cloud.compute.v1.SetMinCpuPlatformInstanceRequest.instances_set_min_cpu_platform_request_resource:type_name -> google.cloud.compute.v1.InstancesSetMinCpuPlatformRequest + 936, // 942: google.cloud.compute.v1.SetNameInstanceRequest.instances_set_name_request_resource:type_name -> google.cloud.compute.v1.InstancesSetNameRequest + 911, // 943: google.cloud.compute.v1.SetNamedPortsInstanceGroupRequest.instance_groups_set_named_ports_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupsSetNamedPortsRequest + 1297, // 944: google.cloud.compute.v1.SetNamedPortsRegionInstanceGroupRequest.region_instance_groups_set_named_ports_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupsSetNamedPortsRequest + 1163, // 945: google.cloud.compute.v1.SetNodeTemplateNodeGroupRequest.node_groups_set_node_template_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsSetNodeTemplateRequest + 1569, // 946: google.cloud.compute.v1.SetPrivateIpGoogleAccessSubnetworkRequest.subnetworks_set_private_ip_google_access_request_resource:type_name -> google.cloud.compute.v1.SubnetworksSetPrivateIpGoogleAccessRequest + 1604, // 947: google.cloud.compute.v1.SetProxyHeaderTargetSslProxyRequest.target_ssl_proxies_set_proxy_header_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetProxyHeaderRequest + 1610, // 948: google.cloud.compute.v1.SetProxyHeaderTargetTcpProxyRequest.target_tcp_proxies_set_proxy_header_request_resource:type_name -> google.cloud.compute.v1.TargetTcpProxiesSetProxyHeaderRequest + 1583, // 949: google.cloud.compute.v1.SetQuicOverrideTargetHttpsProxyRequest.target_https_proxies_set_quic_override_request_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxiesSetQuicOverrideRequest + 1387, // 950: google.cloud.compute.v1.SetSchedulingInstanceRequest.scheduling_resource:type_name -> google.cloud.compute.v1.Scheduling + 1404, // 951: google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference + 937, // 952: google.cloud.compute.v1.SetSecurityPolicyInstanceRequest.instances_set_security_policy_request_resource:type_name -> google.cloud.compute.v1.InstancesSetSecurityPolicyRequest + 1404, // 953: google.cloud.compute.v1.SetSecurityPolicyRegionBackendServiceRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference + 1404, // 954: google.cloud.compute.v1.SetSecurityPolicyTargetInstanceRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference + 1404, // 955: google.cloud.compute.v1.SetSecurityPolicyTargetPoolRequest.security_policy_reference_resource:type_name -> google.cloud.compute.v1.SecurityPolicyReference + 938, // 956: google.cloud.compute.v1.SetServiceAccountInstanceRequest.instances_set_service_account_request_resource:type_name -> google.cloud.compute.v1.InstancesSetServiceAccountRequest + 1524, // 957: google.cloud.compute.v1.SetShieldedInstanceIntegrityPolicyInstanceRequest.shielded_instance_integrity_policy_resource:type_name -> google.cloud.compute.v1.ShieldedInstanceIntegrityPolicy + 1305, // 958: google.cloud.compute.v1.SetSslCertificatesRegionTargetHttpsProxyRequest.region_target_https_proxies_set_ssl_certificates_request_resource:type_name -> google.cloud.compute.v1.RegionTargetHttpsProxiesSetSslCertificatesRequest + 1584, // 959: google.cloud.compute.v1.SetSslCertificatesTargetHttpsProxyRequest.target_https_proxies_set_ssl_certificates_request_resource:type_name -> google.cloud.compute.v1.TargetHttpsProxiesSetSslCertificatesRequest + 1605, // 960: google.cloud.compute.v1.SetSslCertificatesTargetSslProxyRequest.target_ssl_proxies_set_ssl_certificates_request_resource:type_name -> google.cloud.compute.v1.TargetSslProxiesSetSslCertificatesRequest + 1547, // 961: google.cloud.compute.v1.SetSslPolicyTargetHttpsProxyRequest.ssl_policy_reference_resource:type_name -> google.cloud.compute.v1.SslPolicyReference + 1547, // 962: google.cloud.compute.v1.SetSslPolicyTargetSslProxyRequest.ssl_policy_reference_resource:type_name -> google.cloud.compute.v1.SslPolicyReference + 1574, // 963: google.cloud.compute.v1.SetTagsInstanceRequest.tags_resource:type_name -> google.cloud.compute.v1.Tags + 1601, // 964: google.cloud.compute.v1.SetTargetForwardingRuleRequest.target_reference_resource:type_name -> google.cloud.compute.v1.TargetReference + 1601, // 965: google.cloud.compute.v1.SetTargetGlobalForwardingRuleRequest.target_reference_resource:type_name -> google.cloud.compute.v1.TargetReference + 904, // 966: google.cloud.compute.v1.SetTargetPoolsInstanceGroupManagerRequest.instance_group_managers_set_target_pools_request_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersSetTargetPoolsRequest + 1293, // 967: google.cloud.compute.v1.SetTargetPoolsRegionInstanceGroupManagerRequest.region_instance_group_managers_set_target_pools_request_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagersSetTargetPoolsRequest + 1674, // 968: google.cloud.compute.v1.SetUrlMapRegionTargetHttpProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference + 1674, // 969: google.cloud.compute.v1.SetUrlMapRegionTargetHttpsProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference + 1674, // 970: google.cloud.compute.v1.SetUrlMapTargetHttpProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference + 1674, // 971: google.cloud.compute.v1.SetUrlMapTargetHttpsProxyRequest.url_map_reference_resource:type_name -> google.cloud.compute.v1.UrlMapReference + 1686, // 972: google.cloud.compute.v1.SetUsageExportBucketProjectRequest.usage_export_location_resource:type_name -> google.cloud.compute.v1.UsageExportLocation + 1792, // 973: google.cloud.compute.v1.ShareSettings.project_map:type_name -> google.cloud.compute.v1.ShareSettings.ProjectMapEntry + 1523, // 974: google.cloud.compute.v1.ShieldedInstanceIdentity.encryption_key:type_name -> google.cloud.compute.v1.ShieldedInstanceIdentityEntry + 1523, // 975: google.cloud.compute.v1.ShieldedInstanceIdentity.signing_key:type_name -> google.cloud.compute.v1.ShieldedInstanceIdentityEntry + 1164, // 976: google.cloud.compute.v1.SimulateMaintenanceEventNodeGroupRequest.node_groups_simulate_maintenance_event_request_resource:type_name -> google.cloud.compute.v1.NodeGroupsSimulateMaintenanceEventRequest + 767, // 977: google.cloud.compute.v1.Snapshot.guest_os_features:type_name -> google.cloud.compute.v1.GuestOsFeature + 1793, // 978: google.cloud.compute.v1.Snapshot.labels:type_name -> google.cloud.compute.v1.Snapshot.LabelsEntry + 464, // 979: google.cloud.compute.v1.Snapshot.snapshot_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 464, // 980: google.cloud.compute.v1.Snapshot.source_disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 1528, // 981: google.cloud.compute.v1.SnapshotList.items:type_name -> google.cloud.compute.v1.Snapshot + 1712, // 982: google.cloud.compute.v1.SnapshotList.warning:type_name -> google.cloud.compute.v1.Warning + 1531, // 983: google.cloud.compute.v1.SnapshotSettings.storage_location:type_name -> google.cloud.compute.v1.SnapshotSettingsStorageLocationSettings + 1794, // 984: google.cloud.compute.v1.SnapshotSettingsStorageLocationSettings.locations:type_name -> google.cloud.compute.v1.SnapshotSettingsStorageLocationSettings.LocationsEntry + 464, // 985: google.cloud.compute.v1.SourceDiskEncryptionKey.disk_encryption_key:type_name -> google.cloud.compute.v1.CustomerEncryptionKey + 567, // 986: google.cloud.compute.v1.SourceInstanceParams.disk_configs:type_name -> google.cloud.compute.v1.DiskInstantiationConfig + 1384, // 987: google.cloud.compute.v1.SourceInstanceProperties.disks:type_name -> google.cloud.compute.v1.SavedAttachedDisk + 304, // 988: google.cloud.compute.v1.SourceInstanceProperties.guest_accelerators:type_name -> google.cloud.compute.v1.AcceleratorConfig + 1795, // 989: google.cloud.compute.v1.SourceInstanceProperties.labels:type_name -> google.cloud.compute.v1.SourceInstanceProperties.LabelsEntry + 1108, // 990: google.cloud.compute.v1.SourceInstanceProperties.metadata:type_name -> google.cloud.compute.v1.Metadata + 1143, // 991: google.cloud.compute.v1.SourceInstanceProperties.network_interfaces:type_name -> google.cloud.compute.v1.NetworkInterface + 1387, // 992: google.cloud.compute.v1.SourceInstanceProperties.scheduling:type_name -> google.cloud.compute.v1.Scheduling + 1425, // 993: google.cloud.compute.v1.SourceInstanceProperties.service_accounts:type_name -> google.cloud.compute.v1.ServiceAccount + 1574, // 994: google.cloud.compute.v1.SourceInstanceProperties.tags:type_name -> google.cloud.compute.v1.Tags + 1539, // 995: google.cloud.compute.v1.SslCertificate.managed:type_name -> google.cloud.compute.v1.SslCertificateManagedSslCertificate + 1540, // 996: google.cloud.compute.v1.SslCertificate.self_managed:type_name -> google.cloud.compute.v1.SslCertificateSelfManagedSslCertificate + 1796, // 997: google.cloud.compute.v1.SslCertificateAggregatedList.items:type_name -> google.cloud.compute.v1.SslCertificateAggregatedList.ItemsEntry + 1712, // 998: google.cloud.compute.v1.SslCertificateAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1536, // 999: google.cloud.compute.v1.SslCertificateList.items:type_name -> google.cloud.compute.v1.SslCertificate + 1712, // 1000: google.cloud.compute.v1.SslCertificateList.warning:type_name -> google.cloud.compute.v1.Warning + 1797, // 1001: google.cloud.compute.v1.SslCertificateManagedSslCertificate.domain_status:type_name -> google.cloud.compute.v1.SslCertificateManagedSslCertificate.DomainStatusEntry + 1536, // 1002: google.cloud.compute.v1.SslCertificatesScopedList.ssl_certificates:type_name -> google.cloud.compute.v1.SslCertificate + 1712, // 1003: google.cloud.compute.v1.SslCertificatesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1798, // 1004: google.cloud.compute.v1.SslPoliciesAggregatedList.items:type_name -> google.cloud.compute.v1.SslPoliciesAggregatedList.ItemsEntry + 1712, // 1005: google.cloud.compute.v1.SslPoliciesAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1546, // 1006: google.cloud.compute.v1.SslPoliciesList.items:type_name -> google.cloud.compute.v1.SslPolicy + 1712, // 1007: google.cloud.compute.v1.SslPoliciesList.warning:type_name -> google.cloud.compute.v1.Warning + 1546, // 1008: google.cloud.compute.v1.SslPoliciesScopedList.ssl_policies:type_name -> google.cloud.compute.v1.SslPolicy + 1712, // 1009: google.cloud.compute.v1.SslPoliciesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1713, // 1010: google.cloud.compute.v1.SslPolicy.warnings:type_name -> google.cloud.compute.v1.Warnings + 581, // 1011: google.cloud.compute.v1.StartAsyncReplicationDiskRequest.disks_start_async_replication_request_resource:type_name -> google.cloud.compute.v1.DisksStartAsyncReplicationRequest + 1279, // 1012: google.cloud.compute.v1.StartAsyncReplicationRegionDiskRequest.region_disks_start_async_replication_request_resource:type_name -> google.cloud.compute.v1.RegionDisksStartAsyncReplicationRequest + 939, // 1013: google.cloud.compute.v1.StartWithEncryptionKeyInstanceRequest.instances_start_with_encryption_key_request_resource:type_name -> google.cloud.compute.v1.InstancesStartWithEncryptionKeyRequest + 1553, // 1014: google.cloud.compute.v1.StatefulPolicy.preserved_state:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedState + 1799, // 1015: google.cloud.compute.v1.StatefulPolicyPreservedState.disks:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedState.DisksEntry + 1800, // 1016: google.cloud.compute.v1.StatefulPolicyPreservedState.external_i_ps:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedState.ExternalIPsEntry + 1801, // 1017: google.cloud.compute.v1.StatefulPolicyPreservedState.internal_i_ps:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedState.InternalIPsEntry + 1816, // 1018: google.cloud.compute.v1.Status.details:type_name -> google.protobuf.Any + 582, // 1019: google.cloud.compute.v1.StopGroupAsyncReplicationDiskRequest.disks_stop_group_async_replication_resource_resource:type_name -> google.cloud.compute.v1.DisksStopGroupAsyncReplicationResource + 582, // 1020: google.cloud.compute.v1.StopGroupAsyncReplicationRegionDiskRequest.disks_stop_group_async_replication_resource_resource:type_name -> google.cloud.compute.v1.DisksStopGroupAsyncReplicationResource + 1565, // 1021: google.cloud.compute.v1.Subnetwork.log_config:type_name -> google.cloud.compute.v1.SubnetworkLogConfig + 1566, // 1022: google.cloud.compute.v1.Subnetwork.secondary_ip_ranges:type_name -> google.cloud.compute.v1.SubnetworkSecondaryRange + 1802, // 1023: google.cloud.compute.v1.SubnetworkAggregatedList.items:type_name -> google.cloud.compute.v1.SubnetworkAggregatedList.ItemsEntry + 1712, // 1024: google.cloud.compute.v1.SubnetworkAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1562, // 1025: google.cloud.compute.v1.SubnetworkList.items:type_name -> google.cloud.compute.v1.Subnetwork + 1712, // 1026: google.cloud.compute.v1.SubnetworkList.warning:type_name -> google.cloud.compute.v1.Warning + 1562, // 1027: google.cloud.compute.v1.SubnetworksScopedList.subnetworks:type_name -> google.cloud.compute.v1.Subnetwork + 1712, // 1028: google.cloud.compute.v1.SubnetworksScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1575, // 1029: google.cloud.compute.v1.TargetGrpcProxyList.items:type_name -> google.cloud.compute.v1.TargetGrpcProxy + 1712, // 1030: google.cloud.compute.v1.TargetGrpcProxyList.warning:type_name -> google.cloud.compute.v1.Warning + 1578, // 1031: google.cloud.compute.v1.TargetHttpProxiesScopedList.target_http_proxies:type_name -> google.cloud.compute.v1.TargetHttpProxy + 1712, // 1032: google.cloud.compute.v1.TargetHttpProxiesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1803, // 1033: google.cloud.compute.v1.TargetHttpProxyAggregatedList.items:type_name -> google.cloud.compute.v1.TargetHttpProxyAggregatedList.ItemsEntry + 1578, // 1034: google.cloud.compute.v1.TargetHttpProxyList.items:type_name -> google.cloud.compute.v1.TargetHttpProxy + 1712, // 1035: google.cloud.compute.v1.TargetHttpProxyList.warning:type_name -> google.cloud.compute.v1.Warning + 1585, // 1036: google.cloud.compute.v1.TargetHttpsProxiesScopedList.target_https_proxies:type_name -> google.cloud.compute.v1.TargetHttpsProxy + 1712, // 1037: google.cloud.compute.v1.TargetHttpsProxiesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1804, // 1038: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.items:type_name -> google.cloud.compute.v1.TargetHttpsProxyAggregatedList.ItemsEntry + 1712, // 1039: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1585, // 1040: google.cloud.compute.v1.TargetHttpsProxyList.items:type_name -> google.cloud.compute.v1.TargetHttpsProxy + 1712, // 1041: google.cloud.compute.v1.TargetHttpsProxyList.warning:type_name -> google.cloud.compute.v1.Warning + 1805, // 1042: google.cloud.compute.v1.TargetInstanceAggregatedList.items:type_name -> google.cloud.compute.v1.TargetInstanceAggregatedList.ItemsEntry + 1712, // 1043: google.cloud.compute.v1.TargetInstanceAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1588, // 1044: google.cloud.compute.v1.TargetInstanceList.items:type_name -> google.cloud.compute.v1.TargetInstance + 1712, // 1045: google.cloud.compute.v1.TargetInstanceList.warning:type_name -> google.cloud.compute.v1.Warning + 1588, // 1046: google.cloud.compute.v1.TargetInstancesScopedList.target_instances:type_name -> google.cloud.compute.v1.TargetInstance + 1712, // 1047: google.cloud.compute.v1.TargetInstancesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1806, // 1048: google.cloud.compute.v1.TargetPoolAggregatedList.items:type_name -> google.cloud.compute.v1.TargetPoolAggregatedList.ItemsEntry + 1712, // 1049: google.cloud.compute.v1.TargetPoolAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 780, // 1050: google.cloud.compute.v1.TargetPoolInstanceHealth.health_status:type_name -> google.cloud.compute.v1.HealthStatus + 1592, // 1051: google.cloud.compute.v1.TargetPoolList.items:type_name -> google.cloud.compute.v1.TargetPool + 1712, // 1052: google.cloud.compute.v1.TargetPoolList.warning:type_name -> google.cloud.compute.v1.Warning + 774, // 1053: google.cloud.compute.v1.TargetPoolsAddHealthCheckRequest.health_checks:type_name -> google.cloud.compute.v1.HealthCheckReference + 920, // 1054: google.cloud.compute.v1.TargetPoolsAddInstanceRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference + 774, // 1055: google.cloud.compute.v1.TargetPoolsRemoveHealthCheckRequest.health_checks:type_name -> google.cloud.compute.v1.HealthCheckReference + 920, // 1056: google.cloud.compute.v1.TargetPoolsRemoveInstanceRequest.instances:type_name -> google.cloud.compute.v1.InstanceReference + 1592, // 1057: google.cloud.compute.v1.TargetPoolsScopedList.target_pools:type_name -> google.cloud.compute.v1.TargetPool + 1712, // 1058: google.cloud.compute.v1.TargetPoolsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1606, // 1059: google.cloud.compute.v1.TargetSslProxyList.items:type_name -> google.cloud.compute.v1.TargetSslProxy + 1712, // 1060: google.cloud.compute.v1.TargetSslProxyList.warning:type_name -> google.cloud.compute.v1.Warning + 1611, // 1061: google.cloud.compute.v1.TargetTcpProxiesScopedList.target_tcp_proxies:type_name -> google.cloud.compute.v1.TargetTcpProxy + 1712, // 1062: google.cloud.compute.v1.TargetTcpProxiesScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1807, // 1063: google.cloud.compute.v1.TargetTcpProxyAggregatedList.items:type_name -> google.cloud.compute.v1.TargetTcpProxyAggregatedList.ItemsEntry + 1712, // 1064: google.cloud.compute.v1.TargetTcpProxyAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1611, // 1065: google.cloud.compute.v1.TargetTcpProxyList.items:type_name -> google.cloud.compute.v1.TargetTcpProxy + 1712, // 1066: google.cloud.compute.v1.TargetTcpProxyList.warning:type_name -> google.cloud.compute.v1.Warning + 1808, // 1067: google.cloud.compute.v1.TargetVpnGateway.labels:type_name -> google.cloud.compute.v1.TargetVpnGateway.LabelsEntry + 1809, // 1068: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.items:type_name -> google.cloud.compute.v1.TargetVpnGatewayAggregatedList.ItemsEntry + 1712, // 1069: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1614, // 1070: google.cloud.compute.v1.TargetVpnGatewayList.items:type_name -> google.cloud.compute.v1.TargetVpnGateway + 1712, // 1071: google.cloud.compute.v1.TargetVpnGatewayList.warning:type_name -> google.cloud.compute.v1.Warning + 1614, // 1072: google.cloud.compute.v1.TargetVpnGatewaysScopedList.target_vpn_gateways:type_name -> google.cloud.compute.v1.TargetVpnGateway + 1712, // 1073: google.cloud.compute.v1.TargetVpnGatewaysScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1676, // 1074: google.cloud.compute.v1.TestFailure.headers:type_name -> google.cloud.compute.v1.UrlMapTestHeader + 1645, // 1075: google.cloud.compute.v1.TestIamPermissionsBackendBucketRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1076: google.cloud.compute.v1.TestIamPermissionsBackendServiceRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1077: google.cloud.compute.v1.TestIamPermissionsDiskRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1078: google.cloud.compute.v1.TestIamPermissionsExternalVpnGatewayRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1079: google.cloud.compute.v1.TestIamPermissionsFirewallPolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1080: google.cloud.compute.v1.TestIamPermissionsImageRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1081: google.cloud.compute.v1.TestIamPermissionsInstanceRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1082: google.cloud.compute.v1.TestIamPermissionsInstanceTemplateRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1083: google.cloud.compute.v1.TestIamPermissionsLicenseCodeRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1084: google.cloud.compute.v1.TestIamPermissionsLicenseRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1085: google.cloud.compute.v1.TestIamPermissionsMachineImageRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1086: google.cloud.compute.v1.TestIamPermissionsNetworkAttachmentRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1087: google.cloud.compute.v1.TestIamPermissionsNetworkEndpointGroupRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1088: google.cloud.compute.v1.TestIamPermissionsNetworkFirewallPolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1089: google.cloud.compute.v1.TestIamPermissionsNodeGroupRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1090: google.cloud.compute.v1.TestIamPermissionsNodeTemplateRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1091: google.cloud.compute.v1.TestIamPermissionsPacketMirroringRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1092: google.cloud.compute.v1.TestIamPermissionsRegionBackendServiceRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1093: google.cloud.compute.v1.TestIamPermissionsRegionDiskRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1094: google.cloud.compute.v1.TestIamPermissionsRegionNetworkFirewallPolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1095: google.cloud.compute.v1.TestIamPermissionsReservationRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1096: google.cloud.compute.v1.TestIamPermissionsResourcePolicyRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1097: google.cloud.compute.v1.TestIamPermissionsServiceAttachmentRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1098: google.cloud.compute.v1.TestIamPermissionsSnapshotRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1099: google.cloud.compute.v1.TestIamPermissionsSubnetworkRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 1645, // 1100: google.cloud.compute.v1.TestIamPermissionsVpnGatewayRequest.test_permissions_request_resource:type_name -> google.cloud.compute.v1.TestPermissionsRequest + 310, // 1101: google.cloud.compute.v1.UpdateAccessConfigInstanceRequest.access_config_resource:type_name -> google.cloud.compute.v1.AccessConfig + 396, // 1102: google.cloud.compute.v1.UpdateAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler + 408, // 1103: google.cloud.compute.v1.UpdateBackendBucketRequest.backend_bucket_resource:type_name -> google.cloud.compute.v1.BackendBucket + 414, // 1104: google.cloud.compute.v1.UpdateBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService + 563, // 1105: google.cloud.compute.v1.UpdateDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk + 583, // 1106: google.cloud.compute.v1.UpdateDisplayDeviceInstanceRequest.display_device_resource:type_name -> google.cloud.compute.v1.DisplayDevice + 601, // 1107: google.cloud.compute.v1.UpdateFirewallRequest.firewall_resource:type_name -> google.cloud.compute.v1.Firewall + 771, // 1108: google.cloud.compute.v1.UpdateHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck + 873, // 1109: google.cloud.compute.v1.UpdateInstanceRequest.instance_resource:type_name -> google.cloud.compute.v1.Instance + 1143, // 1110: google.cloud.compute.v1.UpdateNetworkInterfaceInstanceRequest.network_interface_resource:type_name -> google.cloud.compute.v1.NetworkInterface + 1152, // 1111: google.cloud.compute.v1.UpdatePeeringNetworkRequest.networks_update_peering_request_resource:type_name -> google.cloud.compute.v1.NetworksUpdatePeeringRequest + 905, // 1112: google.cloud.compute.v1.UpdatePerInstanceConfigsInstanceGroupManagerRequest.instance_group_managers_update_per_instance_configs_req_resource:type_name -> google.cloud.compute.v1.InstanceGroupManagersUpdatePerInstanceConfigsReq + 1284, // 1113: google.cloud.compute.v1.UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest.region_instance_group_manager_update_instance_config_req_resource:type_name -> google.cloud.compute.v1.RegionInstanceGroupManagerUpdateInstanceConfigReq + 396, // 1114: google.cloud.compute.v1.UpdateRegionAutoscalerRequest.autoscaler_resource:type_name -> google.cloud.compute.v1.Autoscaler + 414, // 1115: google.cloud.compute.v1.UpdateRegionBackendServiceRequest.backend_service_resource:type_name -> google.cloud.compute.v1.BackendService + 450, // 1116: google.cloud.compute.v1.UpdateRegionCommitmentRequest.commitment_resource:type_name -> google.cloud.compute.v1.Commitment + 563, // 1117: google.cloud.compute.v1.UpdateRegionDiskRequest.disk_resource:type_name -> google.cloud.compute.v1.Disk + 771, // 1118: google.cloud.compute.v1.UpdateRegionHealthCheckRequest.health_check_resource:type_name -> google.cloud.compute.v1.HealthCheck + 1672, // 1119: google.cloud.compute.v1.UpdateRegionUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap + 1323, // 1120: google.cloud.compute.v1.UpdateReservationRequest.reservation_resource:type_name -> google.cloud.compute.v1.Reservation + 1360, // 1121: google.cloud.compute.v1.UpdateRouterRequest.router_resource:type_name -> google.cloud.compute.v1.Router + 1521, // 1122: google.cloud.compute.v1.UpdateShieldedInstanceConfigInstanceRequest.shielded_instance_config_resource:type_name -> google.cloud.compute.v1.ShieldedInstanceConfig + 1672, // 1123: google.cloud.compute.v1.UpdateUrlMapRequest.url_map_resource:type_name -> google.cloud.compute.v1.UrlMap + 794, // 1124: google.cloud.compute.v1.UrlMap.default_route_action:type_name -> google.cloud.compute.v1.HttpRouteAction + 792, // 1125: google.cloud.compute.v1.UrlMap.default_url_redirect:type_name -> google.cloud.compute.v1.HttpRedirectAction + 788, // 1126: google.cloud.compute.v1.UrlMap.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction + 784, // 1127: google.cloud.compute.v1.UrlMap.host_rules:type_name -> google.cloud.compute.v1.HostRule + 1242, // 1128: google.cloud.compute.v1.UrlMap.path_matchers:type_name -> google.cloud.compute.v1.PathMatcher + 1675, // 1129: google.cloud.compute.v1.UrlMap.tests:type_name -> google.cloud.compute.v1.UrlMapTest + 1672, // 1130: google.cloud.compute.v1.UrlMapList.items:type_name -> google.cloud.compute.v1.UrlMap + 1712, // 1131: google.cloud.compute.v1.UrlMapList.warning:type_name -> google.cloud.compute.v1.Warning + 1676, // 1132: google.cloud.compute.v1.UrlMapTest.headers:type_name -> google.cloud.compute.v1.UrlMapTestHeader + 1618, // 1133: google.cloud.compute.v1.UrlMapValidationResult.test_failures:type_name -> google.cloud.compute.v1.TestFailure + 1810, // 1134: google.cloud.compute.v1.UrlMapsAggregatedList.items:type_name -> google.cloud.compute.v1.UrlMapsAggregatedList.ItemsEntry + 1712, // 1135: google.cloud.compute.v1.UrlMapsAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1672, // 1136: google.cloud.compute.v1.UrlMapsScopedList.url_maps:type_name -> google.cloud.compute.v1.UrlMap + 1712, // 1137: google.cloud.compute.v1.UrlMapsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1672, // 1138: google.cloud.compute.v1.UrlMapsValidateRequest.resource:type_name -> google.cloud.compute.v1.UrlMap + 1677, // 1139: google.cloud.compute.v1.UrlMapsValidateResponse.result:type_name -> google.cloud.compute.v1.UrlMapValidationResult + 1684, // 1140: google.cloud.compute.v1.UsableSubnetwork.secondary_ip_ranges:type_name -> google.cloud.compute.v1.UsableSubnetworkSecondaryRange + 1683, // 1141: google.cloud.compute.v1.UsableSubnetworksAggregatedList.items:type_name -> google.cloud.compute.v1.UsableSubnetwork + 1712, // 1142: google.cloud.compute.v1.UsableSubnetworksAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1306, // 1143: google.cloud.compute.v1.ValidateRegionUrlMapRequest.region_url_maps_validate_request_resource:type_name -> google.cloud.compute.v1.RegionUrlMapsValidateRequest + 1680, // 1144: google.cloud.compute.v1.ValidateUrlMapRequest.url_maps_validate_request_resource:type_name -> google.cloud.compute.v1.UrlMapsValidateRequest + 1690, // 1145: google.cloud.compute.v1.VmEndpointNatMappings.interface_nat_mappings:type_name -> google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappings + 1691, // 1146: google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappings.rule_mappings:type_name -> google.cloud.compute.v1.VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings + 1689, // 1147: google.cloud.compute.v1.VmEndpointNatMappingsList.result:type_name -> google.cloud.compute.v1.VmEndpointNatMappings + 1712, // 1148: google.cloud.compute.v1.VmEndpointNatMappingsList.warning:type_name -> google.cloud.compute.v1.Warning + 1811, // 1149: google.cloud.compute.v1.VpnGateway.labels:type_name -> google.cloud.compute.v1.VpnGateway.LabelsEntry + 1700, // 1150: google.cloud.compute.v1.VpnGateway.vpn_interfaces:type_name -> google.cloud.compute.v1.VpnGatewayVpnGatewayInterface + 1812, // 1151: google.cloud.compute.v1.VpnGatewayAggregatedList.items:type_name -> google.cloud.compute.v1.VpnGatewayAggregatedList.ItemsEntry + 1712, // 1152: google.cloud.compute.v1.VpnGatewayAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1693, // 1153: google.cloud.compute.v1.VpnGatewayList.items:type_name -> google.cloud.compute.v1.VpnGateway + 1712, // 1154: google.cloud.compute.v1.VpnGatewayList.warning:type_name -> google.cloud.compute.v1.Warning + 1699, // 1155: google.cloud.compute.v1.VpnGatewayStatus.vpn_connections:type_name -> google.cloud.compute.v1.VpnGatewayStatusVpnConnection + 1697, // 1156: google.cloud.compute.v1.VpnGatewayStatusVpnConnection.state:type_name -> google.cloud.compute.v1.VpnGatewayStatusHighAvailabilityRequirementState + 1698, // 1157: google.cloud.compute.v1.VpnGatewayStatusVpnConnection.tunnels:type_name -> google.cloud.compute.v1.VpnGatewayStatusTunnel + 1696, // 1158: google.cloud.compute.v1.VpnGatewaysGetStatusResponse.result:type_name -> google.cloud.compute.v1.VpnGatewayStatus + 1693, // 1159: google.cloud.compute.v1.VpnGatewaysScopedList.vpn_gateways:type_name -> google.cloud.compute.v1.VpnGateway + 1712, // 1160: google.cloud.compute.v1.VpnGatewaysScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1813, // 1161: google.cloud.compute.v1.VpnTunnel.labels:type_name -> google.cloud.compute.v1.VpnTunnel.LabelsEntry + 1814, // 1162: google.cloud.compute.v1.VpnTunnelAggregatedList.items:type_name -> google.cloud.compute.v1.VpnTunnelAggregatedList.ItemsEntry + 1712, // 1163: google.cloud.compute.v1.VpnTunnelAggregatedList.warning:type_name -> google.cloud.compute.v1.Warning + 1703, // 1164: google.cloud.compute.v1.VpnTunnelList.items:type_name -> google.cloud.compute.v1.VpnTunnel + 1712, // 1165: google.cloud.compute.v1.VpnTunnelList.warning:type_name -> google.cloud.compute.v1.Warning + 1703, // 1166: google.cloud.compute.v1.VpnTunnelsScopedList.vpn_tunnels:type_name -> google.cloud.compute.v1.VpnTunnel + 1712, // 1167: google.cloud.compute.v1.VpnTunnelsScopedList.warning:type_name -> google.cloud.compute.v1.Warning + 1708, // 1168: google.cloud.compute.v1.WafExpressionSet.expressions:type_name -> google.cloud.compute.v1.WafExpressionSetExpression + 466, // 1169: google.cloud.compute.v1.Warning.data:type_name -> google.cloud.compute.v1.Data + 466, // 1170: google.cloud.compute.v1.Warnings.data:type_name -> google.cloud.compute.v1.Data + 788, // 1171: google.cloud.compute.v1.WeightedBackendService.header_action:type_name -> google.cloud.compute.v1.HttpHeaderAction + 1252, // 1172: google.cloud.compute.v1.XpnHostList.items:type_name -> google.cloud.compute.v1.Project + 1712, // 1173: google.cloud.compute.v1.XpnHostList.warning:type_name -> google.cloud.compute.v1.Warning + 556, // 1174: google.cloud.compute.v1.Zone.deprecated:type_name -> google.cloud.compute.v1.DeprecationStatus + 1719, // 1175: google.cloud.compute.v1.ZoneList.items:type_name -> google.cloud.compute.v1.Zone + 1712, // 1176: google.cloud.compute.v1.ZoneList.warning:type_name -> google.cloud.compute.v1.Warning + 1815, // 1177: google.cloud.compute.v1.ZoneSetLabelsRequest.labels:type_name -> google.cloud.compute.v1.ZoneSetLabelsRequest.LabelsEntry + 435, // 1178: google.cloud.compute.v1.ZoneSetPolicyRequest.bindings:type_name -> google.cloud.compute.v1.Binding + 1245, // 1179: google.cloud.compute.v1.ZoneSetPolicyRequest.policy:type_name -> google.cloud.compute.v1.Policy + 308, // 1180: google.cloud.compute.v1.AcceleratorTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.AcceleratorTypesScopedList + 333, // 1181: google.cloud.compute.v1.AddressAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.AddressesScopedList + 1386, // 1182: google.cloud.compute.v1.Autoscaler.ScalingScheduleStatusEntry.value:type_name -> google.cloud.compute.v1.ScalingScheduleStatus + 400, // 1183: google.cloud.compute.v1.AutoscalerAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.AutoscalersScopedList + 406, // 1184: google.cloud.compute.v1.AutoscalingPolicy.ScalingSchedulesEntry.value:type_name -> google.cloud.compute.v1.AutoscalingPolicyScalingSchedule + 431, // 1185: google.cloud.compute.v1.BackendServiceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.BackendServicesScopedList + 440, // 1186: google.cloud.compute.v1.BulkInsertInstanceResource.PerInstancePropertiesEntry.value:type_name -> google.cloud.compute.v1.BulkInsertInstanceResourcePerInstanceProperties + 453, // 1187: google.cloud.compute.v1.CommitmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.CommitmentsScopedList + 566, // 1188: google.cloud.compute.v1.Disk.AsyncSecondaryDisksEntry.value:type_name -> google.cloud.compute.v1.DiskAsyncReplicationList + 580, // 1189: google.cloud.compute.v1.DiskAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.DisksScopedList + 572, // 1190: google.cloud.compute.v1.DiskResourceStatus.AsyncSecondaryDisksEntry.value:type_name -> google.cloud.compute.v1.DiskResourceStatusAsyncReplicationStatus + 576, // 1191: google.cloud.compute.v1.DiskTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.DiskTypesScopedList + 618, // 1192: google.cloud.compute.v1.ForwardingRuleAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ForwardingRulesScopedList + 779, // 1193: google.cloud.compute.v1.HealthChecksAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.HealthChecksScopedList + 931, // 1194: google.cloud.compute.v1.InstanceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstancesScopedList + 910, // 1195: google.cloud.compute.v1.InstanceGroupAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstanceGroupsScopedList + 902, // 1196: google.cloud.compute.v1.InstanceGroupManagerAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstanceGroupManagersScopedList + 924, // 1197: google.cloud.compute.v1.InstanceTemplateAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InstanceTemplatesScopedList + 441, // 1198: google.cloud.compute.v1.InstancesBulkInsertOperationMetadata.PerLocationStatusEntry.value:type_name -> google.cloud.compute.v1.BulkInsertOperationStatus + 949, // 1199: google.cloud.compute.v1.InterconnectAttachmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.InterconnectAttachmentsScopedList + 1091, // 1200: google.cloud.compute.v1.LocationPolicy.LocationsEntry.value:type_name -> google.cloud.compute.v1.LocationPolicyLocation + 1103, // 1201: google.cloud.compute.v1.MachineTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.MachineTypesScopedList + 1125, // 1202: google.cloud.compute.v1.NetworkAttachmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NetworkAttachmentsScopedList + 1128, // 1203: google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NetworkEdgeSecurityServicesScopedList + 1141, // 1204: google.cloud.compute.v1.NetworkEndpointGroupAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NetworkEndpointGroupsScopedList + 1162, // 1205: google.cloud.compute.v1.NodeGroupAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NodeGroupsScopedList + 1169, // 1206: google.cloud.compute.v1.NodeTemplateAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NodeTemplatesScopedList + 1173, // 1207: google.cloud.compute.v1.NodeTypeAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.NodeTypesScopedList + 1180, // 1208: google.cloud.compute.v1.OperationAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.OperationsScopedList + 1192, // 1209: google.cloud.compute.v1.PacketMirroringAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.PacketMirroringsScopedList + 1248, // 1210: google.cloud.compute.v1.PreservedState.DisksEntry.value:type_name -> google.cloud.compute.v1.PreservedStatePreservedDisk + 1249, // 1211: google.cloud.compute.v1.PreservedState.ExternalIPsEntry.value:type_name -> google.cloud.compute.v1.PreservedStatePreservedNetworkIp + 1249, // 1212: google.cloud.compute.v1.PreservedState.InternalIPsEntry.value:type_name -> google.cloud.compute.v1.PreservedStatePreservedNetworkIp + 1265, // 1213: google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.PublicDelegatedPrefixesScopedList + 1328, // 1214: google.cloud.compute.v1.ReservationAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ReservationsScopedList + 1337, // 1215: google.cloud.compute.v1.ResourcePolicyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ResourcePoliciesScopedList + 1381, // 1216: google.cloud.compute.v1.RouterAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.RoutersScopedList + 1393, // 1217: google.cloud.compute.v1.SecurityPoliciesAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SecurityPoliciesScopedList + 1431, // 1218: google.cloud.compute.v1.ServiceAttachmentAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.ServiceAttachmentsScopedList + 1438, // 1219: google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadata.PerLocationOperationsEntry.value:type_name -> google.cloud.compute.v1.SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo + 1520, // 1220: google.cloud.compute.v1.ShareSettings.ProjectMapEntry.value:type_name -> google.cloud.compute.v1.ShareSettingsProjectConfig + 1532, // 1221: google.cloud.compute.v1.SnapshotSettingsStorageLocationSettings.LocationsEntry.value:type_name -> google.cloud.compute.v1.SnapshotSettingsStorageLocationSettingsStorageLocationPreference + 1541, // 1222: google.cloud.compute.v1.SslCertificateAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SslCertificatesScopedList + 1545, // 1223: google.cloud.compute.v1.SslPoliciesAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SslPoliciesScopedList + 1554, // 1224: google.cloud.compute.v1.StatefulPolicyPreservedState.DisksEntry.value:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedStateDiskDevice + 1555, // 1225: google.cloud.compute.v1.StatefulPolicyPreservedState.ExternalIPsEntry.value:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedStateNetworkIp + 1555, // 1226: google.cloud.compute.v1.StatefulPolicyPreservedState.InternalIPsEntry.value:type_name -> google.cloud.compute.v1.StatefulPolicyPreservedStateNetworkIp + 1568, // 1227: google.cloud.compute.v1.SubnetworkAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.SubnetworksScopedList + 1577, // 1228: google.cloud.compute.v1.TargetHttpProxyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetHttpProxiesScopedList + 1581, // 1229: google.cloud.compute.v1.TargetHttpsProxyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetHttpsProxiesScopedList + 1591, // 1230: google.cloud.compute.v1.TargetInstanceAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetInstancesScopedList + 1600, // 1231: google.cloud.compute.v1.TargetPoolAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetPoolsScopedList + 1608, // 1232: google.cloud.compute.v1.TargetTcpProxyAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetTcpProxiesScopedList + 1617, // 1233: google.cloud.compute.v1.TargetVpnGatewayAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.TargetVpnGatewaysScopedList + 1679, // 1234: google.cloud.compute.v1.UrlMapsAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.UrlMapsScopedList + 1702, // 1235: google.cloud.compute.v1.VpnGatewayAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.VpnGatewaysScopedList + 1706, // 1236: google.cloud.compute.v1.VpnTunnelAggregatedList.ItemsEntry.value:type_name -> google.cloud.compute.v1.VpnTunnelsScopedList + 335, // 1237: google.cloud.compute.v1.AcceleratorTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListAcceleratorTypesRequest + 620, // 1238: google.cloud.compute.v1.AcceleratorTypes.Get:input_type -> google.cloud.compute.v1.GetAcceleratorTypeRequest + 981, // 1239: google.cloud.compute.v1.AcceleratorTypes.List:input_type -> google.cloud.compute.v1.ListAcceleratorTypesRequest + 336, // 1240: google.cloud.compute.v1.Addresses.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListAddressesRequest + 468, // 1241: google.cloud.compute.v1.Addresses.Delete:input_type -> google.cloud.compute.v1.DeleteAddressRequest + 621, // 1242: google.cloud.compute.v1.Addresses.Get:input_type -> google.cloud.compute.v1.GetAddressRequest + 801, // 1243: google.cloud.compute.v1.Addresses.Insert:input_type -> google.cloud.compute.v1.InsertAddressRequest + 982, // 1244: google.cloud.compute.v1.Addresses.List:input_type -> google.cloud.compute.v1.ListAddressesRequest + 1111, // 1245: google.cloud.compute.v1.Addresses.Move:input_type -> google.cloud.compute.v1.MoveAddressRequest + 1468, // 1246: google.cloud.compute.v1.Addresses.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsAddressRequest + 337, // 1247: google.cloud.compute.v1.Autoscalers.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListAutoscalersRequest + 469, // 1248: google.cloud.compute.v1.Autoscalers.Delete:input_type -> google.cloud.compute.v1.DeleteAutoscalerRequest + 625, // 1249: google.cloud.compute.v1.Autoscalers.Get:input_type -> google.cloud.compute.v1.GetAutoscalerRequest + 802, // 1250: google.cloud.compute.v1.Autoscalers.Insert:input_type -> google.cloud.compute.v1.InsertAutoscalerRequest + 984, // 1251: google.cloud.compute.v1.Autoscalers.List:input_type -> google.cloud.compute.v1.ListAutoscalersRequest + 1193, // 1252: google.cloud.compute.v1.Autoscalers.Patch:input_type -> google.cloud.compute.v1.PatchAutoscalerRequest + 1650, // 1253: google.cloud.compute.v1.Autoscalers.Update:input_type -> google.cloud.compute.v1.UpdateAutoscalerRequest + 328, // 1254: google.cloud.compute.v1.BackendBuckets.AddSignedUrlKey:input_type -> google.cloud.compute.v1.AddSignedUrlKeyBackendBucketRequest + 470, // 1255: google.cloud.compute.v1.BackendBuckets.Delete:input_type -> google.cloud.compute.v1.DeleteBackendBucketRequest + 535, // 1256: google.cloud.compute.v1.BackendBuckets.DeleteSignedUrlKey:input_type -> google.cloud.compute.v1.DeleteSignedUrlKeyBackendBucketRequest + 626, // 1257: google.cloud.compute.v1.BackendBuckets.Get:input_type -> google.cloud.compute.v1.GetBackendBucketRequest + 650, // 1258: google.cloud.compute.v1.BackendBuckets.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyBackendBucketRequest + 803, // 1259: google.cloud.compute.v1.BackendBuckets.Insert:input_type -> google.cloud.compute.v1.InsertBackendBucketRequest + 987, // 1260: google.cloud.compute.v1.BackendBuckets.List:input_type -> google.cloud.compute.v1.ListBackendBucketsRequest + 1194, // 1261: google.cloud.compute.v1.BackendBuckets.Patch:input_type -> google.cloud.compute.v1.PatchBackendBucketRequest + 1443, // 1262: google.cloud.compute.v1.BackendBuckets.SetEdgeSecurityPolicy:input_type -> google.cloud.compute.v1.SetEdgeSecurityPolicyBackendBucketRequest + 1445, // 1263: google.cloud.compute.v1.BackendBuckets.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyBackendBucketRequest + 1619, // 1264: google.cloud.compute.v1.BackendBuckets.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsBackendBucketRequest + 1651, // 1265: google.cloud.compute.v1.BackendBuckets.Update:input_type -> google.cloud.compute.v1.UpdateBackendBucketRequest + 329, // 1266: google.cloud.compute.v1.BackendServices.AddSignedUrlKey:input_type -> google.cloud.compute.v1.AddSignedUrlKeyBackendServiceRequest + 338, // 1267: google.cloud.compute.v1.BackendServices.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListBackendServicesRequest + 471, // 1268: google.cloud.compute.v1.BackendServices.Delete:input_type -> google.cloud.compute.v1.DeleteBackendServiceRequest + 536, // 1269: google.cloud.compute.v1.BackendServices.DeleteSignedUrlKey:input_type -> google.cloud.compute.v1.DeleteSignedUrlKeyBackendServiceRequest + 627, // 1270: google.cloud.compute.v1.BackendServices.Get:input_type -> google.cloud.compute.v1.GetBackendServiceRequest + 646, // 1271: google.cloud.compute.v1.BackendServices.GetHealth:input_type -> google.cloud.compute.v1.GetHealthBackendServiceRequest + 651, // 1272: google.cloud.compute.v1.BackendServices.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyBackendServiceRequest + 804, // 1273: google.cloud.compute.v1.BackendServices.Insert:input_type -> google.cloud.compute.v1.InsertBackendServiceRequest + 988, // 1274: google.cloud.compute.v1.BackendServices.List:input_type -> google.cloud.compute.v1.ListBackendServicesRequest + 1080, // 1275: google.cloud.compute.v1.BackendServices.ListUsable:input_type -> google.cloud.compute.v1.ListUsableBackendServicesRequest + 1195, // 1276: google.cloud.compute.v1.BackendServices.Patch:input_type -> google.cloud.compute.v1.PatchBackendServiceRequest + 1444, // 1277: google.cloud.compute.v1.BackendServices.SetEdgeSecurityPolicy:input_type -> google.cloud.compute.v1.SetEdgeSecurityPolicyBackendServiceRequest + 1446, // 1278: google.cloud.compute.v1.BackendServices.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyBackendServiceRequest + 1497, // 1279: google.cloud.compute.v1.BackendServices.SetSecurityPolicy:input_type -> google.cloud.compute.v1.SetSecurityPolicyBackendServiceRequest + 1620, // 1280: google.cloud.compute.v1.BackendServices.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsBackendServiceRequest + 1652, // 1281: google.cloud.compute.v1.BackendServices.Update:input_type -> google.cloud.compute.v1.UpdateBackendServiceRequest + 339, // 1282: google.cloud.compute.v1.DiskTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListDiskTypesRequest + 630, // 1283: google.cloud.compute.v1.DiskTypes.Get:input_type -> google.cloud.compute.v1.GetDiskTypeRequest + 989, // 1284: google.cloud.compute.v1.DiskTypes.List:input_type -> google.cloud.compute.v1.ListDiskTypesRequest + 320, // 1285: google.cloud.compute.v1.Disks.AddResourcePolicies:input_type -> google.cloud.compute.v1.AddResourcePoliciesDiskRequest + 340, // 1286: google.cloud.compute.v1.Disks.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListDisksRequest + 436, // 1287: google.cloud.compute.v1.Disks.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertDiskRequest + 462, // 1288: google.cloud.compute.v1.Disks.CreateSnapshot:input_type -> google.cloud.compute.v1.CreateSnapshotDiskRequest + 472, // 1289: google.cloud.compute.v1.Disks.Delete:input_type -> google.cloud.compute.v1.DeleteDiskRequest + 629, // 1290: google.cloud.compute.v1.Disks.Get:input_type -> google.cloud.compute.v1.GetDiskRequest + 652, // 1291: google.cloud.compute.v1.Disks.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyDiskRequest + 805, // 1292: google.cloud.compute.v1.Disks.Insert:input_type -> google.cloud.compute.v1.InsertDiskRequest + 990, // 1293: google.cloud.compute.v1.Disks.List:input_type -> google.cloud.compute.v1.ListDisksRequest + 1314, // 1294: google.cloud.compute.v1.Disks.RemoveResourcePolicies:input_type -> google.cloud.compute.v1.RemoveResourcePoliciesDiskRequest + 1330, // 1295: google.cloud.compute.v1.Disks.Resize:input_type -> google.cloud.compute.v1.ResizeDiskRequest + 1447, // 1296: google.cloud.compute.v1.Disks.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyDiskRequest + 1469, // 1297: google.cloud.compute.v1.Disks.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsDiskRequest + 1548, // 1298: google.cloud.compute.v1.Disks.StartAsyncReplication:input_type -> google.cloud.compute.v1.StartAsyncReplicationDiskRequest + 1557, // 1299: google.cloud.compute.v1.Disks.StopAsyncReplication:input_type -> google.cloud.compute.v1.StopAsyncReplicationDiskRequest + 1559, // 1300: google.cloud.compute.v1.Disks.StopGroupAsyncReplication:input_type -> google.cloud.compute.v1.StopGroupAsyncReplicationDiskRequest + 1621, // 1301: google.cloud.compute.v1.Disks.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsDiskRequest + 1653, // 1302: google.cloud.compute.v1.Disks.Update:input_type -> google.cloud.compute.v1.UpdateDiskRequest + 473, // 1303: google.cloud.compute.v1.ExternalVpnGateways.Delete:input_type -> google.cloud.compute.v1.DeleteExternalVpnGatewayRequest + 634, // 1304: google.cloud.compute.v1.ExternalVpnGateways.Get:input_type -> google.cloud.compute.v1.GetExternalVpnGatewayRequest + 806, // 1305: google.cloud.compute.v1.ExternalVpnGateways.Insert:input_type -> google.cloud.compute.v1.InsertExternalVpnGatewayRequest + 993, // 1306: google.cloud.compute.v1.ExternalVpnGateways.List:input_type -> google.cloud.compute.v1.ListExternalVpnGatewaysRequest + 1470, // 1307: google.cloud.compute.v1.ExternalVpnGateways.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsExternalVpnGatewayRequest + 1622, // 1308: google.cloud.compute.v1.ExternalVpnGateways.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsExternalVpnGatewayRequest + 312, // 1309: google.cloud.compute.v1.FirewallPolicies.AddAssociation:input_type -> google.cloud.compute.v1.AddAssociationFirewallPolicyRequest + 323, // 1310: google.cloud.compute.v1.FirewallPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleFirewallPolicyRequest + 447, // 1311: google.cloud.compute.v1.FirewallPolicies.CloneRules:input_type -> google.cloud.compute.v1.CloneRulesFirewallPolicyRequest + 474, // 1312: google.cloud.compute.v1.FirewallPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteFirewallPolicyRequest + 635, // 1313: google.cloud.compute.v1.FirewallPolicies.Get:input_type -> google.cloud.compute.v1.GetFirewallPolicyRequest + 622, // 1314: google.cloud.compute.v1.FirewallPolicies.GetAssociation:input_type -> google.cloud.compute.v1.GetAssociationFirewallPolicyRequest + 653, // 1315: google.cloud.compute.v1.FirewallPolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyFirewallPolicyRequest + 727, // 1316: google.cloud.compute.v1.FirewallPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleFirewallPolicyRequest + 807, // 1317: google.cloud.compute.v1.FirewallPolicies.Insert:input_type -> google.cloud.compute.v1.InsertFirewallPolicyRequest + 994, // 1318: google.cloud.compute.v1.FirewallPolicies.List:input_type -> google.cloud.compute.v1.ListFirewallPoliciesRequest + 983, // 1319: google.cloud.compute.v1.FirewallPolicies.ListAssociations:input_type -> google.cloud.compute.v1.ListAssociationsFirewallPolicyRequest + 1113, // 1320: google.cloud.compute.v1.FirewallPolicies.Move:input_type -> google.cloud.compute.v1.MoveFirewallPolicyRequest + 1196, // 1321: google.cloud.compute.v1.FirewallPolicies.Patch:input_type -> google.cloud.compute.v1.PatchFirewallPolicyRequest + 1228, // 1322: google.cloud.compute.v1.FirewallPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleFirewallPolicyRequest + 1307, // 1323: google.cloud.compute.v1.FirewallPolicies.RemoveAssociation:input_type -> google.cloud.compute.v1.RemoveAssociationFirewallPolicyRequest + 1317, // 1324: google.cloud.compute.v1.FirewallPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleFirewallPolicyRequest + 1448, // 1325: google.cloud.compute.v1.FirewallPolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyFirewallPolicyRequest + 1623, // 1326: google.cloud.compute.v1.FirewallPolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsFirewallPolicyRequest + 475, // 1327: google.cloud.compute.v1.Firewalls.Delete:input_type -> google.cloud.compute.v1.DeleteFirewallRequest + 636, // 1328: google.cloud.compute.v1.Firewalls.Get:input_type -> google.cloud.compute.v1.GetFirewallRequest + 808, // 1329: google.cloud.compute.v1.Firewalls.Insert:input_type -> google.cloud.compute.v1.InsertFirewallRequest + 995, // 1330: google.cloud.compute.v1.Firewalls.List:input_type -> google.cloud.compute.v1.ListFirewallsRequest + 1197, // 1331: google.cloud.compute.v1.Firewalls.Patch:input_type -> google.cloud.compute.v1.PatchFirewallRequest + 1655, // 1332: google.cloud.compute.v1.Firewalls.Update:input_type -> google.cloud.compute.v1.UpdateFirewallRequest + 341, // 1333: google.cloud.compute.v1.ForwardingRules.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListForwardingRulesRequest + 476, // 1334: google.cloud.compute.v1.ForwardingRules.Delete:input_type -> google.cloud.compute.v1.DeleteForwardingRuleRequest + 637, // 1335: google.cloud.compute.v1.ForwardingRules.Get:input_type -> google.cloud.compute.v1.GetForwardingRuleRequest + 809, // 1336: google.cloud.compute.v1.ForwardingRules.Insert:input_type -> google.cloud.compute.v1.InsertForwardingRuleRequest + 996, // 1337: google.cloud.compute.v1.ForwardingRules.List:input_type -> google.cloud.compute.v1.ListForwardingRulesRequest + 1198, // 1338: google.cloud.compute.v1.ForwardingRules.Patch:input_type -> google.cloud.compute.v1.PatchForwardingRuleRequest + 1471, // 1339: google.cloud.compute.v1.ForwardingRules.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsForwardingRuleRequest + 1510, // 1340: google.cloud.compute.v1.ForwardingRules.SetTarget:input_type -> google.cloud.compute.v1.SetTargetForwardingRuleRequest + 477, // 1341: google.cloud.compute.v1.GlobalAddresses.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalAddressRequest + 639, // 1342: google.cloud.compute.v1.GlobalAddresses.Get:input_type -> google.cloud.compute.v1.GetGlobalAddressRequest + 810, // 1343: google.cloud.compute.v1.GlobalAddresses.Insert:input_type -> google.cloud.compute.v1.InsertGlobalAddressRequest + 997, // 1344: google.cloud.compute.v1.GlobalAddresses.List:input_type -> google.cloud.compute.v1.ListGlobalAddressesRequest + 1114, // 1345: google.cloud.compute.v1.GlobalAddresses.Move:input_type -> google.cloud.compute.v1.MoveGlobalAddressRequest + 1472, // 1346: google.cloud.compute.v1.GlobalAddresses.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsGlobalAddressRequest + 478, // 1347: google.cloud.compute.v1.GlobalForwardingRules.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalForwardingRuleRequest + 640, // 1348: google.cloud.compute.v1.GlobalForwardingRules.Get:input_type -> google.cloud.compute.v1.GetGlobalForwardingRuleRequest + 811, // 1349: google.cloud.compute.v1.GlobalForwardingRules.Insert:input_type -> google.cloud.compute.v1.InsertGlobalForwardingRuleRequest + 998, // 1350: google.cloud.compute.v1.GlobalForwardingRules.List:input_type -> google.cloud.compute.v1.ListGlobalForwardingRulesRequest + 1199, // 1351: google.cloud.compute.v1.GlobalForwardingRules.Patch:input_type -> google.cloud.compute.v1.PatchGlobalForwardingRuleRequest + 1473, // 1352: google.cloud.compute.v1.GlobalForwardingRules.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsGlobalForwardingRuleRequest + 1511, // 1353: google.cloud.compute.v1.GlobalForwardingRules.SetTarget:input_type -> google.cloud.compute.v1.SetTargetGlobalForwardingRuleRequest + 388, // 1354: google.cloud.compute.v1.GlobalNetworkEndpointGroups.AttachNetworkEndpoints:input_type -> google.cloud.compute.v1.AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest + 479, // 1355: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalNetworkEndpointGroupRequest + 558, // 1356: google.cloud.compute.v1.GlobalNetworkEndpointGroups.DetachNetworkEndpoints:input_type -> google.cloud.compute.v1.DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest + 641, // 1357: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Get:input_type -> google.cloud.compute.v1.GetGlobalNetworkEndpointGroupRequest + 812, // 1358: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Insert:input_type -> google.cloud.compute.v1.InsertGlobalNetworkEndpointGroupRequest + 999, // 1359: google.cloud.compute.v1.GlobalNetworkEndpointGroups.List:input_type -> google.cloud.compute.v1.ListGlobalNetworkEndpointGroupsRequest + 1022, // 1360: google.cloud.compute.v1.GlobalNetworkEndpointGroups.ListNetworkEndpoints:input_type -> google.cloud.compute.v1.ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest + 342, // 1361: google.cloud.compute.v1.GlobalOperations.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListGlobalOperationsRequest + 480, // 1362: google.cloud.compute.v1.GlobalOperations.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalOperationRequest + 642, // 1363: google.cloud.compute.v1.GlobalOperations.Get:input_type -> google.cloud.compute.v1.GetGlobalOperationRequest + 1000, // 1364: google.cloud.compute.v1.GlobalOperations.List:input_type -> google.cloud.compute.v1.ListGlobalOperationsRequest + 1709, // 1365: google.cloud.compute.v1.GlobalOperations.Wait:input_type -> google.cloud.compute.v1.WaitGlobalOperationRequest + 482, // 1366: google.cloud.compute.v1.GlobalOrganizationOperations.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalOrganizationOperationRequest + 643, // 1367: google.cloud.compute.v1.GlobalOrganizationOperations.Get:input_type -> google.cloud.compute.v1.GetGlobalOrganizationOperationRequest + 1001, // 1368: google.cloud.compute.v1.GlobalOrganizationOperations.List:input_type -> google.cloud.compute.v1.ListGlobalOrganizationOperationsRequest + 484, // 1369: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Delete:input_type -> google.cloud.compute.v1.DeleteGlobalPublicDelegatedPrefixeRequest + 644, // 1370: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Get:input_type -> google.cloud.compute.v1.GetGlobalPublicDelegatedPrefixeRequest + 813, // 1371: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Insert:input_type -> google.cloud.compute.v1.InsertGlobalPublicDelegatedPrefixeRequest + 1002, // 1372: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.List:input_type -> google.cloud.compute.v1.ListGlobalPublicDelegatedPrefixesRequest + 1200, // 1373: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Patch:input_type -> google.cloud.compute.v1.PatchGlobalPublicDelegatedPrefixeRequest + 343, // 1374: google.cloud.compute.v1.HealthChecks.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListHealthChecksRequest + 485, // 1375: google.cloud.compute.v1.HealthChecks.Delete:input_type -> google.cloud.compute.v1.DeleteHealthCheckRequest + 647, // 1376: google.cloud.compute.v1.HealthChecks.Get:input_type -> google.cloud.compute.v1.GetHealthCheckRequest + 814, // 1377: google.cloud.compute.v1.HealthChecks.Insert:input_type -> google.cloud.compute.v1.InsertHealthCheckRequest + 1003, // 1378: google.cloud.compute.v1.HealthChecks.List:input_type -> google.cloud.compute.v1.ListHealthChecksRequest + 1201, // 1379: google.cloud.compute.v1.HealthChecks.Patch:input_type -> google.cloud.compute.v1.PatchHealthCheckRequest + 1656, // 1380: google.cloud.compute.v1.HealthChecks.Update:input_type -> google.cloud.compute.v1.UpdateHealthCheckRequest + 671, // 1381: google.cloud.compute.v1.ImageFamilyViews.Get:input_type -> google.cloud.compute.v1.GetImageFamilyViewRequest + 486, // 1382: google.cloud.compute.v1.Images.Delete:input_type -> google.cloud.compute.v1.DeleteImageRequest + 555, // 1383: google.cloud.compute.v1.Images.Deprecate:input_type -> google.cloud.compute.v1.DeprecateImageRequest + 672, // 1384: google.cloud.compute.v1.Images.Get:input_type -> google.cloud.compute.v1.GetImageRequest + 638, // 1385: google.cloud.compute.v1.Images.GetFromFamily:input_type -> google.cloud.compute.v1.GetFromFamilyImageRequest + 654, // 1386: google.cloud.compute.v1.Images.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyImageRequest + 815, // 1387: google.cloud.compute.v1.Images.Insert:input_type -> google.cloud.compute.v1.InsertImageRequest + 1004, // 1388: google.cloud.compute.v1.Images.List:input_type -> google.cloud.compute.v1.ListImagesRequest + 1202, // 1389: google.cloud.compute.v1.Images.Patch:input_type -> google.cloud.compute.v1.PatchImageRequest + 1449, // 1390: google.cloud.compute.v1.Images.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyImageRequest + 1474, // 1391: google.cloud.compute.v1.Images.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsImageRequest + 1624, // 1392: google.cloud.compute.v1.Images.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsImageRequest + 302, // 1393: google.cloud.compute.v1.InstanceGroupManagers.AbandonInstances:input_type -> google.cloud.compute.v1.AbandonInstancesInstanceGroupManagerRequest + 344, // 1394: google.cloud.compute.v1.InstanceGroupManagers.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstanceGroupManagersRequest + 385, // 1395: google.cloud.compute.v1.InstanceGroupManagers.ApplyUpdatesToInstances:input_type -> google.cloud.compute.v1.ApplyUpdatesToInstancesInstanceGroupManagerRequest + 460, // 1396: google.cloud.compute.v1.InstanceGroupManagers.CreateInstances:input_type -> google.cloud.compute.v1.CreateInstancesInstanceGroupManagerRequest + 487, // 1397: google.cloud.compute.v1.InstanceGroupManagers.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceGroupManagerRequest + 491, // 1398: google.cloud.compute.v1.InstanceGroupManagers.DeleteInstances:input_type -> google.cloud.compute.v1.DeleteInstancesInstanceGroupManagerRequest + 506, // 1399: google.cloud.compute.v1.InstanceGroupManagers.DeletePerInstanceConfigs:input_type -> google.cloud.compute.v1.DeletePerInstanceConfigsInstanceGroupManagerRequest + 673, // 1400: google.cloud.compute.v1.InstanceGroupManagers.Get:input_type -> google.cloud.compute.v1.GetInstanceGroupManagerRequest + 816, // 1401: google.cloud.compute.v1.InstanceGroupManagers.Insert:input_type -> google.cloud.compute.v1.InsertInstanceGroupManagerRequest + 1005, // 1402: google.cloud.compute.v1.InstanceGroupManagers.List:input_type -> google.cloud.compute.v1.ListInstanceGroupManagersRequest + 991, // 1403: google.cloud.compute.v1.InstanceGroupManagers.ListErrors:input_type -> google.cloud.compute.v1.ListErrorsInstanceGroupManagersRequest + 1018, // 1404: google.cloud.compute.v1.InstanceGroupManagers.ListManagedInstances:input_type -> google.cloud.compute.v1.ListManagedInstancesInstanceGroupManagersRequest + 1033, // 1405: google.cloud.compute.v1.InstanceGroupManagers.ListPerInstanceConfigs:input_type -> google.cloud.compute.v1.ListPerInstanceConfigsInstanceGroupManagersRequest + 1203, // 1406: google.cloud.compute.v1.InstanceGroupManagers.Patch:input_type -> google.cloud.compute.v1.PatchInstanceGroupManagerRequest + 1212, // 1407: google.cloud.compute.v1.InstanceGroupManagers.PatchPerInstanceConfigs:input_type -> google.cloud.compute.v1.PatchPerInstanceConfigsInstanceGroupManagerRequest + 1269, // 1408: google.cloud.compute.v1.InstanceGroupManagers.RecreateInstances:input_type -> google.cloud.compute.v1.RecreateInstancesInstanceGroupManagerRequest + 1331, // 1409: google.cloud.compute.v1.InstanceGroupManagers.Resize:input_type -> google.cloud.compute.v1.ResizeInstanceGroupManagerRequest + 1466, // 1410: google.cloud.compute.v1.InstanceGroupManagers.SetInstanceTemplate:input_type -> google.cloud.compute.v1.SetInstanceTemplateInstanceGroupManagerRequest + 1512, // 1411: google.cloud.compute.v1.InstanceGroupManagers.SetTargetPools:input_type -> google.cloud.compute.v1.SetTargetPoolsInstanceGroupManagerRequest + 1660, // 1412: google.cloud.compute.v1.InstanceGroupManagers.UpdatePerInstanceConfigs:input_type -> google.cloud.compute.v1.UpdatePerInstanceConfigsInstanceGroupManagerRequest + 317, // 1413: google.cloud.compute.v1.InstanceGroups.AddInstances:input_type -> google.cloud.compute.v1.AddInstancesInstanceGroupRequest + 345, // 1414: google.cloud.compute.v1.InstanceGroups.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstanceGroupsRequest + 488, // 1415: google.cloud.compute.v1.InstanceGroups.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceGroupRequest + 674, // 1416: google.cloud.compute.v1.InstanceGroups.Get:input_type -> google.cloud.compute.v1.GetInstanceGroupRequest + 817, // 1417: google.cloud.compute.v1.InstanceGroups.Insert:input_type -> google.cloud.compute.v1.InsertInstanceGroupRequest + 1006, // 1418: google.cloud.compute.v1.InstanceGroups.List:input_type -> google.cloud.compute.v1.ListInstanceGroupsRequest + 1008, // 1419: google.cloud.compute.v1.InstanceGroups.ListInstances:input_type -> google.cloud.compute.v1.ListInstancesInstanceGroupsRequest + 1312, // 1420: google.cloud.compute.v1.InstanceGroups.RemoveInstances:input_type -> google.cloud.compute.v1.RemoveInstancesInstanceGroupRequest + 1489, // 1421: google.cloud.compute.v1.InstanceGroups.SetNamedPorts:input_type -> google.cloud.compute.v1.SetNamedPortsInstanceGroupRequest + 346, // 1422: google.cloud.compute.v1.InstanceTemplates.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstanceTemplatesRequest + 490, // 1423: google.cloud.compute.v1.InstanceTemplates.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceTemplateRequest + 676, // 1424: google.cloud.compute.v1.InstanceTemplates.Get:input_type -> google.cloud.compute.v1.GetInstanceTemplateRequest + 656, // 1425: google.cloud.compute.v1.InstanceTemplates.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyInstanceTemplateRequest + 819, // 1426: google.cloud.compute.v1.InstanceTemplates.Insert:input_type -> google.cloud.compute.v1.InsertInstanceTemplateRequest + 1007, // 1427: google.cloud.compute.v1.InstanceTemplates.List:input_type -> google.cloud.compute.v1.ListInstanceTemplatesRequest + 1451, // 1428: google.cloud.compute.v1.InstanceTemplates.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyInstanceTemplateRequest + 1626, // 1429: google.cloud.compute.v1.InstanceTemplates.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsInstanceTemplateRequest + 311, // 1430: google.cloud.compute.v1.Instances.AddAccessConfig:input_type -> google.cloud.compute.v1.AddAccessConfigInstanceRequest + 321, // 1431: google.cloud.compute.v1.Instances.AddResourcePolicies:input_type -> google.cloud.compute.v1.AddResourcePoliciesInstanceRequest + 347, // 1432: google.cloud.compute.v1.Instances.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInstancesRequest + 387, // 1433: google.cloud.compute.v1.Instances.AttachDisk:input_type -> google.cloud.compute.v1.AttachDiskInstanceRequest + 438, // 1434: google.cloud.compute.v1.Instances.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertInstanceRequest + 489, // 1435: google.cloud.compute.v1.Instances.Delete:input_type -> google.cloud.compute.v1.DeleteInstanceRequest + 467, // 1436: google.cloud.compute.v1.Instances.DeleteAccessConfig:input_type -> google.cloud.compute.v1.DeleteAccessConfigInstanceRequest + 557, // 1437: google.cloud.compute.v1.Instances.DetachDisk:input_type -> google.cloud.compute.v1.DetachDiskInstanceRequest + 675, // 1438: google.cloud.compute.v1.Instances.Get:input_type -> google.cloud.compute.v1.GetInstanceRequest + 631, // 1439: google.cloud.compute.v1.Instances.GetEffectiveFirewalls:input_type -> google.cloud.compute.v1.GetEffectiveFirewallsInstanceRequest + 645, // 1440: google.cloud.compute.v1.Instances.GetGuestAttributes:input_type -> google.cloud.compute.v1.GetGuestAttributesInstanceRequest + 655, // 1441: google.cloud.compute.v1.Instances.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyInstanceRequest + 732, // 1442: google.cloud.compute.v1.Instances.GetScreenshot:input_type -> google.cloud.compute.v1.GetScreenshotInstanceRequest + 734, // 1443: google.cloud.compute.v1.Instances.GetSerialPortOutput:input_type -> google.cloud.compute.v1.GetSerialPortOutputInstanceRequest + 736, // 1444: google.cloud.compute.v1.Instances.GetShieldedInstanceIdentity:input_type -> google.cloud.compute.v1.GetShieldedInstanceIdentityInstanceRequest + 818, // 1445: google.cloud.compute.v1.Instances.Insert:input_type -> google.cloud.compute.v1.InsertInstanceRequest + 1010, // 1446: google.cloud.compute.v1.Instances.List:input_type -> google.cloud.compute.v1.ListInstancesRequest + 1038, // 1447: google.cloud.compute.v1.Instances.ListReferrers:input_type -> google.cloud.compute.v1.ListReferrersInstancesRequest + 1315, // 1448: google.cloud.compute.v1.Instances.RemoveResourcePolicies:input_type -> google.cloud.compute.v1.RemoveResourcePoliciesInstanceRequest + 1329, // 1449: google.cloud.compute.v1.Instances.Reset:input_type -> google.cloud.compute.v1.ResetInstanceRequest + 1356, // 1450: google.cloud.compute.v1.Instances.Resume:input_type -> google.cloud.compute.v1.ResumeInstanceRequest + 1421, // 1451: google.cloud.compute.v1.Instances.SendDiagnosticInterrupt:input_type -> google.cloud.compute.v1.SendDiagnosticInterruptInstanceRequest + 1441, // 1452: google.cloud.compute.v1.Instances.SetDeletionProtection:input_type -> google.cloud.compute.v1.SetDeletionProtectionInstanceRequest + 1442, // 1453: google.cloud.compute.v1.Instances.SetDiskAutoDelete:input_type -> google.cloud.compute.v1.SetDiskAutoDeleteInstanceRequest + 1450, // 1454: google.cloud.compute.v1.Instances.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyInstanceRequest + 1475, // 1455: google.cloud.compute.v1.Instances.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsInstanceRequest + 1484, // 1456: google.cloud.compute.v1.Instances.SetMachineResources:input_type -> google.cloud.compute.v1.SetMachineResourcesInstanceRequest + 1485, // 1457: google.cloud.compute.v1.Instances.SetMachineType:input_type -> google.cloud.compute.v1.SetMachineTypeInstanceRequest + 1486, // 1458: google.cloud.compute.v1.Instances.SetMetadata:input_type -> google.cloud.compute.v1.SetMetadataInstanceRequest + 1487, // 1459: google.cloud.compute.v1.Instances.SetMinCpuPlatform:input_type -> google.cloud.compute.v1.SetMinCpuPlatformInstanceRequest + 1488, // 1460: google.cloud.compute.v1.Instances.SetName:input_type -> google.cloud.compute.v1.SetNameInstanceRequest + 1496, // 1461: google.cloud.compute.v1.Instances.SetScheduling:input_type -> google.cloud.compute.v1.SetSchedulingInstanceRequest + 1498, // 1462: google.cloud.compute.v1.Instances.SetSecurityPolicy:input_type -> google.cloud.compute.v1.SetSecurityPolicyInstanceRequest + 1502, // 1463: google.cloud.compute.v1.Instances.SetServiceAccount:input_type -> google.cloud.compute.v1.SetServiceAccountInstanceRequest + 1503, // 1464: google.cloud.compute.v1.Instances.SetShieldedInstanceIntegrityPolicy:input_type -> google.cloud.compute.v1.SetShieldedInstanceIntegrityPolicyInstanceRequest + 1509, // 1465: google.cloud.compute.v1.Instances.SetTags:input_type -> google.cloud.compute.v1.SetTagsInstanceRequest + 1526, // 1466: google.cloud.compute.v1.Instances.SimulateMaintenanceEvent:input_type -> google.cloud.compute.v1.SimulateMaintenanceEventInstanceRequest + 1550, // 1467: google.cloud.compute.v1.Instances.Start:input_type -> google.cloud.compute.v1.StartInstanceRequest + 1551, // 1468: google.cloud.compute.v1.Instances.StartWithEncryptionKey:input_type -> google.cloud.compute.v1.StartWithEncryptionKeyInstanceRequest + 1561, // 1469: google.cloud.compute.v1.Instances.Stop:input_type -> google.cloud.compute.v1.StopInstanceRequest + 1571, // 1470: google.cloud.compute.v1.Instances.Suspend:input_type -> google.cloud.compute.v1.SuspendInstanceRequest + 1625, // 1471: google.cloud.compute.v1.Instances.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsInstanceRequest + 1657, // 1472: google.cloud.compute.v1.Instances.Update:input_type -> google.cloud.compute.v1.UpdateInstanceRequest + 1649, // 1473: google.cloud.compute.v1.Instances.UpdateAccessConfig:input_type -> google.cloud.compute.v1.UpdateAccessConfigInstanceRequest + 1654, // 1474: google.cloud.compute.v1.Instances.UpdateDisplayDevice:input_type -> google.cloud.compute.v1.UpdateDisplayDeviceInstanceRequest + 1658, // 1475: google.cloud.compute.v1.Instances.UpdateNetworkInterface:input_type -> google.cloud.compute.v1.UpdateNetworkInterfaceInstanceRequest + 1670, // 1476: google.cloud.compute.v1.Instances.UpdateShieldedInstanceConfig:input_type -> google.cloud.compute.v1.UpdateShieldedInstanceConfigInstanceRequest + 348, // 1477: google.cloud.compute.v1.InterconnectAttachments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListInterconnectAttachmentsRequest + 493, // 1478: google.cloud.compute.v1.InterconnectAttachments.Delete:input_type -> google.cloud.compute.v1.DeleteInterconnectAttachmentRequest + 677, // 1479: google.cloud.compute.v1.InterconnectAttachments.Get:input_type -> google.cloud.compute.v1.GetInterconnectAttachmentRequest + 820, // 1480: google.cloud.compute.v1.InterconnectAttachments.Insert:input_type -> google.cloud.compute.v1.InsertInterconnectAttachmentRequest + 1011, // 1481: google.cloud.compute.v1.InterconnectAttachments.List:input_type -> google.cloud.compute.v1.ListInterconnectAttachmentsRequest + 1204, // 1482: google.cloud.compute.v1.InterconnectAttachments.Patch:input_type -> google.cloud.compute.v1.PatchInterconnectAttachmentRequest + 1476, // 1483: google.cloud.compute.v1.InterconnectAttachments.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsInterconnectAttachmentRequest + 678, // 1484: google.cloud.compute.v1.InterconnectLocations.Get:input_type -> google.cloud.compute.v1.GetInterconnectLocationRequest + 1012, // 1485: google.cloud.compute.v1.InterconnectLocations.List:input_type -> google.cloud.compute.v1.ListInterconnectLocationsRequest + 679, // 1486: google.cloud.compute.v1.InterconnectRemoteLocations.Get:input_type -> google.cloud.compute.v1.GetInterconnectRemoteLocationRequest + 1013, // 1487: google.cloud.compute.v1.InterconnectRemoteLocations.List:input_type -> google.cloud.compute.v1.ListInterconnectRemoteLocationsRequest + 494, // 1488: google.cloud.compute.v1.Interconnects.Delete:input_type -> google.cloud.compute.v1.DeleteInterconnectRequest + 680, // 1489: google.cloud.compute.v1.Interconnects.Get:input_type -> google.cloud.compute.v1.GetInterconnectRequest + 628, // 1490: google.cloud.compute.v1.Interconnects.GetDiagnostics:input_type -> google.cloud.compute.v1.GetDiagnosticsInterconnectRequest + 685, // 1491: google.cloud.compute.v1.Interconnects.GetMacsecConfig:input_type -> google.cloud.compute.v1.GetMacsecConfigInterconnectRequest + 821, // 1492: google.cloud.compute.v1.Interconnects.Insert:input_type -> google.cloud.compute.v1.InsertInterconnectRequest + 1014, // 1493: google.cloud.compute.v1.Interconnects.List:input_type -> google.cloud.compute.v1.ListInterconnectsRequest + 1205, // 1494: google.cloud.compute.v1.Interconnects.Patch:input_type -> google.cloud.compute.v1.PatchInterconnectRequest + 1477, // 1495: google.cloud.compute.v1.Interconnects.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsInterconnectRequest + 681, // 1496: google.cloud.compute.v1.LicenseCodes.Get:input_type -> google.cloud.compute.v1.GetLicenseCodeRequest + 1627, // 1497: google.cloud.compute.v1.LicenseCodes.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsLicenseCodeRequest + 495, // 1498: google.cloud.compute.v1.Licenses.Delete:input_type -> google.cloud.compute.v1.DeleteLicenseRequest + 682, // 1499: google.cloud.compute.v1.Licenses.Get:input_type -> google.cloud.compute.v1.GetLicenseRequest + 657, // 1500: google.cloud.compute.v1.Licenses.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyLicenseRequest + 822, // 1501: google.cloud.compute.v1.Licenses.Insert:input_type -> google.cloud.compute.v1.InsertLicenseRequest + 1015, // 1502: google.cloud.compute.v1.Licenses.List:input_type -> google.cloud.compute.v1.ListLicensesRequest + 1452, // 1503: google.cloud.compute.v1.Licenses.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyLicenseRequest + 1628, // 1504: google.cloud.compute.v1.Licenses.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsLicenseRequest + 496, // 1505: google.cloud.compute.v1.MachineImages.Delete:input_type -> google.cloud.compute.v1.DeleteMachineImageRequest + 683, // 1506: google.cloud.compute.v1.MachineImages.Get:input_type -> google.cloud.compute.v1.GetMachineImageRequest + 658, // 1507: google.cloud.compute.v1.MachineImages.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyMachineImageRequest + 823, // 1508: google.cloud.compute.v1.MachineImages.Insert:input_type -> google.cloud.compute.v1.InsertMachineImageRequest + 1016, // 1509: google.cloud.compute.v1.MachineImages.List:input_type -> google.cloud.compute.v1.ListMachineImagesRequest + 1453, // 1510: google.cloud.compute.v1.MachineImages.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyMachineImageRequest + 1629, // 1511: google.cloud.compute.v1.MachineImages.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsMachineImageRequest + 349, // 1512: google.cloud.compute.v1.MachineTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListMachineTypesRequest + 684, // 1513: google.cloud.compute.v1.MachineTypes.Get:input_type -> google.cloud.compute.v1.GetMachineTypeRequest + 1017, // 1514: google.cloud.compute.v1.MachineTypes.List:input_type -> google.cloud.compute.v1.ListMachineTypesRequest + 350, // 1515: google.cloud.compute.v1.NetworkAttachments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNetworkAttachmentsRequest + 497, // 1516: google.cloud.compute.v1.NetworkAttachments.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkAttachmentRequest + 688, // 1517: google.cloud.compute.v1.NetworkAttachments.Get:input_type -> google.cloud.compute.v1.GetNetworkAttachmentRequest + 659, // 1518: google.cloud.compute.v1.NetworkAttachments.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNetworkAttachmentRequest + 824, // 1519: google.cloud.compute.v1.NetworkAttachments.Insert:input_type -> google.cloud.compute.v1.InsertNetworkAttachmentRequest + 1020, // 1520: google.cloud.compute.v1.NetworkAttachments.List:input_type -> google.cloud.compute.v1.ListNetworkAttachmentsRequest + 1206, // 1521: google.cloud.compute.v1.NetworkAttachments.Patch:input_type -> google.cloud.compute.v1.PatchNetworkAttachmentRequest + 1454, // 1522: google.cloud.compute.v1.NetworkAttachments.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNetworkAttachmentRequest + 1630, // 1523: google.cloud.compute.v1.NetworkAttachments.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNetworkAttachmentRequest + 351, // 1524: google.cloud.compute.v1.NetworkEdgeSecurityServices.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNetworkEdgeSecurityServicesRequest + 498, // 1525: google.cloud.compute.v1.NetworkEdgeSecurityServices.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkEdgeSecurityServiceRequest + 689, // 1526: google.cloud.compute.v1.NetworkEdgeSecurityServices.Get:input_type -> google.cloud.compute.v1.GetNetworkEdgeSecurityServiceRequest + 825, // 1527: google.cloud.compute.v1.NetworkEdgeSecurityServices.Insert:input_type -> google.cloud.compute.v1.InsertNetworkEdgeSecurityServiceRequest + 1207, // 1528: google.cloud.compute.v1.NetworkEdgeSecurityServices.Patch:input_type -> google.cloud.compute.v1.PatchNetworkEdgeSecurityServiceRequest + 352, // 1529: google.cloud.compute.v1.NetworkEndpointGroups.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNetworkEndpointGroupsRequest + 389, // 1530: google.cloud.compute.v1.NetworkEndpointGroups.AttachNetworkEndpoints:input_type -> google.cloud.compute.v1.AttachNetworkEndpointsNetworkEndpointGroupRequest + 499, // 1531: google.cloud.compute.v1.NetworkEndpointGroups.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkEndpointGroupRequest + 559, // 1532: google.cloud.compute.v1.NetworkEndpointGroups.DetachNetworkEndpoints:input_type -> google.cloud.compute.v1.DetachNetworkEndpointsNetworkEndpointGroupRequest + 690, // 1533: google.cloud.compute.v1.NetworkEndpointGroups.Get:input_type -> google.cloud.compute.v1.GetNetworkEndpointGroupRequest + 826, // 1534: google.cloud.compute.v1.NetworkEndpointGroups.Insert:input_type -> google.cloud.compute.v1.InsertNetworkEndpointGroupRequest + 1021, // 1535: google.cloud.compute.v1.NetworkEndpointGroups.List:input_type -> google.cloud.compute.v1.ListNetworkEndpointGroupsRequest + 1023, // 1536: google.cloud.compute.v1.NetworkEndpointGroups.ListNetworkEndpoints:input_type -> google.cloud.compute.v1.ListNetworkEndpointsNetworkEndpointGroupsRequest + 1631, // 1537: google.cloud.compute.v1.NetworkEndpointGroups.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNetworkEndpointGroupRequest + 313, // 1538: google.cloud.compute.v1.NetworkFirewallPolicies.AddAssociation:input_type -> google.cloud.compute.v1.AddAssociationNetworkFirewallPolicyRequest + 324, // 1539: google.cloud.compute.v1.NetworkFirewallPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleNetworkFirewallPolicyRequest + 448, // 1540: google.cloud.compute.v1.NetworkFirewallPolicies.CloneRules:input_type -> google.cloud.compute.v1.CloneRulesNetworkFirewallPolicyRequest + 500, // 1541: google.cloud.compute.v1.NetworkFirewallPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkFirewallPolicyRequest + 691, // 1542: google.cloud.compute.v1.NetworkFirewallPolicies.Get:input_type -> google.cloud.compute.v1.GetNetworkFirewallPolicyRequest + 623, // 1543: google.cloud.compute.v1.NetworkFirewallPolicies.GetAssociation:input_type -> google.cloud.compute.v1.GetAssociationNetworkFirewallPolicyRequest + 660, // 1544: google.cloud.compute.v1.NetworkFirewallPolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNetworkFirewallPolicyRequest + 728, // 1545: google.cloud.compute.v1.NetworkFirewallPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleNetworkFirewallPolicyRequest + 827, // 1546: google.cloud.compute.v1.NetworkFirewallPolicies.Insert:input_type -> google.cloud.compute.v1.InsertNetworkFirewallPolicyRequest + 1025, // 1547: google.cloud.compute.v1.NetworkFirewallPolicies.List:input_type -> google.cloud.compute.v1.ListNetworkFirewallPoliciesRequest + 1208, // 1548: google.cloud.compute.v1.NetworkFirewallPolicies.Patch:input_type -> google.cloud.compute.v1.PatchNetworkFirewallPolicyRequest + 1229, // 1549: google.cloud.compute.v1.NetworkFirewallPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleNetworkFirewallPolicyRequest + 1308, // 1550: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveAssociation:input_type -> google.cloud.compute.v1.RemoveAssociationNetworkFirewallPolicyRequest + 1318, // 1551: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleNetworkFirewallPolicyRequest + 1455, // 1552: google.cloud.compute.v1.NetworkFirewallPolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNetworkFirewallPolicyRequest + 1632, // 1553: google.cloud.compute.v1.NetworkFirewallPolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNetworkFirewallPolicyRequest + 319, // 1554: google.cloud.compute.v1.Networks.AddPeering:input_type -> google.cloud.compute.v1.AddPeeringNetworkRequest + 501, // 1555: google.cloud.compute.v1.Networks.Delete:input_type -> google.cloud.compute.v1.DeleteNetworkRequest + 692, // 1556: google.cloud.compute.v1.Networks.Get:input_type -> google.cloud.compute.v1.GetNetworkRequest + 632, // 1557: google.cloud.compute.v1.Networks.GetEffectiveFirewalls:input_type -> google.cloud.compute.v1.GetEffectiveFirewallsNetworkRequest + 828, // 1558: google.cloud.compute.v1.Networks.Insert:input_type -> google.cloud.compute.v1.InsertNetworkRequest + 1026, // 1559: google.cloud.compute.v1.Networks.List:input_type -> google.cloud.compute.v1.ListNetworksRequest + 1032, // 1560: google.cloud.compute.v1.Networks.ListPeeringRoutes:input_type -> google.cloud.compute.v1.ListPeeringRoutesNetworksRequest + 1209, // 1561: google.cloud.compute.v1.Networks.Patch:input_type -> google.cloud.compute.v1.PatchNetworkRequest + 1313, // 1562: google.cloud.compute.v1.Networks.RemovePeering:input_type -> google.cloud.compute.v1.RemovePeeringNetworkRequest + 1572, // 1563: google.cloud.compute.v1.Networks.SwitchToCustomMode:input_type -> google.cloud.compute.v1.SwitchToCustomModeNetworkRequest + 1659, // 1564: google.cloud.compute.v1.Networks.UpdatePeering:input_type -> google.cloud.compute.v1.UpdatePeeringNetworkRequest + 318, // 1565: google.cloud.compute.v1.NodeGroups.AddNodes:input_type -> google.cloud.compute.v1.AddNodesNodeGroupRequest + 353, // 1566: google.cloud.compute.v1.NodeGroups.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNodeGroupsRequest + 502, // 1567: google.cloud.compute.v1.NodeGroups.Delete:input_type -> google.cloud.compute.v1.DeleteNodeGroupRequest + 504, // 1568: google.cloud.compute.v1.NodeGroups.DeleteNodes:input_type -> google.cloud.compute.v1.DeleteNodesNodeGroupRequest + 693, // 1569: google.cloud.compute.v1.NodeGroups.Get:input_type -> google.cloud.compute.v1.GetNodeGroupRequest + 661, // 1570: google.cloud.compute.v1.NodeGroups.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNodeGroupRequest + 829, // 1571: google.cloud.compute.v1.NodeGroups.Insert:input_type -> google.cloud.compute.v1.InsertNodeGroupRequest + 1027, // 1572: google.cloud.compute.v1.NodeGroups.List:input_type -> google.cloud.compute.v1.ListNodeGroupsRequest + 1030, // 1573: google.cloud.compute.v1.NodeGroups.ListNodes:input_type -> google.cloud.compute.v1.ListNodesNodeGroupsRequest + 1210, // 1574: google.cloud.compute.v1.NodeGroups.Patch:input_type -> google.cloud.compute.v1.PatchNodeGroupRequest + 1456, // 1575: google.cloud.compute.v1.NodeGroups.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNodeGroupRequest + 1491, // 1576: google.cloud.compute.v1.NodeGroups.SetNodeTemplate:input_type -> google.cloud.compute.v1.SetNodeTemplateNodeGroupRequest + 1527, // 1577: google.cloud.compute.v1.NodeGroups.SimulateMaintenanceEvent:input_type -> google.cloud.compute.v1.SimulateMaintenanceEventNodeGroupRequest + 1633, // 1578: google.cloud.compute.v1.NodeGroups.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNodeGroupRequest + 354, // 1579: google.cloud.compute.v1.NodeTemplates.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNodeTemplatesRequest + 503, // 1580: google.cloud.compute.v1.NodeTemplates.Delete:input_type -> google.cloud.compute.v1.DeleteNodeTemplateRequest + 694, // 1581: google.cloud.compute.v1.NodeTemplates.Get:input_type -> google.cloud.compute.v1.GetNodeTemplateRequest + 662, // 1582: google.cloud.compute.v1.NodeTemplates.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyNodeTemplateRequest + 830, // 1583: google.cloud.compute.v1.NodeTemplates.Insert:input_type -> google.cloud.compute.v1.InsertNodeTemplateRequest + 1028, // 1584: google.cloud.compute.v1.NodeTemplates.List:input_type -> google.cloud.compute.v1.ListNodeTemplatesRequest + 1457, // 1585: google.cloud.compute.v1.NodeTemplates.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyNodeTemplateRequest + 1634, // 1586: google.cloud.compute.v1.NodeTemplates.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsNodeTemplateRequest + 355, // 1587: google.cloud.compute.v1.NodeTypes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListNodeTypesRequest + 695, // 1588: google.cloud.compute.v1.NodeTypes.Get:input_type -> google.cloud.compute.v1.GetNodeTypeRequest + 1029, // 1589: google.cloud.compute.v1.NodeTypes.List:input_type -> google.cloud.compute.v1.ListNodeTypesRequest + 356, // 1590: google.cloud.compute.v1.PacketMirrorings.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListPacketMirroringsRequest + 505, // 1591: google.cloud.compute.v1.PacketMirrorings.Delete:input_type -> google.cloud.compute.v1.DeletePacketMirroringRequest + 696, // 1592: google.cloud.compute.v1.PacketMirrorings.Get:input_type -> google.cloud.compute.v1.GetPacketMirroringRequest + 831, // 1593: google.cloud.compute.v1.PacketMirrorings.Insert:input_type -> google.cloud.compute.v1.InsertPacketMirroringRequest + 1031, // 1594: google.cloud.compute.v1.PacketMirrorings.List:input_type -> google.cloud.compute.v1.ListPacketMirroringsRequest + 1211, // 1595: google.cloud.compute.v1.PacketMirrorings.Patch:input_type -> google.cloud.compute.v1.PatchPacketMirroringRequest + 1635, // 1596: google.cloud.compute.v1.PacketMirrorings.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsPacketMirroringRequest + 561, // 1597: google.cloud.compute.v1.Projects.DisableXpnHost:input_type -> google.cloud.compute.v1.DisableXpnHostProjectRequest + 562, // 1598: google.cloud.compute.v1.Projects.DisableXpnResource:input_type -> google.cloud.compute.v1.DisableXpnResourceProjectRequest + 587, // 1599: google.cloud.compute.v1.Projects.EnableXpnHost:input_type -> google.cloud.compute.v1.EnableXpnHostProjectRequest + 588, // 1600: google.cloud.compute.v1.Projects.EnableXpnResource:input_type -> google.cloud.compute.v1.EnableXpnResourceProjectRequest + 697, // 1601: google.cloud.compute.v1.Projects.Get:input_type -> google.cloud.compute.v1.GetProjectRequest + 754, // 1602: google.cloud.compute.v1.Projects.GetXpnHost:input_type -> google.cloud.compute.v1.GetXpnHostProjectRequest + 755, // 1603: google.cloud.compute.v1.Projects.GetXpnResources:input_type -> google.cloud.compute.v1.GetXpnResourcesProjectsRequest + 1085, // 1604: google.cloud.compute.v1.Projects.ListXpnHosts:input_type -> google.cloud.compute.v1.ListXpnHostsProjectsRequest + 1112, // 1605: google.cloud.compute.v1.Projects.MoveDisk:input_type -> google.cloud.compute.v1.MoveDiskProjectRequest + 1115, // 1606: google.cloud.compute.v1.Projects.MoveInstance:input_type -> google.cloud.compute.v1.MoveInstanceProjectRequest + 1439, // 1607: google.cloud.compute.v1.Projects.SetCommonInstanceMetadata:input_type -> google.cloud.compute.v1.SetCommonInstanceMetadataProjectRequest + 1440, // 1608: google.cloud.compute.v1.Projects.SetDefaultNetworkTier:input_type -> google.cloud.compute.v1.SetDefaultNetworkTierProjectRequest + 1518, // 1609: google.cloud.compute.v1.Projects.SetUsageExportBucket:input_type -> google.cloud.compute.v1.SetUsageExportBucketProjectRequest + 383, // 1610: google.cloud.compute.v1.PublicAdvertisedPrefixes.Announce:input_type -> google.cloud.compute.v1.AnnouncePublicAdvertisedPrefixeRequest + 508, // 1611: google.cloud.compute.v1.PublicAdvertisedPrefixes.Delete:input_type -> google.cloud.compute.v1.DeletePublicAdvertisedPrefixeRequest + 698, // 1612: google.cloud.compute.v1.PublicAdvertisedPrefixes.Get:input_type -> google.cloud.compute.v1.GetPublicAdvertisedPrefixeRequest + 832, // 1613: google.cloud.compute.v1.PublicAdvertisedPrefixes.Insert:input_type -> google.cloud.compute.v1.InsertPublicAdvertisedPrefixeRequest + 1036, // 1614: google.cloud.compute.v1.PublicAdvertisedPrefixes.List:input_type -> google.cloud.compute.v1.ListPublicAdvertisedPrefixesRequest + 1214, // 1615: google.cloud.compute.v1.PublicAdvertisedPrefixes.Patch:input_type -> google.cloud.compute.v1.PatchPublicAdvertisedPrefixeRequest + 1715, // 1616: google.cloud.compute.v1.PublicAdvertisedPrefixes.Withdraw:input_type -> google.cloud.compute.v1.WithdrawPublicAdvertisedPrefixeRequest + 357, // 1617: google.cloud.compute.v1.PublicDelegatedPrefixes.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListPublicDelegatedPrefixesRequest + 384, // 1618: google.cloud.compute.v1.PublicDelegatedPrefixes.Announce:input_type -> google.cloud.compute.v1.AnnouncePublicDelegatedPrefixeRequest + 509, // 1619: google.cloud.compute.v1.PublicDelegatedPrefixes.Delete:input_type -> google.cloud.compute.v1.DeletePublicDelegatedPrefixeRequest + 699, // 1620: google.cloud.compute.v1.PublicDelegatedPrefixes.Get:input_type -> google.cloud.compute.v1.GetPublicDelegatedPrefixeRequest + 833, // 1621: google.cloud.compute.v1.PublicDelegatedPrefixes.Insert:input_type -> google.cloud.compute.v1.InsertPublicDelegatedPrefixeRequest + 1037, // 1622: google.cloud.compute.v1.PublicDelegatedPrefixes.List:input_type -> google.cloud.compute.v1.ListPublicDelegatedPrefixesRequest + 1215, // 1623: google.cloud.compute.v1.PublicDelegatedPrefixes.Patch:input_type -> google.cloud.compute.v1.PatchPublicDelegatedPrefixeRequest + 1716, // 1624: google.cloud.compute.v1.PublicDelegatedPrefixes.Withdraw:input_type -> google.cloud.compute.v1.WithdrawPublicDelegatedPrefixeRequest + 510, // 1625: google.cloud.compute.v1.RegionAutoscalers.Delete:input_type -> google.cloud.compute.v1.DeleteRegionAutoscalerRequest + 700, // 1626: google.cloud.compute.v1.RegionAutoscalers.Get:input_type -> google.cloud.compute.v1.GetRegionAutoscalerRequest + 834, // 1627: google.cloud.compute.v1.RegionAutoscalers.Insert:input_type -> google.cloud.compute.v1.InsertRegionAutoscalerRequest + 1039, // 1628: google.cloud.compute.v1.RegionAutoscalers.List:input_type -> google.cloud.compute.v1.ListRegionAutoscalersRequest + 1216, // 1629: google.cloud.compute.v1.RegionAutoscalers.Patch:input_type -> google.cloud.compute.v1.PatchRegionAutoscalerRequest + 1662, // 1630: google.cloud.compute.v1.RegionAutoscalers.Update:input_type -> google.cloud.compute.v1.UpdateRegionAutoscalerRequest + 511, // 1631: google.cloud.compute.v1.RegionBackendServices.Delete:input_type -> google.cloud.compute.v1.DeleteRegionBackendServiceRequest + 701, // 1632: google.cloud.compute.v1.RegionBackendServices.Get:input_type -> google.cloud.compute.v1.GetRegionBackendServiceRequest + 648, // 1633: google.cloud.compute.v1.RegionBackendServices.GetHealth:input_type -> google.cloud.compute.v1.GetHealthRegionBackendServiceRequest + 663, // 1634: google.cloud.compute.v1.RegionBackendServices.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyRegionBackendServiceRequest + 835, // 1635: google.cloud.compute.v1.RegionBackendServices.Insert:input_type -> google.cloud.compute.v1.InsertRegionBackendServiceRequest + 1040, // 1636: google.cloud.compute.v1.RegionBackendServices.List:input_type -> google.cloud.compute.v1.ListRegionBackendServicesRequest + 1081, // 1637: google.cloud.compute.v1.RegionBackendServices.ListUsable:input_type -> google.cloud.compute.v1.ListUsableRegionBackendServicesRequest + 1217, // 1638: google.cloud.compute.v1.RegionBackendServices.Patch:input_type -> google.cloud.compute.v1.PatchRegionBackendServiceRequest + 1458, // 1639: google.cloud.compute.v1.RegionBackendServices.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyRegionBackendServiceRequest + 1499, // 1640: google.cloud.compute.v1.RegionBackendServices.SetSecurityPolicy:input_type -> google.cloud.compute.v1.SetSecurityPolicyRegionBackendServiceRequest + 1636, // 1641: google.cloud.compute.v1.RegionBackendServices.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsRegionBackendServiceRequest + 1663, // 1642: google.cloud.compute.v1.RegionBackendServices.Update:input_type -> google.cloud.compute.v1.UpdateRegionBackendServiceRequest + 358, // 1643: google.cloud.compute.v1.RegionCommitments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListRegionCommitmentsRequest + 702, // 1644: google.cloud.compute.v1.RegionCommitments.Get:input_type -> google.cloud.compute.v1.GetRegionCommitmentRequest + 836, // 1645: google.cloud.compute.v1.RegionCommitments.Insert:input_type -> google.cloud.compute.v1.InsertRegionCommitmentRequest + 1041, // 1646: google.cloud.compute.v1.RegionCommitments.List:input_type -> google.cloud.compute.v1.ListRegionCommitmentsRequest + 1664, // 1647: google.cloud.compute.v1.RegionCommitments.Update:input_type -> google.cloud.compute.v1.UpdateRegionCommitmentRequest + 704, // 1648: google.cloud.compute.v1.RegionDiskTypes.Get:input_type -> google.cloud.compute.v1.GetRegionDiskTypeRequest + 1042, // 1649: google.cloud.compute.v1.RegionDiskTypes.List:input_type -> google.cloud.compute.v1.ListRegionDiskTypesRequest + 322, // 1650: google.cloud.compute.v1.RegionDisks.AddResourcePolicies:input_type -> google.cloud.compute.v1.AddResourcePoliciesRegionDiskRequest + 442, // 1651: google.cloud.compute.v1.RegionDisks.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertRegionDiskRequest + 463, // 1652: google.cloud.compute.v1.RegionDisks.CreateSnapshot:input_type -> google.cloud.compute.v1.CreateSnapshotRegionDiskRequest + 512, // 1653: google.cloud.compute.v1.RegionDisks.Delete:input_type -> google.cloud.compute.v1.DeleteRegionDiskRequest + 703, // 1654: google.cloud.compute.v1.RegionDisks.Get:input_type -> google.cloud.compute.v1.GetRegionDiskRequest + 664, // 1655: google.cloud.compute.v1.RegionDisks.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyRegionDiskRequest + 837, // 1656: google.cloud.compute.v1.RegionDisks.Insert:input_type -> google.cloud.compute.v1.InsertRegionDiskRequest + 1043, // 1657: google.cloud.compute.v1.RegionDisks.List:input_type -> google.cloud.compute.v1.ListRegionDisksRequest + 1316, // 1658: google.cloud.compute.v1.RegionDisks.RemoveResourcePolicies:input_type -> google.cloud.compute.v1.RemoveResourcePoliciesRegionDiskRequest + 1332, // 1659: google.cloud.compute.v1.RegionDisks.Resize:input_type -> google.cloud.compute.v1.ResizeRegionDiskRequest + 1459, // 1660: google.cloud.compute.v1.RegionDisks.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyRegionDiskRequest + 1478, // 1661: google.cloud.compute.v1.RegionDisks.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsRegionDiskRequest + 1549, // 1662: google.cloud.compute.v1.RegionDisks.StartAsyncReplication:input_type -> google.cloud.compute.v1.StartAsyncReplicationRegionDiskRequest + 1558, // 1663: google.cloud.compute.v1.RegionDisks.StopAsyncReplication:input_type -> google.cloud.compute.v1.StopAsyncReplicationRegionDiskRequest + 1560, // 1664: google.cloud.compute.v1.RegionDisks.StopGroupAsyncReplication:input_type -> google.cloud.compute.v1.StopGroupAsyncReplicationRegionDiskRequest + 1637, // 1665: google.cloud.compute.v1.RegionDisks.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsRegionDiskRequest + 1665, // 1666: google.cloud.compute.v1.RegionDisks.Update:input_type -> google.cloud.compute.v1.UpdateRegionDiskRequest + 514, // 1667: google.cloud.compute.v1.RegionHealthCheckServices.Delete:input_type -> google.cloud.compute.v1.DeleteRegionHealthCheckServiceRequest + 706, // 1668: google.cloud.compute.v1.RegionHealthCheckServices.Get:input_type -> google.cloud.compute.v1.GetRegionHealthCheckServiceRequest + 839, // 1669: google.cloud.compute.v1.RegionHealthCheckServices.Insert:input_type -> google.cloud.compute.v1.InsertRegionHealthCheckServiceRequest + 1044, // 1670: google.cloud.compute.v1.RegionHealthCheckServices.List:input_type -> google.cloud.compute.v1.ListRegionHealthCheckServicesRequest + 1219, // 1671: google.cloud.compute.v1.RegionHealthCheckServices.Patch:input_type -> google.cloud.compute.v1.PatchRegionHealthCheckServiceRequest + 513, // 1672: google.cloud.compute.v1.RegionHealthChecks.Delete:input_type -> google.cloud.compute.v1.DeleteRegionHealthCheckRequest + 705, // 1673: google.cloud.compute.v1.RegionHealthChecks.Get:input_type -> google.cloud.compute.v1.GetRegionHealthCheckRequest + 838, // 1674: google.cloud.compute.v1.RegionHealthChecks.Insert:input_type -> google.cloud.compute.v1.InsertRegionHealthCheckRequest + 1045, // 1675: google.cloud.compute.v1.RegionHealthChecks.List:input_type -> google.cloud.compute.v1.ListRegionHealthChecksRequest + 1218, // 1676: google.cloud.compute.v1.RegionHealthChecks.Patch:input_type -> google.cloud.compute.v1.PatchRegionHealthCheckRequest + 1666, // 1677: google.cloud.compute.v1.RegionHealthChecks.Update:input_type -> google.cloud.compute.v1.UpdateRegionHealthCheckRequest + 303, // 1678: google.cloud.compute.v1.RegionInstanceGroupManagers.AbandonInstances:input_type -> google.cloud.compute.v1.AbandonInstancesRegionInstanceGroupManagerRequest + 386, // 1679: google.cloud.compute.v1.RegionInstanceGroupManagers.ApplyUpdatesToInstances:input_type -> google.cloud.compute.v1.ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest + 461, // 1680: google.cloud.compute.v1.RegionInstanceGroupManagers.CreateInstances:input_type -> google.cloud.compute.v1.CreateInstancesRegionInstanceGroupManagerRequest + 515, // 1681: google.cloud.compute.v1.RegionInstanceGroupManagers.Delete:input_type -> google.cloud.compute.v1.DeleteRegionInstanceGroupManagerRequest + 492, // 1682: google.cloud.compute.v1.RegionInstanceGroupManagers.DeleteInstances:input_type -> google.cloud.compute.v1.DeleteInstancesRegionInstanceGroupManagerRequest + 507, // 1683: google.cloud.compute.v1.RegionInstanceGroupManagers.DeletePerInstanceConfigs:input_type -> google.cloud.compute.v1.DeletePerInstanceConfigsRegionInstanceGroupManagerRequest + 707, // 1684: google.cloud.compute.v1.RegionInstanceGroupManagers.Get:input_type -> google.cloud.compute.v1.GetRegionInstanceGroupManagerRequest + 840, // 1685: google.cloud.compute.v1.RegionInstanceGroupManagers.Insert:input_type -> google.cloud.compute.v1.InsertRegionInstanceGroupManagerRequest + 1046, // 1686: google.cloud.compute.v1.RegionInstanceGroupManagers.List:input_type -> google.cloud.compute.v1.ListRegionInstanceGroupManagersRequest + 992, // 1687: google.cloud.compute.v1.RegionInstanceGroupManagers.ListErrors:input_type -> google.cloud.compute.v1.ListErrorsRegionInstanceGroupManagersRequest + 1019, // 1688: google.cloud.compute.v1.RegionInstanceGroupManagers.ListManagedInstances:input_type -> google.cloud.compute.v1.ListManagedInstancesRegionInstanceGroupManagersRequest + 1034, // 1689: google.cloud.compute.v1.RegionInstanceGroupManagers.ListPerInstanceConfigs:input_type -> google.cloud.compute.v1.ListPerInstanceConfigsRegionInstanceGroupManagersRequest + 1220, // 1690: google.cloud.compute.v1.RegionInstanceGroupManagers.Patch:input_type -> google.cloud.compute.v1.PatchRegionInstanceGroupManagerRequest + 1213, // 1691: google.cloud.compute.v1.RegionInstanceGroupManagers.PatchPerInstanceConfigs:input_type -> google.cloud.compute.v1.PatchPerInstanceConfigsRegionInstanceGroupManagerRequest + 1270, // 1692: google.cloud.compute.v1.RegionInstanceGroupManagers.RecreateInstances:input_type -> google.cloud.compute.v1.RecreateInstancesRegionInstanceGroupManagerRequest + 1333, // 1693: google.cloud.compute.v1.RegionInstanceGroupManagers.Resize:input_type -> google.cloud.compute.v1.ResizeRegionInstanceGroupManagerRequest + 1467, // 1694: google.cloud.compute.v1.RegionInstanceGroupManagers.SetInstanceTemplate:input_type -> google.cloud.compute.v1.SetInstanceTemplateRegionInstanceGroupManagerRequest + 1513, // 1695: google.cloud.compute.v1.RegionInstanceGroupManagers.SetTargetPools:input_type -> google.cloud.compute.v1.SetTargetPoolsRegionInstanceGroupManagerRequest + 1661, // 1696: google.cloud.compute.v1.RegionInstanceGroupManagers.UpdatePerInstanceConfigs:input_type -> google.cloud.compute.v1.UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest + 708, // 1697: google.cloud.compute.v1.RegionInstanceGroups.Get:input_type -> google.cloud.compute.v1.GetRegionInstanceGroupRequest + 1047, // 1698: google.cloud.compute.v1.RegionInstanceGroups.List:input_type -> google.cloud.compute.v1.ListRegionInstanceGroupsRequest + 1009, // 1699: google.cloud.compute.v1.RegionInstanceGroups.ListInstances:input_type -> google.cloud.compute.v1.ListInstancesRegionInstanceGroupsRequest + 1490, // 1700: google.cloud.compute.v1.RegionInstanceGroups.SetNamedPorts:input_type -> google.cloud.compute.v1.SetNamedPortsRegionInstanceGroupRequest + 516, // 1701: google.cloud.compute.v1.RegionInstanceTemplates.Delete:input_type -> google.cloud.compute.v1.DeleteRegionInstanceTemplateRequest + 709, // 1702: google.cloud.compute.v1.RegionInstanceTemplates.Get:input_type -> google.cloud.compute.v1.GetRegionInstanceTemplateRequest + 841, // 1703: google.cloud.compute.v1.RegionInstanceTemplates.Insert:input_type -> google.cloud.compute.v1.InsertRegionInstanceTemplateRequest + 1048, // 1704: google.cloud.compute.v1.RegionInstanceTemplates.List:input_type -> google.cloud.compute.v1.ListRegionInstanceTemplatesRequest + 443, // 1705: google.cloud.compute.v1.RegionInstances.BulkInsert:input_type -> google.cloud.compute.v1.BulkInsertRegionInstanceRequest + 390, // 1706: google.cloud.compute.v1.RegionNetworkEndpointGroups.AttachNetworkEndpoints:input_type -> google.cloud.compute.v1.AttachNetworkEndpointsRegionNetworkEndpointGroupRequest + 517, // 1707: google.cloud.compute.v1.RegionNetworkEndpointGroups.Delete:input_type -> google.cloud.compute.v1.DeleteRegionNetworkEndpointGroupRequest + 560, // 1708: google.cloud.compute.v1.RegionNetworkEndpointGroups.DetachNetworkEndpoints:input_type -> google.cloud.compute.v1.DetachNetworkEndpointsRegionNetworkEndpointGroupRequest + 710, // 1709: google.cloud.compute.v1.RegionNetworkEndpointGroups.Get:input_type -> google.cloud.compute.v1.GetRegionNetworkEndpointGroupRequest + 842, // 1710: google.cloud.compute.v1.RegionNetworkEndpointGroups.Insert:input_type -> google.cloud.compute.v1.InsertRegionNetworkEndpointGroupRequest + 1049, // 1711: google.cloud.compute.v1.RegionNetworkEndpointGroups.List:input_type -> google.cloud.compute.v1.ListRegionNetworkEndpointGroupsRequest + 1024, // 1712: google.cloud.compute.v1.RegionNetworkEndpointGroups.ListNetworkEndpoints:input_type -> google.cloud.compute.v1.ListNetworkEndpointsRegionNetworkEndpointGroupsRequest + 314, // 1713: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddAssociation:input_type -> google.cloud.compute.v1.AddAssociationRegionNetworkFirewallPolicyRequest + 325, // 1714: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleRegionNetworkFirewallPolicyRequest + 449, // 1715: google.cloud.compute.v1.RegionNetworkFirewallPolicies.CloneRules:input_type -> google.cloud.compute.v1.CloneRulesRegionNetworkFirewallPolicyRequest + 518, // 1716: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionNetworkFirewallPolicyRequest + 711, // 1717: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Get:input_type -> google.cloud.compute.v1.GetRegionNetworkFirewallPolicyRequest + 624, // 1718: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetAssociation:input_type -> google.cloud.compute.v1.GetAssociationRegionNetworkFirewallPolicyRequest + 633, // 1719: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetEffectiveFirewalls:input_type -> google.cloud.compute.v1.GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest + 665, // 1720: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyRegionNetworkFirewallPolicyRequest + 729, // 1721: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleRegionNetworkFirewallPolicyRequest + 843, // 1722: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Insert:input_type -> google.cloud.compute.v1.InsertRegionNetworkFirewallPolicyRequest + 1050, // 1723: google.cloud.compute.v1.RegionNetworkFirewallPolicies.List:input_type -> google.cloud.compute.v1.ListRegionNetworkFirewallPoliciesRequest + 1221, // 1724: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Patch:input_type -> google.cloud.compute.v1.PatchRegionNetworkFirewallPolicyRequest + 1230, // 1725: google.cloud.compute.v1.RegionNetworkFirewallPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleRegionNetworkFirewallPolicyRequest + 1309, // 1726: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveAssociation:input_type -> google.cloud.compute.v1.RemoveAssociationRegionNetworkFirewallPolicyRequest + 1319, // 1727: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleRegionNetworkFirewallPolicyRequest + 1460, // 1728: google.cloud.compute.v1.RegionNetworkFirewallPolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyRegionNetworkFirewallPolicyRequest + 1638, // 1729: google.cloud.compute.v1.RegionNetworkFirewallPolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsRegionNetworkFirewallPolicyRequest + 519, // 1730: google.cloud.compute.v1.RegionNotificationEndpoints.Delete:input_type -> google.cloud.compute.v1.DeleteRegionNotificationEndpointRequest + 712, // 1731: google.cloud.compute.v1.RegionNotificationEndpoints.Get:input_type -> google.cloud.compute.v1.GetRegionNotificationEndpointRequest + 844, // 1732: google.cloud.compute.v1.RegionNotificationEndpoints.Insert:input_type -> google.cloud.compute.v1.InsertRegionNotificationEndpointRequest + 1051, // 1733: google.cloud.compute.v1.RegionNotificationEndpoints.List:input_type -> google.cloud.compute.v1.ListRegionNotificationEndpointsRequest + 520, // 1734: google.cloud.compute.v1.RegionOperations.Delete:input_type -> google.cloud.compute.v1.DeleteRegionOperationRequest + 713, // 1735: google.cloud.compute.v1.RegionOperations.Get:input_type -> google.cloud.compute.v1.GetRegionOperationRequest + 1052, // 1736: google.cloud.compute.v1.RegionOperations.List:input_type -> google.cloud.compute.v1.ListRegionOperationsRequest + 1710, // 1737: google.cloud.compute.v1.RegionOperations.Wait:input_type -> google.cloud.compute.v1.WaitRegionOperationRequest + 326, // 1738: google.cloud.compute.v1.RegionSecurityPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleRegionSecurityPolicyRequest + 522, // 1739: google.cloud.compute.v1.RegionSecurityPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionSecurityPolicyRequest + 715, // 1740: google.cloud.compute.v1.RegionSecurityPolicies.Get:input_type -> google.cloud.compute.v1.GetRegionSecurityPolicyRequest + 730, // 1741: google.cloud.compute.v1.RegionSecurityPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleRegionSecurityPolicyRequest + 845, // 1742: google.cloud.compute.v1.RegionSecurityPolicies.Insert:input_type -> google.cloud.compute.v1.InsertRegionSecurityPolicyRequest + 1053, // 1743: google.cloud.compute.v1.RegionSecurityPolicies.List:input_type -> google.cloud.compute.v1.ListRegionSecurityPoliciesRequest + 1222, // 1744: google.cloud.compute.v1.RegionSecurityPolicies.Patch:input_type -> google.cloud.compute.v1.PatchRegionSecurityPolicyRequest + 1231, // 1745: google.cloud.compute.v1.RegionSecurityPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleRegionSecurityPolicyRequest + 1320, // 1746: google.cloud.compute.v1.RegionSecurityPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleRegionSecurityPolicyRequest + 523, // 1747: google.cloud.compute.v1.RegionSslCertificates.Delete:input_type -> google.cloud.compute.v1.DeleteRegionSslCertificateRequest + 716, // 1748: google.cloud.compute.v1.RegionSslCertificates.Get:input_type -> google.cloud.compute.v1.GetRegionSslCertificateRequest + 846, // 1749: google.cloud.compute.v1.RegionSslCertificates.Insert:input_type -> google.cloud.compute.v1.InsertRegionSslCertificateRequest + 1054, // 1750: google.cloud.compute.v1.RegionSslCertificates.List:input_type -> google.cloud.compute.v1.ListRegionSslCertificatesRequest + 524, // 1751: google.cloud.compute.v1.RegionSslPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionSslPolicyRequest + 717, // 1752: google.cloud.compute.v1.RegionSslPolicies.Get:input_type -> google.cloud.compute.v1.GetRegionSslPolicyRequest + 847, // 1753: google.cloud.compute.v1.RegionSslPolicies.Insert:input_type -> google.cloud.compute.v1.InsertRegionSslPolicyRequest + 1055, // 1754: google.cloud.compute.v1.RegionSslPolicies.List:input_type -> google.cloud.compute.v1.ListRegionSslPoliciesRequest + 985, // 1755: google.cloud.compute.v1.RegionSslPolicies.ListAvailableFeatures:input_type -> google.cloud.compute.v1.ListAvailableFeaturesRegionSslPoliciesRequest + 1223, // 1756: google.cloud.compute.v1.RegionSslPolicies.Patch:input_type -> google.cloud.compute.v1.PatchRegionSslPolicyRequest + 525, // 1757: google.cloud.compute.v1.RegionTargetHttpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionTargetHttpProxyRequest + 718, // 1758: google.cloud.compute.v1.RegionTargetHttpProxies.Get:input_type -> google.cloud.compute.v1.GetRegionTargetHttpProxyRequest + 848, // 1759: google.cloud.compute.v1.RegionTargetHttpProxies.Insert:input_type -> google.cloud.compute.v1.InsertRegionTargetHttpProxyRequest + 1056, // 1760: google.cloud.compute.v1.RegionTargetHttpProxies.List:input_type -> google.cloud.compute.v1.ListRegionTargetHttpProxiesRequest + 1514, // 1761: google.cloud.compute.v1.RegionTargetHttpProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapRegionTargetHttpProxyRequest + 526, // 1762: google.cloud.compute.v1.RegionTargetHttpsProxies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionTargetHttpsProxyRequest + 719, // 1763: google.cloud.compute.v1.RegionTargetHttpsProxies.Get:input_type -> google.cloud.compute.v1.GetRegionTargetHttpsProxyRequest + 849, // 1764: google.cloud.compute.v1.RegionTargetHttpsProxies.Insert:input_type -> google.cloud.compute.v1.InsertRegionTargetHttpsProxyRequest + 1057, // 1765: google.cloud.compute.v1.RegionTargetHttpsProxies.List:input_type -> google.cloud.compute.v1.ListRegionTargetHttpsProxiesRequest + 1224, // 1766: google.cloud.compute.v1.RegionTargetHttpsProxies.Patch:input_type -> google.cloud.compute.v1.PatchRegionTargetHttpsProxyRequest + 1504, // 1767: google.cloud.compute.v1.RegionTargetHttpsProxies.SetSslCertificates:input_type -> google.cloud.compute.v1.SetSslCertificatesRegionTargetHttpsProxyRequest + 1515, // 1768: google.cloud.compute.v1.RegionTargetHttpsProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapRegionTargetHttpsProxyRequest + 527, // 1769: google.cloud.compute.v1.RegionTargetTcpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteRegionTargetTcpProxyRequest + 720, // 1770: google.cloud.compute.v1.RegionTargetTcpProxies.Get:input_type -> google.cloud.compute.v1.GetRegionTargetTcpProxyRequest + 850, // 1771: google.cloud.compute.v1.RegionTargetTcpProxies.Insert:input_type -> google.cloud.compute.v1.InsertRegionTargetTcpProxyRequest + 1058, // 1772: google.cloud.compute.v1.RegionTargetTcpProxies.List:input_type -> google.cloud.compute.v1.ListRegionTargetTcpProxiesRequest + 528, // 1773: google.cloud.compute.v1.RegionUrlMaps.Delete:input_type -> google.cloud.compute.v1.DeleteRegionUrlMapRequest + 721, // 1774: google.cloud.compute.v1.RegionUrlMaps.Get:input_type -> google.cloud.compute.v1.GetRegionUrlMapRequest + 851, // 1775: google.cloud.compute.v1.RegionUrlMaps.Insert:input_type -> google.cloud.compute.v1.InsertRegionUrlMapRequest + 1059, // 1776: google.cloud.compute.v1.RegionUrlMaps.List:input_type -> google.cloud.compute.v1.ListRegionUrlMapsRequest + 1225, // 1777: google.cloud.compute.v1.RegionUrlMaps.Patch:input_type -> google.cloud.compute.v1.PatchRegionUrlMapRequest + 1667, // 1778: google.cloud.compute.v1.RegionUrlMaps.Update:input_type -> google.cloud.compute.v1.UpdateRegionUrlMapRequest + 1687, // 1779: google.cloud.compute.v1.RegionUrlMaps.Validate:input_type -> google.cloud.compute.v1.ValidateRegionUrlMapRequest + 714, // 1780: google.cloud.compute.v1.Regions.Get:input_type -> google.cloud.compute.v1.GetRegionRequest + 1060, // 1781: google.cloud.compute.v1.Regions.List:input_type -> google.cloud.compute.v1.ListRegionsRequest + 359, // 1782: google.cloud.compute.v1.Reservations.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListReservationsRequest + 529, // 1783: google.cloud.compute.v1.Reservations.Delete:input_type -> google.cloud.compute.v1.DeleteReservationRequest + 722, // 1784: google.cloud.compute.v1.Reservations.Get:input_type -> google.cloud.compute.v1.GetReservationRequest + 666, // 1785: google.cloud.compute.v1.Reservations.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyReservationRequest + 852, // 1786: google.cloud.compute.v1.Reservations.Insert:input_type -> google.cloud.compute.v1.InsertReservationRequest + 1061, // 1787: google.cloud.compute.v1.Reservations.List:input_type -> google.cloud.compute.v1.ListReservationsRequest + 1334, // 1788: google.cloud.compute.v1.Reservations.Resize:input_type -> google.cloud.compute.v1.ResizeReservationRequest + 1461, // 1789: google.cloud.compute.v1.Reservations.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyReservationRequest + 1639, // 1790: google.cloud.compute.v1.Reservations.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsReservationRequest + 1668, // 1791: google.cloud.compute.v1.Reservations.Update:input_type -> google.cloud.compute.v1.UpdateReservationRequest + 360, // 1792: google.cloud.compute.v1.ResourcePolicies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListResourcePoliciesRequest + 530, // 1793: google.cloud.compute.v1.ResourcePolicies.Delete:input_type -> google.cloud.compute.v1.DeleteResourcePolicyRequest + 723, // 1794: google.cloud.compute.v1.ResourcePolicies.Get:input_type -> google.cloud.compute.v1.GetResourcePolicyRequest + 667, // 1795: google.cloud.compute.v1.ResourcePolicies.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyResourcePolicyRequest + 853, // 1796: google.cloud.compute.v1.ResourcePolicies.Insert:input_type -> google.cloud.compute.v1.InsertResourcePolicyRequest + 1062, // 1797: google.cloud.compute.v1.ResourcePolicies.List:input_type -> google.cloud.compute.v1.ListResourcePoliciesRequest + 1226, // 1798: google.cloud.compute.v1.ResourcePolicies.Patch:input_type -> google.cloud.compute.v1.PatchResourcePolicyRequest + 1462, // 1799: google.cloud.compute.v1.ResourcePolicies.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyResourcePolicyRequest + 1640, // 1800: google.cloud.compute.v1.ResourcePolicies.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsResourcePolicyRequest + 361, // 1801: google.cloud.compute.v1.Routers.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListRoutersRequest + 532, // 1802: google.cloud.compute.v1.Routers.Delete:input_type -> google.cloud.compute.v1.DeleteRouterRequest + 725, // 1803: google.cloud.compute.v1.Routers.Get:input_type -> google.cloud.compute.v1.GetRouterRequest + 686, // 1804: google.cloud.compute.v1.Routers.GetNatIpInfo:input_type -> google.cloud.compute.v1.GetNatIpInfoRouterRequest + 687, // 1805: google.cloud.compute.v1.Routers.GetNatMappingInfo:input_type -> google.cloud.compute.v1.GetNatMappingInfoRoutersRequest + 726, // 1806: google.cloud.compute.v1.Routers.GetRouterStatus:input_type -> google.cloud.compute.v1.GetRouterStatusRouterRequest + 855, // 1807: google.cloud.compute.v1.Routers.Insert:input_type -> google.cloud.compute.v1.InsertRouterRequest + 1063, // 1808: google.cloud.compute.v1.Routers.List:input_type -> google.cloud.compute.v1.ListRoutersRequest + 1227, // 1809: google.cloud.compute.v1.Routers.Patch:input_type -> google.cloud.compute.v1.PatchRouterRequest + 1251, // 1810: google.cloud.compute.v1.Routers.Preview:input_type -> google.cloud.compute.v1.PreviewRouterRequest + 1669, // 1811: google.cloud.compute.v1.Routers.Update:input_type -> google.cloud.compute.v1.UpdateRouterRequest + 531, // 1812: google.cloud.compute.v1.Routes.Delete:input_type -> google.cloud.compute.v1.DeleteRouteRequest + 724, // 1813: google.cloud.compute.v1.Routes.Get:input_type -> google.cloud.compute.v1.GetRouteRequest + 854, // 1814: google.cloud.compute.v1.Routes.Insert:input_type -> google.cloud.compute.v1.InsertRouteRequest + 1064, // 1815: google.cloud.compute.v1.Routes.List:input_type -> google.cloud.compute.v1.ListRoutesRequest + 327, // 1816: google.cloud.compute.v1.SecurityPolicies.AddRule:input_type -> google.cloud.compute.v1.AddRuleSecurityPolicyRequest + 362, // 1817: google.cloud.compute.v1.SecurityPolicies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSecurityPoliciesRequest + 533, // 1818: google.cloud.compute.v1.SecurityPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteSecurityPolicyRequest + 733, // 1819: google.cloud.compute.v1.SecurityPolicies.Get:input_type -> google.cloud.compute.v1.GetSecurityPolicyRequest + 731, // 1820: google.cloud.compute.v1.SecurityPolicies.GetRule:input_type -> google.cloud.compute.v1.GetRuleSecurityPolicyRequest + 856, // 1821: google.cloud.compute.v1.SecurityPolicies.Insert:input_type -> google.cloud.compute.v1.InsertSecurityPolicyRequest + 1065, // 1822: google.cloud.compute.v1.SecurityPolicies.List:input_type -> google.cloud.compute.v1.ListSecurityPoliciesRequest + 1035, // 1823: google.cloud.compute.v1.SecurityPolicies.ListPreconfiguredExpressionSets:input_type -> google.cloud.compute.v1.ListPreconfiguredExpressionSetsSecurityPoliciesRequest + 1233, // 1824: google.cloud.compute.v1.SecurityPolicies.Patch:input_type -> google.cloud.compute.v1.PatchSecurityPolicyRequest + 1232, // 1825: google.cloud.compute.v1.SecurityPolicies.PatchRule:input_type -> google.cloud.compute.v1.PatchRuleSecurityPolicyRequest + 1321, // 1826: google.cloud.compute.v1.SecurityPolicies.RemoveRule:input_type -> google.cloud.compute.v1.RemoveRuleSecurityPolicyRequest + 1479, // 1827: google.cloud.compute.v1.SecurityPolicies.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsSecurityPolicyRequest + 363, // 1828: google.cloud.compute.v1.ServiceAttachments.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListServiceAttachmentsRequest + 534, // 1829: google.cloud.compute.v1.ServiceAttachments.Delete:input_type -> google.cloud.compute.v1.DeleteServiceAttachmentRequest + 735, // 1830: google.cloud.compute.v1.ServiceAttachments.Get:input_type -> google.cloud.compute.v1.GetServiceAttachmentRequest + 668, // 1831: google.cloud.compute.v1.ServiceAttachments.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicyServiceAttachmentRequest + 857, // 1832: google.cloud.compute.v1.ServiceAttachments.Insert:input_type -> google.cloud.compute.v1.InsertServiceAttachmentRequest + 1066, // 1833: google.cloud.compute.v1.ServiceAttachments.List:input_type -> google.cloud.compute.v1.ListServiceAttachmentsRequest + 1234, // 1834: google.cloud.compute.v1.ServiceAttachments.Patch:input_type -> google.cloud.compute.v1.PatchServiceAttachmentRequest + 1463, // 1835: google.cloud.compute.v1.ServiceAttachments.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicyServiceAttachmentRequest + 1641, // 1836: google.cloud.compute.v1.ServiceAttachments.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsServiceAttachmentRequest + 738, // 1837: google.cloud.compute.v1.SnapshotSettingsService.Get:input_type -> google.cloud.compute.v1.GetSnapshotSettingRequest + 1235, // 1838: google.cloud.compute.v1.SnapshotSettingsService.Patch:input_type -> google.cloud.compute.v1.PatchSnapshotSettingRequest + 537, // 1839: google.cloud.compute.v1.Snapshots.Delete:input_type -> google.cloud.compute.v1.DeleteSnapshotRequest + 737, // 1840: google.cloud.compute.v1.Snapshots.Get:input_type -> google.cloud.compute.v1.GetSnapshotRequest + 669, // 1841: google.cloud.compute.v1.Snapshots.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicySnapshotRequest + 858, // 1842: google.cloud.compute.v1.Snapshots.Insert:input_type -> google.cloud.compute.v1.InsertSnapshotRequest + 1067, // 1843: google.cloud.compute.v1.Snapshots.List:input_type -> google.cloud.compute.v1.ListSnapshotsRequest + 1464, // 1844: google.cloud.compute.v1.Snapshots.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicySnapshotRequest + 1480, // 1845: google.cloud.compute.v1.Snapshots.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsSnapshotRequest + 1642, // 1846: google.cloud.compute.v1.Snapshots.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsSnapshotRequest + 364, // 1847: google.cloud.compute.v1.SslCertificates.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSslCertificatesRequest + 538, // 1848: google.cloud.compute.v1.SslCertificates.Delete:input_type -> google.cloud.compute.v1.DeleteSslCertificateRequest + 739, // 1849: google.cloud.compute.v1.SslCertificates.Get:input_type -> google.cloud.compute.v1.GetSslCertificateRequest + 859, // 1850: google.cloud.compute.v1.SslCertificates.Insert:input_type -> google.cloud.compute.v1.InsertSslCertificateRequest + 1068, // 1851: google.cloud.compute.v1.SslCertificates.List:input_type -> google.cloud.compute.v1.ListSslCertificatesRequest + 365, // 1852: google.cloud.compute.v1.SslPolicies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSslPoliciesRequest + 539, // 1853: google.cloud.compute.v1.SslPolicies.Delete:input_type -> google.cloud.compute.v1.DeleteSslPolicyRequest + 740, // 1854: google.cloud.compute.v1.SslPolicies.Get:input_type -> google.cloud.compute.v1.GetSslPolicyRequest + 860, // 1855: google.cloud.compute.v1.SslPolicies.Insert:input_type -> google.cloud.compute.v1.InsertSslPolicyRequest + 1069, // 1856: google.cloud.compute.v1.SslPolicies.List:input_type -> google.cloud.compute.v1.ListSslPoliciesRequest + 986, // 1857: google.cloud.compute.v1.SslPolicies.ListAvailableFeatures:input_type -> google.cloud.compute.v1.ListAvailableFeaturesSslPoliciesRequest + 1236, // 1858: google.cloud.compute.v1.SslPolicies.Patch:input_type -> google.cloud.compute.v1.PatchSslPolicyRequest + 366, // 1859: google.cloud.compute.v1.Subnetworks.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListSubnetworksRequest + 540, // 1860: google.cloud.compute.v1.Subnetworks.Delete:input_type -> google.cloud.compute.v1.DeleteSubnetworkRequest + 595, // 1861: google.cloud.compute.v1.Subnetworks.ExpandIpCidrRange:input_type -> google.cloud.compute.v1.ExpandIpCidrRangeSubnetworkRequest + 742, // 1862: google.cloud.compute.v1.Subnetworks.Get:input_type -> google.cloud.compute.v1.GetSubnetworkRequest + 670, // 1863: google.cloud.compute.v1.Subnetworks.GetIamPolicy:input_type -> google.cloud.compute.v1.GetIamPolicySubnetworkRequest + 861, // 1864: google.cloud.compute.v1.Subnetworks.Insert:input_type -> google.cloud.compute.v1.InsertSubnetworkRequest + 1070, // 1865: google.cloud.compute.v1.Subnetworks.List:input_type -> google.cloud.compute.v1.ListSubnetworksRequest + 1082, // 1866: google.cloud.compute.v1.Subnetworks.ListUsable:input_type -> google.cloud.compute.v1.ListUsableSubnetworksRequest + 1237, // 1867: google.cloud.compute.v1.Subnetworks.Patch:input_type -> google.cloud.compute.v1.PatchSubnetworkRequest + 1465, // 1868: google.cloud.compute.v1.Subnetworks.SetIamPolicy:input_type -> google.cloud.compute.v1.SetIamPolicySubnetworkRequest + 1492, // 1869: google.cloud.compute.v1.Subnetworks.SetPrivateIpGoogleAccess:input_type -> google.cloud.compute.v1.SetPrivateIpGoogleAccessSubnetworkRequest + 1643, // 1870: google.cloud.compute.v1.Subnetworks.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsSubnetworkRequest + 541, // 1871: google.cloud.compute.v1.TargetGrpcProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetGrpcProxyRequest + 743, // 1872: google.cloud.compute.v1.TargetGrpcProxies.Get:input_type -> google.cloud.compute.v1.GetTargetGrpcProxyRequest + 862, // 1873: google.cloud.compute.v1.TargetGrpcProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetGrpcProxyRequest + 1071, // 1874: google.cloud.compute.v1.TargetGrpcProxies.List:input_type -> google.cloud.compute.v1.ListTargetGrpcProxiesRequest + 1238, // 1875: google.cloud.compute.v1.TargetGrpcProxies.Patch:input_type -> google.cloud.compute.v1.PatchTargetGrpcProxyRequest + 367, // 1876: google.cloud.compute.v1.TargetHttpProxies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetHttpProxiesRequest + 542, // 1877: google.cloud.compute.v1.TargetHttpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetHttpProxyRequest + 744, // 1878: google.cloud.compute.v1.TargetHttpProxies.Get:input_type -> google.cloud.compute.v1.GetTargetHttpProxyRequest + 863, // 1879: google.cloud.compute.v1.TargetHttpProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetHttpProxyRequest + 1072, // 1880: google.cloud.compute.v1.TargetHttpProxies.List:input_type -> google.cloud.compute.v1.ListTargetHttpProxiesRequest + 1239, // 1881: google.cloud.compute.v1.TargetHttpProxies.Patch:input_type -> google.cloud.compute.v1.PatchTargetHttpProxyRequest + 1516, // 1882: google.cloud.compute.v1.TargetHttpProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapTargetHttpProxyRequest + 368, // 1883: google.cloud.compute.v1.TargetHttpsProxies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetHttpsProxiesRequest + 543, // 1884: google.cloud.compute.v1.TargetHttpsProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetHttpsProxyRequest + 745, // 1885: google.cloud.compute.v1.TargetHttpsProxies.Get:input_type -> google.cloud.compute.v1.GetTargetHttpsProxyRequest + 864, // 1886: google.cloud.compute.v1.TargetHttpsProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetHttpsProxyRequest + 1073, // 1887: google.cloud.compute.v1.TargetHttpsProxies.List:input_type -> google.cloud.compute.v1.ListTargetHttpsProxiesRequest + 1240, // 1888: google.cloud.compute.v1.TargetHttpsProxies.Patch:input_type -> google.cloud.compute.v1.PatchTargetHttpsProxyRequest + 1435, // 1889: google.cloud.compute.v1.TargetHttpsProxies.SetCertificateMap:input_type -> google.cloud.compute.v1.SetCertificateMapTargetHttpsProxyRequest + 1495, // 1890: google.cloud.compute.v1.TargetHttpsProxies.SetQuicOverride:input_type -> google.cloud.compute.v1.SetQuicOverrideTargetHttpsProxyRequest + 1505, // 1891: google.cloud.compute.v1.TargetHttpsProxies.SetSslCertificates:input_type -> google.cloud.compute.v1.SetSslCertificatesTargetHttpsProxyRequest + 1507, // 1892: google.cloud.compute.v1.TargetHttpsProxies.SetSslPolicy:input_type -> google.cloud.compute.v1.SetSslPolicyTargetHttpsProxyRequest + 1517, // 1893: google.cloud.compute.v1.TargetHttpsProxies.SetUrlMap:input_type -> google.cloud.compute.v1.SetUrlMapTargetHttpsProxyRequest + 369, // 1894: google.cloud.compute.v1.TargetInstances.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetInstancesRequest + 544, // 1895: google.cloud.compute.v1.TargetInstances.Delete:input_type -> google.cloud.compute.v1.DeleteTargetInstanceRequest + 746, // 1896: google.cloud.compute.v1.TargetInstances.Get:input_type -> google.cloud.compute.v1.GetTargetInstanceRequest + 865, // 1897: google.cloud.compute.v1.TargetInstances.Insert:input_type -> google.cloud.compute.v1.InsertTargetInstanceRequest + 1074, // 1898: google.cloud.compute.v1.TargetInstances.List:input_type -> google.cloud.compute.v1.ListTargetInstancesRequest + 1500, // 1899: google.cloud.compute.v1.TargetInstances.SetSecurityPolicy:input_type -> google.cloud.compute.v1.SetSecurityPolicyTargetInstanceRequest + 315, // 1900: google.cloud.compute.v1.TargetPools.AddHealthCheck:input_type -> google.cloud.compute.v1.AddHealthCheckTargetPoolRequest + 316, // 1901: google.cloud.compute.v1.TargetPools.AddInstance:input_type -> google.cloud.compute.v1.AddInstanceTargetPoolRequest + 370, // 1902: google.cloud.compute.v1.TargetPools.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetPoolsRequest + 545, // 1903: google.cloud.compute.v1.TargetPools.Delete:input_type -> google.cloud.compute.v1.DeleteTargetPoolRequest + 747, // 1904: google.cloud.compute.v1.TargetPools.Get:input_type -> google.cloud.compute.v1.GetTargetPoolRequest + 649, // 1905: google.cloud.compute.v1.TargetPools.GetHealth:input_type -> google.cloud.compute.v1.GetHealthTargetPoolRequest + 866, // 1906: google.cloud.compute.v1.TargetPools.Insert:input_type -> google.cloud.compute.v1.InsertTargetPoolRequest + 1075, // 1907: google.cloud.compute.v1.TargetPools.List:input_type -> google.cloud.compute.v1.ListTargetPoolsRequest + 1310, // 1908: google.cloud.compute.v1.TargetPools.RemoveHealthCheck:input_type -> google.cloud.compute.v1.RemoveHealthCheckTargetPoolRequest + 1311, // 1909: google.cloud.compute.v1.TargetPools.RemoveInstance:input_type -> google.cloud.compute.v1.RemoveInstanceTargetPoolRequest + 1434, // 1910: google.cloud.compute.v1.TargetPools.SetBackup:input_type -> google.cloud.compute.v1.SetBackupTargetPoolRequest + 1501, // 1911: google.cloud.compute.v1.TargetPools.SetSecurityPolicy:input_type -> google.cloud.compute.v1.SetSecurityPolicyTargetPoolRequest + 546, // 1912: google.cloud.compute.v1.TargetSslProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetSslProxyRequest + 748, // 1913: google.cloud.compute.v1.TargetSslProxies.Get:input_type -> google.cloud.compute.v1.GetTargetSslProxyRequest + 867, // 1914: google.cloud.compute.v1.TargetSslProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetSslProxyRequest + 1076, // 1915: google.cloud.compute.v1.TargetSslProxies.List:input_type -> google.cloud.compute.v1.ListTargetSslProxiesRequest + 1432, // 1916: google.cloud.compute.v1.TargetSslProxies.SetBackendService:input_type -> google.cloud.compute.v1.SetBackendServiceTargetSslProxyRequest + 1436, // 1917: google.cloud.compute.v1.TargetSslProxies.SetCertificateMap:input_type -> google.cloud.compute.v1.SetCertificateMapTargetSslProxyRequest + 1493, // 1918: google.cloud.compute.v1.TargetSslProxies.SetProxyHeader:input_type -> google.cloud.compute.v1.SetProxyHeaderTargetSslProxyRequest + 1506, // 1919: google.cloud.compute.v1.TargetSslProxies.SetSslCertificates:input_type -> google.cloud.compute.v1.SetSslCertificatesTargetSslProxyRequest + 1508, // 1920: google.cloud.compute.v1.TargetSslProxies.SetSslPolicy:input_type -> google.cloud.compute.v1.SetSslPolicyTargetSslProxyRequest + 371, // 1921: google.cloud.compute.v1.TargetTcpProxies.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetTcpProxiesRequest + 547, // 1922: google.cloud.compute.v1.TargetTcpProxies.Delete:input_type -> google.cloud.compute.v1.DeleteTargetTcpProxyRequest + 749, // 1923: google.cloud.compute.v1.TargetTcpProxies.Get:input_type -> google.cloud.compute.v1.GetTargetTcpProxyRequest + 868, // 1924: google.cloud.compute.v1.TargetTcpProxies.Insert:input_type -> google.cloud.compute.v1.InsertTargetTcpProxyRequest + 1077, // 1925: google.cloud.compute.v1.TargetTcpProxies.List:input_type -> google.cloud.compute.v1.ListTargetTcpProxiesRequest + 1433, // 1926: google.cloud.compute.v1.TargetTcpProxies.SetBackendService:input_type -> google.cloud.compute.v1.SetBackendServiceTargetTcpProxyRequest + 1494, // 1927: google.cloud.compute.v1.TargetTcpProxies.SetProxyHeader:input_type -> google.cloud.compute.v1.SetProxyHeaderTargetTcpProxyRequest + 372, // 1928: google.cloud.compute.v1.TargetVpnGateways.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListTargetVpnGatewaysRequest + 548, // 1929: google.cloud.compute.v1.TargetVpnGateways.Delete:input_type -> google.cloud.compute.v1.DeleteTargetVpnGatewayRequest + 750, // 1930: google.cloud.compute.v1.TargetVpnGateways.Get:input_type -> google.cloud.compute.v1.GetTargetVpnGatewayRequest + 869, // 1931: google.cloud.compute.v1.TargetVpnGateways.Insert:input_type -> google.cloud.compute.v1.InsertTargetVpnGatewayRequest + 1078, // 1932: google.cloud.compute.v1.TargetVpnGateways.List:input_type -> google.cloud.compute.v1.ListTargetVpnGatewaysRequest + 1481, // 1933: google.cloud.compute.v1.TargetVpnGateways.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsTargetVpnGatewayRequest + 373, // 1934: google.cloud.compute.v1.UrlMaps.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListUrlMapsRequest + 549, // 1935: google.cloud.compute.v1.UrlMaps.Delete:input_type -> google.cloud.compute.v1.DeleteUrlMapRequest + 751, // 1936: google.cloud.compute.v1.UrlMaps.Get:input_type -> google.cloud.compute.v1.GetUrlMapRequest + 870, // 1937: google.cloud.compute.v1.UrlMaps.Insert:input_type -> google.cloud.compute.v1.InsertUrlMapRequest + 973, // 1938: google.cloud.compute.v1.UrlMaps.InvalidateCache:input_type -> google.cloud.compute.v1.InvalidateCacheUrlMapRequest + 1079, // 1939: google.cloud.compute.v1.UrlMaps.List:input_type -> google.cloud.compute.v1.ListUrlMapsRequest + 1241, // 1940: google.cloud.compute.v1.UrlMaps.Patch:input_type -> google.cloud.compute.v1.PatchUrlMapRequest + 1671, // 1941: google.cloud.compute.v1.UrlMaps.Update:input_type -> google.cloud.compute.v1.UpdateUrlMapRequest + 1688, // 1942: google.cloud.compute.v1.UrlMaps.Validate:input_type -> google.cloud.compute.v1.ValidateUrlMapRequest + 374, // 1943: google.cloud.compute.v1.VpnGateways.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListVpnGatewaysRequest + 550, // 1944: google.cloud.compute.v1.VpnGateways.Delete:input_type -> google.cloud.compute.v1.DeleteVpnGatewayRequest + 752, // 1945: google.cloud.compute.v1.VpnGateways.Get:input_type -> google.cloud.compute.v1.GetVpnGatewayRequest + 741, // 1946: google.cloud.compute.v1.VpnGateways.GetStatus:input_type -> google.cloud.compute.v1.GetStatusVpnGatewayRequest + 871, // 1947: google.cloud.compute.v1.VpnGateways.Insert:input_type -> google.cloud.compute.v1.InsertVpnGatewayRequest + 1083, // 1948: google.cloud.compute.v1.VpnGateways.List:input_type -> google.cloud.compute.v1.ListVpnGatewaysRequest + 1482, // 1949: google.cloud.compute.v1.VpnGateways.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsVpnGatewayRequest + 1644, // 1950: google.cloud.compute.v1.VpnGateways.TestIamPermissions:input_type -> google.cloud.compute.v1.TestIamPermissionsVpnGatewayRequest + 375, // 1951: google.cloud.compute.v1.VpnTunnels.AggregatedList:input_type -> google.cloud.compute.v1.AggregatedListVpnTunnelsRequest + 551, // 1952: google.cloud.compute.v1.VpnTunnels.Delete:input_type -> google.cloud.compute.v1.DeleteVpnTunnelRequest + 753, // 1953: google.cloud.compute.v1.VpnTunnels.Get:input_type -> google.cloud.compute.v1.GetVpnTunnelRequest + 872, // 1954: google.cloud.compute.v1.VpnTunnels.Insert:input_type -> google.cloud.compute.v1.InsertVpnTunnelRequest + 1084, // 1955: google.cloud.compute.v1.VpnTunnels.List:input_type -> google.cloud.compute.v1.ListVpnTunnelsRequest + 1483, // 1956: google.cloud.compute.v1.VpnTunnels.SetLabels:input_type -> google.cloud.compute.v1.SetLabelsVpnTunnelRequest + 552, // 1957: google.cloud.compute.v1.ZoneOperations.Delete:input_type -> google.cloud.compute.v1.DeleteZoneOperationRequest + 756, // 1958: google.cloud.compute.v1.ZoneOperations.Get:input_type -> google.cloud.compute.v1.GetZoneOperationRequest + 1086, // 1959: google.cloud.compute.v1.ZoneOperations.List:input_type -> google.cloud.compute.v1.ListZoneOperationsRequest + 1711, // 1960: google.cloud.compute.v1.ZoneOperations.Wait:input_type -> google.cloud.compute.v1.WaitZoneOperationRequest + 757, // 1961: google.cloud.compute.v1.Zones.Get:input_type -> google.cloud.compute.v1.GetZoneRequest + 1087, // 1962: google.cloud.compute.v1.Zones.List:input_type -> google.cloud.compute.v1.ListZonesRequest + 306, // 1963: google.cloud.compute.v1.AcceleratorTypes.AggregatedList:output_type -> google.cloud.compute.v1.AcceleratorTypeAggregatedList + 305, // 1964: google.cloud.compute.v1.AcceleratorTypes.Get:output_type -> google.cloud.compute.v1.AcceleratorType + 307, // 1965: google.cloud.compute.v1.AcceleratorTypes.List:output_type -> google.cloud.compute.v1.AcceleratorTypeList + 331, // 1966: google.cloud.compute.v1.Addresses.AggregatedList:output_type -> google.cloud.compute.v1.AddressAggregatedList + 1177, // 1967: google.cloud.compute.v1.Addresses.Delete:output_type -> google.cloud.compute.v1.Operation + 330, // 1968: google.cloud.compute.v1.Addresses.Get:output_type -> google.cloud.compute.v1.Address + 1177, // 1969: google.cloud.compute.v1.Addresses.Insert:output_type -> google.cloud.compute.v1.Operation + 332, // 1970: google.cloud.compute.v1.Addresses.List:output_type -> google.cloud.compute.v1.AddressList + 1177, // 1971: google.cloud.compute.v1.Addresses.Move:output_type -> google.cloud.compute.v1.Operation + 1177, // 1972: google.cloud.compute.v1.Addresses.SetLabels:output_type -> google.cloud.compute.v1.Operation + 397, // 1973: google.cloud.compute.v1.Autoscalers.AggregatedList:output_type -> google.cloud.compute.v1.AutoscalerAggregatedList + 1177, // 1974: google.cloud.compute.v1.Autoscalers.Delete:output_type -> google.cloud.compute.v1.Operation + 396, // 1975: google.cloud.compute.v1.Autoscalers.Get:output_type -> google.cloud.compute.v1.Autoscaler + 1177, // 1976: google.cloud.compute.v1.Autoscalers.Insert:output_type -> google.cloud.compute.v1.Operation + 398, // 1977: google.cloud.compute.v1.Autoscalers.List:output_type -> google.cloud.compute.v1.AutoscalerList + 1177, // 1978: google.cloud.compute.v1.Autoscalers.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 1979: google.cloud.compute.v1.Autoscalers.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 1980: google.cloud.compute.v1.BackendBuckets.AddSignedUrlKey:output_type -> google.cloud.compute.v1.Operation + 1177, // 1981: google.cloud.compute.v1.BackendBuckets.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 1982: google.cloud.compute.v1.BackendBuckets.DeleteSignedUrlKey:output_type -> google.cloud.compute.v1.Operation + 408, // 1983: google.cloud.compute.v1.BackendBuckets.Get:output_type -> google.cloud.compute.v1.BackendBucket + 1245, // 1984: google.cloud.compute.v1.BackendBuckets.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 1985: google.cloud.compute.v1.BackendBuckets.Insert:output_type -> google.cloud.compute.v1.Operation + 413, // 1986: google.cloud.compute.v1.BackendBuckets.List:output_type -> google.cloud.compute.v1.BackendBucketList + 1177, // 1987: google.cloud.compute.v1.BackendBuckets.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 1988: google.cloud.compute.v1.BackendBuckets.SetEdgeSecurityPolicy:output_type -> google.cloud.compute.v1.Operation + 1245, // 1989: google.cloud.compute.v1.BackendBuckets.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 1990: google.cloud.compute.v1.BackendBuckets.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 1991: google.cloud.compute.v1.BackendBuckets.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 1992: google.cloud.compute.v1.BackendServices.AddSignedUrlKey:output_type -> google.cloud.compute.v1.Operation + 415, // 1993: google.cloud.compute.v1.BackendServices.AggregatedList:output_type -> google.cloud.compute.v1.BackendServiceAggregatedList + 1177, // 1994: google.cloud.compute.v1.BackendServices.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 1995: google.cloud.compute.v1.BackendServices.DeleteSignedUrlKey:output_type -> google.cloud.compute.v1.Operation + 414, // 1996: google.cloud.compute.v1.BackendServices.Get:output_type -> google.cloud.compute.v1.BackendService + 421, // 1997: google.cloud.compute.v1.BackendServices.GetHealth:output_type -> google.cloud.compute.v1.BackendServiceGroupHealth + 1245, // 1998: google.cloud.compute.v1.BackendServices.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 1999: google.cloud.compute.v1.BackendServices.Insert:output_type -> google.cloud.compute.v1.Operation + 423, // 2000: google.cloud.compute.v1.BackendServices.List:output_type -> google.cloud.compute.v1.BackendServiceList + 424, // 2001: google.cloud.compute.v1.BackendServices.ListUsable:output_type -> google.cloud.compute.v1.BackendServiceListUsable + 1177, // 2002: google.cloud.compute.v1.BackendServices.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2003: google.cloud.compute.v1.BackendServices.SetEdgeSecurityPolicy:output_type -> google.cloud.compute.v1.Operation + 1245, // 2004: google.cloud.compute.v1.BackendServices.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2005: google.cloud.compute.v1.BackendServices.SetSecurityPolicy:output_type -> google.cloud.compute.v1.Operation + 1646, // 2006: google.cloud.compute.v1.BackendServices.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2007: google.cloud.compute.v1.BackendServices.Update:output_type -> google.cloud.compute.v1.Operation + 574, // 2008: google.cloud.compute.v1.DiskTypes.AggregatedList:output_type -> google.cloud.compute.v1.DiskTypeAggregatedList + 573, // 2009: google.cloud.compute.v1.DiskTypes.Get:output_type -> google.cloud.compute.v1.DiskType + 575, // 2010: google.cloud.compute.v1.DiskTypes.List:output_type -> google.cloud.compute.v1.DiskTypeList + 1177, // 2011: google.cloud.compute.v1.Disks.AddResourcePolicies:output_type -> google.cloud.compute.v1.Operation + 564, // 2012: google.cloud.compute.v1.Disks.AggregatedList:output_type -> google.cloud.compute.v1.DiskAggregatedList + 1177, // 2013: google.cloud.compute.v1.Disks.BulkInsert:output_type -> google.cloud.compute.v1.Operation + 1177, // 2014: google.cloud.compute.v1.Disks.CreateSnapshot:output_type -> google.cloud.compute.v1.Operation + 1177, // 2015: google.cloud.compute.v1.Disks.Delete:output_type -> google.cloud.compute.v1.Operation + 563, // 2016: google.cloud.compute.v1.Disks.Get:output_type -> google.cloud.compute.v1.Disk + 1245, // 2017: google.cloud.compute.v1.Disks.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2018: google.cloud.compute.v1.Disks.Insert:output_type -> google.cloud.compute.v1.Operation + 568, // 2019: google.cloud.compute.v1.Disks.List:output_type -> google.cloud.compute.v1.DiskList + 1177, // 2020: google.cloud.compute.v1.Disks.RemoveResourcePolicies:output_type -> google.cloud.compute.v1.Operation + 1177, // 2021: google.cloud.compute.v1.Disks.Resize:output_type -> google.cloud.compute.v1.Operation + 1245, // 2022: google.cloud.compute.v1.Disks.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2023: google.cloud.compute.v1.Disks.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1177, // 2024: google.cloud.compute.v1.Disks.StartAsyncReplication:output_type -> google.cloud.compute.v1.Operation + 1177, // 2025: google.cloud.compute.v1.Disks.StopAsyncReplication:output_type -> google.cloud.compute.v1.Operation + 1177, // 2026: google.cloud.compute.v1.Disks.StopGroupAsyncReplication:output_type -> google.cloud.compute.v1.Operation + 1646, // 2027: google.cloud.compute.v1.Disks.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2028: google.cloud.compute.v1.Disks.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 2029: google.cloud.compute.v1.ExternalVpnGateways.Delete:output_type -> google.cloud.compute.v1.Operation + 597, // 2030: google.cloud.compute.v1.ExternalVpnGateways.Get:output_type -> google.cloud.compute.v1.ExternalVpnGateway + 1177, // 2031: google.cloud.compute.v1.ExternalVpnGateways.Insert:output_type -> google.cloud.compute.v1.Operation + 599, // 2032: google.cloud.compute.v1.ExternalVpnGateways.List:output_type -> google.cloud.compute.v1.ExternalVpnGatewayList + 1177, // 2033: google.cloud.compute.v1.ExternalVpnGateways.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1646, // 2034: google.cloud.compute.v1.ExternalVpnGateways.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2035: google.cloud.compute.v1.FirewallPolicies.AddAssociation:output_type -> google.cloud.compute.v1.Operation + 1177, // 2036: google.cloud.compute.v1.FirewallPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2037: google.cloud.compute.v1.FirewallPolicies.CloneRules:output_type -> google.cloud.compute.v1.Operation + 1177, // 2038: google.cloud.compute.v1.FirewallPolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 605, // 2039: google.cloud.compute.v1.FirewallPolicies.Get:output_type -> google.cloud.compute.v1.FirewallPolicy + 606, // 2040: google.cloud.compute.v1.FirewallPolicies.GetAssociation:output_type -> google.cloud.compute.v1.FirewallPolicyAssociation + 1245, // 2041: google.cloud.compute.v1.FirewallPolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 608, // 2042: google.cloud.compute.v1.FirewallPolicies.GetRule:output_type -> google.cloud.compute.v1.FirewallPolicyRule + 1177, // 2043: google.cloud.compute.v1.FirewallPolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 607, // 2044: google.cloud.compute.v1.FirewallPolicies.List:output_type -> google.cloud.compute.v1.FirewallPolicyList + 604, // 2045: google.cloud.compute.v1.FirewallPolicies.ListAssociations:output_type -> google.cloud.compute.v1.FirewallPoliciesListAssociationsResponse + 1177, // 2046: google.cloud.compute.v1.FirewallPolicies.Move:output_type -> google.cloud.compute.v1.Operation + 1177, // 2047: google.cloud.compute.v1.FirewallPolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2048: google.cloud.compute.v1.FirewallPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2049: google.cloud.compute.v1.FirewallPolicies.RemoveAssociation:output_type -> google.cloud.compute.v1.Operation + 1177, // 2050: google.cloud.compute.v1.FirewallPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation + 1245, // 2051: google.cloud.compute.v1.FirewallPolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2052: google.cloud.compute.v1.FirewallPolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2053: google.cloud.compute.v1.Firewalls.Delete:output_type -> google.cloud.compute.v1.Operation + 601, // 2054: google.cloud.compute.v1.Firewalls.Get:output_type -> google.cloud.compute.v1.Firewall + 1177, // 2055: google.cloud.compute.v1.Firewalls.Insert:output_type -> google.cloud.compute.v1.Operation + 602, // 2056: google.cloud.compute.v1.Firewalls.List:output_type -> google.cloud.compute.v1.FirewallList + 1177, // 2057: google.cloud.compute.v1.Firewalls.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2058: google.cloud.compute.v1.Firewalls.Update:output_type -> google.cloud.compute.v1.Operation + 614, // 2059: google.cloud.compute.v1.ForwardingRules.AggregatedList:output_type -> google.cloud.compute.v1.ForwardingRuleAggregatedList + 1177, // 2060: google.cloud.compute.v1.ForwardingRules.Delete:output_type -> google.cloud.compute.v1.Operation + 613, // 2061: google.cloud.compute.v1.ForwardingRules.Get:output_type -> google.cloud.compute.v1.ForwardingRule + 1177, // 2062: google.cloud.compute.v1.ForwardingRules.Insert:output_type -> google.cloud.compute.v1.Operation + 615, // 2063: google.cloud.compute.v1.ForwardingRules.List:output_type -> google.cloud.compute.v1.ForwardingRuleList + 1177, // 2064: google.cloud.compute.v1.ForwardingRules.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2065: google.cloud.compute.v1.ForwardingRules.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1177, // 2066: google.cloud.compute.v1.ForwardingRules.SetTarget:output_type -> google.cloud.compute.v1.Operation + 1177, // 2067: google.cloud.compute.v1.GlobalAddresses.Delete:output_type -> google.cloud.compute.v1.Operation + 330, // 2068: google.cloud.compute.v1.GlobalAddresses.Get:output_type -> google.cloud.compute.v1.Address + 1177, // 2069: google.cloud.compute.v1.GlobalAddresses.Insert:output_type -> google.cloud.compute.v1.Operation + 332, // 2070: google.cloud.compute.v1.GlobalAddresses.List:output_type -> google.cloud.compute.v1.AddressList + 1177, // 2071: google.cloud.compute.v1.GlobalAddresses.Move:output_type -> google.cloud.compute.v1.Operation + 1177, // 2072: google.cloud.compute.v1.GlobalAddresses.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1177, // 2073: google.cloud.compute.v1.GlobalForwardingRules.Delete:output_type -> google.cloud.compute.v1.Operation + 613, // 2074: google.cloud.compute.v1.GlobalForwardingRules.Get:output_type -> google.cloud.compute.v1.ForwardingRule + 1177, // 2075: google.cloud.compute.v1.GlobalForwardingRules.Insert:output_type -> google.cloud.compute.v1.Operation + 615, // 2076: google.cloud.compute.v1.GlobalForwardingRules.List:output_type -> google.cloud.compute.v1.ForwardingRuleList + 1177, // 2077: google.cloud.compute.v1.GlobalForwardingRules.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2078: google.cloud.compute.v1.GlobalForwardingRules.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1177, // 2079: google.cloud.compute.v1.GlobalForwardingRules.SetTarget:output_type -> google.cloud.compute.v1.Operation + 1177, // 2080: google.cloud.compute.v1.GlobalNetworkEndpointGroups.AttachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation + 1177, // 2081: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2082: google.cloud.compute.v1.GlobalNetworkEndpointGroups.DetachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation + 1130, // 2083: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Get:output_type -> google.cloud.compute.v1.NetworkEndpointGroup + 1177, // 2084: google.cloud.compute.v1.GlobalNetworkEndpointGroups.Insert:output_type -> google.cloud.compute.v1.Operation + 1135, // 2085: google.cloud.compute.v1.GlobalNetworkEndpointGroups.List:output_type -> google.cloud.compute.v1.NetworkEndpointGroupList + 1140, // 2086: google.cloud.compute.v1.GlobalNetworkEndpointGroups.ListNetworkEndpoints:output_type -> google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints + 1178, // 2087: google.cloud.compute.v1.GlobalOperations.AggregatedList:output_type -> google.cloud.compute.v1.OperationAggregatedList + 481, // 2088: google.cloud.compute.v1.GlobalOperations.Delete:output_type -> google.cloud.compute.v1.DeleteGlobalOperationResponse + 1177, // 2089: google.cloud.compute.v1.GlobalOperations.Get:output_type -> google.cloud.compute.v1.Operation + 1179, // 2090: google.cloud.compute.v1.GlobalOperations.List:output_type -> google.cloud.compute.v1.OperationList + 1177, // 2091: google.cloud.compute.v1.GlobalOperations.Wait:output_type -> google.cloud.compute.v1.Operation + 483, // 2092: google.cloud.compute.v1.GlobalOrganizationOperations.Delete:output_type -> google.cloud.compute.v1.DeleteGlobalOrganizationOperationResponse + 1177, // 2093: google.cloud.compute.v1.GlobalOrganizationOperations.Get:output_type -> google.cloud.compute.v1.Operation + 1179, // 2094: google.cloud.compute.v1.GlobalOrganizationOperations.List:output_type -> google.cloud.compute.v1.OperationList + 1177, // 2095: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Delete:output_type -> google.cloud.compute.v1.Operation + 1261, // 2096: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Get:output_type -> google.cloud.compute.v1.PublicDelegatedPrefix + 1177, // 2097: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Insert:output_type -> google.cloud.compute.v1.Operation + 1263, // 2098: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.List:output_type -> google.cloud.compute.v1.PublicDelegatedPrefixList + 1177, // 2099: google.cloud.compute.v1.GlobalPublicDelegatedPrefixes.Patch:output_type -> google.cloud.compute.v1.Operation + 778, // 2100: google.cloud.compute.v1.HealthChecks.AggregatedList:output_type -> google.cloud.compute.v1.HealthChecksAggregatedList + 1177, // 2101: google.cloud.compute.v1.HealthChecks.Delete:output_type -> google.cloud.compute.v1.Operation + 771, // 2102: google.cloud.compute.v1.HealthChecks.Get:output_type -> google.cloud.compute.v1.HealthCheck + 1177, // 2103: google.cloud.compute.v1.HealthChecks.Insert:output_type -> google.cloud.compute.v1.Operation + 772, // 2104: google.cloud.compute.v1.HealthChecks.List:output_type -> google.cloud.compute.v1.HealthCheckList + 1177, // 2105: google.cloud.compute.v1.HealthChecks.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2106: google.cloud.compute.v1.HealthChecks.Update:output_type -> google.cloud.compute.v1.Operation + 798, // 2107: google.cloud.compute.v1.ImageFamilyViews.Get:output_type -> google.cloud.compute.v1.ImageFamilyView + 1177, // 2108: google.cloud.compute.v1.Images.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2109: google.cloud.compute.v1.Images.Deprecate:output_type -> google.cloud.compute.v1.Operation + 797, // 2110: google.cloud.compute.v1.Images.Get:output_type -> google.cloud.compute.v1.Image + 797, // 2111: google.cloud.compute.v1.Images.GetFromFamily:output_type -> google.cloud.compute.v1.Image + 1245, // 2112: google.cloud.compute.v1.Images.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2113: google.cloud.compute.v1.Images.Insert:output_type -> google.cloud.compute.v1.Operation + 799, // 2114: google.cloud.compute.v1.Images.List:output_type -> google.cloud.compute.v1.ImageList + 1177, // 2115: google.cloud.compute.v1.Images.Patch:output_type -> google.cloud.compute.v1.Operation + 1245, // 2116: google.cloud.compute.v1.Images.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2117: google.cloud.compute.v1.Images.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1646, // 2118: google.cloud.compute.v1.Images.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2119: google.cloud.compute.v1.InstanceGroupManagers.AbandonInstances:output_type -> google.cloud.compute.v1.Operation + 882, // 2120: google.cloud.compute.v1.InstanceGroupManagers.AggregatedList:output_type -> google.cloud.compute.v1.InstanceGroupManagerAggregatedList + 1177, // 2121: google.cloud.compute.v1.InstanceGroupManagers.ApplyUpdatesToInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2122: google.cloud.compute.v1.InstanceGroupManagers.CreateInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2123: google.cloud.compute.v1.InstanceGroupManagers.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2124: google.cloud.compute.v1.InstanceGroupManagers.DeleteInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2125: google.cloud.compute.v1.InstanceGroupManagers.DeletePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation + 880, // 2126: google.cloud.compute.v1.InstanceGroupManagers.Get:output_type -> google.cloud.compute.v1.InstanceGroupManager + 1177, // 2127: google.cloud.compute.v1.InstanceGroupManagers.Insert:output_type -> google.cloud.compute.v1.Operation + 885, // 2128: google.cloud.compute.v1.InstanceGroupManagers.List:output_type -> google.cloud.compute.v1.InstanceGroupManagerList + 897, // 2129: google.cloud.compute.v1.InstanceGroupManagers.ListErrors:output_type -> google.cloud.compute.v1.InstanceGroupManagersListErrorsResponse + 898, // 2130: google.cloud.compute.v1.InstanceGroupManagers.ListManagedInstances:output_type -> google.cloud.compute.v1.InstanceGroupManagersListManagedInstancesResponse + 899, // 2131: google.cloud.compute.v1.InstanceGroupManagers.ListPerInstanceConfigs:output_type -> google.cloud.compute.v1.InstanceGroupManagersListPerInstanceConfigsResp + 1177, // 2132: google.cloud.compute.v1.InstanceGroupManagers.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2133: google.cloud.compute.v1.InstanceGroupManagers.PatchPerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation + 1177, // 2134: google.cloud.compute.v1.InstanceGroupManagers.RecreateInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2135: google.cloud.compute.v1.InstanceGroupManagers.Resize:output_type -> google.cloud.compute.v1.Operation + 1177, // 2136: google.cloud.compute.v1.InstanceGroupManagers.SetInstanceTemplate:output_type -> google.cloud.compute.v1.Operation + 1177, // 2137: google.cloud.compute.v1.InstanceGroupManagers.SetTargetPools:output_type -> google.cloud.compute.v1.Operation + 1177, // 2138: google.cloud.compute.v1.InstanceGroupManagers.UpdatePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation + 1177, // 2139: google.cloud.compute.v1.InstanceGroups.AddInstances:output_type -> google.cloud.compute.v1.Operation + 878, // 2140: google.cloud.compute.v1.InstanceGroups.AggregatedList:output_type -> google.cloud.compute.v1.InstanceGroupAggregatedList + 1177, // 2141: google.cloud.compute.v1.InstanceGroups.Delete:output_type -> google.cloud.compute.v1.Operation + 877, // 2142: google.cloud.compute.v1.InstanceGroups.Get:output_type -> google.cloud.compute.v1.InstanceGroup + 1177, // 2143: google.cloud.compute.v1.InstanceGroups.Insert:output_type -> google.cloud.compute.v1.Operation + 879, // 2144: google.cloud.compute.v1.InstanceGroups.List:output_type -> google.cloud.compute.v1.InstanceGroupList + 907, // 2145: google.cloud.compute.v1.InstanceGroups.ListInstances:output_type -> google.cloud.compute.v1.InstanceGroupsListInstances + 1177, // 2146: google.cloud.compute.v1.InstanceGroups.RemoveInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2147: google.cloud.compute.v1.InstanceGroups.SetNamedPorts:output_type -> google.cloud.compute.v1.Operation + 922, // 2148: google.cloud.compute.v1.InstanceTemplates.AggregatedList:output_type -> google.cloud.compute.v1.InstanceTemplateAggregatedList + 1177, // 2149: google.cloud.compute.v1.InstanceTemplates.Delete:output_type -> google.cloud.compute.v1.Operation + 921, // 2150: google.cloud.compute.v1.InstanceTemplates.Get:output_type -> google.cloud.compute.v1.InstanceTemplate + 1245, // 2151: google.cloud.compute.v1.InstanceTemplates.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2152: google.cloud.compute.v1.InstanceTemplates.Insert:output_type -> google.cloud.compute.v1.Operation + 923, // 2153: google.cloud.compute.v1.InstanceTemplates.List:output_type -> google.cloud.compute.v1.InstanceTemplateList + 1245, // 2154: google.cloud.compute.v1.InstanceTemplates.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2155: google.cloud.compute.v1.InstanceTemplates.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2156: google.cloud.compute.v1.Instances.AddAccessConfig:output_type -> google.cloud.compute.v1.Operation + 1177, // 2157: google.cloud.compute.v1.Instances.AddResourcePolicies:output_type -> google.cloud.compute.v1.Operation + 874, // 2158: google.cloud.compute.v1.Instances.AggregatedList:output_type -> google.cloud.compute.v1.InstanceAggregatedList + 1177, // 2159: google.cloud.compute.v1.Instances.AttachDisk:output_type -> google.cloud.compute.v1.Operation + 1177, // 2160: google.cloud.compute.v1.Instances.BulkInsert:output_type -> google.cloud.compute.v1.Operation + 1177, // 2161: google.cloud.compute.v1.Instances.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2162: google.cloud.compute.v1.Instances.DeleteAccessConfig:output_type -> google.cloud.compute.v1.Operation + 1177, // 2163: google.cloud.compute.v1.Instances.DetachDisk:output_type -> google.cloud.compute.v1.Operation + 873, // 2164: google.cloud.compute.v1.Instances.Get:output_type -> google.cloud.compute.v1.Instance + 928, // 2165: google.cloud.compute.v1.Instances.GetEffectiveFirewalls:output_type -> google.cloud.compute.v1.InstancesGetEffectiveFirewallsResponse + 764, // 2166: google.cloud.compute.v1.Instances.GetGuestAttributes:output_type -> google.cloud.compute.v1.GuestAttributes + 1245, // 2167: google.cloud.compute.v1.Instances.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1390, // 2168: google.cloud.compute.v1.Instances.GetScreenshot:output_type -> google.cloud.compute.v1.Screenshot + 1423, // 2169: google.cloud.compute.v1.Instances.GetSerialPortOutput:output_type -> google.cloud.compute.v1.SerialPortOutput + 1522, // 2170: google.cloud.compute.v1.Instances.GetShieldedInstanceIdentity:output_type -> google.cloud.compute.v1.ShieldedInstanceIdentity + 1177, // 2171: google.cloud.compute.v1.Instances.Insert:output_type -> google.cloud.compute.v1.Operation + 912, // 2172: google.cloud.compute.v1.Instances.List:output_type -> google.cloud.compute.v1.InstanceList + 913, // 2173: google.cloud.compute.v1.Instances.ListReferrers:output_type -> google.cloud.compute.v1.InstanceListReferrers + 1177, // 2174: google.cloud.compute.v1.Instances.RemoveResourcePolicies:output_type -> google.cloud.compute.v1.Operation + 1177, // 2175: google.cloud.compute.v1.Instances.Reset:output_type -> google.cloud.compute.v1.Operation + 1177, // 2176: google.cloud.compute.v1.Instances.Resume:output_type -> google.cloud.compute.v1.Operation + 1422, // 2177: google.cloud.compute.v1.Instances.SendDiagnosticInterrupt:output_type -> google.cloud.compute.v1.SendDiagnosticInterruptInstanceResponse + 1177, // 2178: google.cloud.compute.v1.Instances.SetDeletionProtection:output_type -> google.cloud.compute.v1.Operation + 1177, // 2179: google.cloud.compute.v1.Instances.SetDiskAutoDelete:output_type -> google.cloud.compute.v1.Operation + 1245, // 2180: google.cloud.compute.v1.Instances.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2181: google.cloud.compute.v1.Instances.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1177, // 2182: google.cloud.compute.v1.Instances.SetMachineResources:output_type -> google.cloud.compute.v1.Operation + 1177, // 2183: google.cloud.compute.v1.Instances.SetMachineType:output_type -> google.cloud.compute.v1.Operation + 1177, // 2184: google.cloud.compute.v1.Instances.SetMetadata:output_type -> google.cloud.compute.v1.Operation + 1177, // 2185: google.cloud.compute.v1.Instances.SetMinCpuPlatform:output_type -> google.cloud.compute.v1.Operation + 1177, // 2186: google.cloud.compute.v1.Instances.SetName:output_type -> google.cloud.compute.v1.Operation + 1177, // 2187: google.cloud.compute.v1.Instances.SetScheduling:output_type -> google.cloud.compute.v1.Operation + 1177, // 2188: google.cloud.compute.v1.Instances.SetSecurityPolicy:output_type -> google.cloud.compute.v1.Operation + 1177, // 2189: google.cloud.compute.v1.Instances.SetServiceAccount:output_type -> google.cloud.compute.v1.Operation + 1177, // 2190: google.cloud.compute.v1.Instances.SetShieldedInstanceIntegrityPolicy:output_type -> google.cloud.compute.v1.Operation + 1177, // 2191: google.cloud.compute.v1.Instances.SetTags:output_type -> google.cloud.compute.v1.Operation + 1177, // 2192: google.cloud.compute.v1.Instances.SimulateMaintenanceEvent:output_type -> google.cloud.compute.v1.Operation + 1177, // 2193: google.cloud.compute.v1.Instances.Start:output_type -> google.cloud.compute.v1.Operation + 1177, // 2194: google.cloud.compute.v1.Instances.StartWithEncryptionKey:output_type -> google.cloud.compute.v1.Operation + 1177, // 2195: google.cloud.compute.v1.Instances.Stop:output_type -> google.cloud.compute.v1.Operation + 1177, // 2196: google.cloud.compute.v1.Instances.Suspend:output_type -> google.cloud.compute.v1.Operation + 1646, // 2197: google.cloud.compute.v1.Instances.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2198: google.cloud.compute.v1.Instances.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 2199: google.cloud.compute.v1.Instances.UpdateAccessConfig:output_type -> google.cloud.compute.v1.Operation + 1177, // 2200: google.cloud.compute.v1.Instances.UpdateDisplayDevice:output_type -> google.cloud.compute.v1.Operation + 1177, // 2201: google.cloud.compute.v1.Instances.UpdateNetworkInterface:output_type -> google.cloud.compute.v1.Operation + 1177, // 2202: google.cloud.compute.v1.Instances.UpdateShieldedInstanceConfig:output_type -> google.cloud.compute.v1.Operation + 943, // 2203: google.cloud.compute.v1.InterconnectAttachments.AggregatedList:output_type -> google.cloud.compute.v1.InterconnectAttachmentAggregatedList + 1177, // 2204: google.cloud.compute.v1.InterconnectAttachments.Delete:output_type -> google.cloud.compute.v1.Operation + 942, // 2205: google.cloud.compute.v1.InterconnectAttachments.Get:output_type -> google.cloud.compute.v1.InterconnectAttachment + 1177, // 2206: google.cloud.compute.v1.InterconnectAttachments.Insert:output_type -> google.cloud.compute.v1.Operation + 946, // 2207: google.cloud.compute.v1.InterconnectAttachments.List:output_type -> google.cloud.compute.v1.InterconnectAttachmentList + 1177, // 2208: google.cloud.compute.v1.InterconnectAttachments.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2209: google.cloud.compute.v1.InterconnectAttachments.SetLabels:output_type -> google.cloud.compute.v1.Operation + 958, // 2210: google.cloud.compute.v1.InterconnectLocations.Get:output_type -> google.cloud.compute.v1.InterconnectLocation + 959, // 2211: google.cloud.compute.v1.InterconnectLocations.List:output_type -> google.cloud.compute.v1.InterconnectLocationList + 966, // 2212: google.cloud.compute.v1.InterconnectRemoteLocations.Get:output_type -> google.cloud.compute.v1.InterconnectRemoteLocation + 969, // 2213: google.cloud.compute.v1.InterconnectRemoteLocations.List:output_type -> google.cloud.compute.v1.InterconnectRemoteLocationList + 1177, // 2214: google.cloud.compute.v1.Interconnects.Delete:output_type -> google.cloud.compute.v1.Operation + 941, // 2215: google.cloud.compute.v1.Interconnects.Get:output_type -> google.cloud.compute.v1.Interconnect + 971, // 2216: google.cloud.compute.v1.Interconnects.GetDiagnostics:output_type -> google.cloud.compute.v1.InterconnectsGetDiagnosticsResponse + 972, // 2217: google.cloud.compute.v1.Interconnects.GetMacsecConfig:output_type -> google.cloud.compute.v1.InterconnectsGetMacsecConfigResponse + 1177, // 2218: google.cloud.compute.v1.Interconnects.Insert:output_type -> google.cloud.compute.v1.Operation + 957, // 2219: google.cloud.compute.v1.Interconnects.List:output_type -> google.cloud.compute.v1.InterconnectList + 1177, // 2220: google.cloud.compute.v1.Interconnects.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2221: google.cloud.compute.v1.Interconnects.SetLabels:output_type -> google.cloud.compute.v1.Operation + 976, // 2222: google.cloud.compute.v1.LicenseCodes.Get:output_type -> google.cloud.compute.v1.LicenseCode + 1646, // 2223: google.cloud.compute.v1.LicenseCodes.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2224: google.cloud.compute.v1.Licenses.Delete:output_type -> google.cloud.compute.v1.Operation + 975, // 2225: google.cloud.compute.v1.Licenses.Get:output_type -> google.cloud.compute.v1.License + 1245, // 2226: google.cloud.compute.v1.Licenses.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2227: google.cloud.compute.v1.Licenses.Insert:output_type -> google.cloud.compute.v1.Operation + 980, // 2228: google.cloud.compute.v1.Licenses.List:output_type -> google.cloud.compute.v1.LicensesListResponse + 1245, // 2229: google.cloud.compute.v1.Licenses.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2230: google.cloud.compute.v1.Licenses.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2231: google.cloud.compute.v1.MachineImages.Delete:output_type -> google.cloud.compute.v1.Operation + 1098, // 2232: google.cloud.compute.v1.MachineImages.Get:output_type -> google.cloud.compute.v1.MachineImage + 1245, // 2233: google.cloud.compute.v1.MachineImages.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2234: google.cloud.compute.v1.MachineImages.Insert:output_type -> google.cloud.compute.v1.Operation + 1099, // 2235: google.cloud.compute.v1.MachineImages.List:output_type -> google.cloud.compute.v1.MachineImageList + 1245, // 2236: google.cloud.compute.v1.MachineImages.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2237: google.cloud.compute.v1.MachineImages.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1101, // 2238: google.cloud.compute.v1.MachineTypes.AggregatedList:output_type -> google.cloud.compute.v1.MachineTypeAggregatedList + 1100, // 2239: google.cloud.compute.v1.MachineTypes.Get:output_type -> google.cloud.compute.v1.MachineType + 1102, // 2240: google.cloud.compute.v1.MachineTypes.List:output_type -> google.cloud.compute.v1.MachineTypeList + 1122, // 2241: google.cloud.compute.v1.NetworkAttachments.AggregatedList:output_type -> google.cloud.compute.v1.NetworkAttachmentAggregatedList + 1177, // 2242: google.cloud.compute.v1.NetworkAttachments.Delete:output_type -> google.cloud.compute.v1.Operation + 1121, // 2243: google.cloud.compute.v1.NetworkAttachments.Get:output_type -> google.cloud.compute.v1.NetworkAttachment + 1245, // 2244: google.cloud.compute.v1.NetworkAttachments.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2245: google.cloud.compute.v1.NetworkAttachments.Insert:output_type -> google.cloud.compute.v1.Operation + 1124, // 2246: google.cloud.compute.v1.NetworkAttachments.List:output_type -> google.cloud.compute.v1.NetworkAttachmentList + 1177, // 2247: google.cloud.compute.v1.NetworkAttachments.Patch:output_type -> google.cloud.compute.v1.Operation + 1245, // 2248: google.cloud.compute.v1.NetworkAttachments.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2249: google.cloud.compute.v1.NetworkAttachments.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1127, // 2250: google.cloud.compute.v1.NetworkEdgeSecurityServices.AggregatedList:output_type -> google.cloud.compute.v1.NetworkEdgeSecurityServiceAggregatedList + 1177, // 2251: google.cloud.compute.v1.NetworkEdgeSecurityServices.Delete:output_type -> google.cloud.compute.v1.Operation + 1126, // 2252: google.cloud.compute.v1.NetworkEdgeSecurityServices.Get:output_type -> google.cloud.compute.v1.NetworkEdgeSecurityService + 1177, // 2253: google.cloud.compute.v1.NetworkEdgeSecurityServices.Insert:output_type -> google.cloud.compute.v1.Operation + 1177, // 2254: google.cloud.compute.v1.NetworkEdgeSecurityServices.Patch:output_type -> google.cloud.compute.v1.Operation + 1131, // 2255: google.cloud.compute.v1.NetworkEndpointGroups.AggregatedList:output_type -> google.cloud.compute.v1.NetworkEndpointGroupAggregatedList + 1177, // 2256: google.cloud.compute.v1.NetworkEndpointGroups.AttachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation + 1177, // 2257: google.cloud.compute.v1.NetworkEndpointGroups.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2258: google.cloud.compute.v1.NetworkEndpointGroups.DetachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation + 1130, // 2259: google.cloud.compute.v1.NetworkEndpointGroups.Get:output_type -> google.cloud.compute.v1.NetworkEndpointGroup + 1177, // 2260: google.cloud.compute.v1.NetworkEndpointGroups.Insert:output_type -> google.cloud.compute.v1.Operation + 1135, // 2261: google.cloud.compute.v1.NetworkEndpointGroups.List:output_type -> google.cloud.compute.v1.NetworkEndpointGroupList + 1140, // 2262: google.cloud.compute.v1.NetworkEndpointGroups.ListNetworkEndpoints:output_type -> google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints + 1646, // 2263: google.cloud.compute.v1.NetworkEndpointGroups.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2264: google.cloud.compute.v1.NetworkFirewallPolicies.AddAssociation:output_type -> google.cloud.compute.v1.Operation + 1177, // 2265: google.cloud.compute.v1.NetworkFirewallPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2266: google.cloud.compute.v1.NetworkFirewallPolicies.CloneRules:output_type -> google.cloud.compute.v1.Operation + 1177, // 2267: google.cloud.compute.v1.NetworkFirewallPolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 605, // 2268: google.cloud.compute.v1.NetworkFirewallPolicies.Get:output_type -> google.cloud.compute.v1.FirewallPolicy + 606, // 2269: google.cloud.compute.v1.NetworkFirewallPolicies.GetAssociation:output_type -> google.cloud.compute.v1.FirewallPolicyAssociation + 1245, // 2270: google.cloud.compute.v1.NetworkFirewallPolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 608, // 2271: google.cloud.compute.v1.NetworkFirewallPolicies.GetRule:output_type -> google.cloud.compute.v1.FirewallPolicyRule + 1177, // 2272: google.cloud.compute.v1.NetworkFirewallPolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 607, // 2273: google.cloud.compute.v1.NetworkFirewallPolicies.List:output_type -> google.cloud.compute.v1.FirewallPolicyList + 1177, // 2274: google.cloud.compute.v1.NetworkFirewallPolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2275: google.cloud.compute.v1.NetworkFirewallPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2276: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveAssociation:output_type -> google.cloud.compute.v1.Operation + 1177, // 2277: google.cloud.compute.v1.NetworkFirewallPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation + 1245, // 2278: google.cloud.compute.v1.NetworkFirewallPolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2279: google.cloud.compute.v1.NetworkFirewallPolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2280: google.cloud.compute.v1.Networks.AddPeering:output_type -> google.cloud.compute.v1.Operation + 1177, // 2281: google.cloud.compute.v1.Networks.Delete:output_type -> google.cloud.compute.v1.Operation + 1120, // 2282: google.cloud.compute.v1.Networks.Get:output_type -> google.cloud.compute.v1.Network + 1149, // 2283: google.cloud.compute.v1.Networks.GetEffectiveFirewalls:output_type -> google.cloud.compute.v1.NetworksGetEffectiveFirewallsResponse + 1177, // 2284: google.cloud.compute.v1.Networks.Insert:output_type -> google.cloud.compute.v1.Operation + 1144, // 2285: google.cloud.compute.v1.Networks.List:output_type -> google.cloud.compute.v1.NetworkList + 594, // 2286: google.cloud.compute.v1.Networks.ListPeeringRoutes:output_type -> google.cloud.compute.v1.ExchangedPeeringRoutesList + 1177, // 2287: google.cloud.compute.v1.Networks.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2288: google.cloud.compute.v1.Networks.RemovePeering:output_type -> google.cloud.compute.v1.Operation + 1177, // 2289: google.cloud.compute.v1.Networks.SwitchToCustomMode:output_type -> google.cloud.compute.v1.Operation + 1177, // 2290: google.cloud.compute.v1.Networks.UpdatePeering:output_type -> google.cloud.compute.v1.Operation + 1177, // 2291: google.cloud.compute.v1.NodeGroups.AddNodes:output_type -> google.cloud.compute.v1.Operation + 1154, // 2292: google.cloud.compute.v1.NodeGroups.AggregatedList:output_type -> google.cloud.compute.v1.NodeGroupAggregatedList + 1177, // 2293: google.cloud.compute.v1.NodeGroups.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2294: google.cloud.compute.v1.NodeGroups.DeleteNodes:output_type -> google.cloud.compute.v1.Operation + 1153, // 2295: google.cloud.compute.v1.NodeGroups.Get:output_type -> google.cloud.compute.v1.NodeGroup + 1245, // 2296: google.cloud.compute.v1.NodeGroups.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2297: google.cloud.compute.v1.NodeGroups.Insert:output_type -> google.cloud.compute.v1.Operation + 1156, // 2298: google.cloud.compute.v1.NodeGroups.List:output_type -> google.cloud.compute.v1.NodeGroupList + 1161, // 2299: google.cloud.compute.v1.NodeGroups.ListNodes:output_type -> google.cloud.compute.v1.NodeGroupsListNodes + 1177, // 2300: google.cloud.compute.v1.NodeGroups.Patch:output_type -> google.cloud.compute.v1.Operation + 1245, // 2301: google.cloud.compute.v1.NodeGroups.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2302: google.cloud.compute.v1.NodeGroups.SetNodeTemplate:output_type -> google.cloud.compute.v1.Operation + 1177, // 2303: google.cloud.compute.v1.NodeGroups.SimulateMaintenanceEvent:output_type -> google.cloud.compute.v1.Operation + 1646, // 2304: google.cloud.compute.v1.NodeGroups.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1166, // 2305: google.cloud.compute.v1.NodeTemplates.AggregatedList:output_type -> google.cloud.compute.v1.NodeTemplateAggregatedList + 1177, // 2306: google.cloud.compute.v1.NodeTemplates.Delete:output_type -> google.cloud.compute.v1.Operation + 1165, // 2307: google.cloud.compute.v1.NodeTemplates.Get:output_type -> google.cloud.compute.v1.NodeTemplate + 1245, // 2308: google.cloud.compute.v1.NodeTemplates.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2309: google.cloud.compute.v1.NodeTemplates.Insert:output_type -> google.cloud.compute.v1.Operation + 1167, // 2310: google.cloud.compute.v1.NodeTemplates.List:output_type -> google.cloud.compute.v1.NodeTemplateList + 1245, // 2311: google.cloud.compute.v1.NodeTemplates.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2312: google.cloud.compute.v1.NodeTemplates.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1171, // 2313: google.cloud.compute.v1.NodeTypes.AggregatedList:output_type -> google.cloud.compute.v1.NodeTypeAggregatedList + 1170, // 2314: google.cloud.compute.v1.NodeTypes.Get:output_type -> google.cloud.compute.v1.NodeType + 1172, // 2315: google.cloud.compute.v1.NodeTypes.List:output_type -> google.cloud.compute.v1.NodeTypeList + 1184, // 2316: google.cloud.compute.v1.PacketMirrorings.AggregatedList:output_type -> google.cloud.compute.v1.PacketMirroringAggregatedList + 1177, // 2317: google.cloud.compute.v1.PacketMirrorings.Delete:output_type -> google.cloud.compute.v1.Operation + 1183, // 2318: google.cloud.compute.v1.PacketMirrorings.Get:output_type -> google.cloud.compute.v1.PacketMirroring + 1177, // 2319: google.cloud.compute.v1.PacketMirrorings.Insert:output_type -> google.cloud.compute.v1.Operation + 1187, // 2320: google.cloud.compute.v1.PacketMirrorings.List:output_type -> google.cloud.compute.v1.PacketMirroringList + 1177, // 2321: google.cloud.compute.v1.PacketMirrorings.Patch:output_type -> google.cloud.compute.v1.Operation + 1646, // 2322: google.cloud.compute.v1.PacketMirrorings.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2323: google.cloud.compute.v1.Projects.DisableXpnHost:output_type -> google.cloud.compute.v1.Operation + 1177, // 2324: google.cloud.compute.v1.Projects.DisableXpnResource:output_type -> google.cloud.compute.v1.Operation + 1177, // 2325: google.cloud.compute.v1.Projects.EnableXpnHost:output_type -> google.cloud.compute.v1.Operation + 1177, // 2326: google.cloud.compute.v1.Projects.EnableXpnResource:output_type -> google.cloud.compute.v1.Operation + 1252, // 2327: google.cloud.compute.v1.Projects.Get:output_type -> google.cloud.compute.v1.Project + 1252, // 2328: google.cloud.compute.v1.Projects.GetXpnHost:output_type -> google.cloud.compute.v1.Project + 1255, // 2329: google.cloud.compute.v1.Projects.GetXpnResources:output_type -> google.cloud.compute.v1.ProjectsGetXpnResources + 1717, // 2330: google.cloud.compute.v1.Projects.ListXpnHosts:output_type -> google.cloud.compute.v1.XpnHostList + 1177, // 2331: google.cloud.compute.v1.Projects.MoveDisk:output_type -> google.cloud.compute.v1.Operation + 1177, // 2332: google.cloud.compute.v1.Projects.MoveInstance:output_type -> google.cloud.compute.v1.Operation + 1177, // 2333: google.cloud.compute.v1.Projects.SetCommonInstanceMetadata:output_type -> google.cloud.compute.v1.Operation + 1177, // 2334: google.cloud.compute.v1.Projects.SetDefaultNetworkTier:output_type -> google.cloud.compute.v1.Operation + 1177, // 2335: google.cloud.compute.v1.Projects.SetUsageExportBucket:output_type -> google.cloud.compute.v1.Operation + 1177, // 2336: google.cloud.compute.v1.PublicAdvertisedPrefixes.Announce:output_type -> google.cloud.compute.v1.Operation + 1177, // 2337: google.cloud.compute.v1.PublicAdvertisedPrefixes.Delete:output_type -> google.cloud.compute.v1.Operation + 1258, // 2338: google.cloud.compute.v1.PublicAdvertisedPrefixes.Get:output_type -> google.cloud.compute.v1.PublicAdvertisedPrefix + 1177, // 2339: google.cloud.compute.v1.PublicAdvertisedPrefixes.Insert:output_type -> google.cloud.compute.v1.Operation + 1259, // 2340: google.cloud.compute.v1.PublicAdvertisedPrefixes.List:output_type -> google.cloud.compute.v1.PublicAdvertisedPrefixList + 1177, // 2341: google.cloud.compute.v1.PublicAdvertisedPrefixes.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2342: google.cloud.compute.v1.PublicAdvertisedPrefixes.Withdraw:output_type -> google.cloud.compute.v1.Operation + 1262, // 2343: google.cloud.compute.v1.PublicDelegatedPrefixes.AggregatedList:output_type -> google.cloud.compute.v1.PublicDelegatedPrefixAggregatedList + 1177, // 2344: google.cloud.compute.v1.PublicDelegatedPrefixes.Announce:output_type -> google.cloud.compute.v1.Operation + 1177, // 2345: google.cloud.compute.v1.PublicDelegatedPrefixes.Delete:output_type -> google.cloud.compute.v1.Operation + 1261, // 2346: google.cloud.compute.v1.PublicDelegatedPrefixes.Get:output_type -> google.cloud.compute.v1.PublicDelegatedPrefix + 1177, // 2347: google.cloud.compute.v1.PublicDelegatedPrefixes.Insert:output_type -> google.cloud.compute.v1.Operation + 1263, // 2348: google.cloud.compute.v1.PublicDelegatedPrefixes.List:output_type -> google.cloud.compute.v1.PublicDelegatedPrefixList + 1177, // 2349: google.cloud.compute.v1.PublicDelegatedPrefixes.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2350: google.cloud.compute.v1.PublicDelegatedPrefixes.Withdraw:output_type -> google.cloud.compute.v1.Operation + 1177, // 2351: google.cloud.compute.v1.RegionAutoscalers.Delete:output_type -> google.cloud.compute.v1.Operation + 396, // 2352: google.cloud.compute.v1.RegionAutoscalers.Get:output_type -> google.cloud.compute.v1.Autoscaler + 1177, // 2353: google.cloud.compute.v1.RegionAutoscalers.Insert:output_type -> google.cloud.compute.v1.Operation + 1274, // 2354: google.cloud.compute.v1.RegionAutoscalers.List:output_type -> google.cloud.compute.v1.RegionAutoscalerList + 1177, // 2355: google.cloud.compute.v1.RegionAutoscalers.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2356: google.cloud.compute.v1.RegionAutoscalers.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 2357: google.cloud.compute.v1.RegionBackendServices.Delete:output_type -> google.cloud.compute.v1.Operation + 414, // 2358: google.cloud.compute.v1.RegionBackendServices.Get:output_type -> google.cloud.compute.v1.BackendService + 421, // 2359: google.cloud.compute.v1.RegionBackendServices.GetHealth:output_type -> google.cloud.compute.v1.BackendServiceGroupHealth + 1245, // 2360: google.cloud.compute.v1.RegionBackendServices.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2361: google.cloud.compute.v1.RegionBackendServices.Insert:output_type -> google.cloud.compute.v1.Operation + 423, // 2362: google.cloud.compute.v1.RegionBackendServices.List:output_type -> google.cloud.compute.v1.BackendServiceList + 424, // 2363: google.cloud.compute.v1.RegionBackendServices.ListUsable:output_type -> google.cloud.compute.v1.BackendServiceListUsable + 1177, // 2364: google.cloud.compute.v1.RegionBackendServices.Patch:output_type -> google.cloud.compute.v1.Operation + 1245, // 2365: google.cloud.compute.v1.RegionBackendServices.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2366: google.cloud.compute.v1.RegionBackendServices.SetSecurityPolicy:output_type -> google.cloud.compute.v1.Operation + 1646, // 2367: google.cloud.compute.v1.RegionBackendServices.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2368: google.cloud.compute.v1.RegionBackendServices.Update:output_type -> google.cloud.compute.v1.Operation + 451, // 2369: google.cloud.compute.v1.RegionCommitments.AggregatedList:output_type -> google.cloud.compute.v1.CommitmentAggregatedList + 450, // 2370: google.cloud.compute.v1.RegionCommitments.Get:output_type -> google.cloud.compute.v1.Commitment + 1177, // 2371: google.cloud.compute.v1.RegionCommitments.Insert:output_type -> google.cloud.compute.v1.Operation + 452, // 2372: google.cloud.compute.v1.RegionCommitments.List:output_type -> google.cloud.compute.v1.CommitmentList + 1177, // 2373: google.cloud.compute.v1.RegionCommitments.Update:output_type -> google.cloud.compute.v1.Operation + 573, // 2374: google.cloud.compute.v1.RegionDiskTypes.Get:output_type -> google.cloud.compute.v1.DiskType + 1275, // 2375: google.cloud.compute.v1.RegionDiskTypes.List:output_type -> google.cloud.compute.v1.RegionDiskTypeList + 1177, // 2376: google.cloud.compute.v1.RegionDisks.AddResourcePolicies:output_type -> google.cloud.compute.v1.Operation + 1177, // 2377: google.cloud.compute.v1.RegionDisks.BulkInsert:output_type -> google.cloud.compute.v1.Operation + 1177, // 2378: google.cloud.compute.v1.RegionDisks.CreateSnapshot:output_type -> google.cloud.compute.v1.Operation + 1177, // 2379: google.cloud.compute.v1.RegionDisks.Delete:output_type -> google.cloud.compute.v1.Operation + 563, // 2380: google.cloud.compute.v1.RegionDisks.Get:output_type -> google.cloud.compute.v1.Disk + 1245, // 2381: google.cloud.compute.v1.RegionDisks.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2382: google.cloud.compute.v1.RegionDisks.Insert:output_type -> google.cloud.compute.v1.Operation + 568, // 2383: google.cloud.compute.v1.RegionDisks.List:output_type -> google.cloud.compute.v1.DiskList + 1177, // 2384: google.cloud.compute.v1.RegionDisks.RemoveResourcePolicies:output_type -> google.cloud.compute.v1.Operation + 1177, // 2385: google.cloud.compute.v1.RegionDisks.Resize:output_type -> google.cloud.compute.v1.Operation + 1245, // 2386: google.cloud.compute.v1.RegionDisks.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2387: google.cloud.compute.v1.RegionDisks.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1177, // 2388: google.cloud.compute.v1.RegionDisks.StartAsyncReplication:output_type -> google.cloud.compute.v1.Operation + 1177, // 2389: google.cloud.compute.v1.RegionDisks.StopAsyncReplication:output_type -> google.cloud.compute.v1.Operation + 1177, // 2390: google.cloud.compute.v1.RegionDisks.StopGroupAsyncReplication:output_type -> google.cloud.compute.v1.Operation + 1646, // 2391: google.cloud.compute.v1.RegionDisks.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2392: google.cloud.compute.v1.RegionDisks.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 2393: google.cloud.compute.v1.RegionHealthCheckServices.Delete:output_type -> google.cloud.compute.v1.Operation + 775, // 2394: google.cloud.compute.v1.RegionHealthCheckServices.Get:output_type -> google.cloud.compute.v1.HealthCheckService + 1177, // 2395: google.cloud.compute.v1.RegionHealthCheckServices.Insert:output_type -> google.cloud.compute.v1.Operation + 777, // 2396: google.cloud.compute.v1.RegionHealthCheckServices.List:output_type -> google.cloud.compute.v1.HealthCheckServicesList + 1177, // 2397: google.cloud.compute.v1.RegionHealthCheckServices.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2398: google.cloud.compute.v1.RegionHealthChecks.Delete:output_type -> google.cloud.compute.v1.Operation + 771, // 2399: google.cloud.compute.v1.RegionHealthChecks.Get:output_type -> google.cloud.compute.v1.HealthCheck + 1177, // 2400: google.cloud.compute.v1.RegionHealthChecks.Insert:output_type -> google.cloud.compute.v1.Operation + 772, // 2401: google.cloud.compute.v1.RegionHealthChecks.List:output_type -> google.cloud.compute.v1.HealthCheckList + 1177, // 2402: google.cloud.compute.v1.RegionHealthChecks.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2403: google.cloud.compute.v1.RegionHealthChecks.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 2404: google.cloud.compute.v1.RegionInstanceGroupManagers.AbandonInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2405: google.cloud.compute.v1.RegionInstanceGroupManagers.ApplyUpdatesToInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2406: google.cloud.compute.v1.RegionInstanceGroupManagers.CreateInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2407: google.cloud.compute.v1.RegionInstanceGroupManagers.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2408: google.cloud.compute.v1.RegionInstanceGroupManagers.DeleteInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2409: google.cloud.compute.v1.RegionInstanceGroupManagers.DeletePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation + 880, // 2410: google.cloud.compute.v1.RegionInstanceGroupManagers.Get:output_type -> google.cloud.compute.v1.InstanceGroupManager + 1177, // 2411: google.cloud.compute.v1.RegionInstanceGroupManagers.Insert:output_type -> google.cloud.compute.v1.Operation + 1282, // 2412: google.cloud.compute.v1.RegionInstanceGroupManagers.List:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagerList + 1289, // 2413: google.cloud.compute.v1.RegionInstanceGroupManagers.ListErrors:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagersListErrorsResponse + 1291, // 2414: google.cloud.compute.v1.RegionInstanceGroupManagers.ListManagedInstances:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagersListInstancesResponse + 1290, // 2415: google.cloud.compute.v1.RegionInstanceGroupManagers.ListPerInstanceConfigs:output_type -> google.cloud.compute.v1.RegionInstanceGroupManagersListInstanceConfigsResp + 1177, // 2416: google.cloud.compute.v1.RegionInstanceGroupManagers.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2417: google.cloud.compute.v1.RegionInstanceGroupManagers.PatchPerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation + 1177, // 2418: google.cloud.compute.v1.RegionInstanceGroupManagers.RecreateInstances:output_type -> google.cloud.compute.v1.Operation + 1177, // 2419: google.cloud.compute.v1.RegionInstanceGroupManagers.Resize:output_type -> google.cloud.compute.v1.Operation + 1177, // 2420: google.cloud.compute.v1.RegionInstanceGroupManagers.SetInstanceTemplate:output_type -> google.cloud.compute.v1.Operation + 1177, // 2421: google.cloud.compute.v1.RegionInstanceGroupManagers.SetTargetPools:output_type -> google.cloud.compute.v1.Operation + 1177, // 2422: google.cloud.compute.v1.RegionInstanceGroupManagers.UpdatePerInstanceConfigs:output_type -> google.cloud.compute.v1.Operation + 877, // 2423: google.cloud.compute.v1.RegionInstanceGroups.Get:output_type -> google.cloud.compute.v1.InstanceGroup + 1280, // 2424: google.cloud.compute.v1.RegionInstanceGroups.List:output_type -> google.cloud.compute.v1.RegionInstanceGroupList + 1295, // 2425: google.cloud.compute.v1.RegionInstanceGroups.ListInstances:output_type -> google.cloud.compute.v1.RegionInstanceGroupsListInstances + 1177, // 2426: google.cloud.compute.v1.RegionInstanceGroups.SetNamedPorts:output_type -> google.cloud.compute.v1.Operation + 1177, // 2427: google.cloud.compute.v1.RegionInstanceTemplates.Delete:output_type -> google.cloud.compute.v1.Operation + 921, // 2428: google.cloud.compute.v1.RegionInstanceTemplates.Get:output_type -> google.cloud.compute.v1.InstanceTemplate + 1177, // 2429: google.cloud.compute.v1.RegionInstanceTemplates.Insert:output_type -> google.cloud.compute.v1.Operation + 923, // 2430: google.cloud.compute.v1.RegionInstanceTemplates.List:output_type -> google.cloud.compute.v1.InstanceTemplateList + 1177, // 2431: google.cloud.compute.v1.RegionInstances.BulkInsert:output_type -> google.cloud.compute.v1.Operation + 1177, // 2432: google.cloud.compute.v1.RegionNetworkEndpointGroups.AttachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation + 1177, // 2433: google.cloud.compute.v1.RegionNetworkEndpointGroups.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2434: google.cloud.compute.v1.RegionNetworkEndpointGroups.DetachNetworkEndpoints:output_type -> google.cloud.compute.v1.Operation + 1130, // 2435: google.cloud.compute.v1.RegionNetworkEndpointGroups.Get:output_type -> google.cloud.compute.v1.NetworkEndpointGroup + 1177, // 2436: google.cloud.compute.v1.RegionNetworkEndpointGroups.Insert:output_type -> google.cloud.compute.v1.Operation + 1135, // 2437: google.cloud.compute.v1.RegionNetworkEndpointGroups.List:output_type -> google.cloud.compute.v1.NetworkEndpointGroupList + 1140, // 2438: google.cloud.compute.v1.RegionNetworkEndpointGroups.ListNetworkEndpoints:output_type -> google.cloud.compute.v1.NetworkEndpointGroupsListNetworkEndpoints + 1177, // 2439: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddAssociation:output_type -> google.cloud.compute.v1.Operation + 1177, // 2440: google.cloud.compute.v1.RegionNetworkFirewallPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2441: google.cloud.compute.v1.RegionNetworkFirewallPolicies.CloneRules:output_type -> google.cloud.compute.v1.Operation + 1177, // 2442: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 605, // 2443: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Get:output_type -> google.cloud.compute.v1.FirewallPolicy + 606, // 2444: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetAssociation:output_type -> google.cloud.compute.v1.FirewallPolicyAssociation + 1301, // 2445: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetEffectiveFirewalls:output_type -> google.cloud.compute.v1.RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse + 1245, // 2446: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 608, // 2447: google.cloud.compute.v1.RegionNetworkFirewallPolicies.GetRule:output_type -> google.cloud.compute.v1.FirewallPolicyRule + 1177, // 2448: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 607, // 2449: google.cloud.compute.v1.RegionNetworkFirewallPolicies.List:output_type -> google.cloud.compute.v1.FirewallPolicyList + 1177, // 2450: google.cloud.compute.v1.RegionNetworkFirewallPolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2451: google.cloud.compute.v1.RegionNetworkFirewallPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2452: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveAssociation:output_type -> google.cloud.compute.v1.Operation + 1177, // 2453: google.cloud.compute.v1.RegionNetworkFirewallPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation + 1245, // 2454: google.cloud.compute.v1.RegionNetworkFirewallPolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2455: google.cloud.compute.v1.RegionNetworkFirewallPolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2456: google.cloud.compute.v1.RegionNotificationEndpoints.Delete:output_type -> google.cloud.compute.v1.Operation + 1174, // 2457: google.cloud.compute.v1.RegionNotificationEndpoints.Get:output_type -> google.cloud.compute.v1.NotificationEndpoint + 1177, // 2458: google.cloud.compute.v1.RegionNotificationEndpoints.Insert:output_type -> google.cloud.compute.v1.Operation + 1176, // 2459: google.cloud.compute.v1.RegionNotificationEndpoints.List:output_type -> google.cloud.compute.v1.NotificationEndpointList + 521, // 2460: google.cloud.compute.v1.RegionOperations.Delete:output_type -> google.cloud.compute.v1.DeleteRegionOperationResponse + 1177, // 2461: google.cloud.compute.v1.RegionOperations.Get:output_type -> google.cloud.compute.v1.Operation + 1179, // 2462: google.cloud.compute.v1.RegionOperations.List:output_type -> google.cloud.compute.v1.OperationList + 1177, // 2463: google.cloud.compute.v1.RegionOperations.Wait:output_type -> google.cloud.compute.v1.Operation + 1177, // 2464: google.cloud.compute.v1.RegionSecurityPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2465: google.cloud.compute.v1.RegionSecurityPolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 1395, // 2466: google.cloud.compute.v1.RegionSecurityPolicies.Get:output_type -> google.cloud.compute.v1.SecurityPolicy + 1405, // 2467: google.cloud.compute.v1.RegionSecurityPolicies.GetRule:output_type -> google.cloud.compute.v1.SecurityPolicyRule + 1177, // 2468: google.cloud.compute.v1.RegionSecurityPolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 1402, // 2469: google.cloud.compute.v1.RegionSecurityPolicies.List:output_type -> google.cloud.compute.v1.SecurityPolicyList + 1177, // 2470: google.cloud.compute.v1.RegionSecurityPolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2471: google.cloud.compute.v1.RegionSecurityPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2472: google.cloud.compute.v1.RegionSecurityPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2473: google.cloud.compute.v1.RegionSslCertificates.Delete:output_type -> google.cloud.compute.v1.Operation + 1536, // 2474: google.cloud.compute.v1.RegionSslCertificates.Get:output_type -> google.cloud.compute.v1.SslCertificate + 1177, // 2475: google.cloud.compute.v1.RegionSslCertificates.Insert:output_type -> google.cloud.compute.v1.Operation + 1538, // 2476: google.cloud.compute.v1.RegionSslCertificates.List:output_type -> google.cloud.compute.v1.SslCertificateList + 1177, // 2477: google.cloud.compute.v1.RegionSslPolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 1546, // 2478: google.cloud.compute.v1.RegionSslPolicies.Get:output_type -> google.cloud.compute.v1.SslPolicy + 1177, // 2479: google.cloud.compute.v1.RegionSslPolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 1543, // 2480: google.cloud.compute.v1.RegionSslPolicies.List:output_type -> google.cloud.compute.v1.SslPoliciesList + 1544, // 2481: google.cloud.compute.v1.RegionSslPolicies.ListAvailableFeatures:output_type -> google.cloud.compute.v1.SslPoliciesListAvailableFeaturesResponse + 1177, // 2482: google.cloud.compute.v1.RegionSslPolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2483: google.cloud.compute.v1.RegionTargetHttpProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1578, // 2484: google.cloud.compute.v1.RegionTargetHttpProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpProxy + 1177, // 2485: google.cloud.compute.v1.RegionTargetHttpProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1580, // 2486: google.cloud.compute.v1.RegionTargetHttpProxies.List:output_type -> google.cloud.compute.v1.TargetHttpProxyList + 1177, // 2487: google.cloud.compute.v1.RegionTargetHttpProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation + 1177, // 2488: google.cloud.compute.v1.RegionTargetHttpsProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1585, // 2489: google.cloud.compute.v1.RegionTargetHttpsProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpsProxy + 1177, // 2490: google.cloud.compute.v1.RegionTargetHttpsProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1587, // 2491: google.cloud.compute.v1.RegionTargetHttpsProxies.List:output_type -> google.cloud.compute.v1.TargetHttpsProxyList + 1177, // 2492: google.cloud.compute.v1.RegionTargetHttpsProxies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2493: google.cloud.compute.v1.RegionTargetHttpsProxies.SetSslCertificates:output_type -> google.cloud.compute.v1.Operation + 1177, // 2494: google.cloud.compute.v1.RegionTargetHttpsProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation + 1177, // 2495: google.cloud.compute.v1.RegionTargetTcpProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1611, // 2496: google.cloud.compute.v1.RegionTargetTcpProxies.Get:output_type -> google.cloud.compute.v1.TargetTcpProxy + 1177, // 2497: google.cloud.compute.v1.RegionTargetTcpProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1613, // 2498: google.cloud.compute.v1.RegionTargetTcpProxies.List:output_type -> google.cloud.compute.v1.TargetTcpProxyList + 1177, // 2499: google.cloud.compute.v1.RegionUrlMaps.Delete:output_type -> google.cloud.compute.v1.Operation + 1672, // 2500: google.cloud.compute.v1.RegionUrlMaps.Get:output_type -> google.cloud.compute.v1.UrlMap + 1177, // 2501: google.cloud.compute.v1.RegionUrlMaps.Insert:output_type -> google.cloud.compute.v1.Operation + 1673, // 2502: google.cloud.compute.v1.RegionUrlMaps.List:output_type -> google.cloud.compute.v1.UrlMapList + 1177, // 2503: google.cloud.compute.v1.RegionUrlMaps.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2504: google.cloud.compute.v1.RegionUrlMaps.Update:output_type -> google.cloud.compute.v1.Operation + 1681, // 2505: google.cloud.compute.v1.RegionUrlMaps.Validate:output_type -> google.cloud.compute.v1.UrlMapsValidateResponse + 1272, // 2506: google.cloud.compute.v1.Regions.Get:output_type -> google.cloud.compute.v1.Region + 1298, // 2507: google.cloud.compute.v1.Regions.List:output_type -> google.cloud.compute.v1.RegionList + 1325, // 2508: google.cloud.compute.v1.Reservations.AggregatedList:output_type -> google.cloud.compute.v1.ReservationAggregatedList + 1177, // 2509: google.cloud.compute.v1.Reservations.Delete:output_type -> google.cloud.compute.v1.Operation + 1323, // 2510: google.cloud.compute.v1.Reservations.Get:output_type -> google.cloud.compute.v1.Reservation + 1245, // 2511: google.cloud.compute.v1.Reservations.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2512: google.cloud.compute.v1.Reservations.Insert:output_type -> google.cloud.compute.v1.Operation + 1326, // 2513: google.cloud.compute.v1.Reservations.List:output_type -> google.cloud.compute.v1.ReservationList + 1177, // 2514: google.cloud.compute.v1.Reservations.Resize:output_type -> google.cloud.compute.v1.Operation + 1245, // 2515: google.cloud.compute.v1.Reservations.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2516: google.cloud.compute.v1.Reservations.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2517: google.cloud.compute.v1.Reservations.Update:output_type -> google.cloud.compute.v1.Operation + 1339, // 2518: google.cloud.compute.v1.ResourcePolicies.AggregatedList:output_type -> google.cloud.compute.v1.ResourcePolicyAggregatedList + 1177, // 2519: google.cloud.compute.v1.ResourcePolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 1338, // 2520: google.cloud.compute.v1.ResourcePolicies.Get:output_type -> google.cloud.compute.v1.ResourcePolicy + 1245, // 2521: google.cloud.compute.v1.ResourcePolicies.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2522: google.cloud.compute.v1.ResourcePolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 1346, // 2523: google.cloud.compute.v1.ResourcePolicies.List:output_type -> google.cloud.compute.v1.ResourcePolicyList + 1177, // 2524: google.cloud.compute.v1.ResourcePolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1245, // 2525: google.cloud.compute.v1.ResourcePolicies.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2526: google.cloud.compute.v1.ResourcePolicies.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1362, // 2527: google.cloud.compute.v1.Routers.AggregatedList:output_type -> google.cloud.compute.v1.RouterAggregatedList + 1177, // 2528: google.cloud.compute.v1.Routers.Delete:output_type -> google.cloud.compute.v1.Operation + 1360, // 2529: google.cloud.compute.v1.Routers.Get:output_type -> google.cloud.compute.v1.Router + 1119, // 2530: google.cloud.compute.v1.Routers.GetNatIpInfo:output_type -> google.cloud.compute.v1.NatIpInfoResponse + 1692, // 2531: google.cloud.compute.v1.Routers.GetNatMappingInfo:output_type -> google.cloud.compute.v1.VmEndpointNatMappingsList + 1379, // 2532: google.cloud.compute.v1.Routers.GetRouterStatus:output_type -> google.cloud.compute.v1.RouterStatusResponse + 1177, // 2533: google.cloud.compute.v1.Routers.Insert:output_type -> google.cloud.compute.v1.Operation + 1368, // 2534: google.cloud.compute.v1.Routers.List:output_type -> google.cloud.compute.v1.RouterList + 1177, // 2535: google.cloud.compute.v1.Routers.Patch:output_type -> google.cloud.compute.v1.Operation + 1380, // 2536: google.cloud.compute.v1.Routers.Preview:output_type -> google.cloud.compute.v1.RoutersPreviewResponse + 1177, // 2537: google.cloud.compute.v1.Routers.Update:output_type -> google.cloud.compute.v1.Operation + 1177, // 2538: google.cloud.compute.v1.Routes.Delete:output_type -> google.cloud.compute.v1.Operation + 1357, // 2539: google.cloud.compute.v1.Routes.Get:output_type -> google.cloud.compute.v1.Route + 1177, // 2540: google.cloud.compute.v1.Routes.Insert:output_type -> google.cloud.compute.v1.Operation + 1359, // 2541: google.cloud.compute.v1.Routes.List:output_type -> google.cloud.compute.v1.RouteList + 1177, // 2542: google.cloud.compute.v1.SecurityPolicies.AddRule:output_type -> google.cloud.compute.v1.Operation + 1391, // 2543: google.cloud.compute.v1.SecurityPolicies.AggregatedList:output_type -> google.cloud.compute.v1.SecurityPoliciesAggregatedList + 1177, // 2544: google.cloud.compute.v1.SecurityPolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 1395, // 2545: google.cloud.compute.v1.SecurityPolicies.Get:output_type -> google.cloud.compute.v1.SecurityPolicy + 1405, // 2546: google.cloud.compute.v1.SecurityPolicies.GetRule:output_type -> google.cloud.compute.v1.SecurityPolicyRule + 1177, // 2547: google.cloud.compute.v1.SecurityPolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 1402, // 2548: google.cloud.compute.v1.SecurityPolicies.List:output_type -> google.cloud.compute.v1.SecurityPolicyList + 1392, // 2549: google.cloud.compute.v1.SecurityPolicies.ListPreconfiguredExpressionSets:output_type -> google.cloud.compute.v1.SecurityPoliciesListPreconfiguredExpressionSetsResponse + 1177, // 2550: google.cloud.compute.v1.SecurityPolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2551: google.cloud.compute.v1.SecurityPolicies.PatchRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2552: google.cloud.compute.v1.SecurityPolicies.RemoveRule:output_type -> google.cloud.compute.v1.Operation + 1177, // 2553: google.cloud.compute.v1.SecurityPolicies.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1427, // 2554: google.cloud.compute.v1.ServiceAttachments.AggregatedList:output_type -> google.cloud.compute.v1.ServiceAttachmentAggregatedList + 1177, // 2555: google.cloud.compute.v1.ServiceAttachments.Delete:output_type -> google.cloud.compute.v1.Operation + 1426, // 2556: google.cloud.compute.v1.ServiceAttachments.Get:output_type -> google.cloud.compute.v1.ServiceAttachment + 1245, // 2557: google.cloud.compute.v1.ServiceAttachments.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2558: google.cloud.compute.v1.ServiceAttachments.Insert:output_type -> google.cloud.compute.v1.Operation + 1430, // 2559: google.cloud.compute.v1.ServiceAttachments.List:output_type -> google.cloud.compute.v1.ServiceAttachmentList + 1177, // 2560: google.cloud.compute.v1.ServiceAttachments.Patch:output_type -> google.cloud.compute.v1.Operation + 1245, // 2561: google.cloud.compute.v1.ServiceAttachments.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1646, // 2562: google.cloud.compute.v1.ServiceAttachments.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1530, // 2563: google.cloud.compute.v1.SnapshotSettingsService.Get:output_type -> google.cloud.compute.v1.SnapshotSettings + 1177, // 2564: google.cloud.compute.v1.SnapshotSettingsService.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2565: google.cloud.compute.v1.Snapshots.Delete:output_type -> google.cloud.compute.v1.Operation + 1528, // 2566: google.cloud.compute.v1.Snapshots.Get:output_type -> google.cloud.compute.v1.Snapshot + 1245, // 2567: google.cloud.compute.v1.Snapshots.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2568: google.cloud.compute.v1.Snapshots.Insert:output_type -> google.cloud.compute.v1.Operation + 1529, // 2569: google.cloud.compute.v1.Snapshots.List:output_type -> google.cloud.compute.v1.SnapshotList + 1245, // 2570: google.cloud.compute.v1.Snapshots.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2571: google.cloud.compute.v1.Snapshots.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1646, // 2572: google.cloud.compute.v1.Snapshots.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1537, // 2573: google.cloud.compute.v1.SslCertificates.AggregatedList:output_type -> google.cloud.compute.v1.SslCertificateAggregatedList + 1177, // 2574: google.cloud.compute.v1.SslCertificates.Delete:output_type -> google.cloud.compute.v1.Operation + 1536, // 2575: google.cloud.compute.v1.SslCertificates.Get:output_type -> google.cloud.compute.v1.SslCertificate + 1177, // 2576: google.cloud.compute.v1.SslCertificates.Insert:output_type -> google.cloud.compute.v1.Operation + 1538, // 2577: google.cloud.compute.v1.SslCertificates.List:output_type -> google.cloud.compute.v1.SslCertificateList + 1542, // 2578: google.cloud.compute.v1.SslPolicies.AggregatedList:output_type -> google.cloud.compute.v1.SslPoliciesAggregatedList + 1177, // 2579: google.cloud.compute.v1.SslPolicies.Delete:output_type -> google.cloud.compute.v1.Operation + 1546, // 2580: google.cloud.compute.v1.SslPolicies.Get:output_type -> google.cloud.compute.v1.SslPolicy + 1177, // 2581: google.cloud.compute.v1.SslPolicies.Insert:output_type -> google.cloud.compute.v1.Operation + 1543, // 2582: google.cloud.compute.v1.SslPolicies.List:output_type -> google.cloud.compute.v1.SslPoliciesList + 1544, // 2583: google.cloud.compute.v1.SslPolicies.ListAvailableFeatures:output_type -> google.cloud.compute.v1.SslPoliciesListAvailableFeaturesResponse + 1177, // 2584: google.cloud.compute.v1.SslPolicies.Patch:output_type -> google.cloud.compute.v1.Operation + 1563, // 2585: google.cloud.compute.v1.Subnetworks.AggregatedList:output_type -> google.cloud.compute.v1.SubnetworkAggregatedList + 1177, // 2586: google.cloud.compute.v1.Subnetworks.Delete:output_type -> google.cloud.compute.v1.Operation + 1177, // 2587: google.cloud.compute.v1.Subnetworks.ExpandIpCidrRange:output_type -> google.cloud.compute.v1.Operation + 1562, // 2588: google.cloud.compute.v1.Subnetworks.Get:output_type -> google.cloud.compute.v1.Subnetwork + 1245, // 2589: google.cloud.compute.v1.Subnetworks.GetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2590: google.cloud.compute.v1.Subnetworks.Insert:output_type -> google.cloud.compute.v1.Operation + 1564, // 2591: google.cloud.compute.v1.Subnetworks.List:output_type -> google.cloud.compute.v1.SubnetworkList + 1685, // 2592: google.cloud.compute.v1.Subnetworks.ListUsable:output_type -> google.cloud.compute.v1.UsableSubnetworksAggregatedList + 1177, // 2593: google.cloud.compute.v1.Subnetworks.Patch:output_type -> google.cloud.compute.v1.Operation + 1245, // 2594: google.cloud.compute.v1.Subnetworks.SetIamPolicy:output_type -> google.cloud.compute.v1.Policy + 1177, // 2595: google.cloud.compute.v1.Subnetworks.SetPrivateIpGoogleAccess:output_type -> google.cloud.compute.v1.Operation + 1646, // 2596: google.cloud.compute.v1.Subnetworks.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1177, // 2597: google.cloud.compute.v1.TargetGrpcProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1575, // 2598: google.cloud.compute.v1.TargetGrpcProxies.Get:output_type -> google.cloud.compute.v1.TargetGrpcProxy + 1177, // 2599: google.cloud.compute.v1.TargetGrpcProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1576, // 2600: google.cloud.compute.v1.TargetGrpcProxies.List:output_type -> google.cloud.compute.v1.TargetGrpcProxyList + 1177, // 2601: google.cloud.compute.v1.TargetGrpcProxies.Patch:output_type -> google.cloud.compute.v1.Operation + 1579, // 2602: google.cloud.compute.v1.TargetHttpProxies.AggregatedList:output_type -> google.cloud.compute.v1.TargetHttpProxyAggregatedList + 1177, // 2603: google.cloud.compute.v1.TargetHttpProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1578, // 2604: google.cloud.compute.v1.TargetHttpProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpProxy + 1177, // 2605: google.cloud.compute.v1.TargetHttpProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1580, // 2606: google.cloud.compute.v1.TargetHttpProxies.List:output_type -> google.cloud.compute.v1.TargetHttpProxyList + 1177, // 2607: google.cloud.compute.v1.TargetHttpProxies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2608: google.cloud.compute.v1.TargetHttpProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation + 1586, // 2609: google.cloud.compute.v1.TargetHttpsProxies.AggregatedList:output_type -> google.cloud.compute.v1.TargetHttpsProxyAggregatedList + 1177, // 2610: google.cloud.compute.v1.TargetHttpsProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1585, // 2611: google.cloud.compute.v1.TargetHttpsProxies.Get:output_type -> google.cloud.compute.v1.TargetHttpsProxy + 1177, // 2612: google.cloud.compute.v1.TargetHttpsProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1587, // 2613: google.cloud.compute.v1.TargetHttpsProxies.List:output_type -> google.cloud.compute.v1.TargetHttpsProxyList + 1177, // 2614: google.cloud.compute.v1.TargetHttpsProxies.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2615: google.cloud.compute.v1.TargetHttpsProxies.SetCertificateMap:output_type -> google.cloud.compute.v1.Operation + 1177, // 2616: google.cloud.compute.v1.TargetHttpsProxies.SetQuicOverride:output_type -> google.cloud.compute.v1.Operation + 1177, // 2617: google.cloud.compute.v1.TargetHttpsProxies.SetSslCertificates:output_type -> google.cloud.compute.v1.Operation + 1177, // 2618: google.cloud.compute.v1.TargetHttpsProxies.SetSslPolicy:output_type -> google.cloud.compute.v1.Operation + 1177, // 2619: google.cloud.compute.v1.TargetHttpsProxies.SetUrlMap:output_type -> google.cloud.compute.v1.Operation + 1589, // 2620: google.cloud.compute.v1.TargetInstances.AggregatedList:output_type -> google.cloud.compute.v1.TargetInstanceAggregatedList + 1177, // 2621: google.cloud.compute.v1.TargetInstances.Delete:output_type -> google.cloud.compute.v1.Operation + 1588, // 2622: google.cloud.compute.v1.TargetInstances.Get:output_type -> google.cloud.compute.v1.TargetInstance + 1177, // 2623: google.cloud.compute.v1.TargetInstances.Insert:output_type -> google.cloud.compute.v1.Operation + 1590, // 2624: google.cloud.compute.v1.TargetInstances.List:output_type -> google.cloud.compute.v1.TargetInstanceList + 1177, // 2625: google.cloud.compute.v1.TargetInstances.SetSecurityPolicy:output_type -> google.cloud.compute.v1.Operation + 1177, // 2626: google.cloud.compute.v1.TargetPools.AddHealthCheck:output_type -> google.cloud.compute.v1.Operation + 1177, // 2627: google.cloud.compute.v1.TargetPools.AddInstance:output_type -> google.cloud.compute.v1.Operation + 1593, // 2628: google.cloud.compute.v1.TargetPools.AggregatedList:output_type -> google.cloud.compute.v1.TargetPoolAggregatedList + 1177, // 2629: google.cloud.compute.v1.TargetPools.Delete:output_type -> google.cloud.compute.v1.Operation + 1592, // 2630: google.cloud.compute.v1.TargetPools.Get:output_type -> google.cloud.compute.v1.TargetPool + 1594, // 2631: google.cloud.compute.v1.TargetPools.GetHealth:output_type -> google.cloud.compute.v1.TargetPoolInstanceHealth + 1177, // 2632: google.cloud.compute.v1.TargetPools.Insert:output_type -> google.cloud.compute.v1.Operation + 1595, // 2633: google.cloud.compute.v1.TargetPools.List:output_type -> google.cloud.compute.v1.TargetPoolList + 1177, // 2634: google.cloud.compute.v1.TargetPools.RemoveHealthCheck:output_type -> google.cloud.compute.v1.Operation + 1177, // 2635: google.cloud.compute.v1.TargetPools.RemoveInstance:output_type -> google.cloud.compute.v1.Operation + 1177, // 2636: google.cloud.compute.v1.TargetPools.SetBackup:output_type -> google.cloud.compute.v1.Operation + 1177, // 2637: google.cloud.compute.v1.TargetPools.SetSecurityPolicy:output_type -> google.cloud.compute.v1.Operation + 1177, // 2638: google.cloud.compute.v1.TargetSslProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1606, // 2639: google.cloud.compute.v1.TargetSslProxies.Get:output_type -> google.cloud.compute.v1.TargetSslProxy + 1177, // 2640: google.cloud.compute.v1.TargetSslProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1607, // 2641: google.cloud.compute.v1.TargetSslProxies.List:output_type -> google.cloud.compute.v1.TargetSslProxyList + 1177, // 2642: google.cloud.compute.v1.TargetSslProxies.SetBackendService:output_type -> google.cloud.compute.v1.Operation + 1177, // 2643: google.cloud.compute.v1.TargetSslProxies.SetCertificateMap:output_type -> google.cloud.compute.v1.Operation + 1177, // 2644: google.cloud.compute.v1.TargetSslProxies.SetProxyHeader:output_type -> google.cloud.compute.v1.Operation + 1177, // 2645: google.cloud.compute.v1.TargetSslProxies.SetSslCertificates:output_type -> google.cloud.compute.v1.Operation + 1177, // 2646: google.cloud.compute.v1.TargetSslProxies.SetSslPolicy:output_type -> google.cloud.compute.v1.Operation + 1612, // 2647: google.cloud.compute.v1.TargetTcpProxies.AggregatedList:output_type -> google.cloud.compute.v1.TargetTcpProxyAggregatedList + 1177, // 2648: google.cloud.compute.v1.TargetTcpProxies.Delete:output_type -> google.cloud.compute.v1.Operation + 1611, // 2649: google.cloud.compute.v1.TargetTcpProxies.Get:output_type -> google.cloud.compute.v1.TargetTcpProxy + 1177, // 2650: google.cloud.compute.v1.TargetTcpProxies.Insert:output_type -> google.cloud.compute.v1.Operation + 1613, // 2651: google.cloud.compute.v1.TargetTcpProxies.List:output_type -> google.cloud.compute.v1.TargetTcpProxyList + 1177, // 2652: google.cloud.compute.v1.TargetTcpProxies.SetBackendService:output_type -> google.cloud.compute.v1.Operation + 1177, // 2653: google.cloud.compute.v1.TargetTcpProxies.SetProxyHeader:output_type -> google.cloud.compute.v1.Operation + 1615, // 2654: google.cloud.compute.v1.TargetVpnGateways.AggregatedList:output_type -> google.cloud.compute.v1.TargetVpnGatewayAggregatedList + 1177, // 2655: google.cloud.compute.v1.TargetVpnGateways.Delete:output_type -> google.cloud.compute.v1.Operation + 1614, // 2656: google.cloud.compute.v1.TargetVpnGateways.Get:output_type -> google.cloud.compute.v1.TargetVpnGateway + 1177, // 2657: google.cloud.compute.v1.TargetVpnGateways.Insert:output_type -> google.cloud.compute.v1.Operation + 1616, // 2658: google.cloud.compute.v1.TargetVpnGateways.List:output_type -> google.cloud.compute.v1.TargetVpnGatewayList + 1177, // 2659: google.cloud.compute.v1.TargetVpnGateways.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1678, // 2660: google.cloud.compute.v1.UrlMaps.AggregatedList:output_type -> google.cloud.compute.v1.UrlMapsAggregatedList + 1177, // 2661: google.cloud.compute.v1.UrlMaps.Delete:output_type -> google.cloud.compute.v1.Operation + 1672, // 2662: google.cloud.compute.v1.UrlMaps.Get:output_type -> google.cloud.compute.v1.UrlMap + 1177, // 2663: google.cloud.compute.v1.UrlMaps.Insert:output_type -> google.cloud.compute.v1.Operation + 1177, // 2664: google.cloud.compute.v1.UrlMaps.InvalidateCache:output_type -> google.cloud.compute.v1.Operation + 1673, // 2665: google.cloud.compute.v1.UrlMaps.List:output_type -> google.cloud.compute.v1.UrlMapList + 1177, // 2666: google.cloud.compute.v1.UrlMaps.Patch:output_type -> google.cloud.compute.v1.Operation + 1177, // 2667: google.cloud.compute.v1.UrlMaps.Update:output_type -> google.cloud.compute.v1.Operation + 1681, // 2668: google.cloud.compute.v1.UrlMaps.Validate:output_type -> google.cloud.compute.v1.UrlMapsValidateResponse + 1694, // 2669: google.cloud.compute.v1.VpnGateways.AggregatedList:output_type -> google.cloud.compute.v1.VpnGatewayAggregatedList + 1177, // 2670: google.cloud.compute.v1.VpnGateways.Delete:output_type -> google.cloud.compute.v1.Operation + 1693, // 2671: google.cloud.compute.v1.VpnGateways.Get:output_type -> google.cloud.compute.v1.VpnGateway + 1701, // 2672: google.cloud.compute.v1.VpnGateways.GetStatus:output_type -> google.cloud.compute.v1.VpnGatewaysGetStatusResponse + 1177, // 2673: google.cloud.compute.v1.VpnGateways.Insert:output_type -> google.cloud.compute.v1.Operation + 1695, // 2674: google.cloud.compute.v1.VpnGateways.List:output_type -> google.cloud.compute.v1.VpnGatewayList + 1177, // 2675: google.cloud.compute.v1.VpnGateways.SetLabels:output_type -> google.cloud.compute.v1.Operation + 1646, // 2676: google.cloud.compute.v1.VpnGateways.TestIamPermissions:output_type -> google.cloud.compute.v1.TestPermissionsResponse + 1704, // 2677: google.cloud.compute.v1.VpnTunnels.AggregatedList:output_type -> google.cloud.compute.v1.VpnTunnelAggregatedList + 1177, // 2678: google.cloud.compute.v1.VpnTunnels.Delete:output_type -> google.cloud.compute.v1.Operation + 1703, // 2679: google.cloud.compute.v1.VpnTunnels.Get:output_type -> google.cloud.compute.v1.VpnTunnel + 1177, // 2680: google.cloud.compute.v1.VpnTunnels.Insert:output_type -> google.cloud.compute.v1.Operation + 1705, // 2681: google.cloud.compute.v1.VpnTunnels.List:output_type -> google.cloud.compute.v1.VpnTunnelList + 1177, // 2682: google.cloud.compute.v1.VpnTunnels.SetLabels:output_type -> google.cloud.compute.v1.Operation + 553, // 2683: google.cloud.compute.v1.ZoneOperations.Delete:output_type -> google.cloud.compute.v1.DeleteZoneOperationResponse + 1177, // 2684: google.cloud.compute.v1.ZoneOperations.Get:output_type -> google.cloud.compute.v1.Operation + 1179, // 2685: google.cloud.compute.v1.ZoneOperations.List:output_type -> google.cloud.compute.v1.OperationList + 1177, // 2686: google.cloud.compute.v1.ZoneOperations.Wait:output_type -> google.cloud.compute.v1.Operation + 1719, // 2687: google.cloud.compute.v1.Zones.Get:output_type -> google.cloud.compute.v1.Zone + 1720, // 2688: google.cloud.compute.v1.Zones.List:output_type -> google.cloud.compute.v1.ZoneList + 1963, // [1963:2689] is the sub-list for method output_type + 1237, // [1237:1963] is the sub-list for method input_type + 1237, // [1237:1237] is the sub-list for extension type_name + 1237, // [1237:1237] is the sub-list for extension extendee + 0, // [0:1237] is the sub-list for field type_name } func init() { file_google_cloud_compute_v1_compute_proto_init() } @@ -176061,7 +184077,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } if !protoimpl.UnsafeEnabled { file_google_cloud_compute_v1_compute_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AbandonInstancesInstanceGroupManagerRequest); i { + switch v := v.(*AWSV4Signature); i { case 0: return &v.state case 1: @@ -176073,7 +184089,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AbandonInstancesRegionInstanceGroupManagerRequest); i { + switch v := v.(*AbandonInstancesInstanceGroupManagerRequest); i { case 0: return &v.state case 1: @@ -176085,7 +184101,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AcceleratorConfig); i { + switch v := v.(*AbandonInstancesRegionInstanceGroupManagerRequest); i { case 0: return &v.state case 1: @@ -176097,7 +184113,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AcceleratorType); i { + switch v := v.(*AcceleratorConfig); i { case 0: return &v.state case 1: @@ -176109,7 +184125,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AcceleratorTypeAggregatedList); i { + switch v := v.(*AcceleratorType); i { case 0: return &v.state case 1: @@ -176121,7 +184137,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AcceleratorTypeList); i { + switch v := v.(*AcceleratorTypeAggregatedList); i { case 0: return &v.state case 1: @@ -176133,7 +184149,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AcceleratorTypesScopedList); i { + switch v := v.(*AcceleratorTypeList); i { case 0: return &v.state case 1: @@ -176145,7 +184161,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Accelerators); i { + switch v := v.(*AcceleratorTypesScopedList); i { case 0: return &v.state case 1: @@ -176157,7 +184173,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccessConfig); i { + switch v := v.(*Accelerators); i { case 0: return &v.state case 1: @@ -176169,7 +184185,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAccessConfigInstanceRequest); i { + switch v := v.(*AccessConfig); i { case 0: return &v.state case 1: @@ -176181,7 +184197,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAssociationFirewallPolicyRequest); i { + switch v := v.(*AddAccessConfigInstanceRequest); i { case 0: return &v.state case 1: @@ -176193,7 +184209,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAssociationNetworkFirewallPolicyRequest); i { + switch v := v.(*AddAssociationFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -176205,7 +184221,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddAssociationRegionNetworkFirewallPolicyRequest); i { + switch v := v.(*AddAssociationNetworkFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -176217,7 +184233,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddHealthCheckTargetPoolRequest); i { + switch v := v.(*AddAssociationRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -176229,7 +184245,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddInstanceTargetPoolRequest); i { + switch v := v.(*AddHealthCheckTargetPoolRequest); i { case 0: return &v.state case 1: @@ -176241,7 +184257,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddInstancesInstanceGroupRequest); i { + switch v := v.(*AddInstanceTargetPoolRequest); i { case 0: return &v.state case 1: @@ -176253,7 +184269,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddNodesNodeGroupRequest); i { + switch v := v.(*AddInstancesInstanceGroupRequest); i { case 0: return &v.state case 1: @@ -176265,7 +184281,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddPeeringNetworkRequest); i { + switch v := v.(*AddNodesNodeGroupRequest); i { case 0: return &v.state case 1: @@ -176277,7 +184293,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddResourcePoliciesDiskRequest); i { + switch v := v.(*AddPeeringNetworkRequest); i { case 0: return &v.state case 1: @@ -176289,7 +184305,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddResourcePoliciesInstanceRequest); i { + switch v := v.(*AddResourcePoliciesDiskRequest); i { case 0: return &v.state case 1: @@ -176301,7 +184317,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddResourcePoliciesRegionDiskRequest); i { + switch v := v.(*AddResourcePoliciesInstanceRequest); i { case 0: return &v.state case 1: @@ -176313,7 +184329,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddRuleFirewallPolicyRequest); i { + switch v := v.(*AddResourcePoliciesRegionDiskRequest); i { case 0: return &v.state case 1: @@ -176325,7 +184341,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddRuleNetworkFirewallPolicyRequest); i { + switch v := v.(*AddRuleFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -176337,7 +184353,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddRuleRegionNetworkFirewallPolicyRequest); i { + switch v := v.(*AddRuleNetworkFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -176349,7 +184365,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddRuleSecurityPolicyRequest); i { + switch v := v.(*AddRuleRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -176361,7 +184377,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddSignedUrlKeyBackendBucketRequest); i { + switch v := v.(*AddRuleRegionSecurityPolicyRequest); i { case 0: return &v.state case 1: @@ -176373,7 +184389,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddSignedUrlKeyBackendServiceRequest); i { + switch v := v.(*AddRuleSecurityPolicyRequest); i { case 0: return &v.state case 1: @@ -176385,7 +184401,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Address); i { + switch v := v.(*AddSignedUrlKeyBackendBucketRequest); i { case 0: return &v.state case 1: @@ -176397,7 +184413,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddressAggregatedList); i { + switch v := v.(*AddSignedUrlKeyBackendServiceRequest); i { case 0: return &v.state case 1: @@ -176409,7 +184425,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddressList); i { + switch v := v.(*Address); i { case 0: return &v.state case 1: @@ -176421,7 +184437,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddressesScopedList); i { + switch v := v.(*AddressAggregatedList); i { case 0: return &v.state case 1: @@ -176433,7 +184449,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AdvancedMachineFeatures); i { + switch v := v.(*AddressList); i { case 0: return &v.state case 1: @@ -176445,7 +184461,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListAcceleratorTypesRequest); i { + switch v := v.(*AddressesScopedList); i { case 0: return &v.state case 1: @@ -176457,7 +184473,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListAddressesRequest); i { + switch v := v.(*AdvancedMachineFeatures); i { case 0: return &v.state case 1: @@ -176469,7 +184485,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListAutoscalersRequest); i { + switch v := v.(*AggregatedListAcceleratorTypesRequest); i { case 0: return &v.state case 1: @@ -176481,7 +184497,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListBackendServicesRequest); i { + switch v := v.(*AggregatedListAddressesRequest); i { case 0: return &v.state case 1: @@ -176493,7 +184509,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListDiskTypesRequest); i { + switch v := v.(*AggregatedListAutoscalersRequest); i { case 0: return &v.state case 1: @@ -176505,7 +184521,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListDisksRequest); i { + switch v := v.(*AggregatedListBackendServicesRequest); i { case 0: return &v.state case 1: @@ -176517,7 +184533,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListForwardingRulesRequest); i { + switch v := v.(*AggregatedListDiskTypesRequest); i { case 0: return &v.state case 1: @@ -176529,7 +184545,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListGlobalOperationsRequest); i { + switch v := v.(*AggregatedListDisksRequest); i { case 0: return &v.state case 1: @@ -176541,7 +184557,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListHealthChecksRequest); i { + switch v := v.(*AggregatedListForwardingRulesRequest); i { case 0: return &v.state case 1: @@ -176553,7 +184569,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListInstanceGroupManagersRequest); i { + switch v := v.(*AggregatedListGlobalOperationsRequest); i { case 0: return &v.state case 1: @@ -176565,7 +184581,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListInstanceGroupsRequest); i { + switch v := v.(*AggregatedListHealthChecksRequest); i { case 0: return &v.state case 1: @@ -176577,7 +184593,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListInstanceTemplatesRequest); i { + switch v := v.(*AggregatedListInstanceGroupManagersRequest); i { case 0: return &v.state case 1: @@ -176589,7 +184605,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListInstancesRequest); i { + switch v := v.(*AggregatedListInstanceGroupsRequest); i { case 0: return &v.state case 1: @@ -176601,7 +184617,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListInterconnectAttachmentsRequest); i { + switch v := v.(*AggregatedListInstanceTemplatesRequest); i { case 0: return &v.state case 1: @@ -176613,7 +184629,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListMachineTypesRequest); i { + switch v := v.(*AggregatedListInstancesRequest); i { case 0: return &v.state case 1: @@ -176625,7 +184641,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListNetworkAttachmentsRequest); i { + switch v := v.(*AggregatedListInterconnectAttachmentsRequest); i { case 0: return &v.state case 1: @@ -176637,7 +184653,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListNetworkEdgeSecurityServicesRequest); i { + switch v := v.(*AggregatedListMachineTypesRequest); i { case 0: return &v.state case 1: @@ -176649,7 +184665,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListNetworkEndpointGroupsRequest); i { + switch v := v.(*AggregatedListNetworkAttachmentsRequest); i { case 0: return &v.state case 1: @@ -176661,7 +184677,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListNodeGroupsRequest); i { + switch v := v.(*AggregatedListNetworkEdgeSecurityServicesRequest); i { case 0: return &v.state case 1: @@ -176673,7 +184689,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListNodeTemplatesRequest); i { + switch v := v.(*AggregatedListNetworkEndpointGroupsRequest); i { case 0: return &v.state case 1: @@ -176685,7 +184701,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListNodeTypesRequest); i { + switch v := v.(*AggregatedListNodeGroupsRequest); i { case 0: return &v.state case 1: @@ -176697,7 +184713,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListPacketMirroringsRequest); i { + switch v := v.(*AggregatedListNodeTemplatesRequest); i { case 0: return &v.state case 1: @@ -176709,7 +184725,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListPublicDelegatedPrefixesRequest); i { + switch v := v.(*AggregatedListNodeTypesRequest); i { case 0: return &v.state case 1: @@ -176721,7 +184737,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListRegionCommitmentsRequest); i { + switch v := v.(*AggregatedListPacketMirroringsRequest); i { case 0: return &v.state case 1: @@ -176733,7 +184749,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListReservationsRequest); i { + switch v := v.(*AggregatedListPublicDelegatedPrefixesRequest); i { case 0: return &v.state case 1: @@ -176745,7 +184761,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListResourcePoliciesRequest); i { + switch v := v.(*AggregatedListRegionCommitmentsRequest); i { case 0: return &v.state case 1: @@ -176757,7 +184773,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListRoutersRequest); i { + switch v := v.(*AggregatedListReservationsRequest); i { case 0: return &v.state case 1: @@ -176769,7 +184785,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListSecurityPoliciesRequest); i { + switch v := v.(*AggregatedListResourcePoliciesRequest); i { case 0: return &v.state case 1: @@ -176781,7 +184797,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListServiceAttachmentsRequest); i { + switch v := v.(*AggregatedListRoutersRequest); i { case 0: return &v.state case 1: @@ -176793,7 +184809,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListSslCertificatesRequest); i { + switch v := v.(*AggregatedListSecurityPoliciesRequest); i { case 0: return &v.state case 1: @@ -176805,7 +184821,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListSslPoliciesRequest); i { + switch v := v.(*AggregatedListServiceAttachmentsRequest); i { case 0: return &v.state case 1: @@ -176817,7 +184833,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListSubnetworksRequest); i { + switch v := v.(*AggregatedListSslCertificatesRequest); i { case 0: return &v.state case 1: @@ -176829,7 +184845,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListTargetHttpProxiesRequest); i { + switch v := v.(*AggregatedListSslPoliciesRequest); i { case 0: return &v.state case 1: @@ -176841,7 +184857,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListTargetHttpsProxiesRequest); i { + switch v := v.(*AggregatedListSubnetworksRequest); i { case 0: return &v.state case 1: @@ -176853,7 +184869,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListTargetInstancesRequest); i { + switch v := v.(*AggregatedListTargetHttpProxiesRequest); i { case 0: return &v.state case 1: @@ -176865,7 +184881,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListTargetPoolsRequest); i { + switch v := v.(*AggregatedListTargetHttpsProxiesRequest); i { case 0: return &v.state case 1: @@ -176877,7 +184893,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListTargetTcpProxiesRequest); i { + switch v := v.(*AggregatedListTargetInstancesRequest); i { case 0: return &v.state case 1: @@ -176889,7 +184905,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListTargetVpnGatewaysRequest); i { + switch v := v.(*AggregatedListTargetPoolsRequest); i { case 0: return &v.state case 1: @@ -176901,7 +184917,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListUrlMapsRequest); i { + switch v := v.(*AggregatedListTargetTcpProxiesRequest); i { case 0: return &v.state case 1: @@ -176913,7 +184929,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListVpnGatewaysRequest); i { + switch v := v.(*AggregatedListTargetVpnGatewaysRequest); i { case 0: return &v.state case 1: @@ -176925,7 +184941,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AggregatedListVpnTunnelsRequest); i { + switch v := v.(*AggregatedListUrlMapsRequest); i { case 0: return &v.state case 1: @@ -176937,7 +184953,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AliasIpRange); i { + switch v := v.(*AggregatedListVpnGatewaysRequest); i { case 0: return &v.state case 1: @@ -176949,7 +184965,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AllocationResourceStatus); i { + switch v := v.(*AggregatedListVpnTunnelsRequest); i { case 0: return &v.state case 1: @@ -176961,7 +184977,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AllocationResourceStatusSpecificSKUAllocation); i { + switch v := v.(*AliasIpRange); i { case 0: return &v.state case 1: @@ -176973,7 +184989,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk); i { + switch v := v.(*AllocationResourceStatus); i { case 0: return &v.state case 1: @@ -176985,7 +185001,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AllocationSpecificSKUAllocationReservedInstanceProperties); i { + switch v := v.(*AllocationResourceStatusSpecificSKUAllocation); i { case 0: return &v.state case 1: @@ -176997,7 +185013,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AllocationSpecificSKUReservation); i { + switch v := v.(*AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk); i { case 0: return &v.state case 1: @@ -177009,7 +185025,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Allowed); i { + switch v := v.(*AllocationSpecificSKUAllocationReservedInstanceProperties); i { case 0: return &v.state case 1: @@ -177021,7 +185037,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyUpdatesToInstancesInstanceGroupManagerRequest); i { + switch v := v.(*AllocationSpecificSKUReservation); i { case 0: return &v.state case 1: @@ -177033,7 +185049,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest); i { + switch v := v.(*Allowed); i { case 0: return &v.state case 1: @@ -177045,7 +185061,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttachDiskInstanceRequest); i { + switch v := v.(*AnnouncePublicAdvertisedPrefixeRequest); i { case 0: return &v.state case 1: @@ -177057,7 +185073,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest); i { + switch v := v.(*AnnouncePublicDelegatedPrefixeRequest); i { case 0: return &v.state case 1: @@ -177069,7 +185085,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttachNetworkEndpointsNetworkEndpointGroupRequest); i { + switch v := v.(*ApplyUpdatesToInstancesInstanceGroupManagerRequest); i { case 0: return &v.state case 1: @@ -177081,7 +185097,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttachedDisk); i { + switch v := v.(*ApplyUpdatesToInstancesRegionInstanceGroupManagerRequest); i { case 0: return &v.state case 1: @@ -177093,7 +185109,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AttachedDiskInitializeParams); i { + switch v := v.(*AttachDiskInstanceRequest); i { case 0: return &v.state case 1: @@ -177105,7 +185121,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuditConfig); i { + switch v := v.(*AttachNetworkEndpointsGlobalNetworkEndpointGroupRequest); i { case 0: return &v.state case 1: @@ -177117,7 +185133,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuditLogConfig); i { + switch v := v.(*AttachNetworkEndpointsNetworkEndpointGroupRequest); i { case 0: return &v.state case 1: @@ -177129,7 +185145,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AuthorizationLoggingOptions); i { + switch v := v.(*AttachNetworkEndpointsRegionNetworkEndpointGroupRequest); i { case 0: return &v.state case 1: @@ -177141,7 +185157,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Autoscaler); i { + switch v := v.(*AttachedDisk); i { case 0: return &v.state case 1: @@ -177153,7 +185169,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalerAggregatedList); i { + switch v := v.(*AttachedDiskInitializeParams); i { case 0: return &v.state case 1: @@ -177165,7 +185181,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalerList); i { + switch v := v.(*AuditConfig); i { case 0: return &v.state case 1: @@ -177177,7 +185193,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalerStatusDetails); i { + switch v := v.(*AuditLogConfig); i { case 0: return &v.state case 1: @@ -177189,7 +185205,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalersScopedList); i { + switch v := v.(*AuthorizationLoggingOptions); i { case 0: return &v.state case 1: @@ -177201,7 +185217,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalingPolicy); i { + switch v := v.(*Autoscaler); i { case 0: return &v.state case 1: @@ -177213,7 +185229,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalingPolicyCpuUtilization); i { + switch v := v.(*AutoscalerAggregatedList); i { case 0: return &v.state case 1: @@ -177225,7 +185241,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalingPolicyCustomMetricUtilization); i { + switch v := v.(*AutoscalerList); i { case 0: return &v.state case 1: @@ -177237,7 +185253,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalingPolicyLoadBalancingUtilization); i { + switch v := v.(*AutoscalerStatusDetails); i { case 0: return &v.state case 1: @@ -177249,7 +185265,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalingPolicyScaleInControl); i { + switch v := v.(*AutoscalersScopedList); i { case 0: return &v.state case 1: @@ -177261,7 +185277,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutoscalingPolicyScalingSchedule); i { + switch v := v.(*AutoscalingPolicy); i { case 0: return &v.state case 1: @@ -177273,7 +185289,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Backend); i { + switch v := v.(*AutoscalingPolicyCpuUtilization); i { case 0: return &v.state case 1: @@ -177285,7 +185301,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendBucket); i { + switch v := v.(*AutoscalingPolicyCustomMetricUtilization); i { case 0: return &v.state case 1: @@ -177297,7 +185313,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendBucketCdnPolicy); i { + switch v := v.(*AutoscalingPolicyLoadBalancingUtilization); i { case 0: return &v.state case 1: @@ -177309,7 +185325,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendBucketCdnPolicyBypassCacheOnRequestHeader); i { + switch v := v.(*AutoscalingPolicyScaleInControl); i { case 0: return &v.state case 1: @@ -177321,7 +185337,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendBucketCdnPolicyCacheKeyPolicy); i { + switch v := v.(*AutoscalingPolicyScalingSchedule); i { case 0: return &v.state case 1: @@ -177333,7 +185349,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendBucketCdnPolicyNegativeCachingPolicy); i { + switch v := v.(*Backend); i { case 0: return &v.state case 1: @@ -177345,7 +185361,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendBucketList); i { + switch v := v.(*BackendBucket); i { case 0: return &v.state case 1: @@ -177357,7 +185373,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendService); i { + switch v := v.(*BackendBucketCdnPolicy); i { case 0: return &v.state case 1: @@ -177369,7 +185385,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceAggregatedList); i { + switch v := v.(*BackendBucketCdnPolicyBypassCacheOnRequestHeader); i { case 0: return &v.state case 1: @@ -177381,7 +185397,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceCdnPolicy); i { + switch v := v.(*BackendBucketCdnPolicyCacheKeyPolicy); i { case 0: return &v.state case 1: @@ -177393,7 +185409,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceCdnPolicyBypassCacheOnRequestHeader); i { + switch v := v.(*BackendBucketCdnPolicyNegativeCachingPolicy); i { case 0: return &v.state case 1: @@ -177405,7 +185421,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceCdnPolicyNegativeCachingPolicy); i { + switch v := v.(*BackendBucketList); i { case 0: return &v.state case 1: @@ -177417,7 +185433,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceConnectionTrackingPolicy); i { + switch v := v.(*BackendService); i { case 0: return &v.state case 1: @@ -177429,7 +185445,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceFailoverPolicy); i { + switch v := v.(*BackendServiceAggregatedList); i { case 0: return &v.state case 1: @@ -177441,7 +185457,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceGroupHealth); i { + switch v := v.(*BackendServiceCdnPolicy); i { case 0: return &v.state case 1: @@ -177453,7 +185469,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceIAP); i { + switch v := v.(*BackendServiceCdnPolicyBypassCacheOnRequestHeader); i { case 0: return &v.state case 1: @@ -177465,7 +185481,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceList); i { + switch v := v.(*BackendServiceCdnPolicyNegativeCachingPolicy); i { case 0: return &v.state case 1: @@ -177477,7 +185493,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceLocalityLoadBalancingPolicyConfig); i { + switch v := v.(*BackendServiceConnectionTrackingPolicy); i { case 0: return &v.state case 1: @@ -177489,7 +185505,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy); i { + switch v := v.(*BackendServiceFailoverPolicy); i { case 0: return &v.state case 1: @@ -177501,7 +185517,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceLocalityLoadBalancingPolicyConfigPolicy); i { + switch v := v.(*BackendServiceGroupHealth); i { case 0: return &v.state case 1: @@ -177513,7 +185529,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceLogConfig); i { + switch v := v.(*BackendServiceIAP); i { case 0: return &v.state case 1: @@ -177525,7 +185541,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServiceReference); i { + switch v := v.(*BackendServiceList); i { case 0: return &v.state case 1: @@ -177537,7 +185553,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BackendServicesScopedList); i { + switch v := v.(*BackendServiceListUsable); i { case 0: return &v.state case 1: @@ -177549,7 +185565,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BfdPacket); i { + switch v := v.(*BackendServiceLocalityLoadBalancingPolicyConfig); i { case 0: return &v.state case 1: @@ -177561,7 +185577,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BfdStatus); i { + switch v := v.(*BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy); i { case 0: return &v.state case 1: @@ -177573,7 +185589,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BfdStatusPacketCounts); i { + switch v := v.(*BackendServiceLocalityLoadBalancingPolicyConfigPolicy); i { case 0: return &v.state case 1: @@ -177585,7 +185601,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Binding); i { + switch v := v.(*BackendServiceLogConfig); i { case 0: return &v.state case 1: @@ -177597,7 +185613,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkInsertDiskRequest); i { + switch v := v.(*BackendServiceReference); i { case 0: return &v.state case 1: @@ -177609,7 +185625,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkInsertDiskResource); i { + switch v := v.(*BackendServiceUsedBy); i { case 0: return &v.state case 1: @@ -177621,7 +185637,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkInsertInstanceRequest); i { + switch v := v.(*BackendServicesScopedList); i { case 0: return &v.state case 1: @@ -177633,7 +185649,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkInsertInstanceResource); i { + switch v := v.(*BfdPacket); i { case 0: return &v.state case 1: @@ -177645,7 +185661,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkInsertInstanceResourcePerInstanceProperties); i { + switch v := v.(*BfdStatus); i { case 0: return &v.state case 1: @@ -177657,7 +185673,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkInsertRegionDiskRequest); i { + switch v := v.(*BfdStatusPacketCounts); i { case 0: return &v.state case 1: @@ -177669,7 +185685,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BulkInsertRegionInstanceRequest); i { + switch v := v.(*Binding); i { case 0: return &v.state case 1: @@ -177681,7 +185697,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheInvalidationRule); i { + switch v := v.(*BulkInsertDiskRequest); i { case 0: return &v.state case 1: @@ -177693,7 +185709,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CacheKeyPolicy); i { + switch v := v.(*BulkInsertDiskResource); i { case 0: return &v.state case 1: @@ -177705,7 +185721,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CircuitBreakers); i { + switch v := v.(*BulkInsertInstanceRequest); i { case 0: return &v.state case 1: @@ -177717,7 +185733,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloneRulesFirewallPolicyRequest); i { + switch v := v.(*BulkInsertInstanceResource); i { case 0: return &v.state case 1: @@ -177729,7 +185745,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloneRulesNetworkFirewallPolicyRequest); i { + switch v := v.(*BulkInsertInstanceResourcePerInstanceProperties); i { case 0: return &v.state case 1: @@ -177741,7 +185757,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloneRulesRegionNetworkFirewallPolicyRequest); i { + switch v := v.(*BulkInsertOperationStatus); i { case 0: return &v.state case 1: @@ -177753,7 +185769,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Commitment); i { + switch v := v.(*BulkInsertRegionDiskRequest); i { case 0: return &v.state case 1: @@ -177765,7 +185781,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitmentAggregatedList); i { + switch v := v.(*BulkInsertRegionInstanceRequest); i { case 0: return &v.state case 1: @@ -177777,7 +185793,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitmentList); i { + switch v := v.(*CacheInvalidationRule); i { case 0: return &v.state case 1: @@ -177789,7 +185805,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitmentsScopedList); i { + switch v := v.(*CacheKeyPolicy); i { case 0: return &v.state case 1: @@ -177801,7 +185817,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Condition); i { + switch v := v.(*CircuitBreakers); i { case 0: return &v.state case 1: @@ -177813,7 +185829,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfidentialInstanceConfig); i { + switch v := v.(*CloneRulesFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -177825,7 +185841,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectionDraining); i { + switch v := v.(*CloneRulesNetworkFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -177837,7 +185853,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConsistentHashLoadBalancerSettings); i { + switch v := v.(*CloneRulesRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -177849,7 +185865,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConsistentHashLoadBalancerSettingsHttpCookie); i { + switch v := v.(*Commitment); i { case 0: return &v.state case 1: @@ -177861,7 +185877,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CorsPolicy); i { + switch v := v.(*CommitmentAggregatedList); i { case 0: return &v.state case 1: @@ -177873,7 +185889,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInstancesInstanceGroupManagerRequest); i { + switch v := v.(*CommitmentList); i { case 0: return &v.state case 1: @@ -177885,7 +185901,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateInstancesRegionInstanceGroupManagerRequest); i { + switch v := v.(*CommitmentsScopedList); i { case 0: return &v.state case 1: @@ -177897,7 +185913,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSnapshotDiskRequest); i { + switch v := v.(*Condition); i { case 0: return &v.state case 1: @@ -177909,7 +185925,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateSnapshotRegionDiskRequest); i { + switch v := v.(*ConfidentialInstanceConfig); i { case 0: return &v.state case 1: @@ -177921,7 +185937,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CustomerEncryptionKey); i { + switch v := v.(*ConnectionDraining); i { case 0: return &v.state case 1: @@ -177933,7 +185949,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CustomerEncryptionKeyProtectedDisk); i { + switch v := v.(*ConsistentHashLoadBalancerSettings); i { case 0: return &v.state case 1: @@ -177945,7 +185961,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Data); i { + switch v := v.(*ConsistentHashLoadBalancerSettingsHttpCookie); i { case 0: return &v.state case 1: @@ -177957,7 +185973,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAccessConfigInstanceRequest); i { + switch v := v.(*CorsPolicy); i { case 0: return &v.state case 1: @@ -177969,7 +185985,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAddressRequest); i { + switch v := v.(*CreateInstancesInstanceGroupManagerRequest); i { case 0: return &v.state case 1: @@ -177981,7 +185997,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAutoscalerRequest); i { + switch v := v.(*CreateInstancesRegionInstanceGroupManagerRequest); i { case 0: return &v.state case 1: @@ -177993,7 +186009,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteBackendBucketRequest); i { + switch v := v.(*CreateSnapshotDiskRequest); i { case 0: return &v.state case 1: @@ -178005,7 +186021,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteBackendServiceRequest); i { + switch v := v.(*CreateSnapshotRegionDiskRequest); i { case 0: return &v.state case 1: @@ -178017,7 +186033,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteDiskRequest); i { + switch v := v.(*CustomerEncryptionKey); i { case 0: return &v.state case 1: @@ -178029,7 +186045,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteExternalVpnGatewayRequest); i { + switch v := v.(*CustomerEncryptionKeyProtectedDisk); i { case 0: return &v.state case 1: @@ -178041,7 +186057,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteFirewallPolicyRequest); i { + switch v := v.(*Data); i { case 0: return &v.state case 1: @@ -178053,7 +186069,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteFirewallRequest); i { + switch v := v.(*DeleteAccessConfigInstanceRequest); i { case 0: return &v.state case 1: @@ -178065,7 +186081,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteForwardingRuleRequest); i { + switch v := v.(*DeleteAddressRequest); i { case 0: return &v.state case 1: @@ -178077,7 +186093,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalAddressRequest); i { + switch v := v.(*DeleteAutoscalerRequest); i { case 0: return &v.state case 1: @@ -178089,7 +186105,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalForwardingRuleRequest); i { + switch v := v.(*DeleteBackendBucketRequest); i { case 0: return &v.state case 1: @@ -178101,7 +186117,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalNetworkEndpointGroupRequest); i { + switch v := v.(*DeleteBackendServiceRequest); i { case 0: return &v.state case 1: @@ -178113,7 +186129,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalOperationRequest); i { + switch v := v.(*DeleteDiskRequest); i { case 0: return &v.state case 1: @@ -178125,7 +186141,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalOperationResponse); i { + switch v := v.(*DeleteExternalVpnGatewayRequest); i { case 0: return &v.state case 1: @@ -178137,7 +186153,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalOrganizationOperationRequest); i { + switch v := v.(*DeleteFirewallPolicyRequest); i { case 0: return &v.state case 1: @@ -178149,7 +186165,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalOrganizationOperationResponse); i { + switch v := v.(*DeleteFirewallRequest); i { case 0: return &v.state case 1: @@ -178161,7 +186177,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGlobalPublicDelegatedPrefixeRequest); i { + switch v := v.(*DeleteForwardingRuleRequest); i { case 0: return &v.state case 1: @@ -178173,7 +186189,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteHealthCheckRequest); i { + switch v := v.(*DeleteGlobalAddressRequest); i { case 0: return &v.state case 1: @@ -178185,7 +186201,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteImageRequest); i { + switch v := v.(*DeleteGlobalForwardingRuleRequest); i { case 0: return &v.state case 1: @@ -178197,7 +186213,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteInstanceGroupManagerRequest); i { + switch v := v.(*DeleteGlobalNetworkEndpointGroupRequest); i { case 0: return &v.state case 1: @@ -178209,6 +186225,102 @@ func file_google_cloud_compute_v1_compute_proto_init() { } } file_google_cloud_compute_v1_compute_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteGlobalOperationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteGlobalOperationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteGlobalOrganizationOperationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteGlobalOrganizationOperationResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteGlobalPublicDelegatedPrefixeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteHealthCheckRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteImageRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteInstanceGroupManagerRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteInstanceGroupRequest); i { case 0: return &v.state @@ -178220,7 +186332,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteInstanceRequest); i { case 0: return &v.state @@ -178232,7 +186344,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteInstanceTemplateRequest); i { case 0: return &v.state @@ -178244,7 +186356,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteInstancesInstanceGroupManagerRequest); i { case 0: return &v.state @@ -178256,7 +186368,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteInstancesRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -178268,7 +186380,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteInterconnectAttachmentRequest); i { case 0: return &v.state @@ -178280,7 +186392,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteInterconnectRequest); i { case 0: return &v.state @@ -178292,7 +186404,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteLicenseRequest); i { case 0: return &v.state @@ -178304,7 +186416,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteMachineImageRequest); i { case 0: return &v.state @@ -178316,7 +186428,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNetworkAttachmentRequest); i { case 0: return &v.state @@ -178328,7 +186440,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNetworkEdgeSecurityServiceRequest); i { case 0: return &v.state @@ -178340,7 +186452,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -178352,7 +186464,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -178364,7 +186476,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNetworkRequest); i { case 0: return &v.state @@ -178376,7 +186488,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNodeGroupRequest); i { case 0: return &v.state @@ -178388,7 +186500,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNodeTemplateRequest); i { case 0: return &v.state @@ -178400,7 +186512,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteNodesNodeGroupRequest); i { case 0: return &v.state @@ -178412,7 +186524,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeletePacketMirroringRequest); i { case 0: return &v.state @@ -178424,7 +186536,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeletePerInstanceConfigsInstanceGroupManagerRequest); i { case 0: return &v.state @@ -178436,7 +186548,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeletePerInstanceConfigsRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -178448,7 +186560,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeletePublicAdvertisedPrefixeRequest); i { case 0: return &v.state @@ -178460,7 +186572,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeletePublicDelegatedPrefixeRequest); i { case 0: return &v.state @@ -178472,7 +186584,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionAutoscalerRequest); i { case 0: return &v.state @@ -178484,7 +186596,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionBackendServiceRequest); i { case 0: return &v.state @@ -178496,7 +186608,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionDiskRequest); i { case 0: return &v.state @@ -178508,7 +186620,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionHealthCheckRequest); i { case 0: return &v.state @@ -178520,7 +186632,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionHealthCheckServiceRequest); i { case 0: return &v.state @@ -178532,7 +186644,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -178544,7 +186656,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionInstanceTemplateRequest); i { case 0: return &v.state @@ -178556,7 +186668,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -178568,7 +186680,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -178580,7 +186692,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionNotificationEndpointRequest); i { case 0: return &v.state @@ -178592,7 +186704,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionOperationRequest); i { case 0: return &v.state @@ -178604,7 +186716,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionOperationResponse); i { case 0: return &v.state @@ -178616,7 +186728,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionSecurityPolicyRequest); i { case 0: return &v.state @@ -178628,7 +186740,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionSslCertificateRequest); i { case 0: return &v.state @@ -178640,7 +186752,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionSslPolicyRequest); i { case 0: return &v.state @@ -178652,7 +186764,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionTargetHttpProxyRequest); i { case 0: return &v.state @@ -178664,7 +186776,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionTargetHttpsProxyRequest); i { case 0: return &v.state @@ -178676,7 +186788,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionTargetTcpProxyRequest); i { case 0: return &v.state @@ -178688,7 +186800,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRegionUrlMapRequest); i { case 0: return &v.state @@ -178700,7 +186812,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteReservationRequest); i { case 0: return &v.state @@ -178712,7 +186824,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteResourcePolicyRequest); i { case 0: return &v.state @@ -178724,7 +186836,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRouteRequest); i { case 0: return &v.state @@ -178736,7 +186848,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteRouterRequest); i { case 0: return &v.state @@ -178748,7 +186860,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSecurityPolicyRequest); i { case 0: return &v.state @@ -178760,7 +186872,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteServiceAttachmentRequest); i { case 0: return &v.state @@ -178772,7 +186884,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSignedUrlKeyBackendBucketRequest); i { case 0: return &v.state @@ -178784,7 +186896,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSignedUrlKeyBackendServiceRequest); i { case 0: return &v.state @@ -178796,7 +186908,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSnapshotRequest); i { case 0: return &v.state @@ -178808,7 +186920,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSslCertificateRequest); i { case 0: return &v.state @@ -178820,7 +186932,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSslPolicyRequest); i { case 0: return &v.state @@ -178832,7 +186944,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteSubnetworkRequest); i { case 0: return &v.state @@ -178844,7 +186956,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetGrpcProxyRequest); i { case 0: return &v.state @@ -178856,7 +186968,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetHttpProxyRequest); i { case 0: return &v.state @@ -178868,7 +186980,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetHttpsProxyRequest); i { case 0: return &v.state @@ -178880,7 +186992,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetInstanceRequest); i { case 0: return &v.state @@ -178892,7 +187004,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetPoolRequest); i { case 0: return &v.state @@ -178904,7 +187016,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetSslProxyRequest); i { case 0: return &v.state @@ -178916,7 +187028,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetTcpProxyRequest); i { case 0: return &v.state @@ -178928,7 +187040,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteTargetVpnGatewayRequest); i { case 0: return &v.state @@ -178940,7 +187052,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteUrlMapRequest); i { case 0: return &v.state @@ -178952,7 +187064,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteVpnGatewayRequest); i { case 0: return &v.state @@ -178964,7 +187076,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteVpnTunnelRequest); i { case 0: return &v.state @@ -178976,7 +187088,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteZoneOperationRequest); i { case 0: return &v.state @@ -178988,7 +187100,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeleteZoneOperationResponse); i { case 0: return &v.state @@ -179000,7 +187112,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Denied); i { case 0: return &v.state @@ -179012,7 +187124,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeprecateImageRequest); i { case 0: return &v.state @@ -179024,7 +187136,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DeprecationStatus); i { case 0: return &v.state @@ -179036,7 +187148,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DetachDiskInstanceRequest); i { case 0: return &v.state @@ -179048,7 +187160,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DetachNetworkEndpointsGlobalNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -179060,7 +187172,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DetachNetworkEndpointsNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -179072,7 +187184,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DetachNetworkEndpointsRegionNetworkEndpointGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisableXpnHostProjectRequest); i { case 0: return &v.state @@ -179084,7 +187208,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisableXpnResourceProjectRequest); i { case 0: return &v.state @@ -179096,7 +187220,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Disk); i { case 0: return &v.state @@ -179108,7 +187232,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskAggregatedList); i { case 0: return &v.state @@ -179120,7 +187244,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskAsyncReplication); i { case 0: return &v.state @@ -179132,7 +187256,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskAsyncReplicationList); i { case 0: return &v.state @@ -179144,7 +187268,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskInstantiationConfig); i { case 0: return &v.state @@ -179156,7 +187280,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskList); i { case 0: return &v.state @@ -179168,7 +187292,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskMoveRequest); i { case 0: return &v.state @@ -179180,7 +187304,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskParams); i { case 0: return &v.state @@ -179192,7 +187316,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskResourceStatus); i { case 0: return &v.state @@ -179204,7 +187328,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskResourceStatusAsyncReplicationStatus); i { case 0: return &v.state @@ -179216,7 +187340,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskType); i { case 0: return &v.state @@ -179228,7 +187352,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[273].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskTypeAggregatedList); i { case 0: return &v.state @@ -179240,7 +187364,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskTypeList); i { case 0: return &v.state @@ -179252,7 +187376,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DiskTypesScopedList); i { case 0: return &v.state @@ -179264,7 +187388,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[276].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisksAddResourcePoliciesRequest); i { case 0: return &v.state @@ -179276,7 +187400,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[277].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisksRemoveResourcePoliciesRequest); i { case 0: return &v.state @@ -179288,7 +187412,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[278].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisksResizeRequest); i { case 0: return &v.state @@ -179300,7 +187424,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[279].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisksScopedList); i { case 0: return &v.state @@ -179312,7 +187436,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[280].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisksStartAsyncReplicationRequest); i { case 0: return &v.state @@ -179324,7 +187448,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisksStopGroupAsyncReplicationResource); i { case 0: return &v.state @@ -179336,7 +187460,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[273].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DisplayDevice); i { case 0: return &v.state @@ -179348,7 +187472,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DistributionPolicy); i { case 0: return &v.state @@ -179360,7 +187484,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DistributionPolicyZoneConfiguration); i { case 0: return &v.state @@ -179372,7 +187496,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[276].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Duration); i { case 0: return &v.state @@ -179384,7 +187508,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[277].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnableXpnHostProjectRequest); i { case 0: return &v.state @@ -179396,7 +187520,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[278].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnableXpnResourceProjectRequest); i { case 0: return &v.state @@ -179408,7 +187532,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[279].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Error); i { case 0: return &v.state @@ -179420,7 +187544,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[280].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ErrorDetails); i { case 0: return &v.state @@ -179432,7 +187556,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ErrorInfo); i { case 0: return &v.state @@ -179444,7 +187568,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Errors); i { case 0: return &v.state @@ -179456,7 +187580,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangedPeeringRoute); i { case 0: return &v.state @@ -179468,7 +187592,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangedPeeringRoutesList); i { case 0: return &v.state @@ -179480,7 +187604,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExpandIpCidrRangeSubnetworkRequest); i { case 0: return &v.state @@ -179492,7 +187616,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Expr); i { case 0: return &v.state @@ -179504,7 +187628,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExternalVpnGateway); i { case 0: return &v.state @@ -179516,7 +187640,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExternalVpnGatewayInterface); i { case 0: return &v.state @@ -179528,7 +187652,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExternalVpnGatewayList); i { case 0: return &v.state @@ -179540,7 +187664,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FileContentBuffer); i { case 0: return &v.state @@ -179552,7 +187676,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Firewall); i { case 0: return &v.state @@ -179564,7 +187688,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallList); i { case 0: return &v.state @@ -179576,7 +187700,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallLogConfig); i { case 0: return &v.state @@ -179588,7 +187712,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPoliciesListAssociationsResponse); i { case 0: return &v.state @@ -179600,7 +187724,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPolicy); i { case 0: return &v.state @@ -179612,7 +187736,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPolicyAssociation); i { case 0: return &v.state @@ -179624,7 +187748,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPolicyList); i { case 0: return &v.state @@ -179636,7 +187760,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPolicyRule); i { case 0: return &v.state @@ -179648,7 +187772,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPolicyRuleMatcher); i { case 0: return &v.state @@ -179660,7 +187784,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPolicyRuleMatcherLayer4Config); i { case 0: return &v.state @@ -179672,7 +187796,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FirewallPolicyRuleSecureTag); i { case 0: return &v.state @@ -179684,7 +187808,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FixedOrPercent); i { case 0: return &v.state @@ -179696,7 +187820,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForwardingRule); i { case 0: return &v.state @@ -179708,7 +187832,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForwardingRuleAggregatedList); i { case 0: return &v.state @@ -179720,7 +187844,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForwardingRuleList); i { case 0: return &v.state @@ -179732,7 +187856,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForwardingRuleReference); i { case 0: return &v.state @@ -179744,7 +187868,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForwardingRuleServiceDirectoryRegistration); i { case 0: return &v.state @@ -179756,7 +187880,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ForwardingRulesScopedList); i { case 0: return &v.state @@ -179768,7 +187892,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GRPCHealthCheck); i { case 0: return &v.state @@ -179780,7 +187904,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAcceleratorTypeRequest); i { case 0: return &v.state @@ -179792,7 +187916,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAddressRequest); i { case 0: return &v.state @@ -179804,7 +187928,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAssociationFirewallPolicyRequest); i { case 0: return &v.state @@ -179816,7 +187940,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAssociationNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -179828,7 +187952,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAssociationRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -179840,7 +187964,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAutoscalerRequest); i { case 0: return &v.state @@ -179852,7 +187976,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBackendBucketRequest); i { case 0: return &v.state @@ -179864,7 +187988,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetBackendServiceRequest); i { case 0: return &v.state @@ -179876,7 +188000,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetDiagnosticsInterconnectRequest); i { case 0: return &v.state @@ -179888,7 +188012,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetDiskRequest); i { case 0: return &v.state @@ -179900,7 +188024,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetDiskTypeRequest); i { case 0: return &v.state @@ -179912,7 +188036,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[330].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetEffectiveFirewallsInstanceRequest); i { case 0: return &v.state @@ -179924,7 +188048,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetEffectiveFirewallsNetworkRequest); i { case 0: return &v.state @@ -179936,7 +188060,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[332].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetEffectiveFirewallsRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -179948,7 +188072,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetExternalVpnGatewayRequest); i { case 0: return &v.state @@ -179960,7 +188084,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[334].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFirewallPolicyRequest); i { case 0: return &v.state @@ -179972,7 +188096,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[335].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFirewallRequest); i { case 0: return &v.state @@ -179984,7 +188108,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetForwardingRuleRequest); i { case 0: return &v.state @@ -179996,7 +188120,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[337].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetFromFamilyImageRequest); i { case 0: return &v.state @@ -180008,7 +188132,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[338].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalAddressRequest); i { case 0: return &v.state @@ -180020,7 +188144,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[330].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[339].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalForwardingRuleRequest); i { case 0: return &v.state @@ -180032,7 +188156,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -180044,7 +188168,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[332].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalOperationRequest); i { case 0: return &v.state @@ -180056,7 +188180,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalOrganizationOperationRequest); i { case 0: return &v.state @@ -180068,7 +188192,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[334].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGlobalPublicDelegatedPrefixeRequest); i { case 0: return &v.state @@ -180080,7 +188204,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[335].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetGuestAttributesInstanceRequest); i { case 0: return &v.state @@ -180092,7 +188216,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetHealthBackendServiceRequest); i { case 0: return &v.state @@ -180104,7 +188228,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[337].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetHealthCheckRequest); i { case 0: return &v.state @@ -180116,7 +188240,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[338].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetHealthRegionBackendServiceRequest); i { case 0: return &v.state @@ -180128,7 +188252,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[339].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetHealthTargetPoolRequest); i { case 0: return &v.state @@ -180140,7 +188264,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetIamPolicyBackendBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyBackendServiceRequest); i { case 0: return &v.state @@ -180152,7 +188288,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyDiskRequest); i { case 0: return &v.state @@ -180164,7 +188300,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyFirewallPolicyRequest); i { case 0: return &v.state @@ -180176,7 +188312,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyImageRequest); i { case 0: return &v.state @@ -180188,7 +188324,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyInstanceRequest); i { case 0: return &v.state @@ -180200,7 +188336,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[355].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyInstanceTemplateRequest); i { case 0: return &v.state @@ -180212,7 +188348,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyLicenseRequest); i { case 0: return &v.state @@ -180224,7 +188360,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyMachineImageRequest); i { case 0: return &v.state @@ -180236,7 +188372,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyNetworkAttachmentRequest); i { case 0: return &v.state @@ -180248,7 +188384,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -180260,7 +188396,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyNodeGroupRequest); i { case 0: return &v.state @@ -180272,7 +188408,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyNodeTemplateRequest); i { case 0: return &v.state @@ -180284,7 +188420,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyRegionBackendServiceRequest); i { case 0: return &v.state @@ -180296,7 +188432,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyRegionDiskRequest); i { case 0: return &v.state @@ -180308,7 +188444,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -180320,7 +188456,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[355].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyReservationRequest); i { case 0: return &v.state @@ -180332,7 +188468,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyResourcePolicyRequest); i { case 0: return &v.state @@ -180344,7 +188480,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[367].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicyServiceAttachmentRequest); i { case 0: return &v.state @@ -180356,7 +188492,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicySnapshotRequest); i { case 0: return &v.state @@ -180368,7 +188504,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetIamPolicySubnetworkRequest); i { case 0: return &v.state @@ -180380,7 +188516,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetImageFamilyViewRequest); i { case 0: return &v.state @@ -180392,7 +188528,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[371].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetImageRequest); i { case 0: return &v.state @@ -180404,7 +188540,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInstanceGroupManagerRequest); i { case 0: return &v.state @@ -180416,7 +188552,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInstanceGroupRequest); i { case 0: return &v.state @@ -180428,7 +188564,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[374].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInstanceRequest); i { case 0: return &v.state @@ -180440,7 +188576,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInstanceTemplateRequest); i { case 0: return &v.state @@ -180452,7 +188588,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[376].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInterconnectAttachmentRequest); i { case 0: return &v.state @@ -180464,7 +188600,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[367].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[377].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInterconnectLocationRequest); i { case 0: return &v.state @@ -180476,7 +188612,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInterconnectRemoteLocationRequest); i { case 0: return &v.state @@ -180488,7 +188624,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[379].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInterconnectRequest); i { case 0: return &v.state @@ -180500,7 +188636,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLicenseCodeRequest); i { case 0: return &v.state @@ -180512,7 +188648,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[371].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetLicenseRequest); i { case 0: return &v.state @@ -180524,7 +188660,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[382].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMachineImageRequest); i { case 0: return &v.state @@ -180536,7 +188672,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetMachineTypeRequest); i { case 0: return &v.state @@ -180548,7 +188684,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[374].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMacsecConfigInterconnectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNatIpInfoRouterRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNatMappingInfoRoutersRequest); i { case 0: return &v.state @@ -180560,7 +188720,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNetworkAttachmentRequest); i { case 0: return &v.state @@ -180572,7 +188732,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[376].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNetworkEdgeSecurityServiceRequest); i { case 0: return &v.state @@ -180584,7 +188744,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[377].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -180596,7 +188756,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[390].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -180608,7 +188768,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[379].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[391].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNetworkRequest); i { case 0: return &v.state @@ -180620,7 +188780,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[392].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNodeGroupRequest); i { case 0: return &v.state @@ -180632,7 +188792,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNodeTemplateRequest); i { case 0: return &v.state @@ -180644,7 +188804,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[382].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[394].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetNodeTypeRequest); i { case 0: return &v.state @@ -180656,7 +188816,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPacketMirroringRequest); i { case 0: return &v.state @@ -180668,7 +188828,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[396].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetProjectRequest); i { case 0: return &v.state @@ -180680,7 +188840,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPublicAdvertisedPrefixeRequest); i { case 0: return &v.state @@ -180692,7 +188852,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetPublicDelegatedPrefixeRequest); i { case 0: return &v.state @@ -180704,7 +188864,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionAutoscalerRequest); i { case 0: return &v.state @@ -180716,7 +188876,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionBackendServiceRequest); i { case 0: return &v.state @@ -180728,7 +188888,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionCommitmentRequest); i { case 0: return &v.state @@ -180740,7 +188900,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[390].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionDiskRequest); i { case 0: return &v.state @@ -180752,7 +188912,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[391].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[403].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionDiskTypeRequest); i { case 0: return &v.state @@ -180764,7 +188924,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[392].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionHealthCheckRequest); i { case 0: return &v.state @@ -180776,7 +188936,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionHealthCheckServiceRequest); i { case 0: return &v.state @@ -180788,7 +188948,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[394].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -180800,7 +188960,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionInstanceGroupRequest); i { case 0: return &v.state @@ -180812,7 +188972,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[396].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[408].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionInstanceTemplateRequest); i { case 0: return &v.state @@ -180824,7 +188984,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -180836,7 +188996,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -180848,7 +189008,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionNotificationEndpointRequest); i { case 0: return &v.state @@ -180860,7 +189020,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionOperationRequest); i { case 0: return &v.state @@ -180872,7 +189032,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionRequest); i { case 0: return &v.state @@ -180884,7 +189044,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionSecurityPolicyRequest); i { case 0: return &v.state @@ -180896,7 +189056,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[403].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionSslCertificateRequest); i { case 0: return &v.state @@ -180908,7 +189068,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionSslPolicyRequest); i { case 0: return &v.state @@ -180920,7 +189080,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[417].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionTargetHttpProxyRequest); i { case 0: return &v.state @@ -180932,7 +189092,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[418].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionTargetHttpsProxyRequest); i { case 0: return &v.state @@ -180944,7 +189104,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[419].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionTargetTcpProxyRequest); i { case 0: return &v.state @@ -180956,7 +189116,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[408].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[420].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRegionUrlMapRequest); i { case 0: return &v.state @@ -180968,7 +189128,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[421].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetReservationRequest); i { case 0: return &v.state @@ -180980,7 +189140,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[422].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetResourcePolicyRequest); i { case 0: return &v.state @@ -180992,7 +189152,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[423].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRouteRequest); i { case 0: return &v.state @@ -181004,7 +189164,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[424].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRouterRequest); i { case 0: return &v.state @@ -181016,7 +189176,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[425].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRouterStatusRouterRequest); i { case 0: return &v.state @@ -181028,7 +189188,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[426].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRuleFirewallPolicyRequest); i { case 0: return &v.state @@ -181040,7 +189200,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[427].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRuleNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -181052,7 +189212,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[428].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRuleRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -181064,7 +189224,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[417].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[429].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRuleRegionSecurityPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[430].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRuleSecurityPolicyRequest); i { case 0: return &v.state @@ -181076,7 +189248,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[418].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[431].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetScreenshotInstanceRequest); i { case 0: return &v.state @@ -181088,7 +189260,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[419].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[432].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSecurityPolicyRequest); i { case 0: return &v.state @@ -181100,7 +189272,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[420].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[433].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSerialPortOutputInstanceRequest); i { case 0: return &v.state @@ -181112,7 +189284,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[421].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[434].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetServiceAttachmentRequest); i { case 0: return &v.state @@ -181124,7 +189296,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[422].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[435].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetShieldedInstanceIdentityInstanceRequest); i { case 0: return &v.state @@ -181136,7 +189308,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[423].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[436].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSnapshotRequest); i { case 0: return &v.state @@ -181148,7 +189320,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[424].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[437].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetSnapshotSettingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[438].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSslCertificateRequest); i { case 0: return &v.state @@ -181160,7 +189344,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[425].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[439].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSslPolicyRequest); i { case 0: return &v.state @@ -181172,7 +189356,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[426].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[440].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetStatusVpnGatewayRequest); i { case 0: return &v.state @@ -181184,7 +189368,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[427].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[441].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetSubnetworkRequest); i { case 0: return &v.state @@ -181196,7 +189380,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[428].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[442].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetGrpcProxyRequest); i { case 0: return &v.state @@ -181208,7 +189392,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[429].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[443].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetHttpProxyRequest); i { case 0: return &v.state @@ -181220,7 +189404,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[430].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[444].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetHttpsProxyRequest); i { case 0: return &v.state @@ -181232,7 +189416,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[431].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[445].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetInstanceRequest); i { case 0: return &v.state @@ -181244,7 +189428,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[432].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[446].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetPoolRequest); i { case 0: return &v.state @@ -181256,7 +189440,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[433].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[447].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetSslProxyRequest); i { case 0: return &v.state @@ -181268,7 +189452,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[434].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[448].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetTcpProxyRequest); i { case 0: return &v.state @@ -181280,7 +189464,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[435].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[449].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetTargetVpnGatewayRequest); i { case 0: return &v.state @@ -181292,7 +189476,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[436].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[450].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetUrlMapRequest); i { case 0: return &v.state @@ -181304,7 +189488,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[437].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[451].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVpnGatewayRequest); i { case 0: return &v.state @@ -181316,7 +189500,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[438].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[452].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetVpnTunnelRequest); i { case 0: return &v.state @@ -181328,7 +189512,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[439].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[453].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetXpnHostProjectRequest); i { case 0: return &v.state @@ -181340,7 +189524,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[440].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[454].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetXpnResourcesProjectsRequest); i { case 0: return &v.state @@ -181352,7 +189536,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[441].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[455].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetZoneOperationRequest); i { case 0: return &v.state @@ -181364,7 +189548,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[442].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[456].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetZoneRequest); i { case 0: return &v.state @@ -181376,7 +189560,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[443].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[457].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GlobalAddressesMoveRequest); i { case 0: return &v.state @@ -181388,7 +189572,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[444].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[458].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GlobalNetworkEndpointGroupsAttachEndpointsRequest); i { case 0: return &v.state @@ -181400,7 +189584,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[445].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[459].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GlobalNetworkEndpointGroupsDetachEndpointsRequest); i { case 0: return &v.state @@ -181412,7 +189596,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[446].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[460].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GlobalOrganizationSetPolicyRequest); i { case 0: return &v.state @@ -181424,7 +189608,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[447].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[461].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GlobalSetLabelsRequest); i { case 0: return &v.state @@ -181436,7 +189620,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[448].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[462].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GlobalSetPolicyRequest); i { case 0: return &v.state @@ -181448,7 +189632,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[449].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[463].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuestAttributes); i { case 0: return &v.state @@ -181460,7 +189644,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[450].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[464].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuestAttributesEntry); i { case 0: return &v.state @@ -181472,7 +189656,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[451].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[465].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuestAttributesValue); i { case 0: return &v.state @@ -181484,7 +189668,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[452].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[466].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GuestOsFeature); i { case 0: return &v.state @@ -181496,7 +189680,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[453].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[467].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTP2HealthCheck); i { case 0: return &v.state @@ -181508,7 +189692,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[454].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[468].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPHealthCheck); i { case 0: return &v.state @@ -181520,7 +189704,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[455].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[469].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HTTPSHealthCheck); i { case 0: return &v.state @@ -181532,7 +189716,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[456].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[470].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheck); i { case 0: return &v.state @@ -181544,7 +189728,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[457].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[471].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckList); i { case 0: return &v.state @@ -181556,7 +189740,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[458].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[472].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckLogConfig); i { case 0: return &v.state @@ -181568,7 +189752,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[459].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[473].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckReference); i { case 0: return &v.state @@ -181580,7 +189764,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[460].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[474].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckService); i { case 0: return &v.state @@ -181592,7 +189776,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[461].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[475].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckServiceReference); i { case 0: return &v.state @@ -181604,7 +189788,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[462].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[476].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthCheckServicesList); i { case 0: return &v.state @@ -181616,7 +189800,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[463].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[477].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthChecksAggregatedList); i { case 0: return &v.state @@ -181628,7 +189812,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[464].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[478].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthChecksScopedList); i { case 0: return &v.state @@ -181640,7 +189824,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[465].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[479].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthStatus); i { case 0: return &v.state @@ -181652,7 +189836,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[466].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[480].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HealthStatusForNetworkEndpoint); i { case 0: return &v.state @@ -181664,7 +189848,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[467].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[481].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Help); i { case 0: return &v.state @@ -181676,7 +189860,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[468].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[482].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelpLink); i { case 0: return &v.state @@ -181688,7 +189872,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[469].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[483].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HostRule); i { case 0: return &v.state @@ -181700,7 +189884,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[470].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[484].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpFaultAbort); i { case 0: return &v.state @@ -181712,7 +189896,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[471].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[485].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpFaultDelay); i { case 0: return &v.state @@ -181724,7 +189908,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[472].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[486].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpFaultInjection); i { case 0: return &v.state @@ -181736,7 +189920,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[473].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[487].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpHeaderAction); i { case 0: return &v.state @@ -181748,7 +189932,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[474].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[488].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpHeaderMatch); i { case 0: return &v.state @@ -181760,7 +189944,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[475].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[489].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpHeaderOption); i { case 0: return &v.state @@ -181772,7 +189956,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[476].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[490].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpQueryParameterMatch); i { case 0: return &v.state @@ -181784,7 +189968,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[477].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[491].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRedirectAction); i { case 0: return &v.state @@ -181796,7 +189980,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[478].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[492].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRetryPolicy); i { case 0: return &v.state @@ -181808,7 +189992,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[479].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[493].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRouteAction); i { case 0: return &v.state @@ -181820,7 +190004,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[480].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[494].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRouteRule); i { case 0: return &v.state @@ -181832,7 +190016,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[481].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[495].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HttpRouteRuleMatch); i { case 0: return &v.state @@ -181844,7 +190028,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[482].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[496].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Image); i { case 0: return &v.state @@ -181856,7 +190040,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[483].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[497].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImageFamilyView); i { case 0: return &v.state @@ -181868,7 +190052,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[484].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[498].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ImageList); i { case 0: return &v.state @@ -181880,7 +190064,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[485].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[499].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InitialStateConfig); i { case 0: return &v.state @@ -181892,7 +190076,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[486].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[500].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertAddressRequest); i { case 0: return &v.state @@ -181904,7 +190088,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[487].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[501].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertAutoscalerRequest); i { case 0: return &v.state @@ -181916,7 +190100,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[488].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[502].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertBackendBucketRequest); i { case 0: return &v.state @@ -181928,7 +190112,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[489].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[503].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertBackendServiceRequest); i { case 0: return &v.state @@ -181940,7 +190124,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[490].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[504].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertDiskRequest); i { case 0: return &v.state @@ -181952,7 +190136,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[491].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[505].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertExternalVpnGatewayRequest); i { case 0: return &v.state @@ -181964,7 +190148,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[492].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[506].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertFirewallPolicyRequest); i { case 0: return &v.state @@ -181976,7 +190160,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[493].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[507].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertFirewallRequest); i { case 0: return &v.state @@ -181988,7 +190172,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[494].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[508].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertForwardingRuleRequest); i { case 0: return &v.state @@ -182000,7 +190184,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[495].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[509].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertGlobalAddressRequest); i { case 0: return &v.state @@ -182012,7 +190196,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[496].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[510].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertGlobalForwardingRuleRequest); i { case 0: return &v.state @@ -182024,7 +190208,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[497].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[511].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertGlobalNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -182036,7 +190220,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[498].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[512].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertGlobalPublicDelegatedPrefixeRequest); i { case 0: return &v.state @@ -182048,7 +190232,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[499].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[513].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertHealthCheckRequest); i { case 0: return &v.state @@ -182060,7 +190244,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[500].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[514].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertImageRequest); i { case 0: return &v.state @@ -182072,7 +190256,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[501].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[515].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertInstanceGroupManagerRequest); i { case 0: return &v.state @@ -182084,7 +190268,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[502].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[516].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertInstanceGroupRequest); i { case 0: return &v.state @@ -182096,7 +190280,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[503].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[517].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertInstanceRequest); i { case 0: return &v.state @@ -182108,7 +190292,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[504].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[518].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertInstanceTemplateRequest); i { case 0: return &v.state @@ -182120,7 +190304,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[505].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[519].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertInterconnectAttachmentRequest); i { case 0: return &v.state @@ -182132,7 +190316,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[506].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[520].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertInterconnectRequest); i { case 0: return &v.state @@ -182144,7 +190328,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[507].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[521].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertLicenseRequest); i { case 0: return &v.state @@ -182156,7 +190340,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[508].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[522].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertMachineImageRequest); i { case 0: return &v.state @@ -182168,7 +190352,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[509].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[523].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertNetworkAttachmentRequest); i { case 0: return &v.state @@ -182180,7 +190364,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[510].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[524].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertNetworkEdgeSecurityServiceRequest); i { case 0: return &v.state @@ -182192,7 +190376,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[511].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[525].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -182204,7 +190388,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[512].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[526].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -182216,7 +190400,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[513].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[527].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertNetworkRequest); i { case 0: return &v.state @@ -182228,7 +190412,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[514].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[528].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertNodeGroupRequest); i { case 0: return &v.state @@ -182240,7 +190424,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[515].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[529].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertNodeTemplateRequest); i { case 0: return &v.state @@ -182252,7 +190436,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[516].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[530].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertPacketMirroringRequest); i { case 0: return &v.state @@ -182264,7 +190448,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[517].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[531].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertPublicAdvertisedPrefixeRequest); i { case 0: return &v.state @@ -182276,7 +190460,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[518].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[532].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertPublicDelegatedPrefixeRequest); i { case 0: return &v.state @@ -182288,7 +190472,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[519].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[533].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionAutoscalerRequest); i { case 0: return &v.state @@ -182300,7 +190484,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[520].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[534].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionBackendServiceRequest); i { case 0: return &v.state @@ -182312,7 +190496,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[521].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[535].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionCommitmentRequest); i { case 0: return &v.state @@ -182324,7 +190508,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[522].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[536].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionDiskRequest); i { case 0: return &v.state @@ -182336,7 +190520,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[523].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[537].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionHealthCheckRequest); i { case 0: return &v.state @@ -182348,7 +190532,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[524].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[538].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionHealthCheckServiceRequest); i { case 0: return &v.state @@ -182360,7 +190544,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[525].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[539].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -182372,7 +190556,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[526].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[540].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionInstanceTemplateRequest); i { case 0: return &v.state @@ -182384,7 +190568,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[527].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[541].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -182396,7 +190580,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[528].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[542].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -182408,7 +190592,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[529].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[543].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionNotificationEndpointRequest); i { case 0: return &v.state @@ -182420,7 +190604,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[530].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[544].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionSecurityPolicyRequest); i { case 0: return &v.state @@ -182432,7 +190616,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[531].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[545].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionSslCertificateRequest); i { case 0: return &v.state @@ -182444,7 +190628,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[532].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[546].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionSslPolicyRequest); i { case 0: return &v.state @@ -182456,7 +190640,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[533].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[547].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionTargetHttpProxyRequest); i { case 0: return &v.state @@ -182468,7 +190652,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[534].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[548].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionTargetHttpsProxyRequest); i { case 0: return &v.state @@ -182480,7 +190664,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[535].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[549].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionTargetTcpProxyRequest); i { case 0: return &v.state @@ -182492,7 +190676,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[536].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[550].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRegionUrlMapRequest); i { case 0: return &v.state @@ -182504,7 +190688,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[537].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[551].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertReservationRequest); i { case 0: return &v.state @@ -182516,7 +190700,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[538].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[552].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertResourcePolicyRequest); i { case 0: return &v.state @@ -182528,7 +190712,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[539].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[553].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRouteRequest); i { case 0: return &v.state @@ -182540,7 +190724,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[540].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[554].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertRouterRequest); i { case 0: return &v.state @@ -182552,7 +190736,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[541].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[555].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertSecurityPolicyRequest); i { case 0: return &v.state @@ -182564,7 +190748,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[542].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[556].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertServiceAttachmentRequest); i { case 0: return &v.state @@ -182576,7 +190760,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[543].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[557].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertSnapshotRequest); i { case 0: return &v.state @@ -182588,7 +190772,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[544].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[558].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertSslCertificateRequest); i { case 0: return &v.state @@ -182600,7 +190784,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[545].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[559].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertSslPolicyRequest); i { case 0: return &v.state @@ -182612,7 +190796,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[546].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[560].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertSubnetworkRequest); i { case 0: return &v.state @@ -182624,7 +190808,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[547].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[561].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetGrpcProxyRequest); i { case 0: return &v.state @@ -182636,7 +190820,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[548].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[562].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetHttpProxyRequest); i { case 0: return &v.state @@ -182648,7 +190832,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[549].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[563].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetHttpsProxyRequest); i { case 0: return &v.state @@ -182660,7 +190844,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[550].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[564].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetInstanceRequest); i { case 0: return &v.state @@ -182672,7 +190856,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[551].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[565].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetPoolRequest); i { case 0: return &v.state @@ -182684,7 +190868,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[552].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[566].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetSslProxyRequest); i { case 0: return &v.state @@ -182696,7 +190880,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[553].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[567].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetTcpProxyRequest); i { case 0: return &v.state @@ -182708,7 +190892,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[554].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[568].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertTargetVpnGatewayRequest); i { case 0: return &v.state @@ -182720,7 +190904,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[555].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[569].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertUrlMapRequest); i { case 0: return &v.state @@ -182732,7 +190916,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[556].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[570].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertVpnGatewayRequest); i { case 0: return &v.state @@ -182744,7 +190928,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[557].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[571].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InsertVpnTunnelRequest); i { case 0: return &v.state @@ -182756,7 +190940,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[558].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[572].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Instance); i { case 0: return &v.state @@ -182768,7 +190952,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[559].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[573].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceAggregatedList); i { case 0: return &v.state @@ -182780,7 +190964,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[560].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[574].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceConsumptionData); i { case 0: return &v.state @@ -182792,7 +190976,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[561].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[575].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceConsumptionInfo); i { case 0: return &v.state @@ -182804,7 +190988,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[562].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[576].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroup); i { case 0: return &v.state @@ -182816,7 +191000,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[563].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[577].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupAggregatedList); i { case 0: return &v.state @@ -182828,7 +191012,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[564].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[578].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupList); i { case 0: return &v.state @@ -182840,7 +191024,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[565].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[579].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManager); i { case 0: return &v.state @@ -182852,7 +191036,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[566].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[580].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerActionsSummary); i { case 0: return &v.state @@ -182864,7 +191048,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[567].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[581].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerAggregatedList); i { case 0: return &v.state @@ -182876,7 +191060,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[568].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[582].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerAutoHealingPolicy); i { case 0: return &v.state @@ -182888,7 +191072,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[569].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[583].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerInstanceLifecyclePolicy); i { case 0: return &v.state @@ -182900,7 +191084,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[570].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[584].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerList); i { case 0: return &v.state @@ -182912,7 +191096,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[571].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[585].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerStatus); i { case 0: return &v.state @@ -182924,7 +191108,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[572].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[586].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerStatusStateful); i { case 0: return &v.state @@ -182936,7 +191120,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[573].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[587].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerStatusStatefulPerInstanceConfigs); i { case 0: return &v.state @@ -182948,7 +191132,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[574].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[588].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerStatusVersionTarget); i { case 0: return &v.state @@ -182960,7 +191144,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[575].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[589].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerUpdatePolicy); i { case 0: return &v.state @@ -182972,7 +191156,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[576].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[590].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagerVersion); i { case 0: return &v.state @@ -182984,7 +191168,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[577].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[591].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersAbandonInstancesRequest); i { case 0: return &v.state @@ -182996,7 +191180,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[578].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[592].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersApplyUpdatesRequest); i { case 0: return &v.state @@ -183008,7 +191192,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[579].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[593].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersCreateInstancesRequest); i { case 0: return &v.state @@ -183020,7 +191204,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[580].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[594].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersDeleteInstancesRequest); i { case 0: return &v.state @@ -183032,7 +191216,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[581].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[595].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersDeletePerInstanceConfigsReq); i { case 0: return &v.state @@ -183044,7 +191228,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[582].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[596].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersListErrorsResponse); i { case 0: return &v.state @@ -183056,7 +191240,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[583].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[597].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersListManagedInstancesResponse); i { case 0: return &v.state @@ -183068,7 +191252,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[584].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[598].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersListPerInstanceConfigsResp); i { case 0: return &v.state @@ -183080,7 +191264,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[585].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[599].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersPatchPerInstanceConfigsReq); i { case 0: return &v.state @@ -183092,7 +191276,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[586].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[600].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersRecreateInstancesRequest); i { case 0: return &v.state @@ -183104,7 +191288,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[587].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[601].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersScopedList); i { case 0: return &v.state @@ -183116,7 +191300,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[588].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[602].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersSetInstanceTemplateRequest); i { case 0: return &v.state @@ -183128,7 +191312,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[589].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[603].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersSetTargetPoolsRequest); i { case 0: return &v.state @@ -183140,7 +191324,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[590].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[604].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupManagersUpdatePerInstanceConfigsReq); i { case 0: return &v.state @@ -183152,7 +191336,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[591].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[605].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupsAddInstancesRequest); i { case 0: return &v.state @@ -183164,7 +191348,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[592].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[606].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupsListInstances); i { case 0: return &v.state @@ -183176,7 +191360,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[593].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[607].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupsListInstancesRequest); i { case 0: return &v.state @@ -183188,7 +191372,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[594].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[608].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupsRemoveInstancesRequest); i { case 0: return &v.state @@ -183200,7 +191384,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[595].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[609].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupsScopedList); i { case 0: return &v.state @@ -183212,7 +191396,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[596].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[610].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceGroupsSetNamedPortsRequest); i { case 0: return &v.state @@ -183224,7 +191408,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[597].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[611].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceList); i { case 0: return &v.state @@ -183236,7 +191420,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[598].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[612].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceListReferrers); i { case 0: return &v.state @@ -183248,7 +191432,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[599].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[613].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceManagedByIgmError); i { case 0: return &v.state @@ -183260,7 +191444,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[600].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[614].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceManagedByIgmErrorInstanceActionDetails); i { case 0: return &v.state @@ -183272,7 +191456,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[601].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[615].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceManagedByIgmErrorManagedInstanceError); i { case 0: return &v.state @@ -183284,7 +191468,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[602].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[616].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceMoveRequest); i { case 0: return &v.state @@ -183296,7 +191480,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[603].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[617].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceParams); i { case 0: return &v.state @@ -183308,7 +191492,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[604].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[618].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceProperties); i { case 0: return &v.state @@ -183320,7 +191504,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[605].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[619].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceReference); i { case 0: return &v.state @@ -183332,7 +191516,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[606].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[620].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceTemplate); i { case 0: return &v.state @@ -183344,7 +191528,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[607].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[621].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceTemplateAggregatedList); i { case 0: return &v.state @@ -183356,7 +191540,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[608].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[622].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceTemplateList); i { case 0: return &v.state @@ -183368,7 +191552,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[609].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[623].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceTemplatesScopedList); i { case 0: return &v.state @@ -183380,7 +191564,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[610].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[624].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstanceWithNamedPorts); i { case 0: return &v.state @@ -183392,7 +191576,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[611].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[625].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesAddResourcePoliciesRequest); i { case 0: return &v.state @@ -183404,7 +191588,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[612].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[626].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstancesBulkInsertOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[627].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesGetEffectiveFirewallsResponse); i { case 0: return &v.state @@ -183416,7 +191612,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[613].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[628].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy); i { case 0: return &v.state @@ -183428,7 +191624,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[614].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[629].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesRemoveResourcePoliciesRequest); i { case 0: return &v.state @@ -183440,7 +191636,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[615].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[630].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesScopedList); i { case 0: return &v.state @@ -183452,7 +191648,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[616].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[631].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesSetLabelsRequest); i { case 0: return &v.state @@ -183464,7 +191660,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[617].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[632].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesSetMachineResourcesRequest); i { case 0: return &v.state @@ -183476,7 +191672,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[618].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[633].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InstancesSetMachineTypeRequest); i { case 0: return &v.state @@ -183488,8 +191684,80 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[619].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstancesSetMinCpuPlatformRequest); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[634].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstancesSetMinCpuPlatformRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[635].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstancesSetNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[636].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstancesSetSecurityPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[637].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstancesSetServiceAccountRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[638].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstancesStartWithEncryptionKeyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[639].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Int64RangeMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[640].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Interconnect); i { case 0: return &v.state case 1: @@ -183500,8 +191768,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[620].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstancesSetNameRequest); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[641].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachment); i { case 0: return &v.state case 1: @@ -183512,8 +191780,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[621].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstancesSetServiceAccountRequest); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[642].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachmentAggregatedList); i { case 0: return &v.state case 1: @@ -183524,8 +191792,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[622].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstancesStartWithEncryptionKeyRequest); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[643].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachmentConfigurationConstraints); i { case 0: return &v.state case 1: @@ -183536,8 +191804,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[623].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Int64RangeMatch); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[644].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange); i { case 0: return &v.state case 1: @@ -183548,8 +191816,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[624].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Interconnect); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[645].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachmentList); i { case 0: return &v.state case 1: @@ -183560,8 +191828,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[625].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachment); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[646].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachmentPartnerMetadata); i { case 0: return &v.state case 1: @@ -183572,8 +191840,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[626].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachmentAggregatedList); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[647].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachmentPrivateInfo); i { case 0: return &v.state case 1: @@ -183584,8 +191852,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[627].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachmentConfigurationConstraints); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[648].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectAttachmentsScopedList); i { case 0: return &v.state case 1: @@ -183596,8 +191864,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[628].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[649].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectCircuitInfo); i { case 0: return &v.state case 1: @@ -183608,8 +191876,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[629].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachmentList); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[650].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectDiagnostics); i { case 0: return &v.state case 1: @@ -183620,8 +191888,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[630].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachmentPartnerMetadata); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[651].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectDiagnosticsARPEntry); i { case 0: return &v.state case 1: @@ -183632,8 +191900,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[631].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachmentPrivateInfo); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[652].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectDiagnosticsLinkLACPStatus); i { case 0: return &v.state case 1: @@ -183644,8 +191912,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[632].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectAttachmentsScopedList); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[653].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectDiagnosticsLinkOpticalPower); i { case 0: return &v.state case 1: @@ -183656,8 +191924,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[633].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectCircuitInfo); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[654].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectDiagnosticsLinkStatus); i { case 0: return &v.state case 1: @@ -183668,8 +191936,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[634].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectDiagnostics); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[655].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectDiagnosticsMacsecStatus); i { case 0: return &v.state case 1: @@ -183680,8 +191948,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[635].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectDiagnosticsARPEntry); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[656].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectList); i { case 0: return &v.state case 1: @@ -183692,8 +191960,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[636].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectDiagnosticsLinkLACPStatus); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[657].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectLocation); i { case 0: return &v.state case 1: @@ -183704,8 +191972,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[637].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectDiagnosticsLinkOpticalPower); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[658].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectLocationList); i { case 0: return &v.state case 1: @@ -183716,8 +191984,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[638].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectDiagnosticsLinkStatus); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[659].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectLocationRegionInfo); i { case 0: return &v.state case 1: @@ -183728,8 +191996,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[639].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectList); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[660].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectMacsec); i { case 0: return &v.state case 1: @@ -183740,8 +192008,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[640].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectLocation); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[661].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectMacsecConfig); i { case 0: return &v.state case 1: @@ -183752,8 +192020,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[641].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectLocationList); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[662].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectMacsecConfigPreSharedKey); i { case 0: return &v.state case 1: @@ -183764,8 +192032,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[642].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterconnectLocationRegionInfo); i { + file_google_cloud_compute_v1_compute_proto_msgTypes[663].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectMacsecPreSharedKey); i { case 0: return &v.state case 1: @@ -183776,7 +192044,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[643].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[664].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InterconnectOutageNotification); i { case 0: return &v.state @@ -183788,7 +192056,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[644].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[665].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InterconnectRemoteLocation); i { case 0: return &v.state @@ -183800,7 +192068,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[645].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[666].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InterconnectRemoteLocationConstraints); i { case 0: return &v.state @@ -183812,7 +192080,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[646].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[667].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InterconnectRemoteLocationConstraintsSubnetLengthRange); i { case 0: return &v.state @@ -183824,7 +192092,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[647].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[668].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InterconnectRemoteLocationList); i { case 0: return &v.state @@ -183836,7 +192104,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[648].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[669].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InterconnectRemoteLocationPermittedConnections); i { case 0: return &v.state @@ -183848,7 +192116,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[649].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[670].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InterconnectsGetDiagnosticsResponse); i { case 0: return &v.state @@ -183860,7 +192128,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[650].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[671].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InterconnectsGetMacsecConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[672].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvalidateCacheUrlMapRequest); i { case 0: return &v.state @@ -183872,7 +192152,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[651].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[673].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Items); i { case 0: return &v.state @@ -183884,7 +192164,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[652].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[674].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*License); i { case 0: return &v.state @@ -183896,7 +192176,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[653].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[675].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LicenseCode); i { case 0: return &v.state @@ -183908,7 +192188,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[654].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[676].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LicenseCodeLicenseAlias); i { case 0: return &v.state @@ -183920,7 +192200,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[655].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[677].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LicenseResourceCommitment); i { case 0: return &v.state @@ -183932,7 +192212,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[656].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[678].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LicenseResourceRequirements); i { case 0: return &v.state @@ -183944,7 +192224,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[657].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[679].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LicensesListResponse); i { case 0: return &v.state @@ -183956,7 +192236,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[658].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[680].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAcceleratorTypesRequest); i { case 0: return &v.state @@ -183968,7 +192248,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[659].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[681].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAddressesRequest); i { case 0: return &v.state @@ -183980,7 +192260,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[660].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[682].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAssociationsFirewallPolicyRequest); i { case 0: return &v.state @@ -183992,7 +192272,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[661].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[683].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAutoscalersRequest); i { case 0: return &v.state @@ -184004,7 +192284,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[662].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[684].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAvailableFeaturesRegionSslPoliciesRequest); i { case 0: return &v.state @@ -184016,7 +192296,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[663].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[685].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListAvailableFeaturesSslPoliciesRequest); i { case 0: return &v.state @@ -184028,7 +192308,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[664].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[686].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBackendBucketsRequest); i { case 0: return &v.state @@ -184040,7 +192320,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[665].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[687].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListBackendServicesRequest); i { case 0: return &v.state @@ -184052,7 +192332,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[666].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[688].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListDiskTypesRequest); i { case 0: return &v.state @@ -184064,7 +192344,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[667].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[689].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListDisksRequest); i { case 0: return &v.state @@ -184076,7 +192356,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[668].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[690].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListErrorsInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184088,7 +192368,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[669].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[691].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListErrorsRegionInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184100,7 +192380,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[670].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[692].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListExternalVpnGatewaysRequest); i { case 0: return &v.state @@ -184112,7 +192392,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[671].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[693].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListFirewallPoliciesRequest); i { case 0: return &v.state @@ -184124,7 +192404,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[672].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[694].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListFirewallsRequest); i { case 0: return &v.state @@ -184136,7 +192416,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[673].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[695].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListForwardingRulesRequest); i { case 0: return &v.state @@ -184148,7 +192428,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[674].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[696].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGlobalAddressesRequest); i { case 0: return &v.state @@ -184160,7 +192440,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[675].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[697].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGlobalForwardingRulesRequest); i { case 0: return &v.state @@ -184172,7 +192452,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[676].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[698].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGlobalNetworkEndpointGroupsRequest); i { case 0: return &v.state @@ -184184,7 +192464,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[677].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[699].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGlobalOperationsRequest); i { case 0: return &v.state @@ -184196,7 +192476,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[678].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[700].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGlobalOrganizationOperationsRequest); i { case 0: return &v.state @@ -184208,7 +192488,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[679].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[701].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListGlobalPublicDelegatedPrefixesRequest); i { case 0: return &v.state @@ -184220,7 +192500,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[680].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[702].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListHealthChecksRequest); i { case 0: return &v.state @@ -184232,7 +192512,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[681].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[703].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListImagesRequest); i { case 0: return &v.state @@ -184244,7 +192524,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[682].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[704].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184256,7 +192536,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[683].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[705].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInstanceGroupsRequest); i { case 0: return &v.state @@ -184268,7 +192548,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[684].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[706].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInstanceTemplatesRequest); i { case 0: return &v.state @@ -184280,7 +192560,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[685].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[707].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInstancesInstanceGroupsRequest); i { case 0: return &v.state @@ -184292,7 +192572,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[686].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[708].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInstancesRegionInstanceGroupsRequest); i { case 0: return &v.state @@ -184304,7 +192584,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[687].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[709].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInstancesRequest); i { case 0: return &v.state @@ -184316,7 +192596,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[688].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[710].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInterconnectAttachmentsRequest); i { case 0: return &v.state @@ -184328,7 +192608,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[689].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[711].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInterconnectLocationsRequest); i { case 0: return &v.state @@ -184340,7 +192620,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[690].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[712].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInterconnectRemoteLocationsRequest); i { case 0: return &v.state @@ -184352,7 +192632,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[691].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[713].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListInterconnectsRequest); i { case 0: return &v.state @@ -184364,7 +192644,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[692].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[714].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListLicensesRequest); i { case 0: return &v.state @@ -184376,7 +192656,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[693].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[715].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListMachineImagesRequest); i { case 0: return &v.state @@ -184388,7 +192668,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[694].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[716].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListMachineTypesRequest); i { case 0: return &v.state @@ -184400,7 +192680,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[695].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[717].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListManagedInstancesInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184412,7 +192692,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[696].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[718].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListManagedInstancesRegionInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184424,7 +192704,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[697].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[719].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworkAttachmentsRequest); i { case 0: return &v.state @@ -184436,7 +192716,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[698].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[720].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworkEndpointGroupsRequest); i { case 0: return &v.state @@ -184448,7 +192728,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[699].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[721].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworkEndpointsGlobalNetworkEndpointGroupsRequest); i { case 0: return &v.state @@ -184460,7 +192740,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[700].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[722].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworkEndpointsNetworkEndpointGroupsRequest); i { case 0: return &v.state @@ -184472,7 +192752,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[701].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[723].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNetworkEndpointsRegionNetworkEndpointGroupsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[724].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworkFirewallPoliciesRequest); i { case 0: return &v.state @@ -184484,7 +192776,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[702].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[725].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNetworksRequest); i { case 0: return &v.state @@ -184496,7 +192788,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[703].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[726].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNodeGroupsRequest); i { case 0: return &v.state @@ -184508,7 +192800,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[704].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[727].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNodeTemplatesRequest); i { case 0: return &v.state @@ -184520,7 +192812,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[705].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[728].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNodeTypesRequest); i { case 0: return &v.state @@ -184532,7 +192824,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[706].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[729].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListNodesNodeGroupsRequest); i { case 0: return &v.state @@ -184544,7 +192836,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[707].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[730].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPacketMirroringsRequest); i { case 0: return &v.state @@ -184556,7 +192848,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[708].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[731].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPeeringRoutesNetworksRequest); i { case 0: return &v.state @@ -184568,7 +192860,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[709].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[732].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPerInstanceConfigsInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184580,7 +192872,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[710].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[733].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPerInstanceConfigsRegionInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184592,7 +192884,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[711].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[734].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPreconfiguredExpressionSetsSecurityPoliciesRequest); i { case 0: return &v.state @@ -184604,7 +192896,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[712].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[735].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPublicAdvertisedPrefixesRequest); i { case 0: return &v.state @@ -184616,7 +192908,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[713].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[736].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListPublicDelegatedPrefixesRequest); i { case 0: return &v.state @@ -184628,7 +192920,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[714].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[737].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListReferrersInstancesRequest); i { case 0: return &v.state @@ -184640,7 +192932,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[715].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[738].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionAutoscalersRequest); i { case 0: return &v.state @@ -184652,7 +192944,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[716].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[739].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionBackendServicesRequest); i { case 0: return &v.state @@ -184664,7 +192956,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[717].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[740].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionCommitmentsRequest); i { case 0: return &v.state @@ -184676,7 +192968,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[718].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[741].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionDiskTypesRequest); i { case 0: return &v.state @@ -184688,7 +192980,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[719].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[742].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionDisksRequest); i { case 0: return &v.state @@ -184700,7 +192992,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[720].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[743].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionHealthCheckServicesRequest); i { case 0: return &v.state @@ -184712,7 +193004,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[721].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[744].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionHealthChecksRequest); i { case 0: return &v.state @@ -184724,7 +193016,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[722].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[745].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionInstanceGroupManagersRequest); i { case 0: return &v.state @@ -184736,7 +193028,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[723].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[746].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionInstanceGroupsRequest); i { case 0: return &v.state @@ -184748,7 +193040,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[724].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[747].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionInstanceTemplatesRequest); i { case 0: return &v.state @@ -184760,7 +193052,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[725].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[748].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionNetworkEndpointGroupsRequest); i { case 0: return &v.state @@ -184772,7 +193064,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[726].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[749].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionNetworkFirewallPoliciesRequest); i { case 0: return &v.state @@ -184784,7 +193076,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[727].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[750].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionNotificationEndpointsRequest); i { case 0: return &v.state @@ -184796,7 +193088,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[728].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[751].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionOperationsRequest); i { case 0: return &v.state @@ -184808,7 +193100,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[729].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[752].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionSecurityPoliciesRequest); i { case 0: return &v.state @@ -184820,7 +193112,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[730].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[753].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionSslCertificatesRequest); i { case 0: return &v.state @@ -184832,7 +193124,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[731].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[754].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionSslPoliciesRequest); i { case 0: return &v.state @@ -184844,7 +193136,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[732].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[755].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionTargetHttpProxiesRequest); i { case 0: return &v.state @@ -184856,7 +193148,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[733].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[756].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionTargetHttpsProxiesRequest); i { case 0: return &v.state @@ -184868,7 +193160,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[734].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[757].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionTargetTcpProxiesRequest); i { case 0: return &v.state @@ -184880,7 +193172,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[735].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[758].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionUrlMapsRequest); i { case 0: return &v.state @@ -184892,7 +193184,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[736].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[759].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRegionsRequest); i { case 0: return &v.state @@ -184904,7 +193196,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[737].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[760].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListReservationsRequest); i { case 0: return &v.state @@ -184916,7 +193208,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[738].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[761].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListResourcePoliciesRequest); i { case 0: return &v.state @@ -184928,7 +193220,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[739].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[762].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRoutersRequest); i { case 0: return &v.state @@ -184940,7 +193232,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[740].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[763].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRoutesRequest); i { case 0: return &v.state @@ -184952,7 +193244,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[741].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[764].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSecurityPoliciesRequest); i { case 0: return &v.state @@ -184964,7 +193256,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[742].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[765].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListServiceAttachmentsRequest); i { case 0: return &v.state @@ -184976,7 +193268,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[743].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[766].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSnapshotsRequest); i { case 0: return &v.state @@ -184988,7 +193280,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[744].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[767].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSslCertificatesRequest); i { case 0: return &v.state @@ -185000,7 +193292,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[745].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[768].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSslPoliciesRequest); i { case 0: return &v.state @@ -185012,7 +193304,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[746].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[769].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListSubnetworksRequest); i { case 0: return &v.state @@ -185024,7 +193316,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[747].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[770].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetGrpcProxiesRequest); i { case 0: return &v.state @@ -185036,7 +193328,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[748].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[771].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetHttpProxiesRequest); i { case 0: return &v.state @@ -185048,7 +193340,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[749].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[772].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetHttpsProxiesRequest); i { case 0: return &v.state @@ -185060,7 +193352,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[750].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[773].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetInstancesRequest); i { case 0: return &v.state @@ -185072,7 +193364,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[751].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[774].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetPoolsRequest); i { case 0: return &v.state @@ -185084,7 +193376,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[752].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[775].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetSslProxiesRequest); i { case 0: return &v.state @@ -185096,7 +193388,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[753].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[776].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetTcpProxiesRequest); i { case 0: return &v.state @@ -185108,7 +193400,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[754].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[777].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListTargetVpnGatewaysRequest); i { case 0: return &v.state @@ -185120,7 +193412,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[755].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[778].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListUrlMapsRequest); i { case 0: return &v.state @@ -185132,7 +193424,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[756].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[779].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUsableBackendServicesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[780].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListUsableRegionBackendServicesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[781].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListUsableSubnetworksRequest); i { case 0: return &v.state @@ -185144,7 +193460,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[757].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[782].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListVpnGatewaysRequest); i { case 0: return &v.state @@ -185156,7 +193472,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[758].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[783].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListVpnTunnelsRequest); i { case 0: return &v.state @@ -185168,7 +193484,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[759].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[784].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListXpnHostsProjectsRequest); i { case 0: return &v.state @@ -185180,7 +193496,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[760].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[785].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListZoneOperationsRequest); i { case 0: return &v.state @@ -185192,7 +193508,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[761].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[786].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListZonesRequest); i { case 0: return &v.state @@ -185204,7 +193520,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[762].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[787].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalDisk); i { case 0: return &v.state @@ -185216,7 +193532,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[763].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[788].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocalizedMessage); i { case 0: return &v.state @@ -185228,7 +193544,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[764].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[789].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocationPolicy); i { case 0: return &v.state @@ -185240,7 +193556,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[765].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[790].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocationPolicyLocation); i { case 0: return &v.state @@ -185252,7 +193568,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[766].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[791].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LocationPolicyLocationConstraints); i { case 0: return &v.state @@ -185264,7 +193580,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[767].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[792].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogConfig); i { case 0: return &v.state @@ -185276,7 +193592,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[768].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[793].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogConfigCloudAuditOptions); i { case 0: return &v.state @@ -185288,7 +193604,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[769].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[794].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogConfigCounterOptions); i { case 0: return &v.state @@ -185300,7 +193616,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[770].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[795].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogConfigCounterOptionsCustomField); i { case 0: return &v.state @@ -185312,7 +193628,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[771].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[796].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LogConfigDataAccessOptions); i { case 0: return &v.state @@ -185324,7 +193640,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[772].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[797].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MachineImage); i { case 0: return &v.state @@ -185336,7 +193652,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[773].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[798].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MachineImageList); i { case 0: return &v.state @@ -185348,7 +193664,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[774].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[799].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MachineType); i { case 0: return &v.state @@ -185360,7 +193676,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[775].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[800].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MachineTypeAggregatedList); i { case 0: return &v.state @@ -185372,7 +193688,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[776].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[801].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MachineTypeList); i { case 0: return &v.state @@ -185384,7 +193700,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[777].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[802].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MachineTypesScopedList); i { case 0: return &v.state @@ -185396,7 +193712,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[778].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[803].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagedInstance); i { case 0: return &v.state @@ -185408,7 +193724,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[779].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[804].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagedInstanceInstanceHealth); i { case 0: return &v.state @@ -185420,7 +193736,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[780].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[805].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagedInstanceLastAttempt); i { case 0: return &v.state @@ -185432,7 +193748,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[781].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[806].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ManagedInstanceVersion); i { case 0: return &v.state @@ -185444,7 +193760,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[782].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[807].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Metadata); i { case 0: return &v.state @@ -185456,7 +193772,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[783].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[808].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataFilter); i { case 0: return &v.state @@ -185468,7 +193784,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[784].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[809].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MetadataFilterLabelMatch); i { case 0: return &v.state @@ -185480,7 +193796,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[785].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[810].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveAddressRequest); i { case 0: return &v.state @@ -185492,7 +193808,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[786].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[811].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveDiskProjectRequest); i { case 0: return &v.state @@ -185504,7 +193820,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[787].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[812].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveFirewallPolicyRequest); i { case 0: return &v.state @@ -185516,7 +193832,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[788].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[813].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveGlobalAddressRequest); i { case 0: return &v.state @@ -185528,7 +193844,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[789].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[814].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MoveInstanceProjectRequest); i { case 0: return &v.state @@ -185540,7 +193856,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[790].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[815].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NamedPort); i { case 0: return &v.state @@ -185552,7 +193868,43 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[791].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[816].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NatIpInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[817].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NatIpInfoNatIpInfoMapping); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[818].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NatIpInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[819].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Network); i { case 0: return &v.state @@ -185564,7 +193916,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[792].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[820].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkAttachment); i { case 0: return &v.state @@ -185576,7 +193928,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[793].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[821].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkAttachmentAggregatedList); i { case 0: return &v.state @@ -185588,7 +193940,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[794].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[822].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkAttachmentConnectedEndpoint); i { case 0: return &v.state @@ -185600,7 +193952,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[795].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[823].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkAttachmentList); i { case 0: return &v.state @@ -185612,7 +193964,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[796].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[824].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkAttachmentsScopedList); i { case 0: return &v.state @@ -185624,7 +193976,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[797].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[825].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEdgeSecurityService); i { case 0: return &v.state @@ -185636,7 +193988,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[798].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[826].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEdgeSecurityServiceAggregatedList); i { case 0: return &v.state @@ -185648,7 +194000,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[799].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[827].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEdgeSecurityServicesScopedList); i { case 0: return &v.state @@ -185660,7 +194012,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[800].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[828].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpoint); i { case 0: return &v.state @@ -185672,7 +194024,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[801].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[829].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroup); i { case 0: return &v.state @@ -185684,7 +194036,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[802].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[830].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupAggregatedList); i { case 0: return &v.state @@ -185696,7 +194048,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[803].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[831].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupAppEngine); i { case 0: return &v.state @@ -185708,7 +194060,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[804].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[832].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupCloudFunction); i { case 0: return &v.state @@ -185720,7 +194072,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[805].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[833].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupCloudRun); i { case 0: return &v.state @@ -185732,7 +194084,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[806].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[834].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupList); i { case 0: return &v.state @@ -185744,7 +194096,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[807].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[835].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupPscData); i { case 0: return &v.state @@ -185756,7 +194108,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[808].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[836].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupsAttachEndpointsRequest); i { case 0: return &v.state @@ -185768,7 +194120,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[809].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[837].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupsDetachEndpointsRequest); i { case 0: return &v.state @@ -185780,7 +194132,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[810].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[838].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupsListEndpointsRequest); i { case 0: return &v.state @@ -185792,7 +194144,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[811].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[839].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupsListNetworkEndpoints); i { case 0: return &v.state @@ -185804,7 +194156,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[812].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[840].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointGroupsScopedList); i { case 0: return &v.state @@ -185816,7 +194168,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[813].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[841].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkEndpointWithHealthStatus); i { case 0: return &v.state @@ -185828,7 +194180,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[814].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[842].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkInterface); i { case 0: return &v.state @@ -185840,7 +194192,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[815].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[843].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkList); i { case 0: return &v.state @@ -185852,7 +194204,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[816].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[844].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkPeering); i { case 0: return &v.state @@ -185864,7 +194216,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[817].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[845].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkPerformanceConfig); i { case 0: return &v.state @@ -185876,7 +194228,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[818].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[846].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworkRoutingConfig); i { case 0: return &v.state @@ -185888,7 +194240,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[819].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[847].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworksAddPeeringRequest); i { case 0: return &v.state @@ -185900,7 +194252,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[820].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[848].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworksGetEffectiveFirewallsResponse); i { case 0: return &v.state @@ -185912,7 +194264,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[821].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[849].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy); i { case 0: return &v.state @@ -185924,7 +194276,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[822].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[850].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworksRemovePeeringRequest); i { case 0: return &v.state @@ -185936,7 +194288,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[823].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[851].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NetworksUpdatePeeringRequest); i { case 0: return &v.state @@ -185948,7 +194300,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[824].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[852].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroup); i { case 0: return &v.state @@ -185960,7 +194312,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[825].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[853].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupAggregatedList); i { case 0: return &v.state @@ -185972,7 +194324,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[826].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[854].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupAutoscalingPolicy); i { case 0: return &v.state @@ -185984,7 +194336,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[827].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[855].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupList); i { case 0: return &v.state @@ -185996,7 +194348,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[828].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[856].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupMaintenanceWindow); i { case 0: return &v.state @@ -186008,7 +194360,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[829].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[857].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupNode); i { case 0: return &v.state @@ -186020,7 +194372,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[830].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[858].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupsAddNodesRequest); i { case 0: return &v.state @@ -186032,7 +194384,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[831].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[859].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupsDeleteNodesRequest); i { case 0: return &v.state @@ -186044,7 +194396,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[832].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[860].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupsListNodes); i { case 0: return &v.state @@ -186056,7 +194408,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[833].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[861].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupsScopedList); i { case 0: return &v.state @@ -186068,7 +194420,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[834].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[862].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupsSetNodeTemplateRequest); i { case 0: return &v.state @@ -186080,7 +194432,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[835].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[863].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeGroupsSimulateMaintenanceEventRequest); i { case 0: return &v.state @@ -186092,7 +194444,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[836].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[864].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTemplate); i { case 0: return &v.state @@ -186104,7 +194456,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[837].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[865].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTemplateAggregatedList); i { case 0: return &v.state @@ -186116,7 +194468,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[838].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[866].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTemplateList); i { case 0: return &v.state @@ -186128,7 +194480,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[839].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[867].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTemplateNodeTypeFlexibility); i { case 0: return &v.state @@ -186140,7 +194492,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[840].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[868].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTemplatesScopedList); i { case 0: return &v.state @@ -186152,7 +194504,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[841].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[869].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeType); i { case 0: return &v.state @@ -186164,7 +194516,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[842].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[870].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTypeAggregatedList); i { case 0: return &v.state @@ -186176,7 +194528,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[843].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[871].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTypeList); i { case 0: return &v.state @@ -186188,7 +194540,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[844].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[872].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NodeTypesScopedList); i { case 0: return &v.state @@ -186200,7 +194552,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[845].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[873].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotificationEndpoint); i { case 0: return &v.state @@ -186212,7 +194564,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[846].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[874].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotificationEndpointGrpcSettings); i { case 0: return &v.state @@ -186224,7 +194576,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[847].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[875].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*NotificationEndpointList); i { case 0: return &v.state @@ -186236,7 +194588,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[848].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[876].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Operation); i { case 0: return &v.state @@ -186248,7 +194600,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[849].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[877].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OperationAggregatedList); i { case 0: return &v.state @@ -186260,7 +194612,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[850].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[878].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OperationList); i { case 0: return &v.state @@ -186272,7 +194624,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[851].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[879].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OperationsScopedList); i { case 0: return &v.state @@ -186284,7 +194636,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[852].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[880].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*OutlierDetection); i { case 0: return &v.state @@ -186296,7 +194648,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[853].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[881].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketIntervals); i { case 0: return &v.state @@ -186308,7 +194660,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[854].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[882].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroring); i { case 0: return &v.state @@ -186320,7 +194672,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[855].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[883].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringAggregatedList); i { case 0: return &v.state @@ -186332,7 +194684,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[856].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[884].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringFilter); i { case 0: return &v.state @@ -186344,7 +194696,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[857].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[885].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringForwardingRuleInfo); i { case 0: return &v.state @@ -186356,7 +194708,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[858].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[886].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringList); i { case 0: return &v.state @@ -186368,7 +194720,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[859].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[887].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringMirroredResourceInfo); i { case 0: return &v.state @@ -186380,7 +194732,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[860].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[888].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringMirroredResourceInfoInstanceInfo); i { case 0: return &v.state @@ -186392,7 +194744,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[861].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[889].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringMirroredResourceInfoSubnetInfo); i { case 0: return &v.state @@ -186404,7 +194756,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[862].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[890].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringNetworkInfo); i { case 0: return &v.state @@ -186416,7 +194768,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[863].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[891].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PacketMirroringsScopedList); i { case 0: return &v.state @@ -186428,7 +194780,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[864].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[892].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchAutoscalerRequest); i { case 0: return &v.state @@ -186440,7 +194792,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[865].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[893].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchBackendBucketRequest); i { case 0: return &v.state @@ -186452,7 +194804,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[866].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[894].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchBackendServiceRequest); i { case 0: return &v.state @@ -186464,7 +194816,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[867].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[895].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchFirewallPolicyRequest); i { case 0: return &v.state @@ -186476,7 +194828,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[868].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[896].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchFirewallRequest); i { case 0: return &v.state @@ -186488,7 +194840,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[869].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[897].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchForwardingRuleRequest); i { case 0: return &v.state @@ -186500,7 +194852,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[870].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[898].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchGlobalForwardingRuleRequest); i { case 0: return &v.state @@ -186512,7 +194864,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[871].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[899].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchGlobalPublicDelegatedPrefixeRequest); i { case 0: return &v.state @@ -186524,7 +194876,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[872].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[900].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchHealthCheckRequest); i { case 0: return &v.state @@ -186536,7 +194888,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[873].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[901].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchImageRequest); i { case 0: return &v.state @@ -186548,7 +194900,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[874].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[902].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchInstanceGroupManagerRequest); i { case 0: return &v.state @@ -186560,7 +194912,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[875].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[903].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchInterconnectAttachmentRequest); i { case 0: return &v.state @@ -186572,7 +194924,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[876].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[904].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchInterconnectRequest); i { case 0: return &v.state @@ -186584,7 +194936,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[877].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[905].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchNetworkAttachmentRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[906].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchNetworkEdgeSecurityServiceRequest); i { case 0: return &v.state @@ -186596,7 +194960,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[878].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[907].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -186608,7 +194972,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[879].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[908].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchNetworkRequest); i { case 0: return &v.state @@ -186620,7 +194984,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[880].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[909].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchNodeGroupRequest); i { case 0: return &v.state @@ -186632,7 +194996,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[881].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[910].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchPacketMirroringRequest); i { case 0: return &v.state @@ -186644,7 +195008,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[882].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[911].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchPerInstanceConfigsInstanceGroupManagerRequest); i { case 0: return &v.state @@ -186656,7 +195020,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[883].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[912].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchPerInstanceConfigsRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -186668,7 +195032,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[884].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[913].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchPublicAdvertisedPrefixeRequest); i { case 0: return &v.state @@ -186680,7 +195044,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[885].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[914].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchPublicDelegatedPrefixeRequest); i { case 0: return &v.state @@ -186692,7 +195056,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[886].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[915].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionAutoscalerRequest); i { case 0: return &v.state @@ -186704,7 +195068,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[887].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[916].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionBackendServiceRequest); i { case 0: return &v.state @@ -186716,7 +195080,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[888].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[917].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionHealthCheckRequest); i { case 0: return &v.state @@ -186728,7 +195092,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[889].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[918].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionHealthCheckServiceRequest); i { case 0: return &v.state @@ -186740,7 +195104,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[890].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[919].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -186752,7 +195116,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[891].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[920].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -186764,7 +195128,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[892].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[921].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionSecurityPolicyRequest); i { case 0: return &v.state @@ -186776,7 +195140,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[893].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[922].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionSslPolicyRequest); i { case 0: return &v.state @@ -186788,7 +195152,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[894].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[923].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionTargetHttpsProxyRequest); i { case 0: return &v.state @@ -186800,7 +195164,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[895].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[924].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRegionUrlMapRequest); i { case 0: return &v.state @@ -186812,7 +195176,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[896].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[925].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchResourcePolicyRequest); i { case 0: return &v.state @@ -186824,7 +195188,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[897].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[926].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRouterRequest); i { case 0: return &v.state @@ -186836,7 +195200,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[898].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[927].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRuleFirewallPolicyRequest); i { case 0: return &v.state @@ -186848,7 +195212,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[899].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[928].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRuleNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -186860,7 +195224,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[900].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[929].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRuleRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -186872,7 +195236,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[901].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[930].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchRuleRegionSecurityPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[931].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchRuleSecurityPolicyRequest); i { case 0: return &v.state @@ -186884,7 +195260,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[902].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[932].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchSecurityPolicyRequest); i { case 0: return &v.state @@ -186896,7 +195272,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[903].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[933].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchServiceAttachmentRequest); i { case 0: return &v.state @@ -186908,7 +195284,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[904].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[934].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchSnapshotSettingRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[935].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchSslPolicyRequest); i { case 0: return &v.state @@ -186920,7 +195308,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[905].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[936].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchSubnetworkRequest); i { case 0: return &v.state @@ -186932,7 +195320,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[906].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[937].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchTargetGrpcProxyRequest); i { case 0: return &v.state @@ -186944,7 +195332,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[907].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[938].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchTargetHttpProxyRequest); i { case 0: return &v.state @@ -186956,7 +195344,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[908].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[939].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchTargetHttpsProxyRequest); i { case 0: return &v.state @@ -186968,7 +195356,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[909].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[940].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PatchUrlMapRequest); i { case 0: return &v.state @@ -186980,7 +195368,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[910].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[941].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathMatcher); i { case 0: return &v.state @@ -186992,7 +195380,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[911].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[942].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PathRule); i { case 0: return &v.state @@ -187004,7 +195392,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[912].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[943].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PerInstanceConfig); i { case 0: return &v.state @@ -187016,7 +195404,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[913].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[944].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy); i { case 0: return &v.state @@ -187028,7 +195416,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[914].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[945].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreconfiguredWafSet); i { case 0: return &v.state @@ -187040,7 +195428,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[915].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[946].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreservedState); i { case 0: return &v.state @@ -187052,7 +195440,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[916].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[947].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreservedStatePreservedDisk); i { case 0: return &v.state @@ -187064,7 +195452,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[917].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[948].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PreservedStatePreservedNetworkIp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[949].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PreservedStatePreservedNetworkIpIpAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[950].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PreviewRouterRequest); i { case 0: return &v.state @@ -187076,7 +195488,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[918].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[951].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Project); i { case 0: return &v.state @@ -187088,7 +195500,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[919].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[952].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectsDisableXpnResourceRequest); i { case 0: return &v.state @@ -187100,7 +195512,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[920].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[953].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectsEnableXpnResourceRequest); i { case 0: return &v.state @@ -187112,7 +195524,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[921].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[954].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectsGetXpnResources); i { case 0: return &v.state @@ -187124,7 +195536,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[922].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[955].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectsListXpnHostsRequest); i { case 0: return &v.state @@ -187136,7 +195548,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[923].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[956].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectsSetDefaultNetworkTierRequest); i { case 0: return &v.state @@ -187148,7 +195560,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[924].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[957].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicAdvertisedPrefix); i { case 0: return &v.state @@ -187160,7 +195572,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[925].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[958].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicAdvertisedPrefixList); i { case 0: return &v.state @@ -187172,7 +195584,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[926].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[959].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicAdvertisedPrefixPublicDelegatedPrefix); i { case 0: return &v.state @@ -187184,7 +195596,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[927].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[960].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicDelegatedPrefix); i { case 0: return &v.state @@ -187196,7 +195608,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[928].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[961].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicDelegatedPrefixAggregatedList); i { case 0: return &v.state @@ -187208,7 +195620,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[929].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[962].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicDelegatedPrefixList); i { case 0: return &v.state @@ -187220,7 +195632,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[930].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[963].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicDelegatedPrefixPublicDelegatedSubPrefix); i { case 0: return &v.state @@ -187232,7 +195644,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[931].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[964].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublicDelegatedPrefixesScopedList); i { case 0: return &v.state @@ -187244,7 +195656,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[932].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[965].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Quota); i { case 0: return &v.state @@ -187256,7 +195668,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[933].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[966].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuotaExceededInfo); i { case 0: return &v.state @@ -187268,7 +195680,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[934].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[967].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RawDisk); i { case 0: return &v.state @@ -187280,7 +195692,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[935].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[968].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecreateInstancesInstanceGroupManagerRequest); i { case 0: return &v.state @@ -187292,7 +195704,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[936].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[969].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RecreateInstancesRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -187304,7 +195716,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[937].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[970].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Reference); i { case 0: return &v.state @@ -187316,7 +195728,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[938].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[971].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Region); i { case 0: return &v.state @@ -187328,7 +195740,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[939].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[972].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionAddressesMoveRequest); i { case 0: return &v.state @@ -187340,7 +195752,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[940].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[973].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionAutoscalerList); i { case 0: return &v.state @@ -187352,7 +195764,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[941].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[974].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionDiskTypeList); i { case 0: return &v.state @@ -187364,7 +195776,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[942].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[975].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionDisksAddResourcePoliciesRequest); i { case 0: return &v.state @@ -187376,7 +195788,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[943].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[976].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionDisksRemoveResourcePoliciesRequest); i { case 0: return &v.state @@ -187388,7 +195800,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[944].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[977].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionDisksResizeRequest); i { case 0: return &v.state @@ -187400,7 +195812,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[945].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[978].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionDisksStartAsyncReplicationRequest); i { case 0: return &v.state @@ -187412,7 +195824,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[946].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[979].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupList); i { case 0: return &v.state @@ -187424,7 +195836,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[947].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[980].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagerDeleteInstanceConfigReq); i { case 0: return &v.state @@ -187436,7 +195848,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[948].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[981].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagerList); i { case 0: return &v.state @@ -187448,7 +195860,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[949].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[982].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagerPatchInstanceConfigReq); i { case 0: return &v.state @@ -187460,7 +195872,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[950].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[983].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagerUpdateInstanceConfigReq); i { case 0: return &v.state @@ -187472,7 +195884,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[951].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[984].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersAbandonInstancesRequest); i { case 0: return &v.state @@ -187484,7 +195896,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[952].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[985].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersApplyUpdatesRequest); i { case 0: return &v.state @@ -187496,7 +195908,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[953].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[986].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersCreateInstancesRequest); i { case 0: return &v.state @@ -187508,7 +195920,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[954].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[987].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersDeleteInstancesRequest); i { case 0: return &v.state @@ -187520,7 +195932,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[955].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[988].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersListErrorsResponse); i { case 0: return &v.state @@ -187532,7 +195944,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[956].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[989].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersListInstanceConfigsResp); i { case 0: return &v.state @@ -187544,7 +195956,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[957].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[990].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersListInstancesResponse); i { case 0: return &v.state @@ -187556,7 +195968,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[958].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[991].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersRecreateRequest); i { case 0: return &v.state @@ -187568,7 +195980,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[959].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[992].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersSetTargetPoolsRequest); i { case 0: return &v.state @@ -187580,7 +195992,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[960].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[993].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupManagersSetTemplateRequest); i { case 0: return &v.state @@ -187592,7 +196004,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[961].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[994].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupsListInstances); i { case 0: return &v.state @@ -187604,7 +196016,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[962].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[995].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupsListInstancesRequest); i { case 0: return &v.state @@ -187616,7 +196028,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[963].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[996].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionInstanceGroupsSetNamedPortsRequest); i { case 0: return &v.state @@ -187628,7 +196040,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[964].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[997].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionList); i { case 0: return &v.state @@ -187640,7 +196052,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[965].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[998].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegionNetworkEndpointGroupsAttachEndpointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[999].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegionNetworkEndpointGroupsDetachEndpointsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1000].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse); i { case 0: return &v.state @@ -187652,7 +196088,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[966].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1001].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy); i { case 0: return &v.state @@ -187664,7 +196100,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[967].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1002].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionSetLabelsRequest); i { case 0: return &v.state @@ -187676,7 +196112,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[968].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1003].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionSetPolicyRequest); i { case 0: return &v.state @@ -187688,7 +196124,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[969].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1004].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionTargetHttpsProxiesSetSslCertificatesRequest); i { case 0: return &v.state @@ -187700,7 +196136,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[970].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1005].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RegionUrlMapsValidateRequest); i { case 0: return &v.state @@ -187712,7 +196148,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[971].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1006].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveAssociationFirewallPolicyRequest); i { case 0: return &v.state @@ -187724,7 +196160,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[972].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1007].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveAssociationNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -187736,7 +196172,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[973].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1008].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveAssociationRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -187748,7 +196184,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[974].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1009].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveHealthCheckTargetPoolRequest); i { case 0: return &v.state @@ -187760,7 +196196,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[975].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1010].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveInstanceTargetPoolRequest); i { case 0: return &v.state @@ -187772,7 +196208,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[976].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1011].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveInstancesInstanceGroupRequest); i { case 0: return &v.state @@ -187784,7 +196220,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[977].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1012].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemovePeeringNetworkRequest); i { case 0: return &v.state @@ -187796,7 +196232,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[978].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1013].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveResourcePoliciesDiskRequest); i { case 0: return &v.state @@ -187808,7 +196244,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[979].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1014].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveResourcePoliciesInstanceRequest); i { case 0: return &v.state @@ -187820,7 +196256,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[980].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1015].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveResourcePoliciesRegionDiskRequest); i { case 0: return &v.state @@ -187832,7 +196268,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[981].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1016].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRuleFirewallPolicyRequest); i { case 0: return &v.state @@ -187844,7 +196280,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[982].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1017].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRuleNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -187856,7 +196292,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[983].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1018].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRuleRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -187868,7 +196304,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[984].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1019].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveRuleRegionSecurityPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1020].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RemoveRuleSecurityPolicyRequest); i { case 0: return &v.state @@ -187880,7 +196328,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[985].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1021].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RequestMirrorPolicy); i { case 0: return &v.state @@ -187892,7 +196340,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[986].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1022].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Reservation); i { case 0: return &v.state @@ -187904,7 +196352,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[987].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1023].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReservationAffinity); i { case 0: return &v.state @@ -187916,7 +196364,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[988].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1024].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReservationAggregatedList); i { case 0: return &v.state @@ -187928,7 +196376,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[989].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1025].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReservationList); i { case 0: return &v.state @@ -187940,7 +196388,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[990].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1026].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReservationsResizeRequest); i { case 0: return &v.state @@ -187952,7 +196400,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[991].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1027].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReservationsScopedList); i { case 0: return &v.state @@ -187964,7 +196412,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[992].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1028].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResetInstanceRequest); i { case 0: return &v.state @@ -187976,7 +196424,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[993].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1029].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResizeDiskRequest); i { case 0: return &v.state @@ -187988,7 +196436,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[994].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1030].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResizeInstanceGroupManagerRequest); i { case 0: return &v.state @@ -188000,7 +196448,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[995].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1031].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResizeRegionDiskRequest); i { case 0: return &v.state @@ -188012,7 +196460,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[996].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1032].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResizeRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -188024,7 +196472,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[997].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1033].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResizeReservationRequest); i { case 0: return &v.state @@ -188036,7 +196484,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[998].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1034].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceCommitment); i { case 0: return &v.state @@ -188048,7 +196496,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[999].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1035].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceGroupReference); i { case 0: return &v.state @@ -188060,7 +196508,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1000].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1036].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePoliciesScopedList); i { case 0: return &v.state @@ -188072,7 +196520,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1001].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1037].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicy); i { case 0: return &v.state @@ -188084,7 +196532,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1002].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1038].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyAggregatedList); i { case 0: return &v.state @@ -188096,7 +196544,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1003].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1039].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyDailyCycle); i { case 0: return &v.state @@ -188108,7 +196556,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1004].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1040].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyDiskConsistencyGroupPolicy); i { case 0: return &v.state @@ -188120,7 +196568,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1005].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1041].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyGroupPlacementPolicy); i { case 0: return &v.state @@ -188132,7 +196580,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1006].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1042].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyHourlyCycle); i { case 0: return &v.state @@ -188144,7 +196592,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1007].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1043].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyInstanceSchedulePolicy); i { case 0: return &v.state @@ -188156,7 +196604,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1008].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1044].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyInstanceSchedulePolicySchedule); i { case 0: return &v.state @@ -188168,7 +196616,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1009].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1045].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyList); i { case 0: return &v.state @@ -188180,7 +196628,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1010].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1046].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyResourceStatus); i { case 0: return &v.state @@ -188192,7 +196640,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1011].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1047].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyResourceStatusInstanceSchedulePolicyStatus); i { case 0: return &v.state @@ -188204,7 +196652,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1012].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1048].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicySnapshotSchedulePolicy); i { case 0: return &v.state @@ -188216,7 +196664,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1013].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1049].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicySnapshotSchedulePolicyRetentionPolicy); i { case 0: return &v.state @@ -188228,7 +196676,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1014].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1050].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicySnapshotSchedulePolicySchedule); i { case 0: return &v.state @@ -188240,7 +196688,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1015].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1051].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicySnapshotSchedulePolicySnapshotProperties); i { case 0: return &v.state @@ -188252,7 +196700,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1016].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1052].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyWeeklyCycle); i { case 0: return &v.state @@ -188264,7 +196712,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1017].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1053].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourcePolicyWeeklyCycleDayOfWeek); i { case 0: return &v.state @@ -188276,7 +196724,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1018].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1054].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResourceStatus); i { case 0: return &v.state @@ -188288,7 +196736,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1019].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1055].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ResumeInstanceRequest); i { case 0: return &v.state @@ -188300,7 +196748,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1020].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1056].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Route); i { case 0: return &v.state @@ -188312,7 +196760,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1021].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1057].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteAsPath); i { case 0: return &v.state @@ -188324,7 +196772,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1022].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1058].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouteList); i { case 0: return &v.state @@ -188336,7 +196784,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1023].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1059].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Router); i { case 0: return &v.state @@ -188348,7 +196796,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1024].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1060].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterAdvertisedIpRange); i { case 0: return &v.state @@ -188360,7 +196808,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1025].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1061].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterAggregatedList); i { case 0: return &v.state @@ -188372,7 +196820,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1026].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1062].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterBgp); i { case 0: return &v.state @@ -188384,7 +196832,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1027].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1063].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterBgpPeer); i { case 0: return &v.state @@ -188396,7 +196844,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1028].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1064].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterBgpPeerBfd); i { case 0: return &v.state @@ -188408,7 +196856,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1029].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1065].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterBgpPeerCustomLearnedIpRange); i { case 0: return &v.state @@ -188420,7 +196868,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1030].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1066].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterInterface); i { case 0: return &v.state @@ -188432,7 +196880,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1031].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1067].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterList); i { case 0: return &v.state @@ -188444,7 +196892,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1032].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1068].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterMd5AuthenticationKey); i { case 0: return &v.state @@ -188456,7 +196904,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1033].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1069].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterNat); i { case 0: return &v.state @@ -188468,7 +196916,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1034].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1070].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterNatLogConfig); i { case 0: return &v.state @@ -188480,7 +196928,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1035].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1071].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterNatRule); i { case 0: return &v.state @@ -188492,7 +196940,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1036].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1072].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterNatRuleAction); i { case 0: return &v.state @@ -188504,7 +196952,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1037].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1073].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterNatSubnetworkToNat); i { case 0: return &v.state @@ -188516,7 +196964,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1038].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1074].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterStatus); i { case 0: return &v.state @@ -188528,7 +196976,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1039].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1075].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterStatusBgpPeerStatus); i { case 0: return &v.state @@ -188540,7 +196988,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1040].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1076].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterStatusNatStatus); i { case 0: return &v.state @@ -188552,7 +197000,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1041].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1077].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterStatusNatStatusNatRuleStatus); i { case 0: return &v.state @@ -188564,7 +197012,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1042].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1078].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RouterStatusResponse); i { case 0: return &v.state @@ -188576,7 +197024,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1043].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1079].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutersPreviewResponse); i { case 0: return &v.state @@ -188588,7 +197036,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1044].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1080].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RoutersScopedList); i { case 0: return &v.state @@ -188600,7 +197048,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1045].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1081].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Rule); i { case 0: return &v.state @@ -188612,7 +197060,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1046].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1082].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SSLHealthCheck); i { case 0: return &v.state @@ -188624,7 +197072,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1047].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1083].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SavedAttachedDisk); i { case 0: return &v.state @@ -188636,7 +197084,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1048].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1084].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SavedDisk); i { case 0: return &v.state @@ -188648,7 +197096,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1049].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1085].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScalingScheduleStatus); i { case 0: return &v.state @@ -188660,7 +197108,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1050].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1086].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Scheduling); i { case 0: return &v.state @@ -188672,7 +197120,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1051].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1087].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SchedulingNodeAffinity); i { case 0: return &v.state @@ -188684,7 +197132,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1052].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1088].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ScratchDisks); i { case 0: return &v.state @@ -188696,7 +197144,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1053].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1089].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Screenshot); i { case 0: return &v.state @@ -188708,7 +197156,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1054].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1090].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPoliciesAggregatedList); i { case 0: return &v.state @@ -188720,7 +197168,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1055].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1091].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPoliciesListPreconfiguredExpressionSetsResponse); i { case 0: return &v.state @@ -188732,7 +197180,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1056].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1092].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPoliciesScopedList); i { case 0: return &v.state @@ -188744,7 +197192,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1057].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1093].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPoliciesWafConfig); i { case 0: return &v.state @@ -188756,7 +197204,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1058].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1094].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicy); i { case 0: return &v.state @@ -188768,7 +197216,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1059].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1095].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyAdaptiveProtectionConfig); i { case 0: return &v.state @@ -188780,7 +197228,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1060].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1096].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfig); i { case 0: return &v.state @@ -188792,7 +197240,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1061].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1097].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigThresholdConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1098].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyAdvancedOptionsConfig); i { case 0: return &v.state @@ -188804,7 +197264,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1062].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1099].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyAdvancedOptionsConfigJsonCustomConfig); i { case 0: return &v.state @@ -188816,7 +197276,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1063].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyDdosProtectionConfig); i { case 0: return &v.state @@ -188828,7 +197288,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1064].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyList); i { case 0: return &v.state @@ -188840,7 +197300,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1065].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRecaptchaOptionsConfig); i { case 0: return &v.state @@ -188852,7 +197312,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1066].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyReference); i { case 0: return &v.state @@ -188864,7 +197324,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1067].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRule); i { case 0: return &v.state @@ -188876,7 +197336,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1068].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleHttpHeaderAction); i { case 0: return &v.state @@ -188888,7 +197348,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1069].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleHttpHeaderActionHttpHeaderOption); i { case 0: return &v.state @@ -188900,7 +197360,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1070].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleMatcher); i { case 0: return &v.state @@ -188912,7 +197372,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1071].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleMatcherConfig); i { case 0: return &v.state @@ -188924,7 +197384,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1072].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SecurityPolicyRuleNetworkMatcher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SecurityPolicyRuleNetworkMatcherUserDefinedFieldMatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRulePreconfiguredWafConfig); i { case 0: return &v.state @@ -188936,7 +197420,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1073].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRulePreconfiguredWafConfigExclusion); i { case 0: return &v.state @@ -188948,7 +197432,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1074].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRulePreconfiguredWafConfigExclusionFieldParams); i { case 0: return &v.state @@ -188960,7 +197444,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1075].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleRateLimitOptions); i { case 0: return &v.state @@ -188972,7 +197456,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1076].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig); i { case 0: return &v.state @@ -188984,7 +197468,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1077].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleRateLimitOptionsThreshold); i { case 0: return &v.state @@ -188996,7 +197480,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1078].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecurityPolicyRuleRedirectOptions); i { case 0: return &v.state @@ -189008,7 +197492,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1079].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SecurityPolicyUserDefinedField); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SecuritySettings); i { case 0: return &v.state @@ -189020,7 +197516,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1080].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendDiagnosticInterruptInstanceRequest); i { case 0: return &v.state @@ -189032,7 +197528,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1081].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendDiagnosticInterruptInstanceResponse); i { case 0: return &v.state @@ -189044,7 +197540,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1082].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SerialPortOutput); i { case 0: return &v.state @@ -189056,7 +197552,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1083].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServerBinding); i { case 0: return &v.state @@ -189068,7 +197564,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1084].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAccount); i { case 0: return &v.state @@ -189080,7 +197576,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1085].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAttachment); i { case 0: return &v.state @@ -189092,7 +197588,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1086].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAttachmentAggregatedList); i { case 0: return &v.state @@ -189104,7 +197600,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1087].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAttachmentConnectedEndpoint); i { case 0: return &v.state @@ -189116,7 +197612,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1088].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAttachmentConsumerProjectLimit); i { case 0: return &v.state @@ -189128,7 +197624,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1089].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAttachmentList); i { case 0: return &v.state @@ -189140,7 +197636,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1090].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAttachmentsScopedList); i { case 0: return &v.state @@ -189152,7 +197648,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1091].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetBackendServiceTargetSslProxyRequest); i { case 0: return &v.state @@ -189164,7 +197660,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1092].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetBackendServiceTargetTcpProxyRequest); i { case 0: return &v.state @@ -189176,7 +197672,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1093].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetBackupTargetPoolRequest); i { case 0: return &v.state @@ -189188,7 +197684,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1094].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1134].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetCertificateMapTargetHttpsProxyRequest); i { case 0: return &v.state @@ -189200,7 +197696,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1095].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1135].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetCertificateMapTargetSslProxyRequest); i { case 0: return &v.state @@ -189212,7 +197708,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1096].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetCommonInstanceMetadataOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetCommonInstanceMetadataOperationMetadataPerLocationOperationInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1138].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetCommonInstanceMetadataProjectRequest); i { case 0: return &v.state @@ -189224,7 +197744,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1097].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1139].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetDefaultNetworkTierProjectRequest); i { case 0: return &v.state @@ -189236,7 +197756,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1098].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1140].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetDeletionProtectionInstanceRequest); i { case 0: return &v.state @@ -189248,7 +197768,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1099].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1141].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetDiskAutoDeleteInstanceRequest); i { case 0: return &v.state @@ -189260,7 +197780,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1100].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1142].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetEdgeSecurityPolicyBackendBucketRequest); i { case 0: return &v.state @@ -189272,7 +197792,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1101].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1143].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetEdgeSecurityPolicyBackendServiceRequest); i { case 0: return &v.state @@ -189284,7 +197804,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1102].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetIamPolicyBackendBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1145].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyBackendServiceRequest); i { case 0: return &v.state @@ -189296,7 +197828,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1103].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1146].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyDiskRequest); i { case 0: return &v.state @@ -189308,7 +197840,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1104].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1147].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyFirewallPolicyRequest); i { case 0: return &v.state @@ -189320,7 +197852,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1105].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1148].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyImageRequest); i { case 0: return &v.state @@ -189332,7 +197864,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1106].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1149].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyInstanceRequest); i { case 0: return &v.state @@ -189344,7 +197876,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1107].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1150].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyInstanceTemplateRequest); i { case 0: return &v.state @@ -189356,7 +197888,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1108].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1151].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyLicenseRequest); i { case 0: return &v.state @@ -189368,7 +197900,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1109].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1152].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyMachineImageRequest); i { case 0: return &v.state @@ -189380,7 +197912,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1110].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1153].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyNetworkAttachmentRequest); i { case 0: return &v.state @@ -189392,7 +197924,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1111].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1154].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -189404,7 +197936,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1112].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1155].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyNodeGroupRequest); i { case 0: return &v.state @@ -189416,7 +197948,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1113].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1156].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyNodeTemplateRequest); i { case 0: return &v.state @@ -189428,7 +197960,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1114].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1157].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyRegionBackendServiceRequest); i { case 0: return &v.state @@ -189440,7 +197972,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1115].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1158].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyRegionDiskRequest); i { case 0: return &v.state @@ -189452,7 +197984,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1116].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1159].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -189464,7 +197996,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1117].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1160].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyReservationRequest); i { case 0: return &v.state @@ -189476,7 +198008,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1118].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1161].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyResourcePolicyRequest); i { case 0: return &v.state @@ -189488,7 +198020,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1119].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1162].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicyServiceAttachmentRequest); i { case 0: return &v.state @@ -189500,7 +198032,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1120].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1163].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicySnapshotRequest); i { case 0: return &v.state @@ -189512,7 +198044,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1121].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1164].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetIamPolicySubnetworkRequest); i { case 0: return &v.state @@ -189524,7 +198056,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1122].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1165].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetInstanceTemplateInstanceGroupManagerRequest); i { case 0: return &v.state @@ -189536,7 +198068,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1123].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1166].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetInstanceTemplateRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -189548,7 +198080,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1124].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1167].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsAddressRequest); i { case 0: return &v.state @@ -189560,7 +198092,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1125].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1168].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsDiskRequest); i { case 0: return &v.state @@ -189572,7 +198104,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1126].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1169].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsExternalVpnGatewayRequest); i { case 0: return &v.state @@ -189584,7 +198116,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1127].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1170].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsForwardingRuleRequest); i { case 0: return &v.state @@ -189596,7 +198128,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1128].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1171].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsGlobalAddressRequest); i { case 0: return &v.state @@ -189608,7 +198140,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1129].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1172].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsGlobalForwardingRuleRequest); i { case 0: return &v.state @@ -189620,7 +198152,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1130].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1173].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsImageRequest); i { case 0: return &v.state @@ -189632,7 +198164,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1131].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1174].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsInstanceRequest); i { case 0: return &v.state @@ -189644,7 +198176,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1132].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1175].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsInterconnectAttachmentRequest); i { case 0: return &v.state @@ -189656,7 +198188,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1133].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1176].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsInterconnectRequest); i { case 0: return &v.state @@ -189668,7 +198200,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1134].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1177].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsRegionDiskRequest); i { case 0: return &v.state @@ -189680,7 +198212,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1135].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1178].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsSecurityPolicyRequest); i { case 0: return &v.state @@ -189692,7 +198224,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1136].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1179].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsSnapshotRequest); i { case 0: return &v.state @@ -189704,7 +198236,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1137].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1180].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsTargetVpnGatewayRequest); i { case 0: return &v.state @@ -189716,7 +198248,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1138].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1181].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsVpnGatewayRequest); i { case 0: return &v.state @@ -189728,7 +198260,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1139].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1182].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetLabelsVpnTunnelRequest); i { case 0: return &v.state @@ -189740,7 +198272,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1140].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1183].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetMachineResourcesInstanceRequest); i { case 0: return &v.state @@ -189752,7 +198284,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1141].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1184].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetMachineTypeInstanceRequest); i { case 0: return &v.state @@ -189764,7 +198296,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1142].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1185].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetMetadataInstanceRequest); i { case 0: return &v.state @@ -189776,7 +198308,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1143].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1186].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetMinCpuPlatformInstanceRequest); i { case 0: return &v.state @@ -189788,7 +198320,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1144].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1187].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetNameInstanceRequest); i { case 0: return &v.state @@ -189800,7 +198332,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1145].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1188].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetNamedPortsInstanceGroupRequest); i { case 0: return &v.state @@ -189812,7 +198344,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1146].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1189].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetNamedPortsRegionInstanceGroupRequest); i { case 0: return &v.state @@ -189824,7 +198356,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1147].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1190].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetNodeTemplateNodeGroupRequest); i { case 0: return &v.state @@ -189836,7 +198368,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1148].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1191].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetPrivateIpGoogleAccessSubnetworkRequest); i { case 0: return &v.state @@ -189848,7 +198380,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1149].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1192].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetProxyHeaderTargetSslProxyRequest); i { case 0: return &v.state @@ -189860,7 +198392,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1150].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1193].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetProxyHeaderTargetTcpProxyRequest); i { case 0: return &v.state @@ -189872,7 +198404,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1151].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1194].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetQuicOverrideTargetHttpsProxyRequest); i { case 0: return &v.state @@ -189884,7 +198416,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1152].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1195].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSchedulingInstanceRequest); i { case 0: return &v.state @@ -189896,7 +198428,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1153].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1196].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSecurityPolicyBackendServiceRequest); i { case 0: return &v.state @@ -189908,7 +198440,55 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1154].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1197].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetSecurityPolicyInstanceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1198].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetSecurityPolicyRegionBackendServiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1199].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetSecurityPolicyTargetInstanceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1200].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetSecurityPolicyTargetPoolRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1201].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetServiceAccountInstanceRequest); i { case 0: return &v.state @@ -189920,7 +198500,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1155].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1202].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetShieldedInstanceIntegrityPolicyInstanceRequest); i { case 0: return &v.state @@ -189932,7 +198512,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1156].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1203].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSslCertificatesRegionTargetHttpsProxyRequest); i { case 0: return &v.state @@ -189944,7 +198524,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1157].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1204].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSslCertificatesTargetHttpsProxyRequest); i { case 0: return &v.state @@ -189956,7 +198536,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1158].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1205].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSslCertificatesTargetSslProxyRequest); i { case 0: return &v.state @@ -189968,7 +198548,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1159].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1206].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSslPolicyTargetHttpsProxyRequest); i { case 0: return &v.state @@ -189980,7 +198560,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1160].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1207].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSslPolicyTargetSslProxyRequest); i { case 0: return &v.state @@ -189992,7 +198572,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1161].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1208].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetTagsInstanceRequest); i { case 0: return &v.state @@ -190004,7 +198584,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1162].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1209].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetTargetForwardingRuleRequest); i { case 0: return &v.state @@ -190016,7 +198596,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1163].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1210].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetTargetGlobalForwardingRuleRequest); i { case 0: return &v.state @@ -190028,7 +198608,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1164].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1211].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetTargetPoolsInstanceGroupManagerRequest); i { case 0: return &v.state @@ -190040,7 +198620,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1165].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1212].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetTargetPoolsRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -190052,7 +198632,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1166].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1213].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetUrlMapRegionTargetHttpProxyRequest); i { case 0: return &v.state @@ -190064,7 +198644,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1167].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1214].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetUrlMapRegionTargetHttpsProxyRequest); i { case 0: return &v.state @@ -190076,7 +198656,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1168].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1215].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetUrlMapTargetHttpProxyRequest); i { case 0: return &v.state @@ -190088,7 +198668,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1169].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1216].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetUrlMapTargetHttpsProxyRequest); i { case 0: return &v.state @@ -190100,7 +198680,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1170].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1217].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetUsageExportBucketProjectRequest); i { case 0: return &v.state @@ -190112,7 +198692,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1171].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1218].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShareSettings); i { case 0: return &v.state @@ -190124,7 +198704,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1172].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1219].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShareSettingsProjectConfig); i { case 0: return &v.state @@ -190136,7 +198716,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1173].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1220].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShieldedInstanceConfig); i { case 0: return &v.state @@ -190148,7 +198728,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1174].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1221].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShieldedInstanceIdentity); i { case 0: return &v.state @@ -190160,7 +198740,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1175].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1222].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShieldedInstanceIdentityEntry); i { case 0: return &v.state @@ -190172,7 +198752,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1176].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1223].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ShieldedInstanceIntegrityPolicy); i { case 0: return &v.state @@ -190184,7 +198764,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1177].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1224].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SignedUrlKey); i { case 0: return &v.state @@ -190196,7 +198776,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1178].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1225].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SimulateMaintenanceEventInstanceRequest); i { case 0: return &v.state @@ -190208,7 +198788,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1179].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1226].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SimulateMaintenanceEventNodeGroupRequest); i { case 0: return &v.state @@ -190220,7 +198800,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1180].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1227].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Snapshot); i { case 0: return &v.state @@ -190232,7 +198812,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1181].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1228].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SnapshotList); i { case 0: return &v.state @@ -190244,7 +198824,43 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1182].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1229].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotSettings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1230].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotSettingsStorageLocationSettings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1231].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SnapshotSettingsStorageLocationSettingsStorageLocationPreference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1232].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceDiskEncryptionKey); i { case 0: return &v.state @@ -190256,7 +198872,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1183].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1233].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceInstanceParams); i { case 0: return &v.state @@ -190268,7 +198884,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1184].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1234].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SourceInstanceProperties); i { case 0: return &v.state @@ -190280,7 +198896,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1185].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1235].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslCertificate); i { case 0: return &v.state @@ -190292,7 +198908,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1186].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1236].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslCertificateAggregatedList); i { case 0: return &v.state @@ -190304,7 +198920,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1187].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1237].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslCertificateList); i { case 0: return &v.state @@ -190316,7 +198932,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1188].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1238].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslCertificateManagedSslCertificate); i { case 0: return &v.state @@ -190328,7 +198944,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1189].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1239].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslCertificateSelfManagedSslCertificate); i { case 0: return &v.state @@ -190340,7 +198956,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1190].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1240].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslCertificatesScopedList); i { case 0: return &v.state @@ -190352,7 +198968,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1191].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1241].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslPoliciesAggregatedList); i { case 0: return &v.state @@ -190364,7 +198980,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1192].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1242].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslPoliciesList); i { case 0: return &v.state @@ -190376,7 +198992,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1193].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1243].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslPoliciesListAvailableFeaturesResponse); i { case 0: return &v.state @@ -190388,7 +199004,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1194].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1244].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslPoliciesScopedList); i { case 0: return &v.state @@ -190400,7 +199016,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1195].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1245].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslPolicy); i { case 0: return &v.state @@ -190412,7 +199028,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1196].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1246].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SslPolicyReference); i { case 0: return &v.state @@ -190424,7 +199040,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1197].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1247].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartAsyncReplicationDiskRequest); i { case 0: return &v.state @@ -190436,7 +199052,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1198].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1248].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartAsyncReplicationRegionDiskRequest); i { case 0: return &v.state @@ -190448,7 +199064,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1199].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1249].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartInstanceRequest); i { case 0: return &v.state @@ -190460,7 +199076,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1200].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1250].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StartWithEncryptionKeyInstanceRequest); i { case 0: return &v.state @@ -190472,7 +199088,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1201].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1251].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatefulPolicy); i { case 0: return &v.state @@ -190484,7 +199100,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1202].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1252].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatefulPolicyPreservedState); i { case 0: return &v.state @@ -190496,7 +199112,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1203].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1253].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatefulPolicyPreservedStateDiskDevice); i { case 0: return &v.state @@ -190508,7 +199124,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1204].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1254].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StatefulPolicyPreservedStateNetworkIp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1255].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1256].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopAsyncReplicationDiskRequest); i { case 0: return &v.state @@ -190520,7 +199160,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1205].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1257].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopAsyncReplicationRegionDiskRequest); i { case 0: return &v.state @@ -190532,7 +199172,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1206].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1258].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopGroupAsyncReplicationDiskRequest); i { case 0: return &v.state @@ -190544,7 +199184,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1207].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1259].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopGroupAsyncReplicationRegionDiskRequest); i { case 0: return &v.state @@ -190556,7 +199196,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1208].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1260].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StopInstanceRequest); i { case 0: return &v.state @@ -190568,7 +199208,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1209].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1261].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Subnetwork); i { case 0: return &v.state @@ -190580,7 +199220,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1210].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1262].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubnetworkAggregatedList); i { case 0: return &v.state @@ -190592,7 +199232,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1211].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1263].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubnetworkList); i { case 0: return &v.state @@ -190604,7 +199244,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1212].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1264].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubnetworkLogConfig); i { case 0: return &v.state @@ -190616,7 +199256,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1213].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1265].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubnetworkSecondaryRange); i { case 0: return &v.state @@ -190628,7 +199268,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1214].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1266].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubnetworksExpandIpCidrRangeRequest); i { case 0: return &v.state @@ -190640,7 +199280,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1215].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1267].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubnetworksScopedList); i { case 0: return &v.state @@ -190652,7 +199292,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1216].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1268].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubnetworksSetPrivateIpGoogleAccessRequest); i { case 0: return &v.state @@ -190664,7 +199304,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1217].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1269].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Subsetting); i { case 0: return &v.state @@ -190676,7 +199316,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1218].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1270].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SuspendInstanceRequest); i { case 0: return &v.state @@ -190688,7 +199328,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1219].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1271].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SwitchToCustomModeNetworkRequest); i { case 0: return &v.state @@ -190700,7 +199340,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1220].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1272].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TCPHealthCheck); i { case 0: return &v.state @@ -190712,7 +199352,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1221].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1273].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Tags); i { case 0: return &v.state @@ -190724,7 +199364,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1222].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1274].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetGrpcProxy); i { case 0: return &v.state @@ -190736,7 +199376,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1223].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1275].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetGrpcProxyList); i { case 0: return &v.state @@ -190748,7 +199388,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1224].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1276].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpProxiesScopedList); i { case 0: return &v.state @@ -190760,7 +199400,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1225].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1277].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpProxy); i { case 0: return &v.state @@ -190772,7 +199412,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1226].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1278].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpProxyAggregatedList); i { case 0: return &v.state @@ -190784,7 +199424,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1227].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1279].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpProxyList); i { case 0: return &v.state @@ -190796,7 +199436,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1228].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1280].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpsProxiesScopedList); i { case 0: return &v.state @@ -190808,7 +199448,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1229].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1281].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpsProxiesSetCertificateMapRequest); i { case 0: return &v.state @@ -190820,7 +199460,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1230].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1282].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpsProxiesSetQuicOverrideRequest); i { case 0: return &v.state @@ -190832,7 +199472,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1231].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1283].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpsProxiesSetSslCertificatesRequest); i { case 0: return &v.state @@ -190844,7 +199484,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1232].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1284].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpsProxy); i { case 0: return &v.state @@ -190856,7 +199496,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1233].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1285].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpsProxyAggregatedList); i { case 0: return &v.state @@ -190868,7 +199508,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1234].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1286].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetHttpsProxyList); i { case 0: return &v.state @@ -190880,7 +199520,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1235].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1287].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetInstance); i { case 0: return &v.state @@ -190892,7 +199532,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1236].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1288].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetInstanceAggregatedList); i { case 0: return &v.state @@ -190904,7 +199544,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1237].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1289].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetInstanceList); i { case 0: return &v.state @@ -190916,7 +199556,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1238].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1290].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetInstancesScopedList); i { case 0: return &v.state @@ -190928,7 +199568,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1239].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1291].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPool); i { case 0: return &v.state @@ -190940,7 +199580,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1240].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1292].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolAggregatedList); i { case 0: return &v.state @@ -190952,7 +199592,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1241].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1293].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolInstanceHealth); i { case 0: return &v.state @@ -190964,7 +199604,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1242].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1294].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolList); i { case 0: return &v.state @@ -190976,7 +199616,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1243].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1295].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolsAddHealthCheckRequest); i { case 0: return &v.state @@ -190988,7 +199628,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1244].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1296].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolsAddInstanceRequest); i { case 0: return &v.state @@ -191000,7 +199640,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1245].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1297].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolsRemoveHealthCheckRequest); i { case 0: return &v.state @@ -191012,7 +199652,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1246].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1298].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolsRemoveInstanceRequest); i { case 0: return &v.state @@ -191024,7 +199664,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1247].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1299].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetPoolsScopedList); i { case 0: return &v.state @@ -191036,7 +199676,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1248].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1300].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetReference); i { case 0: return &v.state @@ -191048,7 +199688,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1249].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1301].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetSslProxiesSetBackendServiceRequest); i { case 0: return &v.state @@ -191060,7 +199700,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1250].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1302].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetSslProxiesSetCertificateMapRequest); i { case 0: return &v.state @@ -191072,7 +199712,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1251].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1303].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetSslProxiesSetProxyHeaderRequest); i { case 0: return &v.state @@ -191084,7 +199724,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1252].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1304].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetSslProxiesSetSslCertificatesRequest); i { case 0: return &v.state @@ -191096,7 +199736,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1253].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1305].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetSslProxy); i { case 0: return &v.state @@ -191108,7 +199748,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1254].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1306].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetSslProxyList); i { case 0: return &v.state @@ -191120,7 +199760,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1255].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1307].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetTcpProxiesScopedList); i { case 0: return &v.state @@ -191132,7 +199772,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1256].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1308].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetTcpProxiesSetBackendServiceRequest); i { case 0: return &v.state @@ -191144,7 +199784,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1257].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1309].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetTcpProxiesSetProxyHeaderRequest); i { case 0: return &v.state @@ -191156,7 +199796,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1258].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1310].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetTcpProxy); i { case 0: return &v.state @@ -191168,7 +199808,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1259].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1311].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetTcpProxyAggregatedList); i { case 0: return &v.state @@ -191180,7 +199820,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1260].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1312].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetTcpProxyList); i { case 0: return &v.state @@ -191192,7 +199832,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1261].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1313].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetVpnGateway); i { case 0: return &v.state @@ -191204,7 +199844,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1262].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1314].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetVpnGatewayAggregatedList); i { case 0: return &v.state @@ -191216,7 +199856,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1263].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1315].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetVpnGatewayList); i { case 0: return &v.state @@ -191228,7 +199868,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1264].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1316].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TargetVpnGatewaysScopedList); i { case 0: return &v.state @@ -191240,7 +199880,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1265].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1317].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestFailure); i { case 0: return &v.state @@ -191252,7 +199892,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1266].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1318].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsBackendBucketRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1319].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsBackendServiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1320].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsDiskRequest); i { case 0: return &v.state @@ -191264,7 +199928,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1267].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1321].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsExternalVpnGatewayRequest); i { case 0: return &v.state @@ -191276,7 +199940,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1268].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1322].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsFirewallPolicyRequest); i { case 0: return &v.state @@ -191288,7 +199952,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1269].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1323].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsImageRequest); i { case 0: return &v.state @@ -191300,7 +199964,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1270].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1324].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsInstanceRequest); i { case 0: return &v.state @@ -191312,7 +199976,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1271].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1325].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsInstanceTemplateRequest); i { case 0: return &v.state @@ -191324,7 +199988,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1272].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1326].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsLicenseCodeRequest); i { case 0: return &v.state @@ -191336,7 +200000,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1273].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1327].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsLicenseRequest); i { case 0: return &v.state @@ -191348,7 +200012,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1274].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1328].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsMachineImageRequest); i { case 0: return &v.state @@ -191360,7 +200024,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1275].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1329].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsNetworkAttachmentRequest); i { case 0: return &v.state @@ -191372,7 +200036,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1276].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1330].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsNetworkEndpointGroupRequest); i { case 0: return &v.state @@ -191384,7 +200048,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1277].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1331].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -191396,7 +200060,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1278].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1332].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsNodeGroupRequest); i { case 0: return &v.state @@ -191408,7 +200072,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1279].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1333].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsNodeTemplateRequest); i { case 0: return &v.state @@ -191420,7 +200084,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1280].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1334].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsPacketMirroringRequest); i { case 0: return &v.state @@ -191432,7 +200096,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1281].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1335].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsRegionBackendServiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1336].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsRegionDiskRequest); i { case 0: return &v.state @@ -191444,7 +200120,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1282].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1337].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsRegionNetworkFirewallPolicyRequest); i { case 0: return &v.state @@ -191456,7 +200132,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1283].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1338].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsReservationRequest); i { case 0: return &v.state @@ -191468,7 +200144,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1284].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1339].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsResourcePolicyRequest); i { case 0: return &v.state @@ -191480,7 +200156,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1285].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1340].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsServiceAttachmentRequest); i { case 0: return &v.state @@ -191492,7 +200168,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1286].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1341].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsSnapshotRequest); i { case 0: return &v.state @@ -191504,7 +200180,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1287].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1342].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsSubnetworkRequest); i { case 0: return &v.state @@ -191516,7 +200192,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1288].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1343].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestIamPermissionsVpnGatewayRequest); i { case 0: return &v.state @@ -191528,7 +200204,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1289].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1344].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestPermissionsRequest); i { case 0: return &v.state @@ -191540,7 +200216,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1290].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1345].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TestPermissionsResponse); i { case 0: return &v.state @@ -191552,7 +200228,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1291].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1346].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Uint128); i { case 0: return &v.state @@ -191564,7 +200240,19 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1292].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1347].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpcomingMaintenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1348].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAccessConfigInstanceRequest); i { case 0: return &v.state @@ -191576,7 +200264,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1293].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1349].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateAutoscalerRequest); i { case 0: return &v.state @@ -191588,7 +200276,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1294].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1350].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateBackendBucketRequest); i { case 0: return &v.state @@ -191600,7 +200288,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1295].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1351].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateBackendServiceRequest); i { case 0: return &v.state @@ -191612,7 +200300,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1296].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1352].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateDiskRequest); i { case 0: return &v.state @@ -191624,7 +200312,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1297].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1353].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateDisplayDeviceInstanceRequest); i { case 0: return &v.state @@ -191636,7 +200324,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1298].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1354].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateFirewallRequest); i { case 0: return &v.state @@ -191648,7 +200336,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1299].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1355].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateHealthCheckRequest); i { case 0: return &v.state @@ -191660,7 +200348,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1300].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1356].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateInstanceRequest); i { case 0: return &v.state @@ -191672,7 +200360,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1301].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1357].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateNetworkInterfaceInstanceRequest); i { case 0: return &v.state @@ -191684,7 +200372,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1302].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1358].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdatePeeringNetworkRequest); i { case 0: return &v.state @@ -191696,7 +200384,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1303].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1359].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdatePerInstanceConfigsInstanceGroupManagerRequest); i { case 0: return &v.state @@ -191708,7 +200396,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1304].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1360].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdatePerInstanceConfigsRegionInstanceGroupManagerRequest); i { case 0: return &v.state @@ -191720,7 +200408,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1305].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1361].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRegionAutoscalerRequest); i { case 0: return &v.state @@ -191732,7 +200420,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1306].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1362].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRegionBackendServiceRequest); i { case 0: return &v.state @@ -191744,7 +200432,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1307].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1363].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRegionCommitmentRequest); i { case 0: return &v.state @@ -191756,7 +200444,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1308].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1364].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRegionDiskRequest); i { case 0: return &v.state @@ -191768,7 +200456,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1309].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1365].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRegionHealthCheckRequest); i { case 0: return &v.state @@ -191780,7 +200468,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1310].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1366].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRegionUrlMapRequest); i { case 0: return &v.state @@ -191792,7 +200480,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1311].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1367].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateReservationRequest); i { case 0: return &v.state @@ -191804,7 +200492,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1312].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1368].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRouterRequest); i { case 0: return &v.state @@ -191816,7 +200504,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1313].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1369].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateShieldedInstanceConfigInstanceRequest); i { case 0: return &v.state @@ -191828,7 +200516,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1314].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1370].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateUrlMapRequest); i { case 0: return &v.state @@ -191840,7 +200528,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1315].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1371].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMap); i { case 0: return &v.state @@ -191852,7 +200540,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1316].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1372].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapList); i { case 0: return &v.state @@ -191864,7 +200552,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1317].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1373].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapReference); i { case 0: return &v.state @@ -191876,7 +200564,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1318].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1374].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapTest); i { case 0: return &v.state @@ -191888,7 +200576,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1319].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1375].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapTestHeader); i { case 0: return &v.state @@ -191900,7 +200588,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1320].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1376].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapValidationResult); i { case 0: return &v.state @@ -191912,7 +200600,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1321].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1377].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapsAggregatedList); i { case 0: return &v.state @@ -191924,7 +200612,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1322].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1378].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapsScopedList); i { case 0: return &v.state @@ -191936,7 +200624,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1323].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1379].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapsValidateRequest); i { case 0: return &v.state @@ -191948,7 +200636,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1324].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1380].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlMapsValidateResponse); i { case 0: return &v.state @@ -191960,7 +200648,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1325].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1381].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UrlRewrite); i { case 0: return &v.state @@ -191972,7 +200660,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1326].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1382].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsableSubnetwork); i { case 0: return &v.state @@ -191984,7 +200672,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1327].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1383].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsableSubnetworkSecondaryRange); i { case 0: return &v.state @@ -191996,7 +200684,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1328].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1384].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsableSubnetworksAggregatedList); i { case 0: return &v.state @@ -192008,7 +200696,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1329].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1385].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UsageExportLocation); i { case 0: return &v.state @@ -192020,7 +200708,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1330].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1386].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateRegionUrlMapRequest); i { case 0: return &v.state @@ -192032,7 +200720,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1331].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1387].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ValidateUrlMapRequest); i { case 0: return &v.state @@ -192044,7 +200732,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1332].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1388].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VmEndpointNatMappings); i { case 0: return &v.state @@ -192056,7 +200744,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1333].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1389].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VmEndpointNatMappingsInterfaceNatMappings); i { case 0: return &v.state @@ -192068,7 +200756,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1334].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1390].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VmEndpointNatMappingsInterfaceNatMappingsNatRuleMappings); i { case 0: return &v.state @@ -192080,7 +200768,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1335].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1391].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VmEndpointNatMappingsList); i { case 0: return &v.state @@ -192092,7 +200780,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1336].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1392].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGateway); i { case 0: return &v.state @@ -192104,7 +200792,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1337].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1393].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewayAggregatedList); i { case 0: return &v.state @@ -192116,7 +200804,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1338].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1394].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewayList); i { case 0: return &v.state @@ -192128,7 +200816,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1339].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1395].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewayStatus); i { case 0: return &v.state @@ -192140,7 +200828,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1340].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1396].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewayStatusHighAvailabilityRequirementState); i { case 0: return &v.state @@ -192152,7 +200840,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1341].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1397].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewayStatusTunnel); i { case 0: return &v.state @@ -192164,7 +200852,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1342].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1398].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewayStatusVpnConnection); i { case 0: return &v.state @@ -192176,7 +200864,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1343].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1399].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewayVpnGatewayInterface); i { case 0: return &v.state @@ -192188,7 +200876,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1344].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1400].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewaysGetStatusResponse); i { case 0: return &v.state @@ -192200,7 +200888,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1345].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1401].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnGatewaysScopedList); i { case 0: return &v.state @@ -192212,7 +200900,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1346].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1402].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnTunnel); i { case 0: return &v.state @@ -192224,7 +200912,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1347].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1403].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnTunnelAggregatedList); i { case 0: return &v.state @@ -192236,7 +200924,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1348].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1404].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnTunnelList); i { case 0: return &v.state @@ -192248,7 +200936,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1349].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1405].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*VpnTunnelsScopedList); i { case 0: return &v.state @@ -192260,7 +200948,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1350].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1406].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WafExpressionSet); i { case 0: return &v.state @@ -192272,7 +200960,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1351].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1407].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WafExpressionSetExpression); i { case 0: return &v.state @@ -192284,7 +200972,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1352].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1408].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WaitGlobalOperationRequest); i { case 0: return &v.state @@ -192296,7 +200984,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1353].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1409].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WaitRegionOperationRequest); i { case 0: return &v.state @@ -192308,7 +200996,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1354].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1410].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WaitZoneOperationRequest); i { case 0: return &v.state @@ -192320,7 +201008,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1355].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1411].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Warning); i { case 0: return &v.state @@ -192332,7 +201020,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1356].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1412].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Warnings); i { case 0: return &v.state @@ -192344,7 +201032,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1357].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1413].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WeightedBackendService); i { case 0: return &v.state @@ -192356,7 +201044,31 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1358].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1414].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithdrawPublicAdvertisedPrefixeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1415].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithdrawPublicDelegatedPrefixeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_google_cloud_compute_v1_compute_proto_msgTypes[1416].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XpnHostList); i { case 0: return &v.state @@ -192368,7 +201080,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1359].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1417].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*XpnResourceId); i { case 0: return &v.state @@ -192380,7 +201092,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1360].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1418].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Zone); i { case 0: return &v.state @@ -192392,7 +201104,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1361].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1419].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZoneList); i { case 0: return &v.state @@ -192404,7 +201116,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1362].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1420].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZoneSetLabelsRequest); i { case 0: return &v.state @@ -192416,7 +201128,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { return nil } } - file_google_cloud_compute_v1_compute_proto_msgTypes[1363].Exporter = func(v interface{}, i int) interface{} { + file_google_cloud_compute_v1_compute_proto_msgTypes[1421].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ZoneSetPolicyRequest); i { case 0: return &v.state @@ -192509,10 +201221,10 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[77].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[78].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[79].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[80].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[81].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[82].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[83].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[84].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[85].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[86].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[87].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[88].OneofWrappers = []interface{}{} @@ -192532,11 +201244,11 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[102].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[103].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[104].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[105].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[106].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[107].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[108].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[109].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[110].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[111].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[112].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[113].OneofWrappers = []interface{}{} @@ -192597,15 +201309,15 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[168].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[169].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[170].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[171].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[172].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[173].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[174].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[175].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[176].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[177].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[178].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[179].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[180].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[181].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[182].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[183].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[184].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[185].OneofWrappers = []interface{}{} @@ -192620,26 +201332,26 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[194].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[195].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[196].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[197].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[198].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[199].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[200].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[201].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[202].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[203].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[204].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[205].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[206].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[207].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[208].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[209].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[210].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[211].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[212].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[213].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[214].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[215].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[216].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[217].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[218].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[219].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[220].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[221].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[222].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[223].OneofWrappers = []interface{}{} @@ -192662,14 +201374,14 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[240].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[241].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[242].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[243].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[244].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[245].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[246].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[247].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[248].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[249].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[250].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[251].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[252].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[253].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[254].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[255].OneofWrappers = []interface{}{} @@ -192677,22 +201389,23 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[257].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[258].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[259].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[260].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[261].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[262].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[263].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[264].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[265].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[266].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[269].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[267].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[268].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[270].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[271].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[272].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[273].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[274].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[275].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[276].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[277].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[278].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[279].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[280].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[281].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[282].OneofWrappers = []interface{}{} @@ -192701,7 +201414,6 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[285].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[286].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[287].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[288].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[289].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[290].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[291].OneofWrappers = []interface{}{} @@ -192712,6 +201424,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[296].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[297].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[298].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[299].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[300].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[301].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[302].OneofWrappers = []interface{}{} @@ -192720,22 +201433,21 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[305].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[306].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[307].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[308].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[309].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[310].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[311].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[312].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[313].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[314].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[333].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[335].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[340].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[341].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[315].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[316].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[317].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[318].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[321].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[322].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[323].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[342].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[343].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[344].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[345].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[346].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[347].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[348].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[349].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[350].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[351].OneofWrappers = []interface{}{} @@ -192747,39 +201459,39 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[357].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[358].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[359].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[374].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[414].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[415].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[416].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[417].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[420].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[440].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[443].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[446].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[447].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[448].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[449].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[450].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[452].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[453].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[360].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[361].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[362].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[363].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[364].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[365].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[366].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[367].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[368].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[369].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[385].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[386].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[426].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[427].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[428].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[429].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[430].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[433].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[454].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[455].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[456].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[457].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[458].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[459].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[460].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[461].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[462].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[463].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[464].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[465].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[466].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[467].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[468].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[469].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[470].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[471].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[472].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[473].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[474].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[475].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[476].OneofWrappers = []interface{}{} @@ -192787,13 +201499,11 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[478].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[479].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[480].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[481].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[482].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[483].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[484].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[485].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[486].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[487].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[488].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[489].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[490].OneofWrappers = []interface{}{} @@ -192883,54 +201593,53 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[574].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[575].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[576].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[577].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[578].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[579].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[580].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[581].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[582].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[583].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[584].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[585].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[586].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[587].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[588].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[589].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[590].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[592].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[593].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[595].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[594].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[596].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[597].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[598].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[599].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[600].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[601].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[602].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[604].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[605].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[603].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[606].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[607].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[608].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[609].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[610].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[611].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[612].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[613].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[614].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[615].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[616].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[618].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[619].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[620].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[621].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[622].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[623].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[624].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[625].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[626].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[627].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[628].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[629].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[630].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[631].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[632].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[633].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[634].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[635].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[636].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[637].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[638].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[639].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[640].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[641].OneofWrappers = []interface{}{} @@ -192953,7 +201662,6 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[658].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[659].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[660].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[661].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[662].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[663].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[664].OneofWrappers = []interface{}{} @@ -193100,6 +201808,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[805].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[806].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[807].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[808].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[809].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[810].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[811].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[812].OneofWrappers = []interface{}{} @@ -193108,8 +201818,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[815].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[816].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[817].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[818].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[819].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[820].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[821].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[822].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[823].OneofWrappers = []interface{}{} @@ -193120,11 +201830,11 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[828].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[829].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[830].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[831].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[832].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[833].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[834].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[836].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[837].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[835].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[838].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[839].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[840].OneofWrappers = []interface{}{} @@ -193135,7 +201845,6 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[845].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[846].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[847].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[848].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[849].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[850].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[851].OneofWrappers = []interface{}{} @@ -193149,7 +201858,6 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[860].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[861].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[862].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[863].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[864].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[865].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[866].OneofWrappers = []interface{}{} @@ -193173,7 +201881,6 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[884].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[885].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[886].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[887].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[888].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[889].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[890].OneofWrappers = []interface{}{} @@ -193200,7 +201907,10 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[911].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[912].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[913].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[914].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[915].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[916].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[917].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[918].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[919].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[920].OneofWrappers = []interface{}{} @@ -193225,55 +201935,51 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[939].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[940].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[941].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[942].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[943].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[944].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[945].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[946].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[947].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[948].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[949].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[951].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[952].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[953].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[954].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[955].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[956].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[957].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[958].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[959].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[960].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[961].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[962].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[963].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[964].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[965].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[966].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[967].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[968].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[969].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[970].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[971].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[972].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[973].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[974].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[975].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[976].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[977].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[978].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[979].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[980].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[981].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[982].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[983].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[984].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[985].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[986].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[987].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[988].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[989].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[990].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[991].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[992].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[993].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[994].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[995].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[996].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[997].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[998].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[999].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1000].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1001].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1002].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1003].OneofWrappers = []interface{}{} @@ -193288,6 +201994,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1013].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1014].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1015].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1016].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1017].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1018].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1019].OneofWrappers = []interface{}{} @@ -193307,10 +202014,10 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1033].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1034].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1035].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1036].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1037].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1038].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1039].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1040].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1041].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1042].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1043].OneofWrappers = []interface{}{} @@ -193322,7 +202029,6 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1049].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1050].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1051].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1052].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1053].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1054].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1055].OneofWrappers = []interface{}{} @@ -193332,13 +202038,16 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1059].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1060].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1061].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1062].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1063].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1064].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1065].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1066].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1067].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1068].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1069].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1070].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1071].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1073].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1074].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1075].OneofWrappers = []interface{}{} @@ -193346,6 +202055,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1077].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1078].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1079].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1080].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1081].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1082].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1083].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1084].OneofWrappers = []interface{}{} @@ -193363,17 +202074,37 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1096].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1097].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1098].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1099].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1100].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1101].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1102].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1103].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1104].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1106].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1107].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1110].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1112].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1113].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1114].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1115].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1116].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1117].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1118].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1119].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1122].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1123].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1124].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1125].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1126].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1127].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1128].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1129].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1130].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1131].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1132].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1133].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1134].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1135].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1136].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1137].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1138].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1139].OneofWrappers = []interface{}{} @@ -193381,45 +202112,18 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1141].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1142].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1143].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1144].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1145].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1146].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1147].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1148].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1149].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1150].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1151].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1152].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1153].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1154].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1155].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1156].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1157].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1158].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1159].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1160].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1161].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1162].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1163].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1164].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1165].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1166].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1167].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1168].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1169].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1170].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1171].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1172].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1173].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1174].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1175].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1176].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1177].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1178].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1179].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1180].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1181].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1182].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1183].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1184].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1185].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1186].OneofWrappers = []interface{}{} @@ -193429,6 +202133,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1190].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1191].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1192].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1193].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1194].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1195].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1196].OneofWrappers = []interface{}{} @@ -193437,6 +202142,7 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1199].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1200].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1201].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1202].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1203].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1204].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1205].OneofWrappers = []interface{}{} @@ -193465,8 +202171,8 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1228].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1229].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1230].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1231].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1232].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1233].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1234].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1235].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1236].OneofWrappers = []interface{}{} @@ -193476,6 +202182,9 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1240].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1241].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1242].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1244].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1245].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1246].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1247].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1248].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1249].OneofWrappers = []interface{}{} @@ -193494,20 +202203,39 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1263].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1264].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1265].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1266].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1267].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1268].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1269].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1270].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1271].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1272].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1273].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1274].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1275].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1276].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1277].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1278].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1279].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1280].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1281].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1282].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1284].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1285].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1286].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1287].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1288].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1289].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1290].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1291].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1292].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1293].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1294].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1295].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1296].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1297].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1298].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1299].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1300].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1301].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1302].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1303].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1304].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1305].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1306].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1307].OneofWrappers = []interface{}{} @@ -193521,37 +202249,15 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1315].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1316].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1317].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1318].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1319].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1320].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1321].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1322].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1323].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1324].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1325].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1326].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1327].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1328].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1329].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1332].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1333].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1334].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1335].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1336].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1337].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1338].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1340].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1341].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1342].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1343].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1344].OneofWrappers = []interface{}{} - file_google_cloud_compute_v1_compute_proto_msgTypes[1345].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1346].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1347].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1348].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1349].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1350].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1351].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1352].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1353].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1354].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1355].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1356].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1357].OneofWrappers = []interface{}{} @@ -193561,15 +202267,67 @@ func file_google_cloud_compute_v1_compute_proto_init() { file_google_cloud_compute_v1_compute_proto_msgTypes[1361].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1362].OneofWrappers = []interface{}{} file_google_cloud_compute_v1_compute_proto_msgTypes[1363].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1364].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1365].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1366].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1367].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1368].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1369].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1370].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1371].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1372].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1373].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1374].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1375].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1376].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1377].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1378].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1379].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1380].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1381].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1382].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1383].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1384].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1385].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1388].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1389].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1390].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1391].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1392].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1393].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1394].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1396].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1397].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1398].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1399].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1400].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1401].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1402].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1403].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1404].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1405].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1406].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1407].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1411].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1412].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1413].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1414].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1415].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1416].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1417].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1418].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1419].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1420].OneofWrappers = []interface{}{} + file_google_cloud_compute_v1_compute_proto_msgTypes[1421].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_cloud_compute_v1_compute_proto_rawDesc, - NumEnums: 283, - NumMessages: 1450, + NumEnums: 301, + NumMessages: 1515, NumExtensions: 0, - NumServices: 90, + NumServices: 91, }, GoTypes: file_google_cloud_compute_v1_compute_proto_goTypes, DependencyIndexes: file_google_cloud_compute_v1_compute_proto_depIdxs, @@ -194356,6 +203114,8 @@ type BackendBucketsClient interface { DeleteSignedUrlKey(ctx context.Context, in *DeleteSignedUrlKeyBackendBucketRequest, opts ...grpc.CallOption) (*Operation, error) // Returns the specified BackendBucket resource. Get(ctx context.Context, in *GetBackendBucketRequest, opts ...grpc.CallOption) (*BackendBucket, error) + // Gets the access control policy for a resource. May be empty if no such policy or resource exists. + GetIamPolicy(ctx context.Context, in *GetIamPolicyBackendBucketRequest, opts ...grpc.CallOption) (*Policy, error) // Creates a BackendBucket resource in the specified project using the data included in the request. Insert(ctx context.Context, in *InsertBackendBucketRequest, opts ...grpc.CallOption) (*Operation, error) // Retrieves the list of BackendBucket resources available to the specified project. @@ -194364,6 +203124,10 @@ type BackendBucketsClient interface { Patch(ctx context.Context, in *PatchBackendBucketRequest, opts ...grpc.CallOption) (*Operation, error) // Sets the edge security policy for the specified backend bucket. SetEdgeSecurityPolicy(ctx context.Context, in *SetEdgeSecurityPolicyBackendBucketRequest, opts ...grpc.CallOption) (*Operation, error) + // Sets the access control policy on the specified resource. Replaces any existing policy. + SetIamPolicy(ctx context.Context, in *SetIamPolicyBackendBucketRequest, opts ...grpc.CallOption) (*Policy, error) + // Returns permissions that a caller has on the specified resource. + TestIamPermissions(ctx context.Context, in *TestIamPermissionsBackendBucketRequest, opts ...grpc.CallOption) (*TestPermissionsResponse, error) // Updates the specified BackendBucket resource with the data included in the request. Update(ctx context.Context, in *UpdateBackendBucketRequest, opts ...grpc.CallOption) (*Operation, error) } @@ -194412,6 +203176,15 @@ func (c *backendBucketsClient) Get(ctx context.Context, in *GetBackendBucketRequ return out, nil } +func (c *backendBucketsClient) GetIamPolicy(ctx context.Context, in *GetIamPolicyBackendBucketRequest, opts ...grpc.CallOption) (*Policy, error) { + out := new(Policy) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendBuckets/GetIamPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *backendBucketsClient) Insert(ctx context.Context, in *InsertBackendBucketRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendBuckets/Insert", in, out, opts...) @@ -194448,6 +203221,24 @@ func (c *backendBucketsClient) SetEdgeSecurityPolicy(ctx context.Context, in *Se return out, nil } +func (c *backendBucketsClient) SetIamPolicy(ctx context.Context, in *SetIamPolicyBackendBucketRequest, opts ...grpc.CallOption) (*Policy, error) { + out := new(Policy) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendBuckets/SetIamPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *backendBucketsClient) TestIamPermissions(ctx context.Context, in *TestIamPermissionsBackendBucketRequest, opts ...grpc.CallOption) (*TestPermissionsResponse, error) { + out := new(TestPermissionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendBuckets/TestIamPermissions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *backendBucketsClient) Update(ctx context.Context, in *UpdateBackendBucketRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendBuckets/Update", in, out, opts...) @@ -194467,6 +203258,8 @@ type BackendBucketsServer interface { DeleteSignedUrlKey(context.Context, *DeleteSignedUrlKeyBackendBucketRequest) (*Operation, error) // Returns the specified BackendBucket resource. Get(context.Context, *GetBackendBucketRequest) (*BackendBucket, error) + // Gets the access control policy for a resource. May be empty if no such policy or resource exists. + GetIamPolicy(context.Context, *GetIamPolicyBackendBucketRequest) (*Policy, error) // Creates a BackendBucket resource in the specified project using the data included in the request. Insert(context.Context, *InsertBackendBucketRequest) (*Operation, error) // Retrieves the list of BackendBucket resources available to the specified project. @@ -194475,6 +203268,10 @@ type BackendBucketsServer interface { Patch(context.Context, *PatchBackendBucketRequest) (*Operation, error) // Sets the edge security policy for the specified backend bucket. SetEdgeSecurityPolicy(context.Context, *SetEdgeSecurityPolicyBackendBucketRequest) (*Operation, error) + // Sets the access control policy on the specified resource. Replaces any existing policy. + SetIamPolicy(context.Context, *SetIamPolicyBackendBucketRequest) (*Policy, error) + // Returns permissions that a caller has on the specified resource. + TestIamPermissions(context.Context, *TestIamPermissionsBackendBucketRequest) (*TestPermissionsResponse, error) // Updates the specified BackendBucket resource with the data included in the request. Update(context.Context, *UpdateBackendBucketRequest) (*Operation, error) } @@ -194495,6 +203292,9 @@ func (*UnimplementedBackendBucketsServer) DeleteSignedUrlKey(context.Context, *D func (*UnimplementedBackendBucketsServer) Get(context.Context, *GetBackendBucketRequest) (*BackendBucket, error) { return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") } +func (*UnimplementedBackendBucketsServer) GetIamPolicy(context.Context, *GetIamPolicyBackendBucketRequest) (*Policy, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented") +} func (*UnimplementedBackendBucketsServer) Insert(context.Context, *InsertBackendBucketRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Insert not implemented") } @@ -194507,6 +203307,12 @@ func (*UnimplementedBackendBucketsServer) Patch(context.Context, *PatchBackendBu func (*UnimplementedBackendBucketsServer) SetEdgeSecurityPolicy(context.Context, *SetEdgeSecurityPolicyBackendBucketRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method SetEdgeSecurityPolicy not implemented") } +func (*UnimplementedBackendBucketsServer) SetIamPolicy(context.Context, *SetIamPolicyBackendBucketRequest) (*Policy, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") +} +func (*UnimplementedBackendBucketsServer) TestIamPermissions(context.Context, *TestIamPermissionsBackendBucketRequest) (*TestPermissionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") +} func (*UnimplementedBackendBucketsServer) Update(context.Context, *UpdateBackendBucketRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") } @@ -194587,6 +203393,24 @@ func _BackendBuckets_Get_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } +func _BackendBuckets_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetIamPolicyBackendBucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackendBucketsServer).GetIamPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.BackendBuckets/GetIamPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackendBucketsServer).GetIamPolicy(ctx, req.(*GetIamPolicyBackendBucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _BackendBuckets_Insert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(InsertBackendBucketRequest) if err := dec(in); err != nil { @@ -194659,6 +203483,42 @@ func _BackendBuckets_SetEdgeSecurityPolicy_Handler(srv interface{}, ctx context. return interceptor(ctx, in, info, handler) } +func _BackendBuckets_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetIamPolicyBackendBucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackendBucketsServer).SetIamPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.BackendBuckets/SetIamPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackendBucketsServer).SetIamPolicy(ctx, req.(*SetIamPolicyBackendBucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _BackendBuckets_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TestIamPermissionsBackendBucketRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackendBucketsServer).TestIamPermissions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.BackendBuckets/TestIamPermissions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackendBucketsServer).TestIamPermissions(ctx, req.(*TestIamPermissionsBackendBucketRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _BackendBuckets_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateBackendBucketRequest) if err := dec(in); err != nil { @@ -194697,6 +203557,10 @@ var _BackendBuckets_serviceDesc = grpc.ServiceDesc{ MethodName: "Get", Handler: _BackendBuckets_Get_Handler, }, + { + MethodName: "GetIamPolicy", + Handler: _BackendBuckets_GetIamPolicy_Handler, + }, { MethodName: "Insert", Handler: _BackendBuckets_Insert_Handler, @@ -194713,6 +203577,14 @@ var _BackendBuckets_serviceDesc = grpc.ServiceDesc{ MethodName: "SetEdgeSecurityPolicy", Handler: _BackendBuckets_SetEdgeSecurityPolicy_Handler, }, + { + MethodName: "SetIamPolicy", + Handler: _BackendBuckets_SetIamPolicy_Handler, + }, + { + MethodName: "TestIamPermissions", + Handler: _BackendBuckets_TestIamPermissions_Handler, + }, { MethodName: "Update", Handler: _BackendBuckets_Update_Handler, @@ -194744,6 +203616,8 @@ type BackendServicesClient interface { Insert(ctx context.Context, in *InsertBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) // Retrieves the list of BackendService resources available to the specified project. List(ctx context.Context, in *ListBackendServicesRequest, opts ...grpc.CallOption) (*BackendServiceList, error) + // Retrieves an aggregated list of all usable backend services in the specified project. + ListUsable(ctx context.Context, in *ListUsableBackendServicesRequest, opts ...grpc.CallOption) (*BackendServiceListUsable, error) // Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Patch(ctx context.Context, in *PatchBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) // Sets the edge security policy for the specified backend service. @@ -194752,6 +203626,8 @@ type BackendServicesClient interface { SetIamPolicy(ctx context.Context, in *SetIamPolicyBackendServiceRequest, opts ...grpc.CallOption) (*Policy, error) // Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) + // Returns permissions that a caller has on the specified resource. + TestIamPermissions(ctx context.Context, in *TestIamPermissionsBackendServiceRequest, opts ...grpc.CallOption) (*TestPermissionsResponse, error) // Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. Update(ctx context.Context, in *UpdateBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) } @@ -194845,6 +203721,15 @@ func (c *backendServicesClient) List(ctx context.Context, in *ListBackendService return out, nil } +func (c *backendServicesClient) ListUsable(ctx context.Context, in *ListUsableBackendServicesRequest, opts ...grpc.CallOption) (*BackendServiceListUsable, error) { + out := new(BackendServiceListUsable) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendServices/ListUsable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *backendServicesClient) Patch(ctx context.Context, in *PatchBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendServices/Patch", in, out, opts...) @@ -194881,6 +203766,15 @@ func (c *backendServicesClient) SetSecurityPolicy(ctx context.Context, in *SetSe return out, nil } +func (c *backendServicesClient) TestIamPermissions(ctx context.Context, in *TestIamPermissionsBackendServiceRequest, opts ...grpc.CallOption) (*TestPermissionsResponse, error) { + out := new(TestPermissionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendServices/TestIamPermissions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *backendServicesClient) Update(ctx context.Context, in *UpdateBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.BackendServices/Update", in, out, opts...) @@ -194910,6 +203804,8 @@ type BackendServicesServer interface { Insert(context.Context, *InsertBackendServiceRequest) (*Operation, error) // Retrieves the list of BackendService resources available to the specified project. List(context.Context, *ListBackendServicesRequest) (*BackendServiceList, error) + // Retrieves an aggregated list of all usable backend services in the specified project. + ListUsable(context.Context, *ListUsableBackendServicesRequest) (*BackendServiceListUsable, error) // Patches the specified BackendService resource with the data included in the request. For more information, see Backend services overview. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Patch(context.Context, *PatchBackendServiceRequest) (*Operation, error) // Sets the edge security policy for the specified backend service. @@ -194918,6 +203814,8 @@ type BackendServicesServer interface { SetIamPolicy(context.Context, *SetIamPolicyBackendServiceRequest) (*Policy, error) // Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview SetSecurityPolicy(context.Context, *SetSecurityPolicyBackendServiceRequest) (*Operation, error) + // Returns permissions that a caller has on the specified resource. + TestIamPermissions(context.Context, *TestIamPermissionsBackendServiceRequest) (*TestPermissionsResponse, error) // Updates the specified BackendService resource with the data included in the request. For more information, see Backend services overview. Update(context.Context, *UpdateBackendServiceRequest) (*Operation, error) } @@ -194953,6 +203851,9 @@ func (*UnimplementedBackendServicesServer) Insert(context.Context, *InsertBacken func (*UnimplementedBackendServicesServer) List(context.Context, *ListBackendServicesRequest) (*BackendServiceList, error) { return nil, status.Errorf(codes.Unimplemented, "method List not implemented") } +func (*UnimplementedBackendServicesServer) ListUsable(context.Context, *ListUsableBackendServicesRequest) (*BackendServiceListUsable, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListUsable not implemented") +} func (*UnimplementedBackendServicesServer) Patch(context.Context, *PatchBackendServiceRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Patch not implemented") } @@ -194965,6 +203866,9 @@ func (*UnimplementedBackendServicesServer) SetIamPolicy(context.Context, *SetIam func (*UnimplementedBackendServicesServer) SetSecurityPolicy(context.Context, *SetSecurityPolicyBackendServiceRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method SetSecurityPolicy not implemented") } +func (*UnimplementedBackendServicesServer) TestIamPermissions(context.Context, *TestIamPermissionsBackendServiceRequest) (*TestPermissionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") +} func (*UnimplementedBackendServicesServer) Update(context.Context, *UpdateBackendServiceRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") } @@ -195135,6 +204039,24 @@ func _BackendServices_List_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _BackendServices_ListUsable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListUsableBackendServicesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackendServicesServer).ListUsable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.BackendServices/ListUsable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackendServicesServer).ListUsable(ctx, req.(*ListUsableBackendServicesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _BackendServices_Patch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PatchBackendServiceRequest) if err := dec(in); err != nil { @@ -195207,6 +204129,24 @@ func _BackendServices_SetSecurityPolicy_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _BackendServices_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TestIamPermissionsBackendServiceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(BackendServicesServer).TestIamPermissions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.BackendServices/TestIamPermissions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(BackendServicesServer).TestIamPermissions(ctx, req.(*TestIamPermissionsBackendServiceRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _BackendServices_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateBackendServiceRequest) if err := dec(in); err != nil { @@ -195265,6 +204205,10 @@ var _BackendServices_serviceDesc = grpc.ServiceDesc{ MethodName: "List", Handler: _BackendServices_List_Handler, }, + { + MethodName: "ListUsable", + Handler: _BackendServices_ListUsable_Handler, + }, { MethodName: "Patch", Handler: _BackendServices_Patch_Handler, @@ -195281,6 +204225,10 @@ var _BackendServices_serviceDesc = grpc.ServiceDesc{ MethodName: "SetSecurityPolicy", Handler: _BackendServices_SetSecurityPolicy_Handler, }, + { + MethodName: "TestIamPermissions", + Handler: _BackendServices_TestIamPermissions_Handler, + }, { MethodName: "Update", Handler: _BackendServices_Update_Handler, @@ -201630,6 +210578,8 @@ type InstancesClient interface { SetName(ctx context.Context, in *SetNameInstanceRequest, opts ...grpc.CallOption) (*Operation, error) // Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states. For more information about setting scheduling options for a VM, see Set VM host maintenance policy. SetScheduling(ctx context.Context, in *SetSchedulingInstanceRequest, opts ...grpc.CallOption) (*Operation, error) + // Sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyInstanceRequest, opts ...grpc.CallOption) (*Operation, error) // Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance. SetServiceAccount(ctx context.Context, in *SetServiceAccountInstanceRequest, opts ...grpc.CallOption) (*Operation, error) // Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. @@ -201956,6 +210906,15 @@ func (c *instancesClient) SetScheduling(ctx context.Context, in *SetSchedulingIn return out, nil } +func (c *instancesClient) SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyInstanceRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.Instances/SetSecurityPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *instancesClient) SetServiceAccount(ctx context.Context, in *SetServiceAccountInstanceRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.Instances/SetServiceAccount", in, out, opts...) @@ -202148,6 +211107,8 @@ type InstancesServer interface { SetName(context.Context, *SetNameInstanceRequest) (*Operation, error) // Sets an instance's scheduling options. You can only call this method on a stopped instance, that is, a VM instance that is in a `TERMINATED` state. See Instance Life Cycle for more information on the possible instance states. For more information about setting scheduling options for a VM, see Set VM host maintenance policy. SetScheduling(context.Context, *SetSchedulingInstanceRequest) (*Operation, error) + // Sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(context.Context, *SetSecurityPolicyInstanceRequest) (*Operation, error) // Sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance. SetServiceAccount(context.Context, *SetServiceAccountInstanceRequest) (*Operation, error) // Sets the Shielded Instance integrity policy for an instance. You can only use this method on a running instance. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. @@ -202278,6 +211239,9 @@ func (*UnimplementedInstancesServer) SetName(context.Context, *SetNameInstanceRe func (*UnimplementedInstancesServer) SetScheduling(context.Context, *SetSchedulingInstanceRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method SetScheduling not implemented") } +func (*UnimplementedInstancesServer) SetSecurityPolicy(context.Context, *SetSecurityPolicyInstanceRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSecurityPolicy not implemented") +} func (*UnimplementedInstancesServer) SetServiceAccount(context.Context, *SetServiceAccountInstanceRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method SetServiceAccount not implemented") } @@ -202901,6 +211865,24 @@ func _Instances_SetScheduling_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Instances_SetSecurityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetSecurityPolicyInstanceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InstancesServer).SetSecurityPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.Instances/SetSecurityPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InstancesServer).SetSecurityPolicy(ctx, req.(*SetSecurityPolicyInstanceRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Instances_SetServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetServiceAccountInstanceRequest) if err := dec(in); err != nil { @@ -203285,6 +212267,10 @@ var _Instances_serviceDesc = grpc.ServiceDesc{ MethodName: "SetScheduling", Handler: _Instances_SetScheduling_Handler, }, + { + MethodName: "SetSecurityPolicy", + Handler: _Instances_SetSecurityPolicy_Handler, + }, { MethodName: "SetServiceAccount", Handler: _Instances_SetServiceAccount_Handler, @@ -203880,8 +212866,10 @@ type InterconnectsClient interface { Delete(ctx context.Context, in *DeleteInterconnectRequest, opts ...grpc.CallOption) (*Operation, error) // Returns the specified Interconnect. Get a list of available Interconnects by making a list() request. Get(ctx context.Context, in *GetInterconnectRequest, opts ...grpc.CallOption) (*Interconnect, error) - // Returns the interconnectDiagnostics for the specified Interconnect. + // Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly. GetDiagnostics(ctx context.Context, in *GetDiagnosticsInterconnectRequest, opts ...grpc.CallOption) (*InterconnectsGetDiagnosticsResponse, error) + // Returns the interconnectMacsecConfig for the specified Interconnect. + GetMacsecConfig(ctx context.Context, in *GetMacsecConfigInterconnectRequest, opts ...grpc.CallOption) (*InterconnectsGetMacsecConfigResponse, error) // Creates an Interconnect in the specified project using the data included in the request. Insert(ctx context.Context, in *InsertInterconnectRequest, opts ...grpc.CallOption) (*Operation, error) // Retrieves the list of Interconnects available to the specified project. @@ -203927,6 +212915,15 @@ func (c *interconnectsClient) GetDiagnostics(ctx context.Context, in *GetDiagnos return out, nil } +func (c *interconnectsClient) GetMacsecConfig(ctx context.Context, in *GetMacsecConfigInterconnectRequest, opts ...grpc.CallOption) (*InterconnectsGetMacsecConfigResponse, error) { + out := new(InterconnectsGetMacsecConfigResponse) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.Interconnects/GetMacsecConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *interconnectsClient) Insert(ctx context.Context, in *InsertInterconnectRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.Interconnects/Insert", in, out, opts...) @@ -203969,8 +212966,10 @@ type InterconnectsServer interface { Delete(context.Context, *DeleteInterconnectRequest) (*Operation, error) // Returns the specified Interconnect. Get a list of available Interconnects by making a list() request. Get(context.Context, *GetInterconnectRequest) (*Interconnect, error) - // Returns the interconnectDiagnostics for the specified Interconnect. + // Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly. GetDiagnostics(context.Context, *GetDiagnosticsInterconnectRequest) (*InterconnectsGetDiagnosticsResponse, error) + // Returns the interconnectMacsecConfig for the specified Interconnect. + GetMacsecConfig(context.Context, *GetMacsecConfigInterconnectRequest) (*InterconnectsGetMacsecConfigResponse, error) // Creates an Interconnect in the specified project using the data included in the request. Insert(context.Context, *InsertInterconnectRequest) (*Operation, error) // Retrieves the list of Interconnects available to the specified project. @@ -203994,6 +212993,9 @@ func (*UnimplementedInterconnectsServer) Get(context.Context, *GetInterconnectRe func (*UnimplementedInterconnectsServer) GetDiagnostics(context.Context, *GetDiagnosticsInterconnectRequest) (*InterconnectsGetDiagnosticsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDiagnostics not implemented") } +func (*UnimplementedInterconnectsServer) GetMacsecConfig(context.Context, *GetMacsecConfigInterconnectRequest) (*InterconnectsGetMacsecConfigResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMacsecConfig not implemented") +} func (*UnimplementedInterconnectsServer) Insert(context.Context, *InsertInterconnectRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Insert not implemented") } @@ -204065,6 +213067,24 @@ func _Interconnects_GetDiagnostics_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _Interconnects_GetMacsecConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMacsecConfigInterconnectRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(InterconnectsServer).GetMacsecConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.Interconnects/GetMacsecConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(InterconnectsServer).GetMacsecConfig(ctx, req.(*GetMacsecConfigInterconnectRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Interconnects_Insert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(InsertInterconnectRequest) if err := dec(in); err != nil { @@ -204153,6 +213173,10 @@ var _Interconnects_serviceDesc = grpc.ServiceDesc{ MethodName: "GetDiagnostics", Handler: _Interconnects_GetDiagnostics_Handler, }, + { + MethodName: "GetMacsecConfig", + Handler: _Interconnects_GetMacsecConfig_Handler, + }, { MethodName: "Insert", Handler: _Interconnects_Insert_Handler, @@ -205056,6 +214080,8 @@ type NetworkAttachmentsClient interface { Insert(ctx context.Context, in *InsertNetworkAttachmentRequest, opts ...grpc.CallOption) (*Operation, error) // Lists the NetworkAttachments for a project in the given scope. List(ctx context.Context, in *ListNetworkAttachmentsRequest, opts ...grpc.CallOption) (*NetworkAttachmentList, error) + // Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. + Patch(ctx context.Context, in *PatchNetworkAttachmentRequest, opts ...grpc.CallOption) (*Operation, error) // Sets the access control policy on the specified resource. Replaces any existing policy. SetIamPolicy(ctx context.Context, in *SetIamPolicyNetworkAttachmentRequest, opts ...grpc.CallOption) (*Policy, error) // Returns permissions that a caller has on the specified resource. @@ -205124,6 +214150,15 @@ func (c *networkAttachmentsClient) List(ctx context.Context, in *ListNetworkAtta return out, nil } +func (c *networkAttachmentsClient) Patch(ctx context.Context, in *PatchNetworkAttachmentRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.NetworkAttachments/Patch", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *networkAttachmentsClient) SetIamPolicy(ctx context.Context, in *SetIamPolicyNetworkAttachmentRequest, opts ...grpc.CallOption) (*Policy, error) { out := new(Policy) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.NetworkAttachments/SetIamPolicy", in, out, opts...) @@ -205156,6 +214191,8 @@ type NetworkAttachmentsServer interface { Insert(context.Context, *InsertNetworkAttachmentRequest) (*Operation, error) // Lists the NetworkAttachments for a project in the given scope. List(context.Context, *ListNetworkAttachmentsRequest) (*NetworkAttachmentList, error) + // Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. + Patch(context.Context, *PatchNetworkAttachmentRequest) (*Operation, error) // Sets the access control policy on the specified resource. Replaces any existing policy. SetIamPolicy(context.Context, *SetIamPolicyNetworkAttachmentRequest) (*Policy, error) // Returns permissions that a caller has on the specified resource. @@ -205184,6 +214221,9 @@ func (*UnimplementedNetworkAttachmentsServer) Insert(context.Context, *InsertNet func (*UnimplementedNetworkAttachmentsServer) List(context.Context, *ListNetworkAttachmentsRequest) (*NetworkAttachmentList, error) { return nil, status.Errorf(codes.Unimplemented, "method List not implemented") } +func (*UnimplementedNetworkAttachmentsServer) Patch(context.Context, *PatchNetworkAttachmentRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method Patch not implemented") +} func (*UnimplementedNetworkAttachmentsServer) SetIamPolicy(context.Context, *SetIamPolicyNetworkAttachmentRequest) (*Policy, error) { return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") } @@ -205303,6 +214343,24 @@ func _NetworkAttachments_List_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _NetworkAttachments_Patch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchNetworkAttachmentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NetworkAttachmentsServer).Patch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.NetworkAttachments/Patch", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NetworkAttachmentsServer).Patch(ctx, req.(*PatchNetworkAttachmentRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _NetworkAttachments_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SetIamPolicyNetworkAttachmentRequest) if err := dec(in); err != nil { @@ -205367,6 +214425,10 @@ var _NetworkAttachments_serviceDesc = grpc.ServiceDesc{ MethodName: "List", Handler: _NetworkAttachments_List_Handler, }, + { + MethodName: "Patch", + Handler: _NetworkAttachments_Patch_Handler, + }, { MethodName: "SetIamPolicy", Handler: _NetworkAttachments_SetIamPolicy_Handler, @@ -208976,6 +218038,8 @@ var _Projects_serviceDesc = grpc.ServiceDesc{ // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type PublicAdvertisedPrefixesClient interface { + // Announces the specified PublicAdvertisedPrefix + Announce(ctx context.Context, in *AnnouncePublicAdvertisedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) // Deletes the specified PublicAdvertisedPrefix Delete(ctx context.Context, in *DeletePublicAdvertisedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) // Returns the specified PublicAdvertisedPrefix resource. @@ -208986,6 +218050,8 @@ type PublicAdvertisedPrefixesClient interface { List(ctx context.Context, in *ListPublicAdvertisedPrefixesRequest, opts ...grpc.CallOption) (*PublicAdvertisedPrefixList, error) // Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. Patch(ctx context.Context, in *PatchPublicAdvertisedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) + // Withdraws the specified PublicAdvertisedPrefix + Withdraw(ctx context.Context, in *WithdrawPublicAdvertisedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) } type publicAdvertisedPrefixesClient struct { @@ -208996,6 +218062,15 @@ func NewPublicAdvertisedPrefixesClient(cc grpc.ClientConnInterface) PublicAdvert return &publicAdvertisedPrefixesClient{cc} } +func (c *publicAdvertisedPrefixesClient) Announce(ctx context.Context, in *AnnouncePublicAdvertisedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.PublicAdvertisedPrefixes/Announce", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *publicAdvertisedPrefixesClient) Delete(ctx context.Context, in *DeletePublicAdvertisedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.PublicAdvertisedPrefixes/Delete", in, out, opts...) @@ -209041,8 +218116,19 @@ func (c *publicAdvertisedPrefixesClient) Patch(ctx context.Context, in *PatchPub return out, nil } +func (c *publicAdvertisedPrefixesClient) Withdraw(ctx context.Context, in *WithdrawPublicAdvertisedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.PublicAdvertisedPrefixes/Withdraw", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // PublicAdvertisedPrefixesServer is the server API for PublicAdvertisedPrefixes service. type PublicAdvertisedPrefixesServer interface { + // Announces the specified PublicAdvertisedPrefix + Announce(context.Context, *AnnouncePublicAdvertisedPrefixeRequest) (*Operation, error) // Deletes the specified PublicAdvertisedPrefix Delete(context.Context, *DeletePublicAdvertisedPrefixeRequest) (*Operation, error) // Returns the specified PublicAdvertisedPrefix resource. @@ -209053,12 +218139,17 @@ type PublicAdvertisedPrefixesServer interface { List(context.Context, *ListPublicAdvertisedPrefixesRequest) (*PublicAdvertisedPrefixList, error) // Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. Patch(context.Context, *PatchPublicAdvertisedPrefixeRequest) (*Operation, error) + // Withdraws the specified PublicAdvertisedPrefix + Withdraw(context.Context, *WithdrawPublicAdvertisedPrefixeRequest) (*Operation, error) } // UnimplementedPublicAdvertisedPrefixesServer can be embedded to have forward compatible implementations. type UnimplementedPublicAdvertisedPrefixesServer struct { } +func (*UnimplementedPublicAdvertisedPrefixesServer) Announce(context.Context, *AnnouncePublicAdvertisedPrefixeRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method Announce not implemented") +} func (*UnimplementedPublicAdvertisedPrefixesServer) Delete(context.Context, *DeletePublicAdvertisedPrefixeRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") } @@ -209074,11 +218165,32 @@ func (*UnimplementedPublicAdvertisedPrefixesServer) List(context.Context, *ListP func (*UnimplementedPublicAdvertisedPrefixesServer) Patch(context.Context, *PatchPublicAdvertisedPrefixeRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Patch not implemented") } +func (*UnimplementedPublicAdvertisedPrefixesServer) Withdraw(context.Context, *WithdrawPublicAdvertisedPrefixeRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method Withdraw not implemented") +} func RegisterPublicAdvertisedPrefixesServer(s *grpc.Server, srv PublicAdvertisedPrefixesServer) { s.RegisterService(&_PublicAdvertisedPrefixes_serviceDesc, srv) } +func _PublicAdvertisedPrefixes_Announce_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AnnouncePublicAdvertisedPrefixeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PublicAdvertisedPrefixesServer).Announce(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.PublicAdvertisedPrefixes/Announce", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PublicAdvertisedPrefixesServer).Announce(ctx, req.(*AnnouncePublicAdvertisedPrefixeRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _PublicAdvertisedPrefixes_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeletePublicAdvertisedPrefixeRequest) if err := dec(in); err != nil { @@ -209169,10 +218281,32 @@ func _PublicAdvertisedPrefixes_Patch_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _PublicAdvertisedPrefixes_Withdraw_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WithdrawPublicAdvertisedPrefixeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PublicAdvertisedPrefixesServer).Withdraw(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.PublicAdvertisedPrefixes/Withdraw", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PublicAdvertisedPrefixesServer).Withdraw(ctx, req.(*WithdrawPublicAdvertisedPrefixeRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _PublicAdvertisedPrefixes_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.compute.v1.PublicAdvertisedPrefixes", HandlerType: (*PublicAdvertisedPrefixesServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "Announce", + Handler: _PublicAdvertisedPrefixes_Announce_Handler, + }, { MethodName: "Delete", Handler: _PublicAdvertisedPrefixes_Delete_Handler, @@ -209193,6 +218327,10 @@ var _PublicAdvertisedPrefixes_serviceDesc = grpc.ServiceDesc{ MethodName: "Patch", Handler: _PublicAdvertisedPrefixes_Patch_Handler, }, + { + MethodName: "Withdraw", + Handler: _PublicAdvertisedPrefixes_Withdraw_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/compute/v1/compute.proto", @@ -209204,6 +218342,8 @@ var _PublicAdvertisedPrefixes_serviceDesc = grpc.ServiceDesc{ type PublicDelegatedPrefixesClient interface { // Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. AggregatedList(ctx context.Context, in *AggregatedListPublicDelegatedPrefixesRequest, opts ...grpc.CallOption) (*PublicDelegatedPrefixAggregatedList, error) + // Announces the specified PublicDelegatedPrefix in the given region. + Announce(ctx context.Context, in *AnnouncePublicDelegatedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) // Deletes the specified PublicDelegatedPrefix in the given region. Delete(ctx context.Context, in *DeletePublicDelegatedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) // Returns the specified PublicDelegatedPrefix resource in the given region. @@ -209214,6 +218354,8 @@ type PublicDelegatedPrefixesClient interface { List(ctx context.Context, in *ListPublicDelegatedPrefixesRequest, opts ...grpc.CallOption) (*PublicDelegatedPrefixList, error) // Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. Patch(ctx context.Context, in *PatchPublicDelegatedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) + // Withdraws the specified PublicDelegatedPrefix in the given region. + Withdraw(ctx context.Context, in *WithdrawPublicDelegatedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) } type publicDelegatedPrefixesClient struct { @@ -209233,6 +218375,15 @@ func (c *publicDelegatedPrefixesClient) AggregatedList(ctx context.Context, in * return out, nil } +func (c *publicDelegatedPrefixesClient) Announce(ctx context.Context, in *AnnouncePublicDelegatedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.PublicDelegatedPrefixes/Announce", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *publicDelegatedPrefixesClient) Delete(ctx context.Context, in *DeletePublicDelegatedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.PublicDelegatedPrefixes/Delete", in, out, opts...) @@ -209278,10 +218429,21 @@ func (c *publicDelegatedPrefixesClient) Patch(ctx context.Context, in *PatchPubl return out, nil } +func (c *publicDelegatedPrefixesClient) Withdraw(ctx context.Context, in *WithdrawPublicDelegatedPrefixeRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.PublicDelegatedPrefixes/Withdraw", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // PublicDelegatedPrefixesServer is the server API for PublicDelegatedPrefixes service. type PublicDelegatedPrefixesServer interface { // Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. AggregatedList(context.Context, *AggregatedListPublicDelegatedPrefixesRequest) (*PublicDelegatedPrefixAggregatedList, error) + // Announces the specified PublicDelegatedPrefix in the given region. + Announce(context.Context, *AnnouncePublicDelegatedPrefixeRequest) (*Operation, error) // Deletes the specified PublicDelegatedPrefix in the given region. Delete(context.Context, *DeletePublicDelegatedPrefixeRequest) (*Operation, error) // Returns the specified PublicDelegatedPrefix resource in the given region. @@ -209292,6 +218454,8 @@ type PublicDelegatedPrefixesServer interface { List(context.Context, *ListPublicDelegatedPrefixesRequest) (*PublicDelegatedPrefixList, error) // Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. Patch(context.Context, *PatchPublicDelegatedPrefixeRequest) (*Operation, error) + // Withdraws the specified PublicDelegatedPrefix in the given region. + Withdraw(context.Context, *WithdrawPublicDelegatedPrefixeRequest) (*Operation, error) } // UnimplementedPublicDelegatedPrefixesServer can be embedded to have forward compatible implementations. @@ -209301,6 +218465,9 @@ type UnimplementedPublicDelegatedPrefixesServer struct { func (*UnimplementedPublicDelegatedPrefixesServer) AggregatedList(context.Context, *AggregatedListPublicDelegatedPrefixesRequest) (*PublicDelegatedPrefixAggregatedList, error) { return nil, status.Errorf(codes.Unimplemented, "method AggregatedList not implemented") } +func (*UnimplementedPublicDelegatedPrefixesServer) Announce(context.Context, *AnnouncePublicDelegatedPrefixeRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method Announce not implemented") +} func (*UnimplementedPublicDelegatedPrefixesServer) Delete(context.Context, *DeletePublicDelegatedPrefixeRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") } @@ -209316,6 +218483,9 @@ func (*UnimplementedPublicDelegatedPrefixesServer) List(context.Context, *ListPu func (*UnimplementedPublicDelegatedPrefixesServer) Patch(context.Context, *PatchPublicDelegatedPrefixeRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Patch not implemented") } +func (*UnimplementedPublicDelegatedPrefixesServer) Withdraw(context.Context, *WithdrawPublicDelegatedPrefixeRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method Withdraw not implemented") +} func RegisterPublicDelegatedPrefixesServer(s *grpc.Server, srv PublicDelegatedPrefixesServer) { s.RegisterService(&_PublicDelegatedPrefixes_serviceDesc, srv) @@ -209339,6 +218509,24 @@ func _PublicDelegatedPrefixes_AggregatedList_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } +func _PublicDelegatedPrefixes_Announce_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AnnouncePublicDelegatedPrefixeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PublicDelegatedPrefixesServer).Announce(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.PublicDelegatedPrefixes/Announce", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PublicDelegatedPrefixesServer).Announce(ctx, req.(*AnnouncePublicDelegatedPrefixeRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _PublicDelegatedPrefixes_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeletePublicDelegatedPrefixeRequest) if err := dec(in); err != nil { @@ -209429,6 +218617,24 @@ func _PublicDelegatedPrefixes_Patch_Handler(srv interface{}, ctx context.Context return interceptor(ctx, in, info, handler) } +func _PublicDelegatedPrefixes_Withdraw_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WithdrawPublicDelegatedPrefixeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(PublicDelegatedPrefixesServer).Withdraw(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.PublicDelegatedPrefixes/Withdraw", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(PublicDelegatedPrefixesServer).Withdraw(ctx, req.(*WithdrawPublicDelegatedPrefixeRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _PublicDelegatedPrefixes_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.compute.v1.PublicDelegatedPrefixes", HandlerType: (*PublicDelegatedPrefixesServer)(nil), @@ -209437,6 +218643,10 @@ var _PublicDelegatedPrefixes_serviceDesc = grpc.ServiceDesc{ MethodName: "AggregatedList", Handler: _PublicDelegatedPrefixes_AggregatedList_Handler, }, + { + MethodName: "Announce", + Handler: _PublicDelegatedPrefixes_Announce_Handler, + }, { MethodName: "Delete", Handler: _PublicDelegatedPrefixes_Delete_Handler, @@ -209457,6 +218667,10 @@ var _PublicDelegatedPrefixes_serviceDesc = grpc.ServiceDesc{ MethodName: "Patch", Handler: _PublicDelegatedPrefixes_Patch_Handler, }, + { + MethodName: "Withdraw", + Handler: _PublicDelegatedPrefixes_Withdraw_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/compute/v1/compute.proto", @@ -209742,10 +218956,16 @@ type RegionBackendServicesClient interface { Insert(ctx context.Context, in *InsertRegionBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) // Retrieves the list of regional BackendService resources available to the specified project in the given region. List(ctx context.Context, in *ListRegionBackendServicesRequest, opts ...grpc.CallOption) (*BackendServiceList, error) + // Retrieves an aggregated list of all usable backend services in the specified project in the given region. + ListUsable(ctx context.Context, in *ListUsableRegionBackendServicesRequest, opts ...grpc.CallOption) (*BackendServiceListUsable, error) // Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Patch(ctx context.Context, in *PatchRegionBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) // Sets the access control policy on the specified resource. Replaces any existing policy. SetIamPolicy(ctx context.Context, in *SetIamPolicyRegionBackendServiceRequest, opts ...grpc.CallOption) (*Policy, error) + // Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyRegionBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) + // Returns permissions that a caller has on the specified resource. + TestIamPermissions(ctx context.Context, in *TestIamPermissionsRegionBackendServiceRequest, opts ...grpc.CallOption) (*TestPermissionsResponse, error) // Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . Update(ctx context.Context, in *UpdateRegionBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) } @@ -209812,6 +219032,15 @@ func (c *regionBackendServicesClient) List(ctx context.Context, in *ListRegionBa return out, nil } +func (c *regionBackendServicesClient) ListUsable(ctx context.Context, in *ListUsableRegionBackendServicesRequest, opts ...grpc.CallOption) (*BackendServiceListUsable, error) { + out := new(BackendServiceListUsable) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionBackendServices/ListUsable", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *regionBackendServicesClient) Patch(ctx context.Context, in *PatchRegionBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionBackendServices/Patch", in, out, opts...) @@ -209830,6 +219059,24 @@ func (c *regionBackendServicesClient) SetIamPolicy(ctx context.Context, in *SetI return out, nil } +func (c *regionBackendServicesClient) SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyRegionBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionBackendServices/SetSecurityPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *regionBackendServicesClient) TestIamPermissions(ctx context.Context, in *TestIamPermissionsRegionBackendServiceRequest, opts ...grpc.CallOption) (*TestPermissionsResponse, error) { + out := new(TestPermissionsResponse) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionBackendServices/TestIamPermissions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *regionBackendServicesClient) Update(ctx context.Context, in *UpdateRegionBackendServiceRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionBackendServices/Update", in, out, opts...) @@ -209853,10 +219100,16 @@ type RegionBackendServicesServer interface { Insert(context.Context, *InsertRegionBackendServiceRequest) (*Operation, error) // Retrieves the list of regional BackendService resources available to the specified project in the given region. List(context.Context, *ListRegionBackendServicesRequest) (*BackendServiceList, error) + // Retrieves an aggregated list of all usable backend services in the specified project in the given region. + ListUsable(context.Context, *ListUsableRegionBackendServicesRequest) (*BackendServiceListUsable, error) // Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules. Patch(context.Context, *PatchRegionBackendServiceRequest) (*Operation, error) // Sets the access control policy on the specified resource. Replaces any existing policy. SetIamPolicy(context.Context, *SetIamPolicyRegionBackendServiceRequest) (*Policy, error) + // Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(context.Context, *SetSecurityPolicyRegionBackendServiceRequest) (*Operation, error) + // Returns permissions that a caller has on the specified resource. + TestIamPermissions(context.Context, *TestIamPermissionsRegionBackendServiceRequest) (*TestPermissionsResponse, error) // Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . Update(context.Context, *UpdateRegionBackendServiceRequest) (*Operation, error) } @@ -209883,12 +219136,21 @@ func (*UnimplementedRegionBackendServicesServer) Insert(context.Context, *Insert func (*UnimplementedRegionBackendServicesServer) List(context.Context, *ListRegionBackendServicesRequest) (*BackendServiceList, error) { return nil, status.Errorf(codes.Unimplemented, "method List not implemented") } +func (*UnimplementedRegionBackendServicesServer) ListUsable(context.Context, *ListUsableRegionBackendServicesRequest) (*BackendServiceListUsable, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListUsable not implemented") +} func (*UnimplementedRegionBackendServicesServer) Patch(context.Context, *PatchRegionBackendServiceRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Patch not implemented") } func (*UnimplementedRegionBackendServicesServer) SetIamPolicy(context.Context, *SetIamPolicyRegionBackendServiceRequest) (*Policy, error) { return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented") } +func (*UnimplementedRegionBackendServicesServer) SetSecurityPolicy(context.Context, *SetSecurityPolicyRegionBackendServiceRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSecurityPolicy not implemented") +} +func (*UnimplementedRegionBackendServicesServer) TestIamPermissions(context.Context, *TestIamPermissionsRegionBackendServiceRequest) (*TestPermissionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented") +} func (*UnimplementedRegionBackendServicesServer) Update(context.Context, *UpdateRegionBackendServiceRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") } @@ -210005,6 +219267,24 @@ func _RegionBackendServices_List_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _RegionBackendServices_ListUsable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListUsableRegionBackendServicesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionBackendServicesServer).ListUsable(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionBackendServices/ListUsable", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionBackendServicesServer).ListUsable(ctx, req.(*ListUsableRegionBackendServicesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RegionBackendServices_Patch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PatchRegionBackendServiceRequest) if err := dec(in); err != nil { @@ -210041,6 +219321,42 @@ func _RegionBackendServices_SetIamPolicy_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _RegionBackendServices_SetSecurityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetSecurityPolicyRegionBackendServiceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionBackendServicesServer).SetSecurityPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionBackendServices/SetSecurityPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionBackendServicesServer).SetSecurityPolicy(ctx, req.(*SetSecurityPolicyRegionBackendServiceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RegionBackendServices_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TestIamPermissionsRegionBackendServiceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionBackendServicesServer).TestIamPermissions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionBackendServices/TestIamPermissions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionBackendServicesServer).TestIamPermissions(ctx, req.(*TestIamPermissionsRegionBackendServiceRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RegionBackendServices_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateRegionBackendServiceRequest) if err := dec(in); err != nil { @@ -210087,6 +219403,10 @@ var _RegionBackendServices_serviceDesc = grpc.ServiceDesc{ MethodName: "List", Handler: _RegionBackendServices_List_Handler, }, + { + MethodName: "ListUsable", + Handler: _RegionBackendServices_ListUsable_Handler, + }, { MethodName: "Patch", Handler: _RegionBackendServices_Patch_Handler, @@ -210095,6 +219415,14 @@ var _RegionBackendServices_serviceDesc = grpc.ServiceDesc{ MethodName: "SetIamPolicy", Handler: _RegionBackendServices_SetIamPolicy_Handler, }, + { + MethodName: "SetSecurityPolicy", + Handler: _RegionBackendServices_SetSecurityPolicy_Handler, + }, + { + MethodName: "TestIamPermissions", + Handler: _RegionBackendServices_TestIamPermissions_Handler, + }, { MethodName: "Update", Handler: _RegionBackendServices_Update_Handler, @@ -212826,14 +222154,20 @@ var _RegionInstances_serviceDesc = grpc.ServiceDesc{ // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RegionNetworkEndpointGroupsClient interface { + // Attach a list of network endpoints to the specified network endpoint group. + AttachNetworkEndpoints(ctx context.Context, in *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*Operation, error) // Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service. Delete(ctx context.Context, in *DeleteRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*Operation, error) + // Detach the network endpoint from the specified network endpoint group. + DetachNetworkEndpoints(ctx context.Context, in *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*Operation, error) // Returns the specified network endpoint group. Get(ctx context.Context, in *GetRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*NetworkEndpointGroup, error) // Creates a network endpoint group in the specified project using the parameters that are included in the request. Insert(ctx context.Context, in *InsertRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*Operation, error) // Retrieves the list of regional network endpoint groups available to the specified project in the given region. List(ctx context.Context, in *ListRegionNetworkEndpointGroupsRequest, opts ...grpc.CallOption) (*NetworkEndpointGroupList, error) + // Lists the network endpoints in the specified network endpoint group. + ListNetworkEndpoints(ctx context.Context, in *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest, opts ...grpc.CallOption) (*NetworkEndpointGroupsListNetworkEndpoints, error) } type regionNetworkEndpointGroupsClient struct { @@ -212844,6 +222178,15 @@ func NewRegionNetworkEndpointGroupsClient(cc grpc.ClientConnInterface) RegionNet return ®ionNetworkEndpointGroupsClient{cc} } +func (c *regionNetworkEndpointGroupsClient) AttachNetworkEndpoints(ctx context.Context, in *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionNetworkEndpointGroups/AttachNetworkEndpoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *regionNetworkEndpointGroupsClient) Delete(ctx context.Context, in *DeleteRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionNetworkEndpointGroups/Delete", in, out, opts...) @@ -212853,6 +222196,15 @@ func (c *regionNetworkEndpointGroupsClient) Delete(ctx context.Context, in *Dele return out, nil } +func (c *regionNetworkEndpointGroupsClient) DetachNetworkEndpoints(ctx context.Context, in *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionNetworkEndpointGroups/DetachNetworkEndpoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *regionNetworkEndpointGroupsClient) Get(ctx context.Context, in *GetRegionNetworkEndpointGroupRequest, opts ...grpc.CallOption) (*NetworkEndpointGroup, error) { out := new(NetworkEndpointGroup) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionNetworkEndpointGroups/Get", in, out, opts...) @@ -212880,25 +222232,46 @@ func (c *regionNetworkEndpointGroupsClient) List(ctx context.Context, in *ListRe return out, nil } +func (c *regionNetworkEndpointGroupsClient) ListNetworkEndpoints(ctx context.Context, in *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest, opts ...grpc.CallOption) (*NetworkEndpointGroupsListNetworkEndpoints, error) { + out := new(NetworkEndpointGroupsListNetworkEndpoints) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionNetworkEndpointGroups/ListNetworkEndpoints", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // RegionNetworkEndpointGroupsServer is the server API for RegionNetworkEndpointGroups service. type RegionNetworkEndpointGroupsServer interface { + // Attach a list of network endpoints to the specified network endpoint group. + AttachNetworkEndpoints(context.Context, *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) (*Operation, error) // Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service. Delete(context.Context, *DeleteRegionNetworkEndpointGroupRequest) (*Operation, error) + // Detach the network endpoint from the specified network endpoint group. + DetachNetworkEndpoints(context.Context, *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) (*Operation, error) // Returns the specified network endpoint group. Get(context.Context, *GetRegionNetworkEndpointGroupRequest) (*NetworkEndpointGroup, error) // Creates a network endpoint group in the specified project using the parameters that are included in the request. Insert(context.Context, *InsertRegionNetworkEndpointGroupRequest) (*Operation, error) // Retrieves the list of regional network endpoint groups available to the specified project in the given region. List(context.Context, *ListRegionNetworkEndpointGroupsRequest) (*NetworkEndpointGroupList, error) + // Lists the network endpoints in the specified network endpoint group. + ListNetworkEndpoints(context.Context, *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) (*NetworkEndpointGroupsListNetworkEndpoints, error) } // UnimplementedRegionNetworkEndpointGroupsServer can be embedded to have forward compatible implementations. type UnimplementedRegionNetworkEndpointGroupsServer struct { } +func (*UnimplementedRegionNetworkEndpointGroupsServer) AttachNetworkEndpoints(context.Context, *AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method AttachNetworkEndpoints not implemented") +} func (*UnimplementedRegionNetworkEndpointGroupsServer) Delete(context.Context, *DeleteRegionNetworkEndpointGroupRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") } +func (*UnimplementedRegionNetworkEndpointGroupsServer) DetachNetworkEndpoints(context.Context, *DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method DetachNetworkEndpoints not implemented") +} func (*UnimplementedRegionNetworkEndpointGroupsServer) Get(context.Context, *GetRegionNetworkEndpointGroupRequest) (*NetworkEndpointGroup, error) { return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") } @@ -212908,11 +222281,32 @@ func (*UnimplementedRegionNetworkEndpointGroupsServer) Insert(context.Context, * func (*UnimplementedRegionNetworkEndpointGroupsServer) List(context.Context, *ListRegionNetworkEndpointGroupsRequest) (*NetworkEndpointGroupList, error) { return nil, status.Errorf(codes.Unimplemented, "method List not implemented") } +func (*UnimplementedRegionNetworkEndpointGroupsServer) ListNetworkEndpoints(context.Context, *ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) (*NetworkEndpointGroupsListNetworkEndpoints, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNetworkEndpoints not implemented") +} func RegisterRegionNetworkEndpointGroupsServer(s *grpc.Server, srv RegionNetworkEndpointGroupsServer) { s.RegisterService(&_RegionNetworkEndpointGroups_serviceDesc, srv) } +func _RegionNetworkEndpointGroups_AttachNetworkEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AttachNetworkEndpointsRegionNetworkEndpointGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionNetworkEndpointGroupsServer).AttachNetworkEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionNetworkEndpointGroups/AttachNetworkEndpoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionNetworkEndpointGroupsServer).AttachNetworkEndpoints(ctx, req.(*AttachNetworkEndpointsRegionNetworkEndpointGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RegionNetworkEndpointGroups_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteRegionNetworkEndpointGroupRequest) if err := dec(in); err != nil { @@ -212931,6 +222325,24 @@ func _RegionNetworkEndpointGroups_Delete_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _RegionNetworkEndpointGroups_DetachNetworkEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DetachNetworkEndpointsRegionNetworkEndpointGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionNetworkEndpointGroupsServer).DetachNetworkEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionNetworkEndpointGroups/DetachNetworkEndpoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionNetworkEndpointGroupsServer).DetachNetworkEndpoints(ctx, req.(*DetachNetworkEndpointsRegionNetworkEndpointGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RegionNetworkEndpointGroups_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetRegionNetworkEndpointGroupRequest) if err := dec(in); err != nil { @@ -212985,14 +222397,40 @@ func _RegionNetworkEndpointGroups_List_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _RegionNetworkEndpointGroups_ListNetworkEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionNetworkEndpointGroupsServer).ListNetworkEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionNetworkEndpointGroups/ListNetworkEndpoints", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionNetworkEndpointGroupsServer).ListNetworkEndpoints(ctx, req.(*ListNetworkEndpointsRegionNetworkEndpointGroupsRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _RegionNetworkEndpointGroups_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.compute.v1.RegionNetworkEndpointGroups", HandlerType: (*RegionNetworkEndpointGroupsServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "AttachNetworkEndpoints", + Handler: _RegionNetworkEndpointGroups_AttachNetworkEndpoints_Handler, + }, { MethodName: "Delete", Handler: _RegionNetworkEndpointGroups_Delete_Handler, }, + { + MethodName: "DetachNetworkEndpoints", + Handler: _RegionNetworkEndpointGroups_DetachNetworkEndpoints_Handler, + }, { MethodName: "Get", Handler: _RegionNetworkEndpointGroups_Get_Handler, @@ -213005,6 +222443,10 @@ var _RegionNetworkEndpointGroups_serviceDesc = grpc.ServiceDesc{ MethodName: "List", Handler: _RegionNetworkEndpointGroups_List_Handler, }, + { + MethodName: "ListNetworkEndpoints", + Handler: _RegionNetworkEndpointGroups_ListNetworkEndpoints_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/compute/v1/compute.proto", @@ -214072,16 +223514,24 @@ var _RegionOperations_serviceDesc = grpc.ServiceDesc{ // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RegionSecurityPoliciesClient interface { + // Inserts a rule into a security policy. + AddRule(ctx context.Context, in *AddRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) // Deletes the specified policy. Delete(ctx context.Context, in *DeleteRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) // List all of the ordered rules present in a single specified policy. Get(ctx context.Context, in *GetRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*SecurityPolicy, error) + // Gets a rule at the specified priority. + GetRule(ctx context.Context, in *GetRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*SecurityPolicyRule, error) // Creates a new policy in the specified project using the data included in the request. Insert(ctx context.Context, in *InsertRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) // List all the policies that have been configured for the specified project and region. List(ctx context.Context, in *ListRegionSecurityPoliciesRequest, opts ...grpc.CallOption) (*SecurityPolicyList, error) // Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. Patch(ctx context.Context, in *PatchRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) + // Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. + PatchRule(ctx context.Context, in *PatchRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) + // Deletes a rule at the specified priority. + RemoveRule(ctx context.Context, in *RemoveRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) } type regionSecurityPoliciesClient struct { @@ -214092,6 +223542,15 @@ func NewRegionSecurityPoliciesClient(cc grpc.ClientConnInterface) RegionSecurity return ®ionSecurityPoliciesClient{cc} } +func (c *regionSecurityPoliciesClient) AddRule(ctx context.Context, in *AddRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionSecurityPolicies/AddRule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *regionSecurityPoliciesClient) Delete(ctx context.Context, in *DeleteRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionSecurityPolicies/Delete", in, out, opts...) @@ -214110,6 +223569,15 @@ func (c *regionSecurityPoliciesClient) Get(ctx context.Context, in *GetRegionSec return out, nil } +func (c *regionSecurityPoliciesClient) GetRule(ctx context.Context, in *GetRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*SecurityPolicyRule, error) { + out := new(SecurityPolicyRule) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionSecurityPolicies/GetRule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *regionSecurityPoliciesClient) Insert(ctx context.Context, in *InsertRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) { out := new(Operation) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionSecurityPolicies/Insert", in, out, opts...) @@ -214137,30 +223605,62 @@ func (c *regionSecurityPoliciesClient) Patch(ctx context.Context, in *PatchRegio return out, nil } +func (c *regionSecurityPoliciesClient) PatchRule(ctx context.Context, in *PatchRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionSecurityPolicies/PatchRule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *regionSecurityPoliciesClient) RemoveRule(ctx context.Context, in *RemoveRuleRegionSecurityPolicyRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.RegionSecurityPolicies/RemoveRule", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // RegionSecurityPoliciesServer is the server API for RegionSecurityPolicies service. type RegionSecurityPoliciesServer interface { + // Inserts a rule into a security policy. + AddRule(context.Context, *AddRuleRegionSecurityPolicyRequest) (*Operation, error) // Deletes the specified policy. Delete(context.Context, *DeleteRegionSecurityPolicyRequest) (*Operation, error) // List all of the ordered rules present in a single specified policy. Get(context.Context, *GetRegionSecurityPolicyRequest) (*SecurityPolicy, error) + // Gets a rule at the specified priority. + GetRule(context.Context, *GetRuleRegionSecurityPolicyRequest) (*SecurityPolicyRule, error) // Creates a new policy in the specified project using the data included in the request. Insert(context.Context, *InsertRegionSecurityPolicyRequest) (*Operation, error) // List all the policies that have been configured for the specified project and region. List(context.Context, *ListRegionSecurityPoliciesRequest) (*SecurityPolicyList, error) // Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead. Patch(context.Context, *PatchRegionSecurityPolicyRequest) (*Operation, error) + // Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. + PatchRule(context.Context, *PatchRuleRegionSecurityPolicyRequest) (*Operation, error) + // Deletes a rule at the specified priority. + RemoveRule(context.Context, *RemoveRuleRegionSecurityPolicyRequest) (*Operation, error) } // UnimplementedRegionSecurityPoliciesServer can be embedded to have forward compatible implementations. type UnimplementedRegionSecurityPoliciesServer struct { } +func (*UnimplementedRegionSecurityPoliciesServer) AddRule(context.Context, *AddRuleRegionSecurityPolicyRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddRule not implemented") +} func (*UnimplementedRegionSecurityPoliciesServer) Delete(context.Context, *DeleteRegionSecurityPolicyRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") } func (*UnimplementedRegionSecurityPoliciesServer) Get(context.Context, *GetRegionSecurityPolicyRequest) (*SecurityPolicy, error) { return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") } +func (*UnimplementedRegionSecurityPoliciesServer) GetRule(context.Context, *GetRuleRegionSecurityPolicyRequest) (*SecurityPolicyRule, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetRule not implemented") +} func (*UnimplementedRegionSecurityPoliciesServer) Insert(context.Context, *InsertRegionSecurityPolicyRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Insert not implemented") } @@ -214170,11 +223670,35 @@ func (*UnimplementedRegionSecurityPoliciesServer) List(context.Context, *ListReg func (*UnimplementedRegionSecurityPoliciesServer) Patch(context.Context, *PatchRegionSecurityPolicyRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method Patch not implemented") } +func (*UnimplementedRegionSecurityPoliciesServer) PatchRule(context.Context, *PatchRuleRegionSecurityPolicyRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method PatchRule not implemented") +} +func (*UnimplementedRegionSecurityPoliciesServer) RemoveRule(context.Context, *RemoveRuleRegionSecurityPolicyRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveRule not implemented") +} func RegisterRegionSecurityPoliciesServer(s *grpc.Server, srv RegionSecurityPoliciesServer) { s.RegisterService(&_RegionSecurityPolicies_serviceDesc, srv) } +func _RegionSecurityPolicies_AddRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddRuleRegionSecurityPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionSecurityPoliciesServer).AddRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionSecurityPolicies/AddRule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionSecurityPoliciesServer).AddRule(ctx, req.(*AddRuleRegionSecurityPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RegionSecurityPolicies_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteRegionSecurityPolicyRequest) if err := dec(in); err != nil { @@ -214211,6 +223735,24 @@ func _RegionSecurityPolicies_Get_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _RegionSecurityPolicies_GetRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetRuleRegionSecurityPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionSecurityPoliciesServer).GetRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionSecurityPolicies/GetRule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionSecurityPoliciesServer).GetRule(ctx, req.(*GetRuleRegionSecurityPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RegionSecurityPolicies_Insert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(InsertRegionSecurityPolicyRequest) if err := dec(in); err != nil { @@ -214265,10 +223807,50 @@ func _RegionSecurityPolicies_Patch_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _RegionSecurityPolicies_PatchRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchRuleRegionSecurityPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionSecurityPoliciesServer).PatchRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionSecurityPolicies/PatchRule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionSecurityPoliciesServer).PatchRule(ctx, req.(*PatchRuleRegionSecurityPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RegionSecurityPolicies_RemoveRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveRuleRegionSecurityPolicyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RegionSecurityPoliciesServer).RemoveRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.RegionSecurityPolicies/RemoveRule", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RegionSecurityPoliciesServer).RemoveRule(ctx, req.(*RemoveRuleRegionSecurityPolicyRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _RegionSecurityPolicies_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.compute.v1.RegionSecurityPolicies", HandlerType: (*RegionSecurityPoliciesServer)(nil), Methods: []grpc.MethodDesc{ + { + MethodName: "AddRule", + Handler: _RegionSecurityPolicies_AddRule_Handler, + }, { MethodName: "Delete", Handler: _RegionSecurityPolicies_Delete_Handler, @@ -214277,6 +223859,10 @@ var _RegionSecurityPolicies_serviceDesc = grpc.ServiceDesc{ MethodName: "Get", Handler: _RegionSecurityPolicies_Get_Handler, }, + { + MethodName: "GetRule", + Handler: _RegionSecurityPolicies_GetRule_Handler, + }, { MethodName: "Insert", Handler: _RegionSecurityPolicies_Insert_Handler, @@ -214289,6 +223875,14 @@ var _RegionSecurityPolicies_serviceDesc = grpc.ServiceDesc{ MethodName: "Patch", Handler: _RegionSecurityPolicies_Patch_Handler, }, + { + MethodName: "PatchRule", + Handler: _RegionSecurityPolicies_PatchRule_Handler, + }, + { + MethodName: "RemoveRule", + Handler: _RegionSecurityPolicies_RemoveRule_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/compute/v1/compute.proto", @@ -216680,6 +226274,8 @@ type RoutersClient interface { Delete(ctx context.Context, in *DeleteRouterRequest, opts ...grpc.CallOption) (*Operation, error) // Returns the specified Router resource. Get(ctx context.Context, in *GetRouterRequest, opts ...grpc.CallOption) (*Router, error) + // Retrieves runtime NAT IP information. + GetNatIpInfo(ctx context.Context, in *GetNatIpInfoRouterRequest, opts ...grpc.CallOption) (*NatIpInfoResponse, error) // Retrieves runtime Nat mapping information of VM endpoints. GetNatMappingInfo(ctx context.Context, in *GetNatMappingInfoRoutersRequest, opts ...grpc.CallOption) (*VmEndpointNatMappingsList, error) // Retrieves runtime information of the specified router. @@ -216731,6 +226327,15 @@ func (c *routersClient) Get(ctx context.Context, in *GetRouterRequest, opts ...g return out, nil } +func (c *routersClient) GetNatIpInfo(ctx context.Context, in *GetNatIpInfoRouterRequest, opts ...grpc.CallOption) (*NatIpInfoResponse, error) { + out := new(NatIpInfoResponse) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.Routers/GetNatIpInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *routersClient) GetNatMappingInfo(ctx context.Context, in *GetNatMappingInfoRoutersRequest, opts ...grpc.CallOption) (*VmEndpointNatMappingsList, error) { out := new(VmEndpointNatMappingsList) err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.Routers/GetNatMappingInfo", in, out, opts...) @@ -216802,6 +226407,8 @@ type RoutersServer interface { Delete(context.Context, *DeleteRouterRequest) (*Operation, error) // Returns the specified Router resource. Get(context.Context, *GetRouterRequest) (*Router, error) + // Retrieves runtime NAT IP information. + GetNatIpInfo(context.Context, *GetNatIpInfoRouterRequest) (*NatIpInfoResponse, error) // Retrieves runtime Nat mapping information of VM endpoints. GetNatMappingInfo(context.Context, *GetNatMappingInfoRoutersRequest) (*VmEndpointNatMappingsList, error) // Retrieves runtime information of the specified router. @@ -216831,6 +226438,9 @@ func (*UnimplementedRoutersServer) Delete(context.Context, *DeleteRouterRequest) func (*UnimplementedRoutersServer) Get(context.Context, *GetRouterRequest) (*Router, error) { return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") } +func (*UnimplementedRoutersServer) GetNatIpInfo(context.Context, *GetNatIpInfoRouterRequest) (*NatIpInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNatIpInfo not implemented") +} func (*UnimplementedRoutersServer) GetNatMappingInfo(context.Context, *GetNatMappingInfoRoutersRequest) (*VmEndpointNatMappingsList, error) { return nil, status.Errorf(codes.Unimplemented, "method GetNatMappingInfo not implemented") } @@ -216911,6 +226521,24 @@ func _Routers_Get_Handler(srv interface{}, ctx context.Context, dec func(interfa return interceptor(ctx, in, info, handler) } +func _Routers_GetNatIpInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNatIpInfoRouterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RoutersServer).GetNatIpInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.Routers/GetNatIpInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RoutersServer).GetNatIpInfo(ctx, req.(*GetNatIpInfoRouterRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Routers_GetNatMappingInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetNatMappingInfoRoutersRequest) if err := dec(in); err != nil { @@ -217053,6 +226681,10 @@ var _Routers_serviceDesc = grpc.ServiceDesc{ MethodName: "Get", Handler: _Routers_Get_Handler, }, + { + MethodName: "GetNatIpInfo", + Handler: _Routers_GetNatIpInfo_Handler, + }, { MethodName: "GetNatMappingInfo", Handler: _Routers_GetNatMappingInfo_Handler, @@ -218144,6 +227776,118 @@ var _ServiceAttachments_serviceDesc = grpc.ServiceDesc{ Metadata: "google/cloud/compute/v1/compute.proto", } +// SnapshotSettingsServiceClient is the client API for SnapshotSettingsService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type SnapshotSettingsServiceClient interface { + // Get snapshot settings. + Get(ctx context.Context, in *GetSnapshotSettingRequest, opts ...grpc.CallOption) (*SnapshotSettings, error) + // Patch snapshot settings. + Patch(ctx context.Context, in *PatchSnapshotSettingRequest, opts ...grpc.CallOption) (*Operation, error) +} + +type snapshotSettingsServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewSnapshotSettingsServiceClient(cc grpc.ClientConnInterface) SnapshotSettingsServiceClient { + return &snapshotSettingsServiceClient{cc} +} + +func (c *snapshotSettingsServiceClient) Get(ctx context.Context, in *GetSnapshotSettingRequest, opts ...grpc.CallOption) (*SnapshotSettings, error) { + out := new(SnapshotSettings) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.SnapshotSettingsService/Get", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *snapshotSettingsServiceClient) Patch(ctx context.Context, in *PatchSnapshotSettingRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.SnapshotSettingsService/Patch", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// SnapshotSettingsServiceServer is the server API for SnapshotSettingsService service. +type SnapshotSettingsServiceServer interface { + // Get snapshot settings. + Get(context.Context, *GetSnapshotSettingRequest) (*SnapshotSettings, error) + // Patch snapshot settings. + Patch(context.Context, *PatchSnapshotSettingRequest) (*Operation, error) +} + +// UnimplementedSnapshotSettingsServiceServer can be embedded to have forward compatible implementations. +type UnimplementedSnapshotSettingsServiceServer struct { +} + +func (*UnimplementedSnapshotSettingsServiceServer) Get(context.Context, *GetSnapshotSettingRequest) (*SnapshotSettings, error) { + return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") +} +func (*UnimplementedSnapshotSettingsServiceServer) Patch(context.Context, *PatchSnapshotSettingRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method Patch not implemented") +} + +func RegisterSnapshotSettingsServiceServer(s *grpc.Server, srv SnapshotSettingsServiceServer) { + s.RegisterService(&_SnapshotSettingsService_serviceDesc, srv) +} + +func _SnapshotSettingsService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSnapshotSettingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SnapshotSettingsServiceServer).Get(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.SnapshotSettingsService/Get", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SnapshotSettingsServiceServer).Get(ctx, req.(*GetSnapshotSettingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _SnapshotSettingsService_Patch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchSnapshotSettingRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(SnapshotSettingsServiceServer).Patch(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.SnapshotSettingsService/Patch", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(SnapshotSettingsServiceServer).Patch(ctx, req.(*PatchSnapshotSettingRequest)) + } + return interceptor(ctx, in, info, handler) +} + +var _SnapshotSettingsService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.compute.v1.SnapshotSettingsService", + HandlerType: (*SnapshotSettingsServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "Get", + Handler: _SnapshotSettingsService_Get_Handler, + }, + { + MethodName: "Patch", + Handler: _SnapshotSettingsService_Patch_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "google/cloud/compute/v1/compute.proto", +} + // SnapshotsClient is the client API for Snapshots service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. @@ -220500,6 +230244,8 @@ type TargetInstancesClient interface { Insert(ctx context.Context, in *InsertTargetInstanceRequest, opts ...grpc.CallOption) (*Operation, error) // Retrieves a list of TargetInstance resources available to the specified project and zone. List(ctx context.Context, in *ListTargetInstancesRequest, opts ...grpc.CallOption) (*TargetInstanceList, error) + // Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyTargetInstanceRequest, opts ...grpc.CallOption) (*Operation, error) } type targetInstancesClient struct { @@ -220555,6 +230301,15 @@ func (c *targetInstancesClient) List(ctx context.Context, in *ListTargetInstance return out, nil } +func (c *targetInstancesClient) SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyTargetInstanceRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.TargetInstances/SetSecurityPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // TargetInstancesServer is the server API for TargetInstances service. type TargetInstancesServer interface { // Retrieves an aggregated list of target instances. @@ -220567,6 +230322,8 @@ type TargetInstancesServer interface { Insert(context.Context, *InsertTargetInstanceRequest) (*Operation, error) // Retrieves a list of TargetInstance resources available to the specified project and zone. List(context.Context, *ListTargetInstancesRequest) (*TargetInstanceList, error) + // Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(context.Context, *SetSecurityPolicyTargetInstanceRequest) (*Operation, error) } // UnimplementedTargetInstancesServer can be embedded to have forward compatible implementations. @@ -220588,6 +230345,9 @@ func (*UnimplementedTargetInstancesServer) Insert(context.Context, *InsertTarget func (*UnimplementedTargetInstancesServer) List(context.Context, *ListTargetInstancesRequest) (*TargetInstanceList, error) { return nil, status.Errorf(codes.Unimplemented, "method List not implemented") } +func (*UnimplementedTargetInstancesServer) SetSecurityPolicy(context.Context, *SetSecurityPolicyTargetInstanceRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSecurityPolicy not implemented") +} func RegisterTargetInstancesServer(s *grpc.Server, srv TargetInstancesServer) { s.RegisterService(&_TargetInstances_serviceDesc, srv) @@ -220683,6 +230443,24 @@ func _TargetInstances_List_Handler(srv interface{}, ctx context.Context, dec fun return interceptor(ctx, in, info, handler) } +func _TargetInstances_SetSecurityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetSecurityPolicyTargetInstanceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TargetInstancesServer).SetSecurityPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.TargetInstances/SetSecurityPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TargetInstancesServer).SetSecurityPolicy(ctx, req.(*SetSecurityPolicyTargetInstanceRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _TargetInstances_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.compute.v1.TargetInstances", HandlerType: (*TargetInstancesServer)(nil), @@ -220707,6 +230485,10 @@ var _TargetInstances_serviceDesc = grpc.ServiceDesc{ MethodName: "List", Handler: _TargetInstances_List_Handler, }, + { + MethodName: "SetSecurityPolicy", + Handler: _TargetInstances_SetSecurityPolicy_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/compute/v1/compute.proto", @@ -220738,6 +230520,8 @@ type TargetPoolsClient interface { RemoveInstance(ctx context.Context, in *RemoveInstanceTargetPoolRequest, opts ...grpc.CallOption) (*Operation, error) // Changes a backup target pool's configurations. SetBackup(ctx context.Context, in *SetBackupTargetPoolRequest, opts ...grpc.CallOption) (*Operation, error) + // Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyTargetPoolRequest, opts ...grpc.CallOption) (*Operation, error) } type targetPoolsClient struct { @@ -220847,6 +230631,15 @@ func (c *targetPoolsClient) SetBackup(ctx context.Context, in *SetBackupTargetPo return out, nil } +func (c *targetPoolsClient) SetSecurityPolicy(ctx context.Context, in *SetSecurityPolicyTargetPoolRequest, opts ...grpc.CallOption) (*Operation, error) { + out := new(Operation) + err := c.cc.Invoke(ctx, "/google.cloud.compute.v1.TargetPools/SetSecurityPolicy", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // TargetPoolsServer is the server API for TargetPools service. type TargetPoolsServer interface { // Adds health check URLs to a target pool. @@ -220871,6 +230664,8 @@ type TargetPoolsServer interface { RemoveInstance(context.Context, *RemoveInstanceTargetPoolRequest) (*Operation, error) // Changes a backup target pool's configurations. SetBackup(context.Context, *SetBackupTargetPoolRequest) (*Operation, error) + // Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview + SetSecurityPolicy(context.Context, *SetSecurityPolicyTargetPoolRequest) (*Operation, error) } // UnimplementedTargetPoolsServer can be embedded to have forward compatible implementations. @@ -220910,6 +230705,9 @@ func (*UnimplementedTargetPoolsServer) RemoveInstance(context.Context, *RemoveIn func (*UnimplementedTargetPoolsServer) SetBackup(context.Context, *SetBackupTargetPoolRequest) (*Operation, error) { return nil, status.Errorf(codes.Unimplemented, "method SetBackup not implemented") } +func (*UnimplementedTargetPoolsServer) SetSecurityPolicy(context.Context, *SetSecurityPolicyTargetPoolRequest) (*Operation, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetSecurityPolicy not implemented") +} func RegisterTargetPoolsServer(s *grpc.Server, srv TargetPoolsServer) { s.RegisterService(&_TargetPools_serviceDesc, srv) @@ -221113,6 +230911,24 @@ func _TargetPools_SetBackup_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _TargetPools_SetSecurityPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetSecurityPolicyTargetPoolRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TargetPoolsServer).SetSecurityPolicy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.compute.v1.TargetPools/SetSecurityPolicy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TargetPoolsServer).SetSecurityPolicy(ctx, req.(*SetSecurityPolicyTargetPoolRequest)) + } + return interceptor(ctx, in, info, handler) +} + var _TargetPools_serviceDesc = grpc.ServiceDesc{ ServiceName: "google.cloud.compute.v1.TargetPools", HandlerType: (*TargetPoolsServer)(nil), @@ -221161,6 +230977,10 @@ var _TargetPools_serviceDesc = grpc.ServiceDesc{ MethodName: "SetBackup", Handler: _TargetPools_SetBackup_Handler, }, + { + MethodName: "SetSecurityPolicy", + Handler: _TargetPools_SetSecurityPolicy_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "google/cloud/compute/v1/compute.proto", diff --git a/vendor/cloud.google.com/go/compute/apiv1/disk_types_client.go b/vendor/cloud.google.com/go/compute/apiv1/disk_types_client.go index 70f685ac8c..efb1cb081c 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/disk_types_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/disk_types_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -187,7 +187,9 @@ func NewDiskTypesRESTClient(ctx context.Context, opts ...option.ClientOption) (* func defaultDiskTypesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -257,6 +259,9 @@ func (c *diskTypesRESTClient) AggregatedList(ctx context.Context, req *computepb if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -475,103 +480,3 @@ func (c *diskTypesRESTClient) List(ctx context.Context, req *computepb.ListDiskT return it } - -// DiskTypeIterator manages a stream of *computepb.DiskType. -type DiskTypeIterator struct { - items []*computepb.DiskType - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.DiskType, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *DiskTypeIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *DiskTypeIterator) Next() (*computepb.DiskType, error) { - var item *computepb.DiskType - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *DiskTypeIterator) bufLen() int { - return len(it.items) -} - -func (it *DiskTypeIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// DiskTypesScopedListPair is a holder type for string/*computepb.DiskTypesScopedList map entries -type DiskTypesScopedListPair struct { - Key string - Value *computepb.DiskTypesScopedList -} - -// DiskTypesScopedListPairIterator manages a stream of DiskTypesScopedListPair. -type DiskTypesScopedListPairIterator struct { - items []DiskTypesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []DiskTypesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *DiskTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *DiskTypesScopedListPairIterator) Next() (DiskTypesScopedListPair, error) { - var item DiskTypesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *DiskTypesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *DiskTypesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/disks_client.go b/vendor/cloud.google.com/go/compute/apiv1/disks_client.go index 00c88582d8..5933dbcfe7 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/disks_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/disks_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -360,7 +360,9 @@ func NewDisksRESTClient(ctx context.Context, opts ...option.ClientOption) (*Disk func defaultDisksRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -510,6 +512,9 @@ func (c *disksRESTClient) AggregatedList(ctx context.Context, req *computepb.Agg if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1759,103 +1764,3 @@ func (c *disksRESTClient) Update(ctx context.Context, req *computepb.UpdateDiskR } return op, nil } - -// DiskIterator manages a stream of *computepb.Disk. -type DiskIterator struct { - items []*computepb.Disk - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Disk, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *DiskIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *DiskIterator) Next() (*computepb.Disk, error) { - var item *computepb.Disk - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *DiskIterator) bufLen() int { - return len(it.items) -} - -func (it *DiskIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// DisksScopedListPair is a holder type for string/*computepb.DisksScopedList map entries -type DisksScopedListPair struct { - Key string - Value *computepb.DisksScopedList -} - -// DisksScopedListPairIterator manages a stream of DisksScopedListPair. -type DisksScopedListPairIterator struct { - items []DisksScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []DisksScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *DisksScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *DisksScopedListPairIterator) Next() (DisksScopedListPair, error) { - var item DisksScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *DisksScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *DisksScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/doc.go b/vendor/cloud.google.com/go/compute/apiv1/doc.go index 997dcaa807..7763c2177f 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/doc.go +++ b/vendor/cloud.google.com/go/compute/apiv1/doc.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/cloud.google.com/go/compute/apiv1/external_vpn_gateways_client.go b/vendor/cloud.google.com/go/compute/apiv1/external_vpn_gateways_client.go index cbf5ddc7eb..5a8125d5a9 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/external_vpn_gateways_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/external_vpn_gateways_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,7 +221,9 @@ func NewExternalVpnGatewaysRESTClient(ctx context.Context, opts ...option.Client func defaultExternalVpnGatewaysRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -681,50 +683,3 @@ func (c *externalVpnGatewaysRESTClient) TestIamPermissions(ctx context.Context, } return resp, nil } - -// ExternalVpnGatewayIterator manages a stream of *computepb.ExternalVpnGateway. -type ExternalVpnGatewayIterator struct { - items []*computepb.ExternalVpnGateway - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.ExternalVpnGateway, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ExternalVpnGatewayIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ExternalVpnGatewayIterator) Next() (*computepb.ExternalVpnGateway, error) { - var item *computepb.ExternalVpnGateway - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ExternalVpnGatewayIterator) bufLen() int { - return len(it.items) -} - -func (it *ExternalVpnGatewayIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/firewall_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/firewall_policies_client.go index 8c4f19afb7..5b2910a07b 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/firewall_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/firewall_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -377,7 +377,9 @@ func NewFirewallPoliciesRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultFirewallPoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -1662,50 +1664,3 @@ func (c *firewallPoliciesRESTClient) TestIamPermissions(ctx context.Context, req } return resp, nil } - -// FirewallPolicyIterator manages a stream of *computepb.FirewallPolicy. -type FirewallPolicyIterator struct { - items []*computepb.FirewallPolicy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.FirewallPolicy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *FirewallPolicyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *FirewallPolicyIterator) Next() (*computepb.FirewallPolicy, error) { - var item *computepb.FirewallPolicy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *FirewallPolicyIterator) bufLen() int { - return len(it.items) -} - -func (it *FirewallPolicyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/firewalls_client.go b/vendor/cloud.google.com/go/compute/apiv1/firewalls_client.go index ed958fd327..14687a4456 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/firewalls_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/firewalls_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,7 +221,9 @@ func NewFirewallsRESTClient(ctx context.Context, opts ...option.ClientOption) (* func defaultFirewallsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -702,50 +704,3 @@ func (c *firewallsRESTClient) Update(ctx context.Context, req *computepb.UpdateF } return op, nil } - -// FirewallIterator manages a stream of *computepb.Firewall. -type FirewallIterator struct { - items []*computepb.Firewall - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Firewall, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *FirewallIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *FirewallIterator) Next() (*computepb.Firewall, error) { - var item *computepb.Firewall - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *FirewallIterator) bufLen() int { - return len(it.items) -} - -func (it *FirewallIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/forwarding_rules_client.go b/vendor/cloud.google.com/go/compute/apiv1/forwarding_rules_client.go index 56d841b7f0..0a9e13be04 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/forwarding_rules_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/forwarding_rules_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -251,7 +251,9 @@ func NewForwardingRulesRESTClient(ctx context.Context, opts ...option.ClientOpti func defaultForwardingRulesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -324,6 +326,9 @@ func (c *forwardingRulesRESTClient) AggregatedList(ctx context.Context, req *com if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -920,103 +925,3 @@ func (c *forwardingRulesRESTClient) SetTarget(ctx context.Context, req *computep } return op, nil } - -// ForwardingRuleIterator manages a stream of *computepb.ForwardingRule. -type ForwardingRuleIterator struct { - items []*computepb.ForwardingRule - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.ForwardingRule, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ForwardingRuleIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ForwardingRuleIterator) Next() (*computepb.ForwardingRule, error) { - var item *computepb.ForwardingRule - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ForwardingRuleIterator) bufLen() int { - return len(it.items) -} - -func (it *ForwardingRuleIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// ForwardingRulesScopedListPair is a holder type for string/*computepb.ForwardingRulesScopedList map entries -type ForwardingRulesScopedListPair struct { - Key string - Value *computepb.ForwardingRulesScopedList -} - -// ForwardingRulesScopedListPairIterator manages a stream of ForwardingRulesScopedListPair. -type ForwardingRulesScopedListPairIterator struct { - items []ForwardingRulesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []ForwardingRulesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ForwardingRulesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ForwardingRulesScopedListPairIterator) Next() (ForwardingRulesScopedListPair, error) { - var item ForwardingRulesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ForwardingRulesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *ForwardingRulesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/gapic_metadata.json b/vendor/cloud.google.com/go/compute/apiv1/gapic_metadata.json index 681adbd02f..716d349551 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/gapic_metadata.json +++ b/vendor/cloud.google.com/go/compute/apiv1/gapic_metadata.json @@ -142,6 +142,11 @@ "Get" ] }, + "GetIamPolicy": { + "methods": [ + "GetIamPolicy" + ] + }, "Insert": { "methods": [ "Insert" @@ -162,6 +167,16 @@ "SetEdgeSecurityPolicy" ] }, + "SetIamPolicy": { + "methods": [ + "SetIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, "Update": { "methods": [ "Update" @@ -221,6 +236,11 @@ "List" ] }, + "ListUsable": { + "methods": [ + "ListUsable" + ] + }, "Patch": { "methods": [ "Patch" @@ -241,6 +261,11 @@ "SetSecurityPolicy" ] }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, "Update": { "methods": [ "Update" @@ -1317,6 +1342,11 @@ "SetScheduling" ] }, + "SetSecurityPolicy": { + "methods": [ + "SetSecurityPolicy" + ] + }, "SetServiceAccount": { "methods": [ "SetServiceAccount" @@ -1493,6 +1523,11 @@ "GetDiagnostics" ] }, + "GetMacsecConfig": { + "methods": [ + "GetMacsecConfig" + ] + }, "Insert": { "methods": [ "Insert" @@ -1683,6 +1718,11 @@ "List" ] }, + "Patch": { + "methods": [ + "Patch" + ] + }, "SetIamPolicy": { "methods": [ "SetIamPolicy" @@ -2213,6 +2253,11 @@ "rest": { "libraryClient": "PublicAdvertisedPrefixesClient", "rpcs": { + "Announce": { + "methods": [ + "Announce" + ] + }, "Delete": { "methods": [ "Delete" @@ -2237,6 +2282,11 @@ "methods": [ "Patch" ] + }, + "Withdraw": { + "methods": [ + "Withdraw" + ] } } } @@ -2252,6 +2302,11 @@ "AggregatedList" ] }, + "Announce": { + "methods": [ + "Announce" + ] + }, "Delete": { "methods": [ "Delete" @@ -2276,6 +2331,11 @@ "methods": [ "Patch" ] + }, + "Withdraw": { + "methods": [ + "Withdraw" + ] } } } @@ -2355,6 +2415,11 @@ "List" ] }, + "ListUsable": { + "methods": [ + "ListUsable" + ] + }, "Patch": { "methods": [ "Patch" @@ -2365,6 +2430,16 @@ "SetIamPolicy" ] }, + "SetSecurityPolicy": { + "methods": [ + "SetSecurityPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "TestIamPermissions" + ] + }, "Update": { "methods": [ "Update" @@ -2775,11 +2850,21 @@ "rest": { "libraryClient": "RegionNetworkEndpointGroupsClient", "rpcs": { + "AttachNetworkEndpoints": { + "methods": [ + "AttachNetworkEndpoints" + ] + }, "Delete": { "methods": [ "Delete" ] }, + "DetachNetworkEndpoints": { + "methods": [ + "DetachNetworkEndpoints" + ] + }, "Get": { "methods": [ "Get" @@ -2794,6 +2879,11 @@ "methods": [ "List" ] + }, + "ListNetworkEndpoints": { + "methods": [ + "ListNetworkEndpoints" + ] } } } @@ -2956,6 +3046,11 @@ "rest": { "libraryClient": "RegionSecurityPoliciesClient", "rpcs": { + "AddRule": { + "methods": [ + "AddRule" + ] + }, "Delete": { "methods": [ "Delete" @@ -2966,6 +3061,11 @@ "Get" ] }, + "GetRule": { + "methods": [ + "GetRule" + ] + }, "Insert": { "methods": [ "Insert" @@ -2980,6 +3080,16 @@ "methods": [ "Patch" ] + }, + "PatchRule": { + "methods": [ + "PatchRule" + ] + }, + "RemoveRule": { + "methods": [ + "RemoveRule" + ] } } } @@ -3356,6 +3466,11 @@ "Get" ] }, + "GetNatIpInfo": { + "methods": [ + "GetNatIpInfo" + ] + }, "GetNatMappingInfo": { "methods": [ "GetNatMappingInfo" @@ -3547,6 +3662,25 @@ } } }, + "SnapshotSettingsService": { + "clients": { + "rest": { + "libraryClient": "SnapshotSettingsClient", + "rpcs": { + "Get": { + "methods": [ + "Get" + ] + }, + "Patch": { + "methods": [ + "Patch" + ] + } + } + } + } + }, "Snapshots": { "clients": { "rest": { @@ -3914,6 +4048,11 @@ "methods": [ "List" ] + }, + "SetSecurityPolicy": { + "methods": [ + "SetSecurityPolicy" + ] } } } @@ -3978,6 +4117,11 @@ "methods": [ "SetBackup" ] + }, + "SetSecurityPolicy": { + "methods": [ + "SetSecurityPolicy" + ] } } } diff --git a/vendor/cloud.google.com/go/compute/apiv1/global_addresses_client.go b/vendor/cloud.google.com/go/compute/apiv1/global_addresses_client.go index b8cfb0a1ed..5b3ad8ebc1 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/global_addresses_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/global_addresses_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,7 +221,9 @@ func NewGlobalAddressesRESTClient(ctx context.Context, opts ...option.ClientOpti func defaultGlobalAddressesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/global_forwarding_rules_client.go b/vendor/cloud.google.com/go/compute/apiv1/global_forwarding_rules_client.go index 572d8b93b7..13eed1b64b 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/global_forwarding_rules_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/global_forwarding_rules_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -231,7 +231,9 @@ func NewGlobalForwardingRulesRESTClient(ctx context.Context, opts ...option.Clie func defaultGlobalForwardingRulesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/global_network_endpoint_groups_client.go b/vendor/cloud.google.com/go/compute/apiv1/global_network_endpoint_groups_client.go index eda3279e2c..e21973dcf1 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/global_network_endpoint_groups_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/global_network_endpoint_groups_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -231,7 +231,9 @@ func NewGlobalNetworkEndpointGroupsRESTClient(ctx context.Context, opts ...optio func defaultGlobalNetworkEndpointGroupsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -809,97 +811,3 @@ func (c *globalNetworkEndpointGroupsRESTClient) ListNetworkEndpoints(ctx context return it } - -// NetworkEndpointGroupIterator manages a stream of *computepb.NetworkEndpointGroup. -type NetworkEndpointGroupIterator struct { - items []*computepb.NetworkEndpointGroup - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NetworkEndpointGroup, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NetworkEndpointGroupIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NetworkEndpointGroupIterator) Next() (*computepb.NetworkEndpointGroup, error) { - var item *computepb.NetworkEndpointGroup - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NetworkEndpointGroupIterator) bufLen() int { - return len(it.items) -} - -func (it *NetworkEndpointGroupIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// NetworkEndpointWithHealthStatusIterator manages a stream of *computepb.NetworkEndpointWithHealthStatus. -type NetworkEndpointWithHealthStatusIterator struct { - items []*computepb.NetworkEndpointWithHealthStatus - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NetworkEndpointWithHealthStatus, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NetworkEndpointWithHealthStatusIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NetworkEndpointWithHealthStatusIterator) Next() (*computepb.NetworkEndpointWithHealthStatus, error) { - var item *computepb.NetworkEndpointWithHealthStatus - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NetworkEndpointWithHealthStatusIterator) bufLen() int { - return len(it.items) -} - -func (it *NetworkEndpointWithHealthStatusIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/global_operations_client.go b/vendor/cloud.google.com/go/compute/apiv1/global_operations_client.go index 954f984c43..f0c46616b8 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/global_operations_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/global_operations_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -207,7 +207,9 @@ func NewGlobalOperationsRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultGlobalOperationsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -277,6 +279,9 @@ func (c *globalOperationsRESTClient) AggregatedList(ctx context.Context, req *co if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -605,103 +610,3 @@ func (c *globalOperationsRESTClient) Wait(ctx context.Context, req *computepb.Wa } return resp, nil } - -// OperationIterator manages a stream of *computepb.Operation. -type OperationIterator struct { - items []*computepb.Operation - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Operation, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *OperationIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *OperationIterator) Next() (*computepb.Operation, error) { - var item *computepb.Operation - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *OperationIterator) bufLen() int { - return len(it.items) -} - -func (it *OperationIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// OperationsScopedListPair is a holder type for string/*computepb.OperationsScopedList map entries -type OperationsScopedListPair struct { - Key string - Value *computepb.OperationsScopedList -} - -// OperationsScopedListPairIterator manages a stream of OperationsScopedListPair. -type OperationsScopedListPairIterator struct { - items []OperationsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []OperationsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *OperationsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *OperationsScopedListPairIterator) Next() (OperationsScopedListPair, error) { - var item OperationsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *OperationsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *OperationsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/global_organization_operations_client.go b/vendor/cloud.google.com/go/compute/apiv1/global_organization_operations_client.go index 3a774a0d61..b73f65cd5d 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/global_organization_operations_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/global_organization_operations_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -177,7 +177,9 @@ func NewGlobalOrganizationOperationsRESTClient(ctx context.Context, opts ...opti func defaultGlobalOrganizationOperationsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/global_public_delegated_prefixes_client.go b/vendor/cloud.google.com/go/compute/apiv1/global_public_delegated_prefixes_client.go index ece4ba20d0..3e2104ce81 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/global_public_delegated_prefixes_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/global_public_delegated_prefixes_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,7 +211,9 @@ func NewGlobalPublicDelegatedPrefixesRESTClient(ctx context.Context, opts ...opt func defaultGlobalPublicDelegatedPrefixesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -616,50 +618,3 @@ func (c *globalPublicDelegatedPrefixesRESTClient) Patch(ctx context.Context, req } return op, nil } - -// PublicDelegatedPrefixIterator manages a stream of *computepb.PublicDelegatedPrefix. -type PublicDelegatedPrefixIterator struct { - items []*computepb.PublicDelegatedPrefix - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.PublicDelegatedPrefix, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *PublicDelegatedPrefixIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *PublicDelegatedPrefixIterator) Next() (*computepb.PublicDelegatedPrefix, error) { - var item *computepb.PublicDelegatedPrefix - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *PublicDelegatedPrefixIterator) bufLen() int { - return len(it.items) -} - -func (it *PublicDelegatedPrefixIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/health_checks_client.go b/vendor/cloud.google.com/go/compute/apiv1/health_checks_client.go index ea3adb8bca..4a521c6d84 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/health_checks_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/health_checks_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -241,7 +241,9 @@ func NewHealthChecksRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultHealthChecksRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -314,6 +316,9 @@ func (c *healthChecksRESTClient) AggregatedList(ctx context.Context, req *comput if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -829,103 +834,3 @@ func (c *healthChecksRESTClient) Update(ctx context.Context, req *computepb.Upda } return op, nil } - -// HealthCheckIterator manages a stream of *computepb.HealthCheck. -type HealthCheckIterator struct { - items []*computepb.HealthCheck - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.HealthCheck, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *HealthCheckIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *HealthCheckIterator) Next() (*computepb.HealthCheck, error) { - var item *computepb.HealthCheck - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *HealthCheckIterator) bufLen() int { - return len(it.items) -} - -func (it *HealthCheckIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// HealthChecksScopedListPair is a holder type for string/*computepb.HealthChecksScopedList map entries -type HealthChecksScopedListPair struct { - Key string - Value *computepb.HealthChecksScopedList -} - -// HealthChecksScopedListPairIterator manages a stream of HealthChecksScopedListPair. -type HealthChecksScopedListPairIterator struct { - items []HealthChecksScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []HealthChecksScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *HealthChecksScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *HealthChecksScopedListPairIterator) Next() (HealthChecksScopedListPair, error) { - var item HealthChecksScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *HealthChecksScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *HealthChecksScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/image_family_views_client.go b/vendor/cloud.google.com/go/compute/apiv1/image_family_views_client.go index 67b66e5f89..d195189fe1 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/image_family_views_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/image_family_views_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -145,7 +145,9 @@ func NewImageFamilyViewsRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultImageFamilyViewsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/images_client.go b/vendor/cloud.google.com/go/compute/apiv1/images_client.go index 8cce184a16..5ec6239811 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/images_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/images_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -289,7 +289,9 @@ func NewImagesRESTClient(ctx context.Context, opts ...option.ClientOption) (*Ima func defaultImagesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -1083,50 +1085,3 @@ func (c *imagesRESTClient) TestIamPermissions(ctx context.Context, req *computep } return resp, nil } - -// ImageIterator manages a stream of *computepb.Image. -type ImageIterator struct { - items []*computepb.Image - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Image, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ImageIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ImageIterator) Next() (*computepb.Image, error) { - var item *computepb.Image - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ImageIterator) bufLen() int { - return len(it.items) -} - -func (it *ImageIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/instance_group_managers_client.go b/vendor/cloud.google.com/go/compute/apiv1/instance_group_managers_client.go index 2a5c3d26ae..57b8dd823d 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/instance_group_managers_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/instance_group_managers_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -380,7 +380,9 @@ func NewInstanceGroupManagersRESTClient(ctx context.Context, opts ...option.Clie func defaultInstanceGroupManagersRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -530,6 +532,9 @@ func (c *instanceGroupManagersRESTClient) AggregatedList(ctx context.Context, re if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -2013,244 +2018,3 @@ func (c *instanceGroupManagersRESTClient) UpdatePerInstanceConfigs(ctx context.C } return op, nil } - -// InstanceGroupManagerIterator manages a stream of *computepb.InstanceGroupManager. -type InstanceGroupManagerIterator struct { - items []*computepb.InstanceGroupManager - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceGroupManager, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceGroupManagerIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceGroupManagerIterator) Next() (*computepb.InstanceGroupManager, error) { - var item *computepb.InstanceGroupManager - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceGroupManagerIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceGroupManagerIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// InstanceGroupManagersScopedListPair is a holder type for string/*computepb.InstanceGroupManagersScopedList map entries -type InstanceGroupManagersScopedListPair struct { - Key string - Value *computepb.InstanceGroupManagersScopedList -} - -// InstanceGroupManagersScopedListPairIterator manages a stream of InstanceGroupManagersScopedListPair. -type InstanceGroupManagersScopedListPairIterator struct { - items []InstanceGroupManagersScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []InstanceGroupManagersScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceGroupManagersScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceGroupManagersScopedListPairIterator) Next() (InstanceGroupManagersScopedListPair, error) { - var item InstanceGroupManagersScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceGroupManagersScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceGroupManagersScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// InstanceManagedByIgmErrorIterator manages a stream of *computepb.InstanceManagedByIgmError. -type InstanceManagedByIgmErrorIterator struct { - items []*computepb.InstanceManagedByIgmError - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceManagedByIgmError, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceManagedByIgmErrorIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceManagedByIgmErrorIterator) Next() (*computepb.InstanceManagedByIgmError, error) { - var item *computepb.InstanceManagedByIgmError - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceManagedByIgmErrorIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceManagedByIgmErrorIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// ManagedInstanceIterator manages a stream of *computepb.ManagedInstance. -type ManagedInstanceIterator struct { - items []*computepb.ManagedInstance - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.ManagedInstance, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ManagedInstanceIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ManagedInstanceIterator) Next() (*computepb.ManagedInstance, error) { - var item *computepb.ManagedInstance - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ManagedInstanceIterator) bufLen() int { - return len(it.items) -} - -func (it *ManagedInstanceIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// PerInstanceConfigIterator manages a stream of *computepb.PerInstanceConfig. -type PerInstanceConfigIterator struct { - items []*computepb.PerInstanceConfig - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.PerInstanceConfig, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *PerInstanceConfigIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *PerInstanceConfigIterator) Next() (*computepb.PerInstanceConfig, error) { - var item *computepb.PerInstanceConfig - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *PerInstanceConfigIterator) bufLen() int { - return len(it.items) -} - -func (it *PerInstanceConfigIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/instance_groups_client.go b/vendor/cloud.google.com/go/compute/apiv1/instance_groups_client.go index 1fcdbec002..377b226a8e 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/instance_groups_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/instance_groups_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -261,7 +261,9 @@ func NewInstanceGroupsRESTClient(ctx context.Context, opts ...option.ClientOptio func defaultInstanceGroupsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -411,6 +413,9 @@ func (c *instanceGroupsRESTClient) AggregatedList(ctx context.Context, req *comp if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1033,150 +1038,3 @@ func (c *instanceGroupsRESTClient) SetNamedPorts(ctx context.Context, req *compu } return op, nil } - -// InstanceGroupIterator manages a stream of *computepb.InstanceGroup. -type InstanceGroupIterator struct { - items []*computepb.InstanceGroup - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceGroup, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceGroupIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceGroupIterator) Next() (*computepb.InstanceGroup, error) { - var item *computepb.InstanceGroup - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceGroupIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceGroupIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// InstanceGroupsScopedListPair is a holder type for string/*computepb.InstanceGroupsScopedList map entries -type InstanceGroupsScopedListPair struct { - Key string - Value *computepb.InstanceGroupsScopedList -} - -// InstanceGroupsScopedListPairIterator manages a stream of InstanceGroupsScopedListPair. -type InstanceGroupsScopedListPairIterator struct { - items []InstanceGroupsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []InstanceGroupsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceGroupsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceGroupsScopedListPairIterator) Next() (InstanceGroupsScopedListPair, error) { - var item InstanceGroupsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceGroupsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceGroupsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// InstanceWithNamedPortsIterator manages a stream of *computepb.InstanceWithNamedPorts. -type InstanceWithNamedPortsIterator struct { - items []*computepb.InstanceWithNamedPorts - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceWithNamedPorts, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceWithNamedPortsIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceWithNamedPortsIterator) Next() (*computepb.InstanceWithNamedPorts, error) { - var item *computepb.InstanceWithNamedPorts - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceWithNamedPortsIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceWithNamedPortsIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/instance_templates_client.go b/vendor/cloud.google.com/go/compute/apiv1/instance_templates_client.go index c53f7651f9..32d4d6a12e 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/instance_templates_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/instance_templates_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -260,7 +260,9 @@ func NewInstanceTemplatesRESTClient(ctx context.Context, opts ...option.ClientOp func defaultInstanceTemplatesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -333,6 +335,9 @@ func (c *instanceTemplatesRESTClient) AggregatedList(ctx context.Context, req *c if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -882,103 +887,3 @@ func (c *instanceTemplatesRESTClient) TestIamPermissions(ctx context.Context, re } return resp, nil } - -// InstanceTemplateIterator manages a stream of *computepb.InstanceTemplate. -type InstanceTemplateIterator struct { - items []*computepb.InstanceTemplate - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InstanceTemplate, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceTemplateIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceTemplateIterator) Next() (*computepb.InstanceTemplate, error) { - var item *computepb.InstanceTemplate - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceTemplateIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceTemplateIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// InstanceTemplatesScopedListPair is a holder type for string/*computepb.InstanceTemplatesScopedList map entries -type InstanceTemplatesScopedListPair struct { - Key string - Value *computepb.InstanceTemplatesScopedList -} - -// InstanceTemplatesScopedListPairIterator manages a stream of InstanceTemplatesScopedListPair. -type InstanceTemplatesScopedListPairIterator struct { - items []InstanceTemplatesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []InstanceTemplatesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceTemplatesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceTemplatesScopedListPairIterator) Next() (InstanceTemplatesScopedListPair, error) { - var item InstanceTemplatesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceTemplatesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceTemplatesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/instances_client.go b/vendor/cloud.google.com/go/compute/apiv1/instances_client.go index 42cc1f23e0..fb709d2ed7 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/instances_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/instances_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -75,6 +75,7 @@ type InstancesCallOptions struct { SetMinCpuPlatform []gax.CallOption SetName []gax.CallOption SetScheduling []gax.CallOption + SetSecurityPolicy []gax.CallOption SetServiceAccount []gax.CallOption SetShieldedInstanceIntegrityPolicy []gax.CallOption SetTags []gax.CallOption @@ -279,6 +280,9 @@ func defaultInstancesRESTCallOptions() *InstancesCallOptions { SetScheduling: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + SetSecurityPolicy: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, SetServiceAccount: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -361,6 +365,7 @@ type internalInstancesClient interface { SetMinCpuPlatform(context.Context, *computepb.SetMinCpuPlatformInstanceRequest, ...gax.CallOption) (*Operation, error) SetName(context.Context, *computepb.SetNameInstanceRequest, ...gax.CallOption) (*Operation, error) SetScheduling(context.Context, *computepb.SetSchedulingInstanceRequest, ...gax.CallOption) (*Operation, error) + SetSecurityPolicy(context.Context, *computepb.SetSecurityPolicyInstanceRequest, ...gax.CallOption) (*Operation, error) SetServiceAccount(context.Context, *computepb.SetServiceAccountInstanceRequest, ...gax.CallOption) (*Operation, error) SetShieldedInstanceIntegrityPolicy(context.Context, *computepb.SetShieldedInstanceIntegrityPolicyInstanceRequest, ...gax.CallOption) (*Operation, error) SetTags(context.Context, *computepb.SetTagsInstanceRequest, ...gax.CallOption) (*Operation, error) @@ -572,6 +577,11 @@ func (c *InstancesClient) SetScheduling(ctx context.Context, req *computepb.SetS return c.internalClient.SetScheduling(ctx, req, opts...) } +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview +func (c *InstancesClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyInstanceRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.SetSecurityPolicy(ctx, req, opts...) +} + // SetServiceAccount sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance. func (c *InstancesClient) SetServiceAccount(ctx context.Context, req *computepb.SetServiceAccountInstanceRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.SetServiceAccount(ctx, req, opts...) @@ -694,7 +704,9 @@ func NewInstancesRESTClient(ctx context.Context, opts ...option.ClientOption) (* func defaultInstancesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -922,6 +934,9 @@ func (c *instancesRESTClient) AggregatedList(ctx context.Context, req *computepb if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -3071,6 +3086,83 @@ func (c *instancesRESTClient) SetScheduling(ctx context.Context, req *computepb. return op, nil } +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified instance. For more information, see Google Cloud Armor Overview +func (c *instancesRESTClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyInstanceRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetInstancesSetSecurityPolicyRequestResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/zones/%v/instances/%v/setSecurityPolicy", req.GetProject(), req.GetZone(), req.GetInstance()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "zone", url.QueryEscape(req.GetZone()), "instance", url.QueryEscape(req.GetInstance()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetSecurityPolicy[0:len((*c.CallOptions).SetSecurityPolicy):len((*c.CallOptions).SetSecurityPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + &zoneOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + zone: req.GetZone(), + }, + } + return op, nil +} + // SetServiceAccount sets the service account on the instance. For more information, read Changing the service account and access scopes for an instance. func (c *instancesRESTClient) SetServiceAccount(ctx context.Context, req *computepb.SetServiceAccountInstanceRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -4119,150 +4211,3 @@ func (c *instancesRESTClient) UpdateShieldedInstanceConfig(ctx context.Context, } return op, nil } - -// InstanceIterator manages a stream of *computepb.Instance. -type InstanceIterator struct { - items []*computepb.Instance - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Instance, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstanceIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstanceIterator) Next() (*computepb.Instance, error) { - var item *computepb.Instance - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstanceIterator) bufLen() int { - return len(it.items) -} - -func (it *InstanceIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// InstancesScopedListPair is a holder type for string/*computepb.InstancesScopedList map entries -type InstancesScopedListPair struct { - Key string - Value *computepb.InstancesScopedList -} - -// InstancesScopedListPairIterator manages a stream of InstancesScopedListPair. -type InstancesScopedListPairIterator struct { - items []InstancesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []InstancesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InstancesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InstancesScopedListPairIterator) Next() (InstancesScopedListPair, error) { - var item InstancesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InstancesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *InstancesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// ReferenceIterator manages a stream of *computepb.Reference. -type ReferenceIterator struct { - items []*computepb.Reference - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Reference, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ReferenceIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ReferenceIterator) Next() (*computepb.Reference, error) { - var item *computepb.Reference - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ReferenceIterator) bufLen() int { - return len(it.items) -} - -func (it *ReferenceIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/interconnect_attachments_client.go b/vendor/cloud.google.com/go/compute/apiv1/interconnect_attachments_client.go index 21e77a8e93..e6d62f50d3 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/interconnect_attachments_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/interconnect_attachments_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -241,7 +241,9 @@ func NewInterconnectAttachmentsRESTClient(ctx context.Context, opts ...option.Cl func defaultInterconnectAttachmentsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -314,6 +316,9 @@ func (c *interconnectAttachmentsRESTClient) AggregatedList(ctx context.Context, if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -836,103 +841,3 @@ func (c *interconnectAttachmentsRESTClient) SetLabels(ctx context.Context, req * } return op, nil } - -// InterconnectAttachmentIterator manages a stream of *computepb.InterconnectAttachment. -type InterconnectAttachmentIterator struct { - items []*computepb.InterconnectAttachment - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InterconnectAttachment, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InterconnectAttachmentIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InterconnectAttachmentIterator) Next() (*computepb.InterconnectAttachment, error) { - var item *computepb.InterconnectAttachment - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InterconnectAttachmentIterator) bufLen() int { - return len(it.items) -} - -func (it *InterconnectAttachmentIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// InterconnectAttachmentsScopedListPair is a holder type for string/*computepb.InterconnectAttachmentsScopedList map entries -type InterconnectAttachmentsScopedListPair struct { - Key string - Value *computepb.InterconnectAttachmentsScopedList -} - -// InterconnectAttachmentsScopedListPairIterator manages a stream of InterconnectAttachmentsScopedListPair. -type InterconnectAttachmentsScopedListPairIterator struct { - items []InterconnectAttachmentsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []InterconnectAttachmentsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InterconnectAttachmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InterconnectAttachmentsScopedListPairIterator) Next() (InterconnectAttachmentsScopedListPair, error) { - var item InterconnectAttachmentsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InterconnectAttachmentsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *InterconnectAttachmentsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/interconnect_locations_client.go b/vendor/cloud.google.com/go/compute/apiv1/interconnect_locations_client.go index e3654811eb..6463aacded 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/interconnect_locations_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/interconnect_locations_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -167,7 +167,9 @@ func NewInterconnectLocationsRESTClient(ctx context.Context, opts ...option.Clie func defaultInterconnectLocationsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -348,50 +350,3 @@ func (c *interconnectLocationsRESTClient) List(ctx context.Context, req *compute return it } - -// InterconnectLocationIterator manages a stream of *computepb.InterconnectLocation. -type InterconnectLocationIterator struct { - items []*computepb.InterconnectLocation - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InterconnectLocation, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InterconnectLocationIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InterconnectLocationIterator) Next() (*computepb.InterconnectLocation, error) { - var item *computepb.InterconnectLocation - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InterconnectLocationIterator) bufLen() int { - return len(it.items) -} - -func (it *InterconnectLocationIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/interconnect_remote_locations_client.go b/vendor/cloud.google.com/go/compute/apiv1/interconnect_remote_locations_client.go index 170bc6a2bd..cd457f53a5 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/interconnect_remote_locations_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/interconnect_remote_locations_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -167,7 +167,9 @@ func NewInterconnectRemoteLocationsRESTClient(ctx context.Context, opts ...optio func defaultInterconnectRemoteLocationsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -348,50 +350,3 @@ func (c *interconnectRemoteLocationsRESTClient) List(ctx context.Context, req *c return it } - -// InterconnectRemoteLocationIterator manages a stream of *computepb.InterconnectRemoteLocation. -type InterconnectRemoteLocationIterator struct { - items []*computepb.InterconnectRemoteLocation - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.InterconnectRemoteLocation, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InterconnectRemoteLocationIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InterconnectRemoteLocationIterator) Next() (*computepb.InterconnectRemoteLocation, error) { - var item *computepb.InterconnectRemoteLocation - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InterconnectRemoteLocationIterator) bufLen() int { - return len(it.items) -} - -func (it *InterconnectRemoteLocationIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/interconnects_client.go b/vendor/cloud.google.com/go/compute/apiv1/interconnects_client.go index 0a1f7fdf08..5c82b6551e 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/interconnects_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/interconnects_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -42,13 +42,14 @@ var newInterconnectsClientHook clientHook // InterconnectsCallOptions contains the retry settings for each method of InterconnectsClient. type InterconnectsCallOptions struct { - Delete []gax.CallOption - Get []gax.CallOption - GetDiagnostics []gax.CallOption - Insert []gax.CallOption - List []gax.CallOption - Patch []gax.CallOption - SetLabels []gax.CallOption + Delete []gax.CallOption + Get []gax.CallOption + GetDiagnostics []gax.CallOption + GetMacsecConfig []gax.CallOption + Insert []gax.CallOption + List []gax.CallOption + Patch []gax.CallOption + SetLabels []gax.CallOption } func defaultInterconnectsRESTCallOptions() *InterconnectsCallOptions { @@ -80,6 +81,18 @@ func defaultInterconnectsRESTCallOptions() *InterconnectsCallOptions { http.StatusServiceUnavailable) }), }, + GetMacsecConfig: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, Insert: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -112,6 +125,7 @@ type internalInterconnectsClient interface { Delete(context.Context, *computepb.DeleteInterconnectRequest, ...gax.CallOption) (*Operation, error) Get(context.Context, *computepb.GetInterconnectRequest, ...gax.CallOption) (*computepb.Interconnect, error) GetDiagnostics(context.Context, *computepb.GetDiagnosticsInterconnectRequest, ...gax.CallOption) (*computepb.InterconnectsGetDiagnosticsResponse, error) + GetMacsecConfig(context.Context, *computepb.GetMacsecConfigInterconnectRequest, ...gax.CallOption) (*computepb.InterconnectsGetMacsecConfigResponse, error) Insert(context.Context, *computepb.InsertInterconnectRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListInterconnectsRequest, ...gax.CallOption) *InterconnectIterator Patch(context.Context, *computepb.PatchInterconnectRequest, ...gax.CallOption) (*Operation, error) @@ -163,11 +177,16 @@ func (c *InterconnectsClient) Get(ctx context.Context, req *computepb.GetInterco return c.internalClient.Get(ctx, req, opts...) } -// GetDiagnostics returns the interconnectDiagnostics for the specified Interconnect. +// GetDiagnostics returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly. func (c *InterconnectsClient) GetDiagnostics(ctx context.Context, req *computepb.GetDiagnosticsInterconnectRequest, opts ...gax.CallOption) (*computepb.InterconnectsGetDiagnosticsResponse, error) { return c.internalClient.GetDiagnostics(ctx, req, opts...) } +// GetMacsecConfig returns the interconnectMacsecConfig for the specified Interconnect. +func (c *InterconnectsClient) GetMacsecConfig(ctx context.Context, req *computepb.GetMacsecConfigInterconnectRequest, opts ...gax.CallOption) (*computepb.InterconnectsGetMacsecConfigResponse, error) { + return c.internalClient.GetMacsecConfig(ctx, req, opts...) +} + // Insert creates an Interconnect in the specified project using the data included in the request. func (c *InterconnectsClient) Insert(ctx context.Context, req *computepb.InsertInterconnectRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Insert(ctx, req, opts...) @@ -240,7 +259,9 @@ func NewInterconnectsRESTClient(ctx context.Context, opts ...option.ClientOption func defaultInterconnectsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -397,7 +418,7 @@ func (c *interconnectsRESTClient) Get(ctx context.Context, req *computepb.GetInt return resp, nil } -// GetDiagnostics returns the interconnectDiagnostics for the specified Interconnect. +// GetDiagnostics returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly. func (c *interconnectsRESTClient) GetDiagnostics(ctx context.Context, req *computepb.GetDiagnosticsInterconnectRequest, opts ...gax.CallOption) (*computepb.InterconnectsGetDiagnosticsResponse, error) { baseUrl, err := url.Parse(c.endpoint) if err != nil { @@ -452,6 +473,61 @@ func (c *interconnectsRESTClient) GetDiagnostics(ctx context.Context, req *compu return resp, nil } +// GetMacsecConfig returns the interconnectMacsecConfig for the specified Interconnect. +func (c *interconnectsRESTClient) GetMacsecConfig(ctx context.Context, req *computepb.GetMacsecConfigInterconnectRequest, opts ...gax.CallOption) (*computepb.InterconnectsGetMacsecConfigResponse, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/interconnects/%v/getMacsecConfig", req.GetProject(), req.GetInterconnect()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "interconnect", url.QueryEscape(req.GetInterconnect()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetMacsecConfig[0:len((*c.CallOptions).GetMacsecConfig):len((*c.CallOptions).GetMacsecConfig)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.InterconnectsGetMacsecConfigResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // Insert creates an Interconnect in the specified project using the data included in the request. func (c *interconnectsRESTClient) Insert(ctx context.Context, req *computepb.InsertInterconnectRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -769,50 +845,3 @@ func (c *interconnectsRESTClient) SetLabels(ctx context.Context, req *computepb. } return op, nil } - -// InterconnectIterator manages a stream of *computepb.Interconnect. -type InterconnectIterator struct { - items []*computepb.Interconnect - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Interconnect, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *InterconnectIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *InterconnectIterator) Next() (*computepb.Interconnect, error) { - var item *computepb.Interconnect - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *InterconnectIterator) bufLen() int { - return len(it.items) -} - -func (it *InterconnectIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/license_codes_client.go b/vendor/cloud.google.com/go/compute/apiv1/license_codes_client.go index 0704f3771f..9e8781cabc 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/license_codes_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/license_codes_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -156,7 +156,9 @@ func NewLicenseCodesRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultLicenseCodesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/licenses_client.go b/vendor/cloud.google.com/go/compute/apiv1/licenses_client.go index c4640d9d02..5c58a507f2 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/licenses_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/licenses_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -240,7 +240,9 @@ func NewLicensesRESTClient(ctx context.Context, opts ...option.ClientOption) (*L func defaultLicensesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -755,50 +757,3 @@ func (c *licensesRESTClient) TestIamPermissions(ctx context.Context, req *comput } return resp, nil } - -// LicenseIterator manages a stream of *computepb.License. -type LicenseIterator struct { - items []*computepb.License - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.License, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *LicenseIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *LicenseIterator) Next() (*computepb.License, error) { - var item *computepb.License - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *LicenseIterator) bufLen() int { - return len(it.items) -} - -func (it *LicenseIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/machine_images_client.go b/vendor/cloud.google.com/go/compute/apiv1/machine_images_client.go index 64cd5d70c1..3810635992 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/machine_images_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/machine_images_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -240,7 +240,9 @@ func NewMachineImagesRESTClient(ctx context.Context, opts ...option.ClientOption func defaultMachineImagesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -758,50 +760,3 @@ func (c *machineImagesRESTClient) TestIamPermissions(ctx context.Context, req *c } return resp, nil } - -// MachineImageIterator manages a stream of *computepb.MachineImage. -type MachineImageIterator struct { - items []*computepb.MachineImage - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.MachineImage, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *MachineImageIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *MachineImageIterator) Next() (*computepb.MachineImage, error) { - var item *computepb.MachineImage - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *MachineImageIterator) bufLen() int { - return len(it.items) -} - -func (it *MachineImageIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/machine_types_client.go b/vendor/cloud.google.com/go/compute/apiv1/machine_types_client.go index 1c5908f4d0..adeb465d52 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/machine_types_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/machine_types_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -187,7 +187,9 @@ func NewMachineTypesRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultMachineTypesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -257,6 +259,9 @@ func (c *machineTypesRESTClient) AggregatedList(ctx context.Context, req *comput if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -475,103 +480,3 @@ func (c *machineTypesRESTClient) List(ctx context.Context, req *computepb.ListMa return it } - -// MachineTypeIterator manages a stream of *computepb.MachineType. -type MachineTypeIterator struct { - items []*computepb.MachineType - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.MachineType, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *MachineTypeIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *MachineTypeIterator) Next() (*computepb.MachineType, error) { - var item *computepb.MachineType - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *MachineTypeIterator) bufLen() int { - return len(it.items) -} - -func (it *MachineTypeIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// MachineTypesScopedListPair is a holder type for string/*computepb.MachineTypesScopedList map entries -type MachineTypesScopedListPair struct { - Key string - Value *computepb.MachineTypesScopedList -} - -// MachineTypesScopedListPairIterator manages a stream of MachineTypesScopedListPair. -type MachineTypesScopedListPairIterator struct { - items []MachineTypesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []MachineTypesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *MachineTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *MachineTypesScopedListPairIterator) Next() (MachineTypesScopedListPair, error) { - var item MachineTypesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *MachineTypesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *MachineTypesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/network_attachments_client.go b/vendor/cloud.google.com/go/compute/apiv1/network_attachments_client.go index d9b3526cbe..0dc12f62be 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/network_attachments_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/network_attachments_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -49,6 +49,7 @@ type NetworkAttachmentsCallOptions struct { GetIamPolicy []gax.CallOption Insert []gax.CallOption List []gax.CallOption + Patch []gax.CallOption SetIamPolicy []gax.CallOption TestIamPermissions []gax.CallOption } @@ -109,6 +110,9 @@ func defaultNetworkAttachmentsRESTCallOptions() *NetworkAttachmentsCallOptions { http.StatusServiceUnavailable) }), }, + Patch: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, SetIamPolicy: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -129,6 +133,7 @@ type internalNetworkAttachmentsClient interface { GetIamPolicy(context.Context, *computepb.GetIamPolicyNetworkAttachmentRequest, ...gax.CallOption) (*computepb.Policy, error) Insert(context.Context, *computepb.InsertNetworkAttachmentRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListNetworkAttachmentsRequest, ...gax.CallOption) *NetworkAttachmentIterator + Patch(context.Context, *computepb.PatchNetworkAttachmentRequest, ...gax.CallOption) (*Operation, error) SetIamPolicy(context.Context, *computepb.SetIamPolicyNetworkAttachmentRequest, ...gax.CallOption) (*computepb.Policy, error) TestIamPermissions(context.Context, *computepb.TestIamPermissionsNetworkAttachmentRequest, ...gax.CallOption) (*computepb.TestPermissionsResponse, error) } @@ -198,6 +203,11 @@ func (c *NetworkAttachmentsClient) List(ctx context.Context, req *computepb.List return c.internalClient.List(ctx, req, opts...) } +// Patch patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. +func (c *NetworkAttachmentsClient) Patch(ctx context.Context, req *computepb.PatchNetworkAttachmentRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.Patch(ctx, req, opts...) +} + // SetIamPolicy sets the access control policy on the specified resource. Replaces any existing policy. func (c *NetworkAttachmentsClient) SetIamPolicy(ctx context.Context, req *computepb.SetIamPolicyNetworkAttachmentRequest, opts ...gax.CallOption) (*computepb.Policy, error) { return c.internalClient.SetIamPolicy(ctx, req, opts...) @@ -260,7 +270,9 @@ func NewNetworkAttachmentsRESTClient(ctx context.Context, opts ...option.ClientO func defaultNetworkAttachmentsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -333,6 +345,9 @@ func (c *networkAttachmentsRESTClient) AggregatedList(ctx context.Context, req * if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -761,6 +776,83 @@ func (c *networkAttachmentsRESTClient) List(ctx context.Context, req *computepb. return it } +// Patch patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. +func (c *networkAttachmentsRESTClient) Patch(ctx context.Context, req *computepb.PatchNetworkAttachmentRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetNetworkAttachmentResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/networkAttachments/%v", req.GetProject(), req.GetRegion(), req.GetNetworkAttachment()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "network_attachment", url.QueryEscape(req.GetNetworkAttachment()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).Patch[0:len((*c.CallOptions).Patch):len((*c.CallOptions).Patch)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil +} + // SetIamPolicy sets the access control policy on the specified resource. Replaces any existing policy. func (c *networkAttachmentsRESTClient) SetIamPolicy(ctx context.Context, req *computepb.SetIamPolicyNetworkAttachmentRequest, opts ...gax.CallOption) (*computepb.Policy, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -884,103 +976,3 @@ func (c *networkAttachmentsRESTClient) TestIamPermissions(ctx context.Context, r } return resp, nil } - -// NetworkAttachmentIterator manages a stream of *computepb.NetworkAttachment. -type NetworkAttachmentIterator struct { - items []*computepb.NetworkAttachment - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NetworkAttachment, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NetworkAttachmentIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NetworkAttachmentIterator) Next() (*computepb.NetworkAttachment, error) { - var item *computepb.NetworkAttachment - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NetworkAttachmentIterator) bufLen() int { - return len(it.items) -} - -func (it *NetworkAttachmentIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// NetworkAttachmentsScopedListPair is a holder type for string/*computepb.NetworkAttachmentsScopedList map entries -type NetworkAttachmentsScopedListPair struct { - Key string - Value *computepb.NetworkAttachmentsScopedList -} - -// NetworkAttachmentsScopedListPairIterator manages a stream of NetworkAttachmentsScopedListPair. -type NetworkAttachmentsScopedListPairIterator struct { - items []NetworkAttachmentsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []NetworkAttachmentsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NetworkAttachmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NetworkAttachmentsScopedListPairIterator) Next() (NetworkAttachmentsScopedListPair, error) { - var item NetworkAttachmentsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NetworkAttachmentsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *NetworkAttachmentsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/network_edge_security_services_client.go b/vendor/cloud.google.com/go/compute/apiv1/network_edge_security_services_client.go index c7e07a1df8..d30dc53848 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/network_edge_security_services_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/network_edge_security_services_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -212,7 +212,9 @@ func NewNetworkEdgeSecurityServicesRESTClient(ctx context.Context, opts ...optio func defaultNetworkEdgeSecurityServicesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -285,6 +287,9 @@ func (c *networkEdgeSecurityServicesRESTClient) AggregatedList(ctx context.Conte if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -639,56 +644,3 @@ func (c *networkEdgeSecurityServicesRESTClient) Patch(ctx context.Context, req * } return op, nil } - -// NetworkEdgeSecurityServicesScopedListPair is a holder type for string/*computepb.NetworkEdgeSecurityServicesScopedList map entries -type NetworkEdgeSecurityServicesScopedListPair struct { - Key string - Value *computepb.NetworkEdgeSecurityServicesScopedList -} - -// NetworkEdgeSecurityServicesScopedListPairIterator manages a stream of NetworkEdgeSecurityServicesScopedListPair. -type NetworkEdgeSecurityServicesScopedListPairIterator struct { - items []NetworkEdgeSecurityServicesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []NetworkEdgeSecurityServicesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NetworkEdgeSecurityServicesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NetworkEdgeSecurityServicesScopedListPairIterator) Next() (NetworkEdgeSecurityServicesScopedListPair, error) { - var item NetworkEdgeSecurityServicesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NetworkEdgeSecurityServicesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *NetworkEdgeSecurityServicesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/network_endpoint_groups_client.go b/vendor/cloud.google.com/go/compute/apiv1/network_endpoint_groups_client.go index cf758e6cd6..8c4bf13a30 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/network_endpoint_groups_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/network_endpoint_groups_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -261,7 +261,9 @@ func NewNetworkEndpointGroupsRESTClient(ctx context.Context, opts ...option.Clie func defaultNetworkEndpointGroupsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -334,6 +336,9 @@ func (c *networkEndpointGroupsRESTClient) AggregatedList(ctx context.Context, re if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1018,56 +1023,3 @@ func (c *networkEndpointGroupsRESTClient) TestIamPermissions(ctx context.Context } return resp, nil } - -// NetworkEndpointGroupsScopedListPair is a holder type for string/*computepb.NetworkEndpointGroupsScopedList map entries -type NetworkEndpointGroupsScopedListPair struct { - Key string - Value *computepb.NetworkEndpointGroupsScopedList -} - -// NetworkEndpointGroupsScopedListPairIterator manages a stream of NetworkEndpointGroupsScopedListPair. -type NetworkEndpointGroupsScopedListPairIterator struct { - items []NetworkEndpointGroupsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []NetworkEndpointGroupsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NetworkEndpointGroupsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NetworkEndpointGroupsScopedListPairIterator) Next() (NetworkEndpointGroupsScopedListPair, error) { - var item NetworkEndpointGroupsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NetworkEndpointGroupsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *NetworkEndpointGroupsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/network_firewall_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/network_firewall_policies_client.go index 86b61d4442..fad8e17ac2 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/network_firewall_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/network_firewall_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -348,7 +348,9 @@ func NewNetworkFirewallPoliciesRESTClient(ctx context.Context, opts ...option.Cl func defaultNetworkFirewallPoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/networks_client.go b/vendor/cloud.google.com/go/compute/apiv1/networks_client.go index 49e2166da1..49ff4cb795 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/networks_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/networks_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -289,7 +289,9 @@ func NewNetworksRESTClient(ctx context.Context, opts ...option.ClientOption) (*N func defaultNetworksRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -1152,97 +1154,3 @@ func (c *networksRESTClient) UpdatePeering(ctx context.Context, req *computepb.U } return op, nil } - -// ExchangedPeeringRouteIterator manages a stream of *computepb.ExchangedPeeringRoute. -type ExchangedPeeringRouteIterator struct { - items []*computepb.ExchangedPeeringRoute - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.ExchangedPeeringRoute, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ExchangedPeeringRouteIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ExchangedPeeringRouteIterator) Next() (*computepb.ExchangedPeeringRoute, error) { - var item *computepb.ExchangedPeeringRoute - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ExchangedPeeringRouteIterator) bufLen() int { - return len(it.items) -} - -func (it *ExchangedPeeringRouteIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// NetworkIterator manages a stream of *computepb.Network. -type NetworkIterator struct { - items []*computepb.Network - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Network, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NetworkIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NetworkIterator) Next() (*computepb.Network, error) { - var item *computepb.Network - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NetworkIterator) bufLen() int { - return len(it.items) -} - -func (it *NetworkIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/node_groups_client.go b/vendor/cloud.google.com/go/compute/apiv1/node_groups_client.go index a6622297c5..60b73e1216 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/node_groups_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/node_groups_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -320,7 +320,9 @@ func NewNodeGroupsRESTClient(ctx context.Context, opts ...option.ClientOption) ( func defaultNodeGroupsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -470,6 +472,9 @@ func (c *nodeGroupsRESTClient) AggregatedList(ctx context.Context, req *computep if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1427,150 +1432,3 @@ func (c *nodeGroupsRESTClient) TestIamPermissions(ctx context.Context, req *comp } return resp, nil } - -// NodeGroupIterator manages a stream of *computepb.NodeGroup. -type NodeGroupIterator struct { - items []*computepb.NodeGroup - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeGroup, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NodeGroupIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NodeGroupIterator) Next() (*computepb.NodeGroup, error) { - var item *computepb.NodeGroup - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NodeGroupIterator) bufLen() int { - return len(it.items) -} - -func (it *NodeGroupIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// NodeGroupNodeIterator manages a stream of *computepb.NodeGroupNode. -type NodeGroupNodeIterator struct { - items []*computepb.NodeGroupNode - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeGroupNode, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NodeGroupNodeIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NodeGroupNodeIterator) Next() (*computepb.NodeGroupNode, error) { - var item *computepb.NodeGroupNode - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NodeGroupNodeIterator) bufLen() int { - return len(it.items) -} - -func (it *NodeGroupNodeIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// NodeGroupsScopedListPair is a holder type for string/*computepb.NodeGroupsScopedList map entries -type NodeGroupsScopedListPair struct { - Key string - Value *computepb.NodeGroupsScopedList -} - -// NodeGroupsScopedListPairIterator manages a stream of NodeGroupsScopedListPair. -type NodeGroupsScopedListPairIterator struct { - items []NodeGroupsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []NodeGroupsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NodeGroupsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NodeGroupsScopedListPairIterator) Next() (NodeGroupsScopedListPair, error) { - var item NodeGroupsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NodeGroupsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *NodeGroupsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/node_templates_client.go b/vendor/cloud.google.com/go/compute/apiv1/node_templates_client.go index 0d2ba21238..84a47cc566 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/node_templates_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/node_templates_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -260,7 +260,9 @@ func NewNodeTemplatesRESTClient(ctx context.Context, opts ...option.ClientOption func defaultNodeTemplatesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -333,6 +335,9 @@ func (c *nodeTemplatesRESTClient) AggregatedList(ctx context.Context, req *compu if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -884,103 +889,3 @@ func (c *nodeTemplatesRESTClient) TestIamPermissions(ctx context.Context, req *c } return resp, nil } - -// NodeTemplateIterator manages a stream of *computepb.NodeTemplate. -type NodeTemplateIterator struct { - items []*computepb.NodeTemplate - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeTemplate, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NodeTemplateIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NodeTemplateIterator) Next() (*computepb.NodeTemplate, error) { - var item *computepb.NodeTemplate - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NodeTemplateIterator) bufLen() int { - return len(it.items) -} - -func (it *NodeTemplateIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// NodeTemplatesScopedListPair is a holder type for string/*computepb.NodeTemplatesScopedList map entries -type NodeTemplatesScopedListPair struct { - Key string - Value *computepb.NodeTemplatesScopedList -} - -// NodeTemplatesScopedListPairIterator manages a stream of NodeTemplatesScopedListPair. -type NodeTemplatesScopedListPairIterator struct { - items []NodeTemplatesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []NodeTemplatesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NodeTemplatesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NodeTemplatesScopedListPairIterator) Next() (NodeTemplatesScopedListPair, error) { - var item NodeTemplatesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NodeTemplatesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *NodeTemplatesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/node_types_client.go b/vendor/cloud.google.com/go/compute/apiv1/node_types_client.go index db6ffafe2c..027d1d3376 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/node_types_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/node_types_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -187,7 +187,9 @@ func NewNodeTypesRESTClient(ctx context.Context, opts ...option.ClientOption) (* func defaultNodeTypesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -257,6 +259,9 @@ func (c *nodeTypesRESTClient) AggregatedList(ctx context.Context, req *computepb if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -475,103 +480,3 @@ func (c *nodeTypesRESTClient) List(ctx context.Context, req *computepb.ListNodeT return it } - -// NodeTypeIterator manages a stream of *computepb.NodeType. -type NodeTypeIterator struct { - items []*computepb.NodeType - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NodeType, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NodeTypeIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NodeTypeIterator) Next() (*computepb.NodeType, error) { - var item *computepb.NodeType - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NodeTypeIterator) bufLen() int { - return len(it.items) -} - -func (it *NodeTypeIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// NodeTypesScopedListPair is a holder type for string/*computepb.NodeTypesScopedList map entries -type NodeTypesScopedListPair struct { - Key string - Value *computepb.NodeTypesScopedList -} - -// NodeTypesScopedListPairIterator manages a stream of NodeTypesScopedListPair. -type NodeTypesScopedListPairIterator struct { - items []NodeTypesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []NodeTypesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NodeTypesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NodeTypesScopedListPairIterator) Next() (NodeTypesScopedListPair, error) { - var item NodeTypesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NodeTypesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *NodeTypesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/operations.go b/vendor/cloud.google.com/go/compute/apiv1/operations.go index d916441204..406f792b97 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/operations.go +++ b/vendor/cloud.google.com/go/compute/apiv1/operations.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/cloud.google.com/go/compute/apiv1/packet_mirrorings_client.go b/vendor/cloud.google.com/go/compute/apiv1/packet_mirrorings_client.go index c1eb57bb07..955537b990 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/packet_mirrorings_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/packet_mirrorings_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -241,7 +241,9 @@ func NewPacketMirroringsRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultPacketMirroringsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -314,6 +316,9 @@ func (c *packetMirroringsRESTClient) AggregatedList(ctx context.Context, req *co if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -818,103 +823,3 @@ func (c *packetMirroringsRESTClient) TestIamPermissions(ctx context.Context, req } return resp, nil } - -// PacketMirroringIterator manages a stream of *computepb.PacketMirroring. -type PacketMirroringIterator struct { - items []*computepb.PacketMirroring - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.PacketMirroring, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *PacketMirroringIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *PacketMirroringIterator) Next() (*computepb.PacketMirroring, error) { - var item *computepb.PacketMirroring - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *PacketMirroringIterator) bufLen() int { - return len(it.items) -} - -func (it *PacketMirroringIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// PacketMirroringsScopedListPair is a holder type for string/*computepb.PacketMirroringsScopedList map entries -type PacketMirroringsScopedListPair struct { - Key string - Value *computepb.PacketMirroringsScopedList -} - -// PacketMirroringsScopedListPairIterator manages a stream of PacketMirroringsScopedListPair. -type PacketMirroringsScopedListPairIterator struct { - items []PacketMirroringsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []PacketMirroringsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *PacketMirroringsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *PacketMirroringsScopedListPairIterator) Next() (PacketMirroringsScopedListPair, error) { - var item PacketMirroringsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *PacketMirroringsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *PacketMirroringsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/projects_client.go b/vendor/cloud.google.com/go/compute/apiv1/projects_client.go index 0db7298abb..0000522de4 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/projects_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/projects_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -300,7 +300,9 @@ func NewProjectsRESTClient(ctx context.Context, opts ...option.ClientOption) (*P func defaultProjectsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -1312,97 +1314,3 @@ func (c *projectsRESTClient) SetUsageExportBucket(ctx context.Context, req *comp } return op, nil } - -// ProjectIterator manages a stream of *computepb.Project. -type ProjectIterator struct { - items []*computepb.Project - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Project, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ProjectIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ProjectIterator) Next() (*computepb.Project, error) { - var item *computepb.Project - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ProjectIterator) bufLen() int { - return len(it.items) -} - -func (it *ProjectIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// XpnResourceIdIterator manages a stream of *computepb.XpnResourceId. -type XpnResourceIdIterator struct { - items []*computepb.XpnResourceId - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.XpnResourceId, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *XpnResourceIdIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *XpnResourceIdIterator) Next() (*computepb.XpnResourceId, error) { - var item *computepb.XpnResourceId - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *XpnResourceIdIterator) bufLen() int { - return len(it.items) -} - -func (it *XpnResourceIdIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/public_advertised_prefixes_client.go b/vendor/cloud.google.com/go/compute/apiv1/public_advertised_prefixes_client.go index 0b6af5a269..968794702c 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/public_advertised_prefixes_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/public_advertised_prefixes_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -42,15 +42,20 @@ var newPublicAdvertisedPrefixesClientHook clientHook // PublicAdvertisedPrefixesCallOptions contains the retry settings for each method of PublicAdvertisedPrefixesClient. type PublicAdvertisedPrefixesCallOptions struct { - Delete []gax.CallOption - Get []gax.CallOption - Insert []gax.CallOption - List []gax.CallOption - Patch []gax.CallOption + Announce []gax.CallOption + Delete []gax.CallOption + Get []gax.CallOption + Insert []gax.CallOption + List []gax.CallOption + Patch []gax.CallOption + Withdraw []gax.CallOption } func defaultPublicAdvertisedPrefixesRESTCallOptions() *PublicAdvertisedPrefixesCallOptions { return &PublicAdvertisedPrefixesCallOptions{ + Announce: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Delete: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -84,6 +89,9 @@ func defaultPublicAdvertisedPrefixesRESTCallOptions() *PublicAdvertisedPrefixesC Patch: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + Withdraw: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, } } @@ -92,11 +100,13 @@ type internalPublicAdvertisedPrefixesClient interface { Close() error setGoogleClientInfo(...string) Connection() *grpc.ClientConn + Announce(context.Context, *computepb.AnnouncePublicAdvertisedPrefixeRequest, ...gax.CallOption) (*Operation, error) Delete(context.Context, *computepb.DeletePublicAdvertisedPrefixeRequest, ...gax.CallOption) (*Operation, error) Get(context.Context, *computepb.GetPublicAdvertisedPrefixeRequest, ...gax.CallOption) (*computepb.PublicAdvertisedPrefix, error) Insert(context.Context, *computepb.InsertPublicAdvertisedPrefixeRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListPublicAdvertisedPrefixesRequest, ...gax.CallOption) *PublicAdvertisedPrefixIterator Patch(context.Context, *computepb.PatchPublicAdvertisedPrefixeRequest, ...gax.CallOption) (*Operation, error) + Withdraw(context.Context, *computepb.WithdrawPublicAdvertisedPrefixeRequest, ...gax.CallOption) (*Operation, error) } // PublicAdvertisedPrefixesClient is a client for interacting with Google Compute Engine API. @@ -134,6 +144,11 @@ func (c *PublicAdvertisedPrefixesClient) Connection() *grpc.ClientConn { return c.internalClient.Connection() } +// Announce announces the specified PublicAdvertisedPrefix +func (c *PublicAdvertisedPrefixesClient) Announce(ctx context.Context, req *computepb.AnnouncePublicAdvertisedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.Announce(ctx, req, opts...) +} + // Delete deletes the specified PublicAdvertisedPrefix func (c *PublicAdvertisedPrefixesClient) Delete(ctx context.Context, req *computepb.DeletePublicAdvertisedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Delete(ctx, req, opts...) @@ -159,6 +174,11 @@ func (c *PublicAdvertisedPrefixesClient) Patch(ctx context.Context, req *compute return c.internalClient.Patch(ctx, req, opts...) } +// Withdraw withdraws the specified PublicAdvertisedPrefix +func (c *PublicAdvertisedPrefixesClient) Withdraw(ctx context.Context, req *computepb.WithdrawPublicAdvertisedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.Withdraw(ctx, req, opts...) +} + // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. type publicAdvertisedPrefixesRESTClient struct { // The http endpoint to connect to. @@ -211,7 +231,9 @@ func NewPublicAdvertisedPrefixesRESTClient(ctx context.Context, opts ...option.C func defaultPublicAdvertisedPrefixesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -244,6 +266,75 @@ func (c *publicAdvertisedPrefixesRESTClient) Connection() *grpc.ClientConn { return nil } +// Announce announces the specified PublicAdvertisedPrefix +func (c *publicAdvertisedPrefixesRESTClient) Announce(ctx context.Context, req *computepb.AnnouncePublicAdvertisedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/publicAdvertisedPrefixes/%v/announce", req.GetProject(), req.GetPublicAdvertisedPrefix()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "public_advertised_prefix", url.QueryEscape(req.GetPublicAdvertisedPrefix()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).Announce[0:len((*c.CallOptions).Announce):len((*c.CallOptions).Announce)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + &globalOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + }, + } + return op, nil +} + // Delete deletes the specified PublicAdvertisedPrefix func (c *publicAdvertisedPrefixesRESTClient) Delete(ctx context.Context, req *computepb.DeletePublicAdvertisedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { baseUrl, err := url.Parse(c.endpoint) @@ -617,49 +708,71 @@ func (c *publicAdvertisedPrefixesRESTClient) Patch(ctx context.Context, req *com return op, nil } -// PublicAdvertisedPrefixIterator manages a stream of *computepb.PublicAdvertisedPrefix. -type PublicAdvertisedPrefixIterator struct { - items []*computepb.PublicAdvertisedPrefix - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.PublicAdvertisedPrefix, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *PublicAdvertisedPrefixIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} +// Withdraw withdraws the specified PublicAdvertisedPrefix +func (c *publicAdvertisedPrefixesRESTClient) Withdraw(ctx context.Context, req *computepb.WithdrawPublicAdvertisedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/publicAdvertisedPrefixes/%v/withdraw", req.GetProject(), req.GetPublicAdvertisedPrefix()) -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *PublicAdvertisedPrefixIterator) Next() (*computepb.PublicAdvertisedPrefix, error) { - var item *computepb.PublicAdvertisedPrefix - if err := it.nextFunc(); err != nil { - return item, err + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} -func (it *PublicAdvertisedPrefixIterator) bufLen() int { - return len(it.items) -} + baseUrl.RawQuery = params.Encode() -func (it *PublicAdvertisedPrefixIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "public_advertised_prefix", url.QueryEscape(req.GetPublicAdvertisedPrefix()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).Withdraw[0:len((*c.CallOptions).Withdraw):len((*c.CallOptions).Withdraw)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + &globalOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + }, + } + return op, nil } diff --git a/vendor/cloud.google.com/go/compute/apiv1/public_delegated_prefixes_client.go b/vendor/cloud.google.com/go/compute/apiv1/public_delegated_prefixes_client.go index b931f093dc..9704850595 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/public_delegated_prefixes_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/public_delegated_prefixes_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -44,11 +44,13 @@ var newPublicDelegatedPrefixesClientHook clientHook // PublicDelegatedPrefixesCallOptions contains the retry settings for each method of PublicDelegatedPrefixesClient. type PublicDelegatedPrefixesCallOptions struct { AggregatedList []gax.CallOption + Announce []gax.CallOption Delete []gax.CallOption Get []gax.CallOption Insert []gax.CallOption List []gax.CallOption Patch []gax.CallOption + Withdraw []gax.CallOption } func defaultPublicDelegatedPrefixesRESTCallOptions() *PublicDelegatedPrefixesCallOptions { @@ -65,6 +67,9 @@ func defaultPublicDelegatedPrefixesRESTCallOptions() *PublicDelegatedPrefixesCal http.StatusServiceUnavailable) }), }, + Announce: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Delete: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -98,6 +103,9 @@ func defaultPublicDelegatedPrefixesRESTCallOptions() *PublicDelegatedPrefixesCal Patch: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + Withdraw: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, } } @@ -107,11 +115,13 @@ type internalPublicDelegatedPrefixesClient interface { setGoogleClientInfo(...string) Connection() *grpc.ClientConn AggregatedList(context.Context, *computepb.AggregatedListPublicDelegatedPrefixesRequest, ...gax.CallOption) *PublicDelegatedPrefixesScopedListPairIterator + Announce(context.Context, *computepb.AnnouncePublicDelegatedPrefixeRequest, ...gax.CallOption) (*Operation, error) Delete(context.Context, *computepb.DeletePublicDelegatedPrefixeRequest, ...gax.CallOption) (*Operation, error) Get(context.Context, *computepb.GetPublicDelegatedPrefixeRequest, ...gax.CallOption) (*computepb.PublicDelegatedPrefix, error) Insert(context.Context, *computepb.InsertPublicDelegatedPrefixeRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListPublicDelegatedPrefixesRequest, ...gax.CallOption) *PublicDelegatedPrefixIterator Patch(context.Context, *computepb.PatchPublicDelegatedPrefixeRequest, ...gax.CallOption) (*Operation, error) + Withdraw(context.Context, *computepb.WithdrawPublicDelegatedPrefixeRequest, ...gax.CallOption) (*Operation, error) } // PublicDelegatedPrefixesClient is a client for interacting with Google Compute Engine API. @@ -154,6 +164,11 @@ func (c *PublicDelegatedPrefixesClient) AggregatedList(ctx context.Context, req return c.internalClient.AggregatedList(ctx, req, opts...) } +// Announce announces the specified PublicDelegatedPrefix in the given region. +func (c *PublicDelegatedPrefixesClient) Announce(ctx context.Context, req *computepb.AnnouncePublicDelegatedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.Announce(ctx, req, opts...) +} + // Delete deletes the specified PublicDelegatedPrefix in the given region. func (c *PublicDelegatedPrefixesClient) Delete(ctx context.Context, req *computepb.DeletePublicDelegatedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Delete(ctx, req, opts...) @@ -179,6 +194,11 @@ func (c *PublicDelegatedPrefixesClient) Patch(ctx context.Context, req *computep return c.internalClient.Patch(ctx, req, opts...) } +// Withdraw withdraws the specified PublicDelegatedPrefix in the given region. +func (c *PublicDelegatedPrefixesClient) Withdraw(ctx context.Context, req *computepb.WithdrawPublicDelegatedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.Withdraw(ctx, req, opts...) +} + // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. type publicDelegatedPrefixesRESTClient struct { // The http endpoint to connect to. @@ -231,7 +251,9 @@ func NewPublicDelegatedPrefixesRESTClient(ctx context.Context, opts ...option.Cl func defaultPublicDelegatedPrefixesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -304,6 +326,9 @@ func (c *publicDelegatedPrefixesRESTClient) AggregatedList(ctx context.Context, if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -371,6 +396,76 @@ func (c *publicDelegatedPrefixesRESTClient) AggregatedList(ctx context.Context, return it } +// Announce announces the specified PublicDelegatedPrefix in the given region. +func (c *publicDelegatedPrefixesRESTClient) Announce(ctx context.Context, req *computepb.AnnouncePublicDelegatedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/publicDelegatedPrefixes/%v/announce", req.GetProject(), req.GetRegion(), req.GetPublicDelegatedPrefix()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "public_delegated_prefix", url.QueryEscape(req.GetPublicDelegatedPrefix()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).Announce[0:len((*c.CallOptions).Announce):len((*c.CallOptions).Announce)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil +} + // Delete deletes the specified PublicDelegatedPrefix in the given region. func (c *publicDelegatedPrefixesRESTClient) Delete(ctx context.Context, req *computepb.DeletePublicDelegatedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { baseUrl, err := url.Parse(c.endpoint) @@ -747,55 +842,72 @@ func (c *publicDelegatedPrefixesRESTClient) Patch(ctx context.Context, req *comp return op, nil } -// PublicDelegatedPrefixesScopedListPair is a holder type for string/*computepb.PublicDelegatedPrefixesScopedList map entries -type PublicDelegatedPrefixesScopedListPair struct { - Key string - Value *computepb.PublicDelegatedPrefixesScopedList -} +// Withdraw withdraws the specified PublicDelegatedPrefix in the given region. +func (c *publicDelegatedPrefixesRESTClient) Withdraw(ctx context.Context, req *computepb.WithdrawPublicDelegatedPrefixeRequest, opts ...gax.CallOption) (*Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/publicDelegatedPrefixes/%v/withdraw", req.GetProject(), req.GetRegion(), req.GetPublicDelegatedPrefix()) -// PublicDelegatedPrefixesScopedListPairIterator manages a stream of PublicDelegatedPrefixesScopedListPair. -type PublicDelegatedPrefixesScopedListPairIterator struct { - items []PublicDelegatedPrefixesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []PublicDelegatedPrefixesScopedListPair, nextPageToken string, err error) -} + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *PublicDelegatedPrefixesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} + baseUrl.RawQuery = params.Encode() -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *PublicDelegatedPrefixesScopedListPairIterator) Next() (PublicDelegatedPrefixesScopedListPair, error) { - var item PublicDelegatedPrefixesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "public_delegated_prefix", url.QueryEscape(req.GetPublicDelegatedPrefix()))} -func (it *PublicDelegatedPrefixesScopedListPairIterator) bufLen() int { - return len(it.items) -} + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).Withdraw[0:len((*c.CallOptions).Withdraw):len((*c.CallOptions).Withdraw)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } -func (it *PublicDelegatedPrefixesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_autoscalers_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_autoscalers_client.go index 23c00dfd14..b75524581e 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_autoscalers_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_autoscalers_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,7 +221,9 @@ func NewRegionAutoscalersRESTClient(ctx context.Context, opts ...option.ClientOp func defaultRegionAutoscalersRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_backend_services_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_backend_services_client.go index 4c9a6e851b..ef9b322079 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_backend_services_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_backend_services_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -42,15 +42,18 @@ var newRegionBackendServicesClientHook clientHook // RegionBackendServicesCallOptions contains the retry settings for each method of RegionBackendServicesClient. type RegionBackendServicesCallOptions struct { - Delete []gax.CallOption - Get []gax.CallOption - GetHealth []gax.CallOption - GetIamPolicy []gax.CallOption - Insert []gax.CallOption - List []gax.CallOption - Patch []gax.CallOption - SetIamPolicy []gax.CallOption - Update []gax.CallOption + Delete []gax.CallOption + Get []gax.CallOption + GetHealth []gax.CallOption + GetIamPolicy []gax.CallOption + Insert []gax.CallOption + List []gax.CallOption + ListUsable []gax.CallOption + Patch []gax.CallOption + SetIamPolicy []gax.CallOption + SetSecurityPolicy []gax.CallOption + TestIamPermissions []gax.CallOption + Update []gax.CallOption } func defaultRegionBackendServicesRESTCallOptions() *RegionBackendServicesCallOptions { @@ -100,12 +103,30 @@ func defaultRegionBackendServicesRESTCallOptions() *RegionBackendServicesCallOpt http.StatusServiceUnavailable) }), }, + ListUsable: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, Patch: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, SetIamPolicy: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + SetSecurityPolicy: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, + TestIamPermissions: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Update: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -123,8 +144,11 @@ type internalRegionBackendServicesClient interface { GetIamPolicy(context.Context, *computepb.GetIamPolicyRegionBackendServiceRequest, ...gax.CallOption) (*computepb.Policy, error) Insert(context.Context, *computepb.InsertRegionBackendServiceRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListRegionBackendServicesRequest, ...gax.CallOption) *BackendServiceIterator + ListUsable(context.Context, *computepb.ListUsableRegionBackendServicesRequest, ...gax.CallOption) *BackendServiceIterator Patch(context.Context, *computepb.PatchRegionBackendServiceRequest, ...gax.CallOption) (*Operation, error) SetIamPolicy(context.Context, *computepb.SetIamPolicyRegionBackendServiceRequest, ...gax.CallOption) (*computepb.Policy, error) + SetSecurityPolicy(context.Context, *computepb.SetSecurityPolicyRegionBackendServiceRequest, ...gax.CallOption) (*Operation, error) + TestIamPermissions(context.Context, *computepb.TestIamPermissionsRegionBackendServiceRequest, ...gax.CallOption) (*computepb.TestPermissionsResponse, error) Update(context.Context, *computepb.UpdateRegionBackendServiceRequest, ...gax.CallOption) (*Operation, error) } @@ -193,6 +217,11 @@ func (c *RegionBackendServicesClient) List(ctx context.Context, req *computepb.L return c.internalClient.List(ctx, req, opts...) } +// ListUsable retrieves an aggregated list of all usable backend services in the specified project in the given region. +func (c *RegionBackendServicesClient) ListUsable(ctx context.Context, req *computepb.ListUsableRegionBackendServicesRequest, opts ...gax.CallOption) *BackendServiceIterator { + return c.internalClient.ListUsable(ctx, req, opts...) +} + // Patch updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules. func (c *RegionBackendServicesClient) Patch(ctx context.Context, req *computepb.PatchRegionBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Patch(ctx, req, opts...) @@ -203,6 +232,16 @@ func (c *RegionBackendServicesClient) SetIamPolicy(ctx context.Context, req *com return c.internalClient.SetIamPolicy(ctx, req, opts...) } +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview +func (c *RegionBackendServicesClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyRegionBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.SetSecurityPolicy(ctx, req, opts...) +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. +func (c *RegionBackendServicesClient) TestIamPermissions(ctx context.Context, req *computepb.TestIamPermissionsRegionBackendServiceRequest, opts ...gax.CallOption) (*computepb.TestPermissionsResponse, error) { + return c.internalClient.TestIamPermissions(ctx, req, opts...) +} + // Update updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . func (c *RegionBackendServicesClient) Update(ctx context.Context, req *computepb.UpdateRegionBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Update(ctx, req, opts...) @@ -260,7 +299,9 @@ func NewRegionBackendServicesRESTClient(ctx context.Context, opts ...option.Clie func defaultRegionBackendServicesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -716,6 +757,103 @@ func (c *regionBackendServicesRESTClient) List(ctx context.Context, req *compute return it } +// ListUsable retrieves an aggregated list of all usable backend services in the specified project in the given region. +func (c *regionBackendServicesRESTClient) ListUsable(ctx context.Context, req *computepb.ListUsableRegionBackendServicesRequest, opts ...gax.CallOption) *BackendServiceIterator { + it := &BackendServiceIterator{} + req = proto.Clone(req).(*computepb.ListUsableRegionBackendServicesRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*computepb.BackendService, string, error) { + resp := &computepb.BackendServiceListUsable{} + if pageToken != "" { + req.PageToken = proto.String(pageToken) + } + if pageSize > math.MaxInt32 { + req.MaxResults = proto.Uint32(math.MaxInt32) + } else if pageSize != 0 { + req.MaxResults = proto.Uint32(uint32(pageSize)) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/backendServices/listUsable", req.GetProject(), req.GetRegion()) + + params := url.Values{} + if req != nil && req.Filter != nil { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req != nil && req.MaxResults != nil { + params.Add("maxResults", fmt.Sprintf("%v", req.GetMaxResults())) + } + if req != nil && req.OrderBy != nil { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req != nil && req.PageToken != nil { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req != nil && req.ReturnPartialSuccess != nil { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetItems(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetMaxResults()) + it.pageInfo.Token = req.GetPageToken() + + return it +} + // Patch updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules. func (c *regionBackendServicesRESTClient) Patch(ctx context.Context, req *computepb.PatchRegionBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -855,6 +993,145 @@ func (c *regionBackendServicesRESTClient) SetIamPolicy(ctx context.Context, req return resp, nil } +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview +func (c *regionBackendServicesRESTClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyRegionBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetSecurityPolicyReferenceResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/backendServices/%v/setSecurityPolicy", req.GetProject(), req.GetRegion(), req.GetBackendService()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "backend_service", url.QueryEscape(req.GetBackendService()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetSecurityPolicy[0:len((*c.CallOptions).SetSecurityPolicy):len((*c.CallOptions).SetSecurityPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil +} + +// TestIamPermissions returns permissions that a caller has on the specified resource. +func (c *regionBackendServicesRESTClient) TestIamPermissions(ctx context.Context, req *computepb.TestIamPermissionsRegionBackendServiceRequest, opts ...gax.CallOption) (*computepb.TestPermissionsResponse, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetTestPermissionsRequestResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/backendServices/%v/testIamPermissions", req.GetProject(), req.GetRegion(), req.GetResource()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "resource", url.QueryEscape(req.GetResource()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.TestPermissionsResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // Update updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview . func (c *regionBackendServicesRESTClient) Update(ctx context.Context, req *computepb.UpdateRegionBackendServiceRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_commitments_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_commitments_client.go index 1fcbcb0342..7a874dca24 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_commitments_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_commitments_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,7 +221,9 @@ func NewRegionCommitmentsRESTClient(ctx context.Context, opts ...option.ClientOp func defaultRegionCommitmentsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -294,6 +296,9 @@ func (c *regionCommitmentsRESTClient) AggregatedList(ctx context.Context, req *c if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -672,103 +677,3 @@ func (c *regionCommitmentsRESTClient) Update(ctx context.Context, req *computepb } return op, nil } - -// CommitmentIterator manages a stream of *computepb.Commitment. -type CommitmentIterator struct { - items []*computepb.Commitment - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Commitment, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *CommitmentIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *CommitmentIterator) Next() (*computepb.Commitment, error) { - var item *computepb.Commitment - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *CommitmentIterator) bufLen() int { - return len(it.items) -} - -func (it *CommitmentIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// CommitmentsScopedListPair is a holder type for string/*computepb.CommitmentsScopedList map entries -type CommitmentsScopedListPair struct { - Key string - Value *computepb.CommitmentsScopedList -} - -// CommitmentsScopedListPairIterator manages a stream of CommitmentsScopedListPair. -type CommitmentsScopedListPairIterator struct { - items []CommitmentsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []CommitmentsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *CommitmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *CommitmentsScopedListPairIterator) Next() (CommitmentsScopedListPair, error) { - var item CommitmentsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *CommitmentsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *CommitmentsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_disk_types_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_disk_types_client.go index e50db374d8..2e28241a4a 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_disk_types_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_disk_types_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -167,7 +167,9 @@ func NewRegionDiskTypesRESTClient(ctx context.Context, opts ...option.ClientOpti func defaultRegionDiskTypesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_disks_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_disks_client.go index 79ee1afab6..c5f4361772 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_disks_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_disks_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -340,7 +340,9 @@ func NewRegionDisksRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultRegionDisksRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_health_check_services_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_health_check_services_client.go index 1d68a1985c..2c05101a82 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_health_check_services_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_health_check_services_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,7 +211,9 @@ func NewRegionHealthCheckServicesRESTClient(ctx context.Context, opts ...option. func defaultRegionHealthCheckServicesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -619,50 +621,3 @@ func (c *regionHealthCheckServicesRESTClient) Patch(ctx context.Context, req *co } return op, nil } - -// HealthCheckServiceIterator manages a stream of *computepb.HealthCheckService. -type HealthCheckServiceIterator struct { - items []*computepb.HealthCheckService - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.HealthCheckService, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *HealthCheckServiceIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *HealthCheckServiceIterator) Next() (*computepb.HealthCheckService, error) { - var item *computepb.HealthCheckService - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *HealthCheckServiceIterator) bufLen() int { - return len(it.items) -} - -func (it *HealthCheckServiceIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_health_checks_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_health_checks_client.go index c76d7fb0d6..e02afd82ae 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_health_checks_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_health_checks_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,7 +221,9 @@ func NewRegionHealthChecksRESTClient(ctx context.Context, opts ...option.ClientO func defaultRegionHealthChecksRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_instance_group_managers_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_instance_group_managers_client.go index e834adc1d6..cd0b3fcfe6 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_instance_group_managers_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_instance_group_managers_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -360,7 +360,9 @@ func NewRegionInstanceGroupManagersRESTClient(ctx context.Context, opts ...optio func defaultRegionInstanceGroupManagersRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_instance_groups_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_instance_groups_client.go index 06e8a4aea7..50725a87b9 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_instance_groups_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_instance_groups_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -201,7 +201,9 @@ func NewRegionInstanceGroupsRESTClient(ctx context.Context, opts ...option.Clien func defaultRegionInstanceGroupsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_instance_templates_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_instance_templates_client.go index 87fea95e29..24f68e99f9 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_instance_templates_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_instance_templates_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -201,7 +201,9 @@ func NewRegionInstanceTemplatesRESTClient(ctx context.Context, opts ...option.Cl func defaultRegionInstanceTemplatesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_instances_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_instances_client.go index 9a4c6ce390..0aab7f8da8 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_instances_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_instances_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -150,7 +150,9 @@ func NewRegionInstancesRESTClient(ctx context.Context, opts ...option.ClientOpti func defaultRegionInstancesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_network_endpoint_groups_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_network_endpoint_groups_client.go index eb8f8f4fb7..d3572b62fe 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_network_endpoint_groups_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_network_endpoint_groups_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -42,17 +42,26 @@ var newRegionNetworkEndpointGroupsClientHook clientHook // RegionNetworkEndpointGroupsCallOptions contains the retry settings for each method of RegionNetworkEndpointGroupsClient. type RegionNetworkEndpointGroupsCallOptions struct { - Delete []gax.CallOption - Get []gax.CallOption - Insert []gax.CallOption - List []gax.CallOption + AttachNetworkEndpoints []gax.CallOption + Delete []gax.CallOption + DetachNetworkEndpoints []gax.CallOption + Get []gax.CallOption + Insert []gax.CallOption + List []gax.CallOption + ListNetworkEndpoints []gax.CallOption } func defaultRegionNetworkEndpointGroupsRESTCallOptions() *RegionNetworkEndpointGroupsCallOptions { return &RegionNetworkEndpointGroupsCallOptions{ + AttachNetworkEndpoints: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Delete: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + DetachNetworkEndpoints: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Get: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { @@ -80,6 +89,9 @@ func defaultRegionNetworkEndpointGroupsRESTCallOptions() *RegionNetworkEndpointG http.StatusServiceUnavailable) }), }, + ListNetworkEndpoints: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, } } @@ -88,10 +100,13 @@ type internalRegionNetworkEndpointGroupsClient interface { Close() error setGoogleClientInfo(...string) Connection() *grpc.ClientConn + AttachNetworkEndpoints(context.Context, *computepb.AttachNetworkEndpointsRegionNetworkEndpointGroupRequest, ...gax.CallOption) (*Operation, error) Delete(context.Context, *computepb.DeleteRegionNetworkEndpointGroupRequest, ...gax.CallOption) (*Operation, error) + DetachNetworkEndpoints(context.Context, *computepb.DetachNetworkEndpointsRegionNetworkEndpointGroupRequest, ...gax.CallOption) (*Operation, error) Get(context.Context, *computepb.GetRegionNetworkEndpointGroupRequest, ...gax.CallOption) (*computepb.NetworkEndpointGroup, error) Insert(context.Context, *computepb.InsertRegionNetworkEndpointGroupRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListRegionNetworkEndpointGroupsRequest, ...gax.CallOption) *NetworkEndpointGroupIterator + ListNetworkEndpoints(context.Context, *computepb.ListNetworkEndpointsRegionNetworkEndpointGroupsRequest, ...gax.CallOption) *NetworkEndpointWithHealthStatusIterator } // RegionNetworkEndpointGroupsClient is a client for interacting with Google Compute Engine API. @@ -129,11 +144,21 @@ func (c *RegionNetworkEndpointGroupsClient) Connection() *grpc.ClientConn { return c.internalClient.Connection() } +// AttachNetworkEndpoints attach a list of network endpoints to the specified network endpoint group. +func (c *RegionNetworkEndpointGroupsClient) AttachNetworkEndpoints(ctx context.Context, req *computepb.AttachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.AttachNetworkEndpoints(ctx, req, opts...) +} + // Delete deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service. func (c *RegionNetworkEndpointGroupsClient) Delete(ctx context.Context, req *computepb.DeleteRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Delete(ctx, req, opts...) } +// DetachNetworkEndpoints detach the network endpoint from the specified network endpoint group. +func (c *RegionNetworkEndpointGroupsClient) DetachNetworkEndpoints(ctx context.Context, req *computepb.DetachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.DetachNetworkEndpoints(ctx, req, opts...) +} + // Get returns the specified network endpoint group. func (c *RegionNetworkEndpointGroupsClient) Get(ctx context.Context, req *computepb.GetRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*computepb.NetworkEndpointGroup, error) { return c.internalClient.Get(ctx, req, opts...) @@ -149,6 +174,11 @@ func (c *RegionNetworkEndpointGroupsClient) List(ctx context.Context, req *compu return c.internalClient.List(ctx, req, opts...) } +// ListNetworkEndpoints lists the network endpoints in the specified network endpoint group. +func (c *RegionNetworkEndpointGroupsClient) ListNetworkEndpoints(ctx context.Context, req *computepb.ListNetworkEndpointsRegionNetworkEndpointGroupsRequest, opts ...gax.CallOption) *NetworkEndpointWithHealthStatusIterator { + return c.internalClient.ListNetworkEndpoints(ctx, req, opts...) +} + // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. type regionNetworkEndpointGroupsRESTClient struct { // The http endpoint to connect to. @@ -201,7 +231,9 @@ func NewRegionNetworkEndpointGroupsRESTClient(ctx context.Context, opts ...optio func defaultRegionNetworkEndpointGroupsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -234,6 +266,83 @@ func (c *regionNetworkEndpointGroupsRESTClient) Connection() *grpc.ClientConn { return nil } +// AttachNetworkEndpoints attach a list of network endpoints to the specified network endpoint group. +func (c *regionNetworkEndpointGroupsRESTClient) AttachNetworkEndpoints(ctx context.Context, req *computepb.AttachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetRegionNetworkEndpointGroupsAttachEndpointsRequestResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/networkEndpointGroups/%v/attachNetworkEndpoints", req.GetProject(), req.GetRegion(), req.GetNetworkEndpointGroup()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "network_endpoint_group", url.QueryEscape(req.GetNetworkEndpointGroup()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).AttachNetworkEndpoints[0:len((*c.CallOptions).AttachNetworkEndpoints):len((*c.CallOptions).AttachNetworkEndpoints)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil +} + // Delete deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service. func (c *regionNetworkEndpointGroupsRESTClient) Delete(ctx context.Context, req *computepb.DeleteRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*Operation, error) { baseUrl, err := url.Parse(c.endpoint) @@ -304,6 +413,83 @@ func (c *regionNetworkEndpointGroupsRESTClient) Delete(ctx context.Context, req return op, nil } +// DetachNetworkEndpoints detach the network endpoint from the specified network endpoint group. +func (c *regionNetworkEndpointGroupsRESTClient) DetachNetworkEndpoints(ctx context.Context, req *computepb.DetachNetworkEndpointsRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetRegionNetworkEndpointGroupsDetachEndpointsRequestResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/networkEndpointGroups/%v/detachNetworkEndpoints", req.GetProject(), req.GetRegion(), req.GetNetworkEndpointGroup()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "network_endpoint_group", url.QueryEscape(req.GetNetworkEndpointGroup()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).DetachNetworkEndpoints[0:len((*c.CallOptions).DetachNetworkEndpoints):len((*c.CallOptions).DetachNetworkEndpoints)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil +} + // Get returns the specified network endpoint group. func (c *regionNetworkEndpointGroupsRESTClient) Get(ctx context.Context, req *computepb.GetRegionNetworkEndpointGroupRequest, opts ...gax.CallOption) (*computepb.NetworkEndpointGroup, error) { baseUrl, err := url.Parse(c.endpoint) @@ -532,3 +718,100 @@ func (c *regionNetworkEndpointGroupsRESTClient) List(ctx context.Context, req *c return it } + +// ListNetworkEndpoints lists the network endpoints in the specified network endpoint group. +func (c *regionNetworkEndpointGroupsRESTClient) ListNetworkEndpoints(ctx context.Context, req *computepb.ListNetworkEndpointsRegionNetworkEndpointGroupsRequest, opts ...gax.CallOption) *NetworkEndpointWithHealthStatusIterator { + it := &NetworkEndpointWithHealthStatusIterator{} + req = proto.Clone(req).(*computepb.ListNetworkEndpointsRegionNetworkEndpointGroupsRequest) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + it.InternalFetch = func(pageSize int, pageToken string) ([]*computepb.NetworkEndpointWithHealthStatus, string, error) { + resp := &computepb.NetworkEndpointGroupsListNetworkEndpoints{} + if pageToken != "" { + req.PageToken = proto.String(pageToken) + } + if pageSize > math.MaxInt32 { + req.MaxResults = proto.Uint32(math.MaxInt32) + } else if pageSize != 0 { + req.MaxResults = proto.Uint32(uint32(pageSize)) + } + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, "", err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/networkEndpointGroups/%v/listNetworkEndpoints", req.GetProject(), req.GetRegion(), req.GetNetworkEndpointGroup()) + + params := url.Values{} + if req != nil && req.Filter != nil { + params.Add("filter", fmt.Sprintf("%v", req.GetFilter())) + } + if req != nil && req.MaxResults != nil { + params.Add("maxResults", fmt.Sprintf("%v", req.GetMaxResults())) + } + if req != nil && req.OrderBy != nil { + params.Add("orderBy", fmt.Sprintf("%v", req.GetOrderBy())) + } + if req != nil && req.PageToken != nil { + params.Add("pageToken", fmt.Sprintf("%v", req.GetPageToken())) + } + if req != nil && req.ReturnPartialSuccess != nil { + params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := append(c.xGoogHeaders, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, "", e + } + it.Response = resp + return resp.GetItems(), resp.GetNextPageToken(), nil + } + + fetch := func(pageSize int, pageToken string) (string, error) { + items, nextPageToken, err := it.InternalFetch(pageSize, pageToken) + if err != nil { + return "", err + } + it.items = append(it.items, items...) + return nextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf) + it.pageInfo.MaxSize = int(req.GetMaxResults()) + it.pageInfo.Token = req.GetPageToken() + + return it +} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_network_firewall_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_network_firewall_policies_client.go index 81fffc2da5..60447b275d 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_network_firewall_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_network_firewall_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -367,7 +367,9 @@ func NewRegionNetworkFirewallPoliciesRESTClient(ctx context.Context, opts ...opt func defaultRegionNetworkFirewallPoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_notification_endpoints_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_notification_endpoints_client.go index 0087cdfb2f..842024a503 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_notification_endpoints_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_notification_endpoints_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -201,7 +201,9 @@ func NewRegionNotificationEndpointsRESTClient(ctx context.Context, opts ...optio func defaultRegionNotificationEndpointsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -532,50 +534,3 @@ func (c *regionNotificationEndpointsRESTClient) List(ctx context.Context, req *c return it } - -// NotificationEndpointIterator manages a stream of *computepb.NotificationEndpoint. -type NotificationEndpointIterator struct { - items []*computepb.NotificationEndpoint - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.NotificationEndpoint, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *NotificationEndpointIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *NotificationEndpointIterator) Next() (*computepb.NotificationEndpoint, error) { - var item *computepb.NotificationEndpoint - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *NotificationEndpointIterator) bufLen() int { - return len(it.items) -} - -func (it *NotificationEndpointIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_operations_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_operations_client.go index f5e114804e..62503d667d 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_operations_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_operations_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -187,7 +187,9 @@ func NewRegionOperationsRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultRegionOperationsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_security_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_security_policies_client.go index 2be03a3627..e0a73c7228 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_security_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_security_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -42,15 +42,22 @@ var newRegionSecurityPoliciesClientHook clientHook // RegionSecurityPoliciesCallOptions contains the retry settings for each method of RegionSecurityPoliciesClient. type RegionSecurityPoliciesCallOptions struct { - Delete []gax.CallOption - Get []gax.CallOption - Insert []gax.CallOption - List []gax.CallOption - Patch []gax.CallOption + AddRule []gax.CallOption + Delete []gax.CallOption + Get []gax.CallOption + GetRule []gax.CallOption + Insert []gax.CallOption + List []gax.CallOption + Patch []gax.CallOption + PatchRule []gax.CallOption + RemoveRule []gax.CallOption } func defaultRegionSecurityPoliciesRESTCallOptions() *RegionSecurityPoliciesCallOptions { return &RegionSecurityPoliciesCallOptions{ + AddRule: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, Delete: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -66,6 +73,18 @@ func defaultRegionSecurityPoliciesRESTCallOptions() *RegionSecurityPoliciesCallO http.StatusServiceUnavailable) }), }, + GetRule: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, Insert: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, @@ -84,6 +103,12 @@ func defaultRegionSecurityPoliciesRESTCallOptions() *RegionSecurityPoliciesCallO Patch: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + PatchRule: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, + RemoveRule: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, } } @@ -92,11 +117,15 @@ type internalRegionSecurityPoliciesClient interface { Close() error setGoogleClientInfo(...string) Connection() *grpc.ClientConn + AddRule(context.Context, *computepb.AddRuleRegionSecurityPolicyRequest, ...gax.CallOption) (*Operation, error) Delete(context.Context, *computepb.DeleteRegionSecurityPolicyRequest, ...gax.CallOption) (*Operation, error) Get(context.Context, *computepb.GetRegionSecurityPolicyRequest, ...gax.CallOption) (*computepb.SecurityPolicy, error) + GetRule(context.Context, *computepb.GetRuleRegionSecurityPolicyRequest, ...gax.CallOption) (*computepb.SecurityPolicyRule, error) Insert(context.Context, *computepb.InsertRegionSecurityPolicyRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListRegionSecurityPoliciesRequest, ...gax.CallOption) *SecurityPolicyIterator Patch(context.Context, *computepb.PatchRegionSecurityPolicyRequest, ...gax.CallOption) (*Operation, error) + PatchRule(context.Context, *computepb.PatchRuleRegionSecurityPolicyRequest, ...gax.CallOption) (*Operation, error) + RemoveRule(context.Context, *computepb.RemoveRuleRegionSecurityPolicyRequest, ...gax.CallOption) (*Operation, error) } // RegionSecurityPoliciesClient is a client for interacting with Google Compute Engine API. @@ -134,6 +163,11 @@ func (c *RegionSecurityPoliciesClient) Connection() *grpc.ClientConn { return c.internalClient.Connection() } +// AddRule inserts a rule into a security policy. +func (c *RegionSecurityPoliciesClient) AddRule(ctx context.Context, req *computepb.AddRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.AddRule(ctx, req, opts...) +} + // Delete deletes the specified policy. func (c *RegionSecurityPoliciesClient) Delete(ctx context.Context, req *computepb.DeleteRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Delete(ctx, req, opts...) @@ -144,6 +178,11 @@ func (c *RegionSecurityPoliciesClient) Get(ctx context.Context, req *computepb.G return c.internalClient.Get(ctx, req, opts...) } +// GetRule gets a rule at the specified priority. +func (c *RegionSecurityPoliciesClient) GetRule(ctx context.Context, req *computepb.GetRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*computepb.SecurityPolicyRule, error) { + return c.internalClient.GetRule(ctx, req, opts...) +} + // Insert creates a new policy in the specified project using the data included in the request. func (c *RegionSecurityPoliciesClient) Insert(ctx context.Context, req *computepb.InsertRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { return c.internalClient.Insert(ctx, req, opts...) @@ -159,6 +198,16 @@ func (c *RegionSecurityPoliciesClient) Patch(ctx context.Context, req *computepb return c.internalClient.Patch(ctx, req, opts...) } +// PatchRule patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. +func (c *RegionSecurityPoliciesClient) PatchRule(ctx context.Context, req *computepb.PatchRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.PatchRule(ctx, req, opts...) +} + +// RemoveRule deletes a rule at the specified priority. +func (c *RegionSecurityPoliciesClient) RemoveRule(ctx context.Context, req *computepb.RemoveRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.RemoveRule(ctx, req, opts...) +} + // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. type regionSecurityPoliciesRESTClient struct { // The http endpoint to connect to. @@ -211,7 +260,9 @@ func NewRegionSecurityPoliciesRESTClient(ctx context.Context, opts ...option.Cli func defaultRegionSecurityPoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -244,6 +295,83 @@ func (c *regionSecurityPoliciesRESTClient) Connection() *grpc.ClientConn { return nil } +// AddRule inserts a rule into a security policy. +func (c *regionSecurityPoliciesRESTClient) AddRule(ctx context.Context, req *computepb.AddRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetSecurityPolicyRuleResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/securityPolicies/%v/addRule", req.GetProject(), req.GetRegion(), req.GetSecurityPolicy()) + + params := url.Values{} + if req != nil && req.ValidateOnly != nil { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "security_policy", url.QueryEscape(req.GetSecurityPolicy()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).AddRule[0:len((*c.CallOptions).AddRule):len((*c.CallOptions).AddRule)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil +} + // Delete deletes the specified policy. func (c *regionSecurityPoliciesRESTClient) Delete(ctx context.Context, req *computepb.DeleteRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { baseUrl, err := url.Parse(c.endpoint) @@ -369,6 +497,68 @@ func (c *regionSecurityPoliciesRESTClient) Get(ctx context.Context, req *compute return resp, nil } +// GetRule gets a rule at the specified priority. +func (c *regionSecurityPoliciesRESTClient) GetRule(ctx context.Context, req *computepb.GetRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*computepb.SecurityPolicyRule, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/securityPolicies/%v/getRule", req.GetProject(), req.GetRegion(), req.GetSecurityPolicy()) + + params := url.Values{} + if req != nil && req.Priority != nil { + params.Add("priority", fmt.Sprintf("%v", req.GetPriority())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "security_policy", url.QueryEscape(req.GetSecurityPolicy()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetRule[0:len((*c.CallOptions).GetRule):len((*c.CallOptions).GetRule)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.SecurityPolicyRule{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // Insert creates a new policy in the specified project using the data included in the request. func (c *regionSecurityPoliciesRESTClient) Insert(ctx context.Context, req *computepb.InsertRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { m := protojson.MarshalOptions{AllowPartial: true} @@ -565,6 +755,9 @@ func (c *regionSecurityPoliciesRESTClient) Patch(ctx context.Context, req *compu if req != nil && req.RequestId != nil { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } + if req != nil && req.UpdateMask != nil { + params.Add("updateMask", fmt.Sprintf("%v", req.GetUpdateMask())) + } baseUrl.RawQuery = params.Encode() @@ -623,49 +816,155 @@ func (c *regionSecurityPoliciesRESTClient) Patch(ctx context.Context, req *compu return op, nil } -// SecurityPolicyIterator manages a stream of *computepb.SecurityPolicy. -type SecurityPolicyIterator struct { - items []*computepb.SecurityPolicy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.SecurityPolicy, nextPageToken string, err error) -} +// PatchRule patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask. +func (c *regionSecurityPoliciesRESTClient) PatchRule(ctx context.Context, req *computepb.PatchRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetSecurityPolicyRuleResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SecurityPolicyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/securityPolicies/%v/patchRule", req.GetProject(), req.GetRegion(), req.GetSecurityPolicy()) -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SecurityPolicyIterator) Next() (*computepb.SecurityPolicy, error) { - var item *computepb.SecurityPolicy - if err := it.nextFunc(); err != nil { - return item, err + params := url.Values{} + if req != nil && req.Priority != nil { + params.Add("priority", fmt.Sprintf("%v", req.GetPriority())) + } + if req != nil && req.UpdateMask != nil { + params.Add("updateMask", fmt.Sprintf("%v", req.GetUpdateMask())) + } + if req != nil && req.ValidateOnly != nil { + params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} -func (it *SecurityPolicyIterator) bufLen() int { - return len(it.items) + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "security_policy", url.QueryEscape(req.GetSecurityPolicy()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).PatchRule[0:len((*c.CallOptions).PatchRule):len((*c.CallOptions).PatchRule)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil } -func (it *SecurityPolicyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b +// RemoveRule deletes a rule at the specified priority. +func (c *regionSecurityPoliciesRESTClient) RemoveRule(ctx context.Context, req *computepb.RemoveRuleRegionSecurityPolicyRequest, opts ...gax.CallOption) (*Operation, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/securityPolicies/%v/removeRule", req.GetProject(), req.GetRegion(), req.GetSecurityPolicy()) + + params := url.Values{} + if req != nil && req.Priority != nil { + params.Add("priority", fmt.Sprintf("%v", req.GetPriority())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "security_policy", url.QueryEscape(req.GetSecurityPolicy()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).RemoveRule[0:len((*c.CallOptions).RemoveRule):len((*c.CallOptions).RemoveRule)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil } diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_ssl_certificates_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_ssl_certificates_client.go index 7d07275765..17785ed428 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_ssl_certificates_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_ssl_certificates_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -201,7 +201,9 @@ func NewRegionSslCertificatesRESTClient(ctx context.Context, opts ...option.Clie func defaultRegionSslCertificatesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -532,50 +534,3 @@ func (c *regionSslCertificatesRESTClient) List(ctx context.Context, req *compute return it } - -// SslCertificateIterator manages a stream of *computepb.SslCertificate. -type SslCertificateIterator struct { - items []*computepb.SslCertificate - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.SslCertificate, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SslCertificateIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SslCertificateIterator) Next() (*computepb.SslCertificate, error) { - var item *computepb.SslCertificate - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SslCertificateIterator) bufLen() int { - return len(it.items) -} - -func (it *SslCertificateIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_ssl_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_ssl_policies_client.go index 52dfd414f9..0ea01cc186 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_ssl_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_ssl_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -230,7 +230,9 @@ func NewRegionSslPoliciesRESTClient(ctx context.Context, opts ...option.ClientOp func defaultRegionSslPoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -712,50 +714,3 @@ func (c *regionSslPoliciesRESTClient) Patch(ctx context.Context, req *computepb. } return op, nil } - -// SslPolicyIterator manages a stream of *computepb.SslPolicy. -type SslPolicyIterator struct { - items []*computepb.SslPolicy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.SslPolicy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SslPolicyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SslPolicyIterator) Next() (*computepb.SslPolicy, error) { - var item *computepb.SslPolicy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SslPolicyIterator) bufLen() int { - return len(it.items) -} - -func (it *SslPolicyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_target_http_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_target_http_proxies_client.go index a13dc2c0b6..708819ae5d 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_target_http_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_target_http_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,7 +211,9 @@ func NewRegionTargetHttpProxiesRESTClient(ctx context.Context, opts ...option.Cl func defaultRegionTargetHttpProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -619,50 +621,3 @@ func (c *regionTargetHttpProxiesRESTClient) SetUrlMap(ctx context.Context, req * } return op, nil } - -// TargetHttpProxyIterator manages a stream of *computepb.TargetHttpProxy. -type TargetHttpProxyIterator struct { - items []*computepb.TargetHttpProxy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetHttpProxy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetHttpProxyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetHttpProxyIterator) Next() (*computepb.TargetHttpProxy, error) { - var item *computepb.TargetHttpProxy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetHttpProxyIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetHttpProxyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_target_https_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_target_https_proxies_client.go index 9d8ed0c8d9..ab912eb60e 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_target_https_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_target_https_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -231,7 +231,9 @@ func NewRegionTargetHttpsProxiesRESTClient(ctx context.Context, opts ...option.C func defaultRegionTargetHttpsProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -793,50 +795,3 @@ func (c *regionTargetHttpsProxiesRESTClient) SetUrlMap(ctx context.Context, req } return op, nil } - -// TargetHttpsProxyIterator manages a stream of *computepb.TargetHttpsProxy. -type TargetHttpsProxyIterator struct { - items []*computepb.TargetHttpsProxy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetHttpsProxy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetHttpsProxyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetHttpsProxyIterator) Next() (*computepb.TargetHttpsProxy, error) { - var item *computepb.TargetHttpsProxy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetHttpsProxyIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetHttpsProxyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_target_tcp_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_target_tcp_proxies_client.go index b5f9b36b20..edc0d05364 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_target_tcp_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_target_tcp_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -201,7 +201,9 @@ func NewRegionTargetTcpProxiesRESTClient(ctx context.Context, opts ...option.Cli func defaultRegionTargetTcpProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -532,50 +534,3 @@ func (c *regionTargetTcpProxiesRESTClient) List(ctx context.Context, req *comput return it } - -// TargetTcpProxyIterator manages a stream of *computepb.TargetTcpProxy. -type TargetTcpProxyIterator struct { - items []*computepb.TargetTcpProxy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetTcpProxy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetTcpProxyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetTcpProxyIterator) Next() (*computepb.TargetTcpProxy, error) { - var item *computepb.TargetTcpProxy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetTcpProxyIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetTcpProxyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/region_url_maps_client.go b/vendor/cloud.google.com/go/compute/apiv1/region_url_maps_client.go index 4e4cd23120..212b9ddfc1 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/region_url_maps_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/region_url_maps_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -231,7 +231,9 @@ func NewRegionUrlMapsRESTClient(ctx context.Context, opts ...option.ClientOption func defaultRegionUrlMapsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -778,50 +780,3 @@ func (c *regionUrlMapsRESTClient) Validate(ctx context.Context, req *computepb.V } return resp, nil } - -// UrlMapIterator manages a stream of *computepb.UrlMap. -type UrlMapIterator struct { - items []*computepb.UrlMap - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.UrlMap, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *UrlMapIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *UrlMapIterator) Next() (*computepb.UrlMap, error) { - var item *computepb.UrlMap - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *UrlMapIterator) bufLen() int { - return len(it.items) -} - -func (it *UrlMapIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/regions_client.go b/vendor/cloud.google.com/go/compute/apiv1/regions_client.go index 3834c86714..417d2b1687 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/regions_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/regions_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -167,7 +167,9 @@ func NewRegionsRESTClient(ctx context.Context, opts ...option.ClientOption) (*Re func defaultRegionsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -348,50 +350,3 @@ func (c *regionsRESTClient) List(ctx context.Context, req *computepb.ListRegions return it } - -// RegionIterator manages a stream of *computepb.Region. -type RegionIterator struct { - items []*computepb.Region - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Region, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *RegionIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *RegionIterator) Next() (*computepb.Region, error) { - var item *computepb.Region - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *RegionIterator) bufLen() int { - return len(it.items) -} - -func (it *RegionIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/reservations_client.go b/vendor/cloud.google.com/go/compute/apiv1/reservations_client.go index f783ebf92e..bf70b0b1f5 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/reservations_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/reservations_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -280,7 +280,9 @@ func NewReservationsRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultReservationsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -353,6 +355,9 @@ func (c *reservationsRESTClient) AggregatedList(ctx context.Context, req *comput if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1064,103 +1069,3 @@ func (c *reservationsRESTClient) Update(ctx context.Context, req *computepb.Upda } return op, nil } - -// ReservationIterator manages a stream of *computepb.Reservation. -type ReservationIterator struct { - items []*computepb.Reservation - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Reservation, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ReservationIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ReservationIterator) Next() (*computepb.Reservation, error) { - var item *computepb.Reservation - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ReservationIterator) bufLen() int { - return len(it.items) -} - -func (it *ReservationIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// ReservationsScopedListPair is a holder type for string/*computepb.ReservationsScopedList map entries -type ReservationsScopedListPair struct { - Key string - Value *computepb.ReservationsScopedList -} - -// ReservationsScopedListPairIterator manages a stream of ReservationsScopedListPair. -type ReservationsScopedListPairIterator struct { - items []ReservationsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []ReservationsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ReservationsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ReservationsScopedListPairIterator) Next() (ReservationsScopedListPair, error) { - var item ReservationsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ReservationsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *ReservationsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/resource_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/resource_policies_client.go index c67bf72222..8cb4096cd9 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/resource_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/resource_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -270,7 +270,9 @@ func NewResourcePoliciesRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultResourcePoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -343,6 +345,9 @@ func (c *resourcePoliciesRESTClient) AggregatedList(ctx context.Context, req *co if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -974,103 +979,3 @@ func (c *resourcePoliciesRESTClient) TestIamPermissions(ctx context.Context, req } return resp, nil } - -// ResourcePoliciesScopedListPair is a holder type for string/*computepb.ResourcePoliciesScopedList map entries -type ResourcePoliciesScopedListPair struct { - Key string - Value *computepb.ResourcePoliciesScopedList -} - -// ResourcePoliciesScopedListPairIterator manages a stream of ResourcePoliciesScopedListPair. -type ResourcePoliciesScopedListPairIterator struct { - items []ResourcePoliciesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []ResourcePoliciesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ResourcePoliciesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ResourcePoliciesScopedListPairIterator) Next() (ResourcePoliciesScopedListPair, error) { - var item ResourcePoliciesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ResourcePoliciesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *ResourcePoliciesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// ResourcePolicyIterator manages a stream of *computepb.ResourcePolicy. -type ResourcePolicyIterator struct { - items []*computepb.ResourcePolicy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.ResourcePolicy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ResourcePolicyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ResourcePolicyIterator) Next() (*computepb.ResourcePolicy, error) { - var item *computepb.ResourcePolicy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ResourcePolicyIterator) bufLen() int { - return len(it.items) -} - -func (it *ResourcePolicyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/routers_client.go b/vendor/cloud.google.com/go/compute/apiv1/routers_client.go index 54f1308252..4734743925 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/routers_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/routers_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -46,6 +46,7 @@ type RoutersCallOptions struct { AggregatedList []gax.CallOption Delete []gax.CallOption Get []gax.CallOption + GetNatIpInfo []gax.CallOption GetNatMappingInfo []gax.CallOption GetRouterStatus []gax.CallOption Insert []gax.CallOption @@ -84,6 +85,18 @@ func defaultRoutersRESTCallOptions() *RoutersCallOptions { http.StatusServiceUnavailable) }), }, + GetNatIpInfo: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, GetNatMappingInfo: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), gax.WithRetry(func() gax.Retryer { @@ -143,6 +156,7 @@ type internalRoutersClient interface { AggregatedList(context.Context, *computepb.AggregatedListRoutersRequest, ...gax.CallOption) *RoutersScopedListPairIterator Delete(context.Context, *computepb.DeleteRouterRequest, ...gax.CallOption) (*Operation, error) Get(context.Context, *computepb.GetRouterRequest, ...gax.CallOption) (*computepb.Router, error) + GetNatIpInfo(context.Context, *computepb.GetNatIpInfoRouterRequest, ...gax.CallOption) (*computepb.NatIpInfoResponse, error) GetNatMappingInfo(context.Context, *computepb.GetNatMappingInfoRoutersRequest, ...gax.CallOption) *VmEndpointNatMappingsIterator GetRouterStatus(context.Context, *computepb.GetRouterStatusRouterRequest, ...gax.CallOption) (*computepb.RouterStatusResponse, error) Insert(context.Context, *computepb.InsertRouterRequest, ...gax.CallOption) (*Operation, error) @@ -202,6 +216,11 @@ func (c *RoutersClient) Get(ctx context.Context, req *computepb.GetRouterRequest return c.internalClient.Get(ctx, req, opts...) } +// GetNatIpInfo retrieves runtime NAT IP information. +func (c *RoutersClient) GetNatIpInfo(ctx context.Context, req *computepb.GetNatIpInfoRouterRequest, opts ...gax.CallOption) (*computepb.NatIpInfoResponse, error) { + return c.internalClient.GetNatIpInfo(ctx, req, opts...) +} + // GetNatMappingInfo retrieves runtime Nat mapping information of VM endpoints. func (c *RoutersClient) GetNatMappingInfo(ctx context.Context, req *computepb.GetNatMappingInfoRoutersRequest, opts ...gax.CallOption) *VmEndpointNatMappingsIterator { return c.internalClient.GetNatMappingInfo(ctx, req, opts...) @@ -289,7 +308,9 @@ func NewRoutersRESTClient(ctx context.Context, opts ...option.ClientOption) (*Ro func defaultRoutersRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -362,6 +383,9 @@ func (c *routersRESTClient) AggregatedList(ctx context.Context, req *computepb.A if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -554,6 +578,68 @@ func (c *routersRESTClient) Get(ctx context.Context, req *computepb.GetRouterReq return resp, nil } +// GetNatIpInfo retrieves runtime NAT IP information. +func (c *routersRESTClient) GetNatIpInfo(ctx context.Context, req *computepb.GetNatIpInfoRouterRequest, opts ...gax.CallOption) (*computepb.NatIpInfoResponse, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/routers/%v/getNatIpInfo", req.GetProject(), req.GetRegion(), req.GetRouter()) + + params := url.Values{} + if req != nil && req.NatName != nil { + params.Add("natName", fmt.Sprintf("%v", req.GetNatName())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "router", url.QueryEscape(req.GetRouter()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).GetNatIpInfo[0:len((*c.CallOptions).GetNatIpInfo):len((*c.CallOptions).GetNatIpInfo)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.NatIpInfoResponse{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + // GetNatMappingInfo retrieves runtime Nat mapping information of VM endpoints. func (c *routersRESTClient) GetNatMappingInfo(ctx context.Context, req *computepb.GetNatMappingInfoRoutersRequest, opts ...gax.CallOption) *VmEndpointNatMappingsIterator { it := &VmEndpointNatMappingsIterator{} @@ -1098,150 +1184,3 @@ func (c *routersRESTClient) Update(ctx context.Context, req *computepb.UpdateRou } return op, nil } - -// RouterIterator manages a stream of *computepb.Router. -type RouterIterator struct { - items []*computepb.Router - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Router, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *RouterIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *RouterIterator) Next() (*computepb.Router, error) { - var item *computepb.Router - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *RouterIterator) bufLen() int { - return len(it.items) -} - -func (it *RouterIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// RoutersScopedListPair is a holder type for string/*computepb.RoutersScopedList map entries -type RoutersScopedListPair struct { - Key string - Value *computepb.RoutersScopedList -} - -// RoutersScopedListPairIterator manages a stream of RoutersScopedListPair. -type RoutersScopedListPairIterator struct { - items []RoutersScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []RoutersScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *RoutersScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *RoutersScopedListPairIterator) Next() (RoutersScopedListPair, error) { - var item RoutersScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *RoutersScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *RoutersScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// VmEndpointNatMappingsIterator manages a stream of *computepb.VmEndpointNatMappings. -type VmEndpointNatMappingsIterator struct { - items []*computepb.VmEndpointNatMappings - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.VmEndpointNatMappings, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *VmEndpointNatMappingsIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *VmEndpointNatMappingsIterator) Next() (*computepb.VmEndpointNatMappings, error) { - var item *computepb.VmEndpointNatMappings - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *VmEndpointNatMappingsIterator) bufLen() int { - return len(it.items) -} - -func (it *VmEndpointNatMappingsIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/routes_client.go b/vendor/cloud.google.com/go/compute/apiv1/routes_client.go index f9a550e68a..629dd89eef 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/routes_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/routes_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -201,7 +201,9 @@ func NewRoutesRESTClient(ctx context.Context, opts ...option.ClientOption) (*Rou func defaultRoutesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -530,50 +532,3 @@ func (c *routesRESTClient) List(ctx context.Context, req *computepb.ListRoutesRe return it } - -// RouteIterator manages a stream of *computepb.Route. -type RouteIterator struct { - items []*computepb.Route - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Route, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *RouteIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *RouteIterator) Next() (*computepb.Route, error) { - var item *computepb.Route - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *RouteIterator) bufLen() int { - return len(it.items) -} - -func (it *RouteIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/security_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/security_policies_client.go index 6d67cb261d..690c95f7e8 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/security_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/security_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -309,7 +309,9 @@ func NewSecurityPoliciesRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultSecurityPoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -458,6 +460,9 @@ func (c *securityPoliciesRESTClient) AggregatedList(ctx context.Context, req *co if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -980,6 +985,9 @@ func (c *securityPoliciesRESTClient) Patch(ctx context.Context, req *computepb.P if req != nil && req.RequestId != nil { params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } + if req != nil && req.UpdateMask != nil { + params.Add("updateMask", fmt.Sprintf("%v", req.GetUpdateMask())) + } baseUrl.RawQuery = params.Encode() @@ -1056,6 +1064,9 @@ func (c *securityPoliciesRESTClient) PatchRule(ctx context.Context, req *compute if req != nil && req.Priority != nil { params.Add("priority", fmt.Sprintf("%v", req.GetPriority())) } + if req != nil && req.UpdateMask != nil { + params.Add("updateMask", fmt.Sprintf("%v", req.GetUpdateMask())) + } if req != nil && req.ValidateOnly != nil { params.Add("validateOnly", fmt.Sprintf("%v", req.GetValidateOnly())) } @@ -1253,56 +1264,3 @@ func (c *securityPoliciesRESTClient) SetLabels(ctx context.Context, req *compute } return op, nil } - -// SecurityPoliciesScopedListPair is a holder type for string/*computepb.SecurityPoliciesScopedList map entries -type SecurityPoliciesScopedListPair struct { - Key string - Value *computepb.SecurityPoliciesScopedList -} - -// SecurityPoliciesScopedListPairIterator manages a stream of SecurityPoliciesScopedListPair. -type SecurityPoliciesScopedListPairIterator struct { - items []SecurityPoliciesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []SecurityPoliciesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SecurityPoliciesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SecurityPoliciesScopedListPairIterator) Next() (SecurityPoliciesScopedListPair, error) { - var item SecurityPoliciesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SecurityPoliciesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *SecurityPoliciesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/service_attachments_client.go b/vendor/cloud.google.com/go/compute/apiv1/service_attachments_client.go index 83f92e21b9..21ce74b6be 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/service_attachments_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/service_attachments_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -270,7 +270,9 @@ func NewServiceAttachmentsRESTClient(ctx context.Context, opts ...option.ClientO func defaultServiceAttachmentsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -343,6 +345,9 @@ func (c *serviceAttachmentsRESTClient) AggregatedList(ctx context.Context, req * if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -971,103 +976,3 @@ func (c *serviceAttachmentsRESTClient) TestIamPermissions(ctx context.Context, r } return resp, nil } - -// ServiceAttachmentIterator manages a stream of *computepb.ServiceAttachment. -type ServiceAttachmentIterator struct { - items []*computepb.ServiceAttachment - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.ServiceAttachment, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ServiceAttachmentIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ServiceAttachmentIterator) Next() (*computepb.ServiceAttachment, error) { - var item *computepb.ServiceAttachment - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ServiceAttachmentIterator) bufLen() int { - return len(it.items) -} - -func (it *ServiceAttachmentIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// ServiceAttachmentsScopedListPair is a holder type for string/*computepb.ServiceAttachmentsScopedList map entries -type ServiceAttachmentsScopedListPair struct { - Key string - Value *computepb.ServiceAttachmentsScopedList -} - -// ServiceAttachmentsScopedListPairIterator manages a stream of ServiceAttachmentsScopedListPair. -type ServiceAttachmentsScopedListPairIterator struct { - items []ServiceAttachmentsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []ServiceAttachmentsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ServiceAttachmentsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ServiceAttachmentsScopedListPairIterator) Next() (ServiceAttachmentsScopedListPair, error) { - var item ServiceAttachmentsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ServiceAttachmentsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *ServiceAttachmentsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/snapshot_settings_client.go b/vendor/cloud.google.com/go/compute/apiv1/snapshot_settings_client.go new file mode 100644 index 0000000000..ae85281ef5 --- /dev/null +++ b/vendor/cloud.google.com/go/compute/apiv1/snapshot_settings_client.go @@ -0,0 +1,339 @@ +// Copyright 2024 Google LLC +// +// 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 +// +// https://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. + +// Code generated by protoc-gen-go_gapic. DO NOT EDIT. + +package compute + +import ( + "bytes" + "context" + "fmt" + "io" + "net/http" + "net/url" + "time" + + computepb "cloud.google.com/go/compute/apiv1/computepb" + gax "github.com/googleapis/gax-go/v2" + "google.golang.org/api/googleapi" + "google.golang.org/api/option" + "google.golang.org/api/option/internaloption" + httptransport "google.golang.org/api/transport/http" + "google.golang.org/grpc" + "google.golang.org/protobuf/encoding/protojson" +) + +var newSnapshotSettingsClientHook clientHook + +// SnapshotSettingsCallOptions contains the retry settings for each method of SnapshotSettingsClient. +type SnapshotSettingsCallOptions struct { + Get []gax.CallOption + Patch []gax.CallOption +} + +func defaultSnapshotSettingsRESTCallOptions() *SnapshotSettingsCallOptions { + return &SnapshotSettingsCallOptions{ + Get: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + gax.WithRetry(func() gax.Retryer { + return gax.OnHTTPCodes(gax.Backoff{ + Initial: 100 * time.Millisecond, + Max: 60000 * time.Millisecond, + Multiplier: 1.30, + }, + http.StatusGatewayTimeout, + http.StatusServiceUnavailable) + }), + }, + Patch: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, + } +} + +// internalSnapshotSettingsClient is an interface that defines the methods available from Google Compute Engine API. +type internalSnapshotSettingsClient interface { + Close() error + setGoogleClientInfo(...string) + Connection() *grpc.ClientConn + Get(context.Context, *computepb.GetSnapshotSettingRequest, ...gax.CallOption) (*computepb.SnapshotSettings, error) + Patch(context.Context, *computepb.PatchSnapshotSettingRequest, ...gax.CallOption) (*Operation, error) +} + +// SnapshotSettingsClient is a client for interacting with Google Compute Engine API. +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +// +// The SnapshotSettings API. +type SnapshotSettingsClient struct { + // The internal transport-dependent client. + internalClient internalSnapshotSettingsClient + + // The call options for this service. + CallOptions *SnapshotSettingsCallOptions +} + +// Wrapper methods routed to the internal client. + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *SnapshotSettingsClient) Close() error { + return c.internalClient.Close() +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *SnapshotSettingsClient) setGoogleClientInfo(keyval ...string) { + c.internalClient.setGoogleClientInfo(keyval...) +} + +// Connection returns a connection to the API service. +// +// Deprecated: Connections are now pooled so this method does not always +// return the same resource. +func (c *SnapshotSettingsClient) Connection() *grpc.ClientConn { + return c.internalClient.Connection() +} + +// Get get snapshot settings. +func (c *SnapshotSettingsClient) Get(ctx context.Context, req *computepb.GetSnapshotSettingRequest, opts ...gax.CallOption) (*computepb.SnapshotSettings, error) { + return c.internalClient.Get(ctx, req, opts...) +} + +// Patch patch snapshot settings. +func (c *SnapshotSettingsClient) Patch(ctx context.Context, req *computepb.PatchSnapshotSettingRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.Patch(ctx, req, opts...) +} + +// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. +type snapshotSettingsRESTClient struct { + // The http endpoint to connect to. + endpoint string + + // The http client. + httpClient *http.Client + + // operationClient is used to call the operation-specific management service. + operationClient *GlobalOperationsClient + + // The x-goog-* headers to be sent with each request. + xGoogHeaders []string + + // Points back to the CallOptions field of the containing SnapshotSettingsClient + CallOptions **SnapshotSettingsCallOptions +} + +// NewSnapshotSettingsRESTClient creates a new snapshot settings service rest client. +// +// The SnapshotSettings API. +func NewSnapshotSettingsRESTClient(ctx context.Context, opts ...option.ClientOption) (*SnapshotSettingsClient, error) { + clientOpts := append(defaultSnapshotSettingsRESTClientOptions(), opts...) + httpClient, endpoint, err := httptransport.NewClient(ctx, clientOpts...) + if err != nil { + return nil, err + } + + callOpts := defaultSnapshotSettingsRESTCallOptions() + c := &snapshotSettingsRESTClient{ + endpoint: endpoint, + httpClient: httpClient, + CallOptions: &callOpts, + } + c.setGoogleClientInfo() + + o := []option.ClientOption{ + option.WithHTTPClient(httpClient), + option.WithEndpoint(endpoint), + } + opC, err := NewGlobalOperationsRESTClient(ctx, o...) + if err != nil { + return nil, err + } + c.operationClient = opC + + return &SnapshotSettingsClient{internalClient: c, CallOptions: callOpts}, nil +} + +func defaultSnapshotSettingsRESTClientOptions() []option.ClientOption { + return []option.ClientOption{ + internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), + internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), + internaloption.WithDefaultAudience("https://compute.googleapis.com/"), + internaloption.WithDefaultScopes(DefaultAuthScopes()...), + } +} + +// setGoogleClientInfo sets the name and version of the application in +// the `x-goog-api-client` header passed on each request. Intended for +// use by Google-written clients. +func (c *snapshotSettingsRESTClient) setGoogleClientInfo(keyval ...string) { + kv := append([]string{"gl-go", gax.GoVersion}, keyval...) + kv = append(kv, "gapic", getVersionClient(), "gax", gax.Version, "rest", "UNKNOWN") + c.xGoogHeaders = []string{"x-goog-api-client", gax.XGoogHeader(kv...)} +} + +// Close closes the connection to the API service. The user should invoke this when +// the client is no longer required. +func (c *snapshotSettingsRESTClient) Close() error { + // Replace httpClient with nil to force cleanup. + c.httpClient = nil + if err := c.operationClient.Close(); err != nil { + return err + } + return nil +} + +// Connection returns a connection to the API service. +// +// Deprecated: This method always returns nil. +func (c *snapshotSettingsRESTClient) Connection() *grpc.ClientConn { + return nil +} + +// Get get snapshot settings. +func (c *snapshotSettingsRESTClient) Get(ctx context.Context, req *computepb.GetSnapshotSettingRequest, opts ...gax.CallOption) (*computepb.SnapshotSettings, error) { + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/snapshotSettings", req.GetProject()) + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "project", url.QueryEscape(req.GetProject()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).Get[0:len((*c.CallOptions).Get):len((*c.CallOptions).Get)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.SnapshotSettings{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("GET", baseUrl.String(), nil) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + return resp, nil +} + +// Patch patch snapshot settings. +func (c *snapshotSettingsRESTClient) Patch(ctx context.Context, req *computepb.PatchSnapshotSettingRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetSnapshotSettingsResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } + + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/global/snapshotSettings", req.GetProject()) + + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) + } + if req != nil && req.UpdateMask != nil { + params.Add("updateMask", fmt.Sprintf("%v", req.GetUpdateMask())) + } + + baseUrl.RawQuery = params.Encode() + + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v", "project", url.QueryEscape(req.GetProject()))} + + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).Patch[0:len((*c.CallOptions).Patch):len((*c.CallOptions).Patch)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("PATCH", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers + + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() + + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } + + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } + + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } + + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + &globalOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + }, + } + return op, nil +} diff --git a/vendor/cloud.google.com/go/compute/apiv1/snapshots_client.go b/vendor/cloud.google.com/go/compute/apiv1/snapshots_client.go index e7706e4d13..2e7ca07c41 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/snapshots_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/snapshots_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -250,7 +250,9 @@ func NewSnapshotsRESTClient(ctx context.Context, opts ...option.ClientOption) (* func defaultSnapshotsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -834,50 +836,3 @@ func (c *snapshotsRESTClient) TestIamPermissions(ctx context.Context, req *compu } return resp, nil } - -// SnapshotIterator manages a stream of *computepb.Snapshot. -type SnapshotIterator struct { - items []*computepb.Snapshot - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Snapshot, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SnapshotIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SnapshotIterator) Next() (*computepb.Snapshot, error) { - var item *computepb.Snapshot - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SnapshotIterator) bufLen() int { - return len(it.items) -} - -func (it *SnapshotIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/ssl_certificates_client.go b/vendor/cloud.google.com/go/compute/apiv1/ssl_certificates_client.go index be7a88d875..5e5e66f34f 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/ssl_certificates_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/ssl_certificates_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,7 +221,9 @@ func NewSslCertificatesRESTClient(ctx context.Context, opts ...option.ClientOpti func defaultSslCertificatesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -294,6 +296,9 @@ func (c *sslCertificatesRESTClient) AggregatedList(ctx context.Context, req *com if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -657,56 +662,3 @@ func (c *sslCertificatesRESTClient) List(ctx context.Context, req *computepb.Lis return it } - -// SslCertificatesScopedListPair is a holder type for string/*computepb.SslCertificatesScopedList map entries -type SslCertificatesScopedListPair struct { - Key string - Value *computepb.SslCertificatesScopedList -} - -// SslCertificatesScopedListPairIterator manages a stream of SslCertificatesScopedListPair. -type SslCertificatesScopedListPairIterator struct { - items []SslCertificatesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []SslCertificatesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SslCertificatesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SslCertificatesScopedListPairIterator) Next() (SslCertificatesScopedListPair, error) { - var item SslCertificatesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SslCertificatesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *SslCertificatesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/ssl_policies_client.go b/vendor/cloud.google.com/go/compute/apiv1/ssl_policies_client.go index a061241cc8..c8c1696bd6 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/ssl_policies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/ssl_policies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -250,7 +250,9 @@ func NewSslPoliciesRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultSslPoliciesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -323,6 +325,9 @@ func (c *sslPoliciesRESTClient) AggregatedList(ctx context.Context, req *compute if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -836,56 +841,3 @@ func (c *sslPoliciesRESTClient) Patch(ctx context.Context, req *computepb.PatchS } return op, nil } - -// SslPoliciesScopedListPair is a holder type for string/*computepb.SslPoliciesScopedList map entries -type SslPoliciesScopedListPair struct { - Key string - Value *computepb.SslPoliciesScopedList -} - -// SslPoliciesScopedListPairIterator manages a stream of SslPoliciesScopedListPair. -type SslPoliciesScopedListPairIterator struct { - items []SslPoliciesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []SslPoliciesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SslPoliciesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SslPoliciesScopedListPairIterator) Next() (SslPoliciesScopedListPair, error) { - var item SslPoliciesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SslPoliciesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *SslPoliciesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/subnetworks_client.go b/vendor/cloud.google.com/go/compute/apiv1/subnetworks_client.go index a5c04b1f62..6b6cc7c5c6 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/subnetworks_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/subnetworks_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -309,7 +309,9 @@ func NewSubnetworksRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultSubnetworksRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -382,6 +384,9 @@ func (c *subnetworksRESTClient) AggregatedList(ctx context.Context, req *compute if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1264,150 +1269,3 @@ func (c *subnetworksRESTClient) TestIamPermissions(ctx context.Context, req *com } return resp, nil } - -// SubnetworkIterator manages a stream of *computepb.Subnetwork. -type SubnetworkIterator struct { - items []*computepb.Subnetwork - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Subnetwork, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SubnetworkIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SubnetworkIterator) Next() (*computepb.Subnetwork, error) { - var item *computepb.Subnetwork - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SubnetworkIterator) bufLen() int { - return len(it.items) -} - -func (it *SubnetworkIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// SubnetworksScopedListPair is a holder type for string/*computepb.SubnetworksScopedList map entries -type SubnetworksScopedListPair struct { - Key string - Value *computepb.SubnetworksScopedList -} - -// SubnetworksScopedListPairIterator manages a stream of SubnetworksScopedListPair. -type SubnetworksScopedListPairIterator struct { - items []SubnetworksScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []SubnetworksScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *SubnetworksScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *SubnetworksScopedListPairIterator) Next() (SubnetworksScopedListPair, error) { - var item SubnetworksScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *SubnetworksScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *SubnetworksScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// UsableSubnetworkIterator manages a stream of *computepb.UsableSubnetwork. -type UsableSubnetworkIterator struct { - items []*computepb.UsableSubnetwork - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.UsableSubnetwork, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *UsableSubnetworkIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *UsableSubnetworkIterator) Next() (*computepb.UsableSubnetwork, error) { - var item *computepb.UsableSubnetwork - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *UsableSubnetworkIterator) bufLen() int { - return len(it.items) -} - -func (it *UsableSubnetworkIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_grpc_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_grpc_proxies_client.go index ee98c95677..65a1bdeda0 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_grpc_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_grpc_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,7 +211,9 @@ func NewTargetGrpcProxiesRESTClient(ctx context.Context, opts ...option.ClientOp func defaultTargetGrpcProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -616,50 +618,3 @@ func (c *targetGrpcProxiesRESTClient) Patch(ctx context.Context, req *computepb. } return op, nil } - -// TargetGrpcProxyIterator manages a stream of *computepb.TargetGrpcProxy. -type TargetGrpcProxyIterator struct { - items []*computepb.TargetGrpcProxy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetGrpcProxy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetGrpcProxyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetGrpcProxyIterator) Next() (*computepb.TargetGrpcProxy, error) { - var item *computepb.TargetGrpcProxy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetGrpcProxyIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetGrpcProxyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_http_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_http_proxies_client.go index 922ec93168..95a136a1ab 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_http_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_http_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -241,7 +241,9 @@ func NewTargetHttpProxiesRESTClient(ctx context.Context, opts ...option.ClientOp func defaultTargetHttpProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -314,6 +316,9 @@ func (c *targetHttpProxiesRESTClient) AggregatedList(ctx context.Context, req *c if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -829,56 +834,3 @@ func (c *targetHttpProxiesRESTClient) SetUrlMap(ctx context.Context, req *comput } return op, nil } - -// TargetHttpProxiesScopedListPair is a holder type for string/*computepb.TargetHttpProxiesScopedList map entries -type TargetHttpProxiesScopedListPair struct { - Key string - Value *computepb.TargetHttpProxiesScopedList -} - -// TargetHttpProxiesScopedListPairIterator manages a stream of TargetHttpProxiesScopedListPair. -type TargetHttpProxiesScopedListPairIterator struct { - items []TargetHttpProxiesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []TargetHttpProxiesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetHttpProxiesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetHttpProxiesScopedListPairIterator) Next() (TargetHttpProxiesScopedListPair, error) { - var item TargetHttpProxiesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetHttpProxiesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetHttpProxiesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_https_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_https_proxies_client.go index af80cc2371..224afe6828 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_https_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_https_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -281,7 +281,9 @@ func NewTargetHttpsProxiesRESTClient(ctx context.Context, opts ...option.ClientO func defaultTargetHttpsProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -354,6 +356,9 @@ func (c *targetHttpsProxiesRESTClient) AggregatedList(ctx context.Context, req * if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1173,56 +1178,3 @@ func (c *targetHttpsProxiesRESTClient) SetUrlMap(ctx context.Context, req *compu } return op, nil } - -// TargetHttpsProxiesScopedListPair is a holder type for string/*computepb.TargetHttpsProxiesScopedList map entries -type TargetHttpsProxiesScopedListPair struct { - Key string - Value *computepb.TargetHttpsProxiesScopedList -} - -// TargetHttpsProxiesScopedListPairIterator manages a stream of TargetHttpsProxiesScopedListPair. -type TargetHttpsProxiesScopedListPairIterator struct { - items []TargetHttpsProxiesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []TargetHttpsProxiesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetHttpsProxiesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetHttpsProxiesScopedListPairIterator) Next() (TargetHttpsProxiesScopedListPair, error) { - var item TargetHttpsProxiesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetHttpsProxiesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetHttpsProxiesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_instances_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_instances_client.go index 852f4c12a4..77d4c35952 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_instances_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_instances_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -43,11 +43,12 @@ var newTargetInstancesClientHook clientHook // TargetInstancesCallOptions contains the retry settings for each method of TargetInstancesClient. type TargetInstancesCallOptions struct { - AggregatedList []gax.CallOption - Delete []gax.CallOption - Get []gax.CallOption - Insert []gax.CallOption - List []gax.CallOption + AggregatedList []gax.CallOption + Delete []gax.CallOption + Get []gax.CallOption + Insert []gax.CallOption + List []gax.CallOption + SetSecurityPolicy []gax.CallOption } func defaultTargetInstancesRESTCallOptions() *TargetInstancesCallOptions { @@ -94,6 +95,9 @@ func defaultTargetInstancesRESTCallOptions() *TargetInstancesCallOptions { http.StatusServiceUnavailable) }), }, + SetSecurityPolicy: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, } } @@ -107,6 +111,7 @@ type internalTargetInstancesClient interface { Get(context.Context, *computepb.GetTargetInstanceRequest, ...gax.CallOption) (*computepb.TargetInstance, error) Insert(context.Context, *computepb.InsertTargetInstanceRequest, ...gax.CallOption) (*Operation, error) List(context.Context, *computepb.ListTargetInstancesRequest, ...gax.CallOption) *TargetInstanceIterator + SetSecurityPolicy(context.Context, *computepb.SetSecurityPolicyTargetInstanceRequest, ...gax.CallOption) (*Operation, error) } // TargetInstancesClient is a client for interacting with Google Compute Engine API. @@ -169,6 +174,11 @@ func (c *TargetInstancesClient) List(ctx context.Context, req *computepb.ListTar return c.internalClient.List(ctx, req, opts...) } +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview +func (c *TargetInstancesClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyTargetInstanceRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.SetSecurityPolicy(ctx, req, opts...) +} + // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. type targetInstancesRESTClient struct { // The http endpoint to connect to. @@ -221,7 +231,9 @@ func NewTargetInstancesRESTClient(ctx context.Context, opts ...option.ClientOpti func defaultTargetInstancesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -294,6 +306,9 @@ func (c *targetInstancesRESTClient) AggregatedList(ctx context.Context, req *com if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -660,102 +675,79 @@ func (c *targetInstancesRESTClient) List(ctx context.Context, req *computepb.Lis return it } -// TargetInstanceIterator manages a stream of *computepb.TargetInstance. -type TargetInstanceIterator struct { - items []*computepb.TargetInstance - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetInstance, nextPageToken string, err error) -} +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview +func (c *targetInstancesRESTClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyTargetInstanceRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetSecurityPolicyReferenceResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetInstanceIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/zones/%v/targetInstances/%v/setSecurityPolicy", req.GetProject(), req.GetZone(), req.GetTargetInstance()) -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetInstanceIterator) Next() (*computepb.TargetInstance, error) { - var item *computepb.TargetInstance - if err := it.nextFunc(); err != nil { - return item, err + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} -func (it *TargetInstanceIterator) bufLen() int { - return len(it.items) -} + baseUrl.RawQuery = params.Encode() -func (it *TargetInstanceIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "zone", url.QueryEscape(req.GetZone()), "target_instance", url.QueryEscape(req.GetTargetInstance()))} -// TargetInstancesScopedListPair is a holder type for string/*computepb.TargetInstancesScopedList map entries -type TargetInstancesScopedListPair struct { - Key string - Value *computepb.TargetInstancesScopedList -} + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetSecurityPolicy[0:len((*c.CallOptions).SetSecurityPolicy):len((*c.CallOptions).SetSecurityPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers -// TargetInstancesScopedListPairIterator manages a stream of TargetInstancesScopedListPair. -type TargetInstancesScopedListPairIterator struct { - items []TargetInstancesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []TargetInstancesScopedListPair, nextPageToken string, err error) -} + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetInstancesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetInstancesScopedListPairIterator) Next() (TargetInstancesScopedListPair, error) { - var item TargetInstancesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } -func (it *TargetInstancesScopedListPairIterator) bufLen() int { - return len(it.items) -} + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } -func (it *TargetInstancesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + &zoneOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + zone: req.GetZone(), + }, + } + return op, nil } diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_pools_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_pools_client.go index 879696d0cd..4879301423 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_pools_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_pools_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,6 +54,7 @@ type TargetPoolsCallOptions struct { RemoveHealthCheck []gax.CallOption RemoveInstance []gax.CallOption SetBackup []gax.CallOption + SetSecurityPolicy []gax.CallOption } func defaultTargetPoolsRESTCallOptions() *TargetPoolsCallOptions { @@ -118,6 +119,9 @@ func defaultTargetPoolsRESTCallOptions() *TargetPoolsCallOptions { SetBackup: []gax.CallOption{ gax.WithTimeout(600000 * time.Millisecond), }, + SetSecurityPolicy: []gax.CallOption{ + gax.WithTimeout(600000 * time.Millisecond), + }, } } @@ -137,6 +141,7 @@ type internalTargetPoolsClient interface { RemoveHealthCheck(context.Context, *computepb.RemoveHealthCheckTargetPoolRequest, ...gax.CallOption) (*Operation, error) RemoveInstance(context.Context, *computepb.RemoveInstanceTargetPoolRequest, ...gax.CallOption) (*Operation, error) SetBackup(context.Context, *computepb.SetBackupTargetPoolRequest, ...gax.CallOption) (*Operation, error) + SetSecurityPolicy(context.Context, *computepb.SetSecurityPolicyTargetPoolRequest, ...gax.CallOption) (*Operation, error) } // TargetPoolsClient is a client for interacting with Google Compute Engine API. @@ -229,6 +234,11 @@ func (c *TargetPoolsClient) SetBackup(ctx context.Context, req *computepb.SetBac return c.internalClient.SetBackup(ctx, req, opts...) } +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview +func (c *TargetPoolsClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyTargetPoolRequest, opts ...gax.CallOption) (*Operation, error) { + return c.internalClient.SetSecurityPolicy(ctx, req, opts...) +} + // Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls. type targetPoolsRESTClient struct { // The http endpoint to connect to. @@ -281,7 +291,9 @@ func NewTargetPoolsRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultTargetPoolsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -508,6 +520,9 @@ func (c *targetPoolsRESTClient) AggregatedList(ctx context.Context, req *compute if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -1170,102 +1185,79 @@ func (c *targetPoolsRESTClient) SetBackup(ctx context.Context, req *computepb.Se return op, nil } -// TargetPoolIterator manages a stream of *computepb.TargetPool. -type TargetPoolIterator struct { - items []*computepb.TargetPool - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetPool, nextPageToken string, err error) -} +// SetSecurityPolicy sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview +func (c *targetPoolsRESTClient) SetSecurityPolicy(ctx context.Context, req *computepb.SetSecurityPolicyTargetPoolRequest, opts ...gax.CallOption) (*Operation, error) { + m := protojson.MarshalOptions{AllowPartial: true} + body := req.GetSecurityPolicyReferenceResource() + jsonReq, err := m.Marshal(body) + if err != nil { + return nil, err + } -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetPoolIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} + baseUrl, err := url.Parse(c.endpoint) + if err != nil { + return nil, err + } + baseUrl.Path += fmt.Sprintf("/compute/v1/projects/%v/regions/%v/targetPools/%v/setSecurityPolicy", req.GetProject(), req.GetRegion(), req.GetTargetPool()) -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetPoolIterator) Next() (*computepb.TargetPool, error) { - var item *computepb.TargetPool - if err := it.nextFunc(); err != nil { - return item, err + params := url.Values{} + if req != nil && req.RequestId != nil { + params.Add("requestId", fmt.Sprintf("%v", req.GetRequestId())) } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} -func (it *TargetPoolIterator) bufLen() int { - return len(it.items) -} + baseUrl.RawQuery = params.Encode() -func (it *TargetPoolIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} + // Build HTTP headers from client and context metadata. + hds := []string{"x-goog-request-params", fmt.Sprintf("%s=%v&%s=%v&%s=%v", "project", url.QueryEscape(req.GetProject()), "region", url.QueryEscape(req.GetRegion()), "target_pool", url.QueryEscape(req.GetTargetPool()))} -// TargetPoolsScopedListPair is a holder type for string/*computepb.TargetPoolsScopedList map entries -type TargetPoolsScopedListPair struct { - Key string - Value *computepb.TargetPoolsScopedList -} + hds = append(c.xGoogHeaders, hds...) + hds = append(hds, "Content-Type", "application/json") + headers := gax.BuildHeaders(ctx, hds...) + opts = append((*c.CallOptions).SetSecurityPolicy[0:len((*c.CallOptions).SetSecurityPolicy):len((*c.CallOptions).SetSecurityPolicy)], opts...) + unm := protojson.UnmarshalOptions{AllowPartial: true, DiscardUnknown: true} + resp := &computepb.Operation{} + e := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error { + if settings.Path != "" { + baseUrl.Path = settings.Path + } + httpReq, err := http.NewRequest("POST", baseUrl.String(), bytes.NewReader(jsonReq)) + if err != nil { + return err + } + httpReq = httpReq.WithContext(ctx) + httpReq.Header = headers -// TargetPoolsScopedListPairIterator manages a stream of TargetPoolsScopedListPair. -type TargetPoolsScopedListPairIterator struct { - items []TargetPoolsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []TargetPoolsScopedListPair, nextPageToken string, err error) -} + httpRsp, err := c.httpClient.Do(httpReq) + if err != nil { + return err + } + defer httpRsp.Body.Close() -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetPoolsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} + if err = googleapi.CheckResponse(httpRsp); err != nil { + return err + } -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetPoolsScopedListPairIterator) Next() (TargetPoolsScopedListPair, error) { - var item TargetPoolsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} + buf, err := io.ReadAll(httpRsp.Body) + if err != nil { + return err + } -func (it *TargetPoolsScopedListPairIterator) bufLen() int { - return len(it.items) -} + if err := unm.Unmarshal(buf, resp); err != nil { + return err + } -func (it *TargetPoolsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b + return nil + }, opts...) + if e != nil { + return nil, e + } + op := &Operation{ + ®ionOperationsHandle{ + c: c.operationClient, + proto: resp, + project: req.GetProject(), + region: req.GetRegion(), + }, + } + return op, nil } diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_ssl_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_ssl_proxies_client.go index 8479b5d54c..41eb3739f6 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_ssl_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_ssl_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -251,7 +251,9 @@ func NewTargetSslProxiesRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultTargetSslProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -960,50 +962,3 @@ func (c *targetSslProxiesRESTClient) SetSslPolicy(ctx context.Context, req *comp } return op, nil } - -// TargetSslProxyIterator manages a stream of *computepb.TargetSslProxy. -type TargetSslProxyIterator struct { - items []*computepb.TargetSslProxy - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetSslProxy, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetSslProxyIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetSslProxyIterator) Next() (*computepb.TargetSslProxy, error) { - var item *computepb.TargetSslProxy - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetSslProxyIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetSslProxyIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_tcp_proxies_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_tcp_proxies_client.go index e0a5095062..5cc37e20d3 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_tcp_proxies_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_tcp_proxies_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -241,7 +241,9 @@ func NewTargetTcpProxiesRESTClient(ctx context.Context, opts ...option.ClientOpt func defaultTargetTcpProxiesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -314,6 +316,9 @@ func (c *targetTcpProxiesRESTClient) AggregatedList(ctx context.Context, req *co if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -829,56 +834,3 @@ func (c *targetTcpProxiesRESTClient) SetProxyHeader(ctx context.Context, req *co } return op, nil } - -// TargetTcpProxiesScopedListPair is a holder type for string/*computepb.TargetTcpProxiesScopedList map entries -type TargetTcpProxiesScopedListPair struct { - Key string - Value *computepb.TargetTcpProxiesScopedList -} - -// TargetTcpProxiesScopedListPairIterator manages a stream of TargetTcpProxiesScopedListPair. -type TargetTcpProxiesScopedListPairIterator struct { - items []TargetTcpProxiesScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []TargetTcpProxiesScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetTcpProxiesScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetTcpProxiesScopedListPairIterator) Next() (TargetTcpProxiesScopedListPair, error) { - var item TargetTcpProxiesScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetTcpProxiesScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetTcpProxiesScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/target_vpn_gateways_client.go b/vendor/cloud.google.com/go/compute/apiv1/target_vpn_gateways_client.go index 53e05bc273..65476f0dd8 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/target_vpn_gateways_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/target_vpn_gateways_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -231,7 +231,9 @@ func NewTargetVpnGatewaysRESTClient(ctx context.Context, opts ...option.ClientOp func defaultTargetVpnGatewaysRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -304,6 +306,9 @@ func (c *targetVpnGatewaysRESTClient) AggregatedList(ctx context.Context, req *c if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -746,103 +751,3 @@ func (c *targetVpnGatewaysRESTClient) SetLabels(ctx context.Context, req *comput } return op, nil } - -// TargetVpnGatewayIterator manages a stream of *computepb.TargetVpnGateway. -type TargetVpnGatewayIterator struct { - items []*computepb.TargetVpnGateway - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.TargetVpnGateway, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetVpnGatewayIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetVpnGatewayIterator) Next() (*computepb.TargetVpnGateway, error) { - var item *computepb.TargetVpnGateway - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetVpnGatewayIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetVpnGatewayIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// TargetVpnGatewaysScopedListPair is a holder type for string/*computepb.TargetVpnGatewaysScopedList map entries -type TargetVpnGatewaysScopedListPair struct { - Key string - Value *computepb.TargetVpnGatewaysScopedList -} - -// TargetVpnGatewaysScopedListPairIterator manages a stream of TargetVpnGatewaysScopedListPair. -type TargetVpnGatewaysScopedListPairIterator struct { - items []TargetVpnGatewaysScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []TargetVpnGatewaysScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *TargetVpnGatewaysScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *TargetVpnGatewaysScopedListPairIterator) Next() (TargetVpnGatewaysScopedListPair, error) { - var item TargetVpnGatewaysScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *TargetVpnGatewaysScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *TargetVpnGatewaysScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/url_maps_client.go b/vendor/cloud.google.com/go/compute/apiv1/url_maps_client.go index 0d081fec8e..698d668d4a 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/url_maps_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/url_maps_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -261,7 +261,9 @@ func NewUrlMapsRESTClient(ctx context.Context, opts ...option.ClientOption) (*Ur func defaultUrlMapsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -334,6 +336,9 @@ func (c *urlMapsRESTClient) AggregatedList(ctx context.Context, req *computepb.A if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -987,56 +992,3 @@ func (c *urlMapsRESTClient) Validate(ctx context.Context, req *computepb.Validat } return resp, nil } - -// UrlMapsScopedListPair is a holder type for string/*computepb.UrlMapsScopedList map entries -type UrlMapsScopedListPair struct { - Key string - Value *computepb.UrlMapsScopedList -} - -// UrlMapsScopedListPairIterator manages a stream of UrlMapsScopedListPair. -type UrlMapsScopedListPairIterator struct { - items []UrlMapsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []UrlMapsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *UrlMapsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *UrlMapsScopedListPairIterator) Next() (UrlMapsScopedListPair, error) { - var item UrlMapsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *UrlMapsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *UrlMapsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/vpn_gateways_client.go b/vendor/cloud.google.com/go/compute/apiv1/vpn_gateways_client.go index df5faa2d03..4ed211a649 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/vpn_gateways_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/vpn_gateways_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -260,7 +260,9 @@ func NewVpnGatewaysRESTClient(ctx context.Context, opts ...option.ClientOption) func defaultVpnGatewaysRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -333,6 +335,9 @@ func (c *vpnGatewaysRESTClient) AggregatedList(ctx context.Context, req *compute if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -892,103 +897,3 @@ func (c *vpnGatewaysRESTClient) TestIamPermissions(ctx context.Context, req *com } return resp, nil } - -// VpnGatewayIterator manages a stream of *computepb.VpnGateway. -type VpnGatewayIterator struct { - items []*computepb.VpnGateway - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.VpnGateway, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *VpnGatewayIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *VpnGatewayIterator) Next() (*computepb.VpnGateway, error) { - var item *computepb.VpnGateway - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *VpnGatewayIterator) bufLen() int { - return len(it.items) -} - -func (it *VpnGatewayIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// VpnGatewaysScopedListPair is a holder type for string/*computepb.VpnGatewaysScopedList map entries -type VpnGatewaysScopedListPair struct { - Key string - Value *computepb.VpnGatewaysScopedList -} - -// VpnGatewaysScopedListPairIterator manages a stream of VpnGatewaysScopedListPair. -type VpnGatewaysScopedListPairIterator struct { - items []VpnGatewaysScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []VpnGatewaysScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *VpnGatewaysScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *VpnGatewaysScopedListPairIterator) Next() (VpnGatewaysScopedListPair, error) { - var item VpnGatewaysScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *VpnGatewaysScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *VpnGatewaysScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/vpn_tunnels_client.go b/vendor/cloud.google.com/go/compute/apiv1/vpn_tunnels_client.go index a90fa4803e..fa64398636 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/vpn_tunnels_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/vpn_tunnels_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -231,7 +231,9 @@ func NewVpnTunnelsRESTClient(ctx context.Context, opts ...option.ClientOption) ( func defaultVpnTunnelsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -304,6 +306,9 @@ func (c *vpnTunnelsRESTClient) AggregatedList(ctx context.Context, req *computep if req != nil && req.ReturnPartialSuccess != nil { params.Add("returnPartialSuccess", fmt.Sprintf("%v", req.GetReturnPartialSuccess())) } + if req != nil && req.ServiceProjectNumber != nil { + params.Add("serviceProjectNumber", fmt.Sprintf("%v", req.GetServiceProjectNumber())) + } baseUrl.RawQuery = params.Encode() @@ -746,103 +751,3 @@ func (c *vpnTunnelsRESTClient) SetLabels(ctx context.Context, req *computepb.Set } return op, nil } - -// VpnTunnelIterator manages a stream of *computepb.VpnTunnel. -type VpnTunnelIterator struct { - items []*computepb.VpnTunnel - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.VpnTunnel, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *VpnTunnelIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *VpnTunnelIterator) Next() (*computepb.VpnTunnel, error) { - var item *computepb.VpnTunnel - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *VpnTunnelIterator) bufLen() int { - return len(it.items) -} - -func (it *VpnTunnelIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} - -// VpnTunnelsScopedListPair is a holder type for string/*computepb.VpnTunnelsScopedList map entries -type VpnTunnelsScopedListPair struct { - Key string - Value *computepb.VpnTunnelsScopedList -} - -// VpnTunnelsScopedListPairIterator manages a stream of VpnTunnelsScopedListPair. -type VpnTunnelsScopedListPairIterator struct { - items []VpnTunnelsScopedListPair - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []VpnTunnelsScopedListPair, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *VpnTunnelsScopedListPairIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *VpnTunnelsScopedListPairIterator) Next() (VpnTunnelsScopedListPair, error) { - var item VpnTunnelsScopedListPair - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *VpnTunnelsScopedListPairIterator) bufLen() int { - return len(it.items) -} - -func (it *VpnTunnelsScopedListPairIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/apiv1/zone_operations_client.go b/vendor/cloud.google.com/go/compute/apiv1/zone_operations_client.go index dda719724c..b1d9d1c67d 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/zone_operations_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/zone_operations_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -187,7 +187,9 @@ func NewZoneOperationsRESTClient(ctx context.Context, opts ...option.ClientOptio func defaultZoneOperationsRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } diff --git a/vendor/cloud.google.com/go/compute/apiv1/zones_client.go b/vendor/cloud.google.com/go/compute/apiv1/zones_client.go index 4d53a21e5c..0c20b8a901 100644 --- a/vendor/cloud.google.com/go/compute/apiv1/zones_client.go +++ b/vendor/cloud.google.com/go/compute/apiv1/zones_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -167,7 +167,9 @@ func NewZonesRESTClient(ctx context.Context, opts ...option.ClientOption) (*Zone func defaultZonesRESTClientOptions() []option.ClientOption { return []option.ClientOption{ internaloption.WithDefaultEndpoint("https://compute.googleapis.com"), + internaloption.WithDefaultEndpointTemplate("https://compute.UNIVERSE_DOMAIN"), internaloption.WithDefaultMTLSEndpoint("https://compute.mtls.googleapis.com"), + internaloption.WithDefaultUniverseDomain("googleapis.com"), internaloption.WithDefaultAudience("https://compute.googleapis.com/"), internaloption.WithDefaultScopes(DefaultAuthScopes()...), } @@ -348,50 +350,3 @@ func (c *zonesRESTClient) List(ctx context.Context, req *computepb.ListZonesRequ return it } - -// ZoneIterator manages a stream of *computepb.Zone. -type ZoneIterator struct { - items []*computepb.Zone - pageInfo *iterator.PageInfo - nextFunc func() error - - // Response is the raw response for the current page. - // It must be cast to the RPC response type. - // Calling Next() or InternalFetch() updates this value. - Response interface{} - - // InternalFetch is for use by the Google Cloud Libraries only. - // It is not part of the stable interface of this package. - // - // InternalFetch returns results from a single call to the underlying RPC. - // The number of results is no greater than pageSize. - // If there are no more results, nextPageToken is empty and err is nil. - InternalFetch func(pageSize int, pageToken string) (results []*computepb.Zone, nextPageToken string, err error) -} - -// PageInfo supports pagination. See the google.golang.org/api/iterator package for details. -func (it *ZoneIterator) PageInfo() *iterator.PageInfo { - return it.pageInfo -} - -// Next returns the next result. Its second return value is iterator.Done if there are no more -// results. Once Next returns Done, all subsequent calls will return Done. -func (it *ZoneIterator) Next() (*computepb.Zone, error) { - var item *computepb.Zone - if err := it.nextFunc(); err != nil { - return item, err - } - item = it.items[0] - it.items = it.items[1:] - return item, nil -} - -func (it *ZoneIterator) bufLen() int { - return len(it.items) -} - -func (it *ZoneIterator) takeBuf() interface{} { - b := it.items - it.items = nil - return b -} diff --git a/vendor/cloud.google.com/go/compute/internal/version.go b/vendor/cloud.google.com/go/compute/internal/version.go index 540ad16ac4..27a1970b9d 100644 --- a/vendor/cloud.google.com/go/compute/internal/version.go +++ b/vendor/cloud.google.com/go/compute/internal/version.go @@ -15,4 +15,4 @@ package internal // Version is the current tagged release of the library. -const Version = "1.23.3" +const Version = "1.23.4" diff --git a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json index 46c4094d3b..ae8a1fc146 100644 --- a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json +++ b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json @@ -29,6 +29,26 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/ai/generativelanguage/apiv1": { + "api_shortname": "generativelanguage", + "distribution_name": "cloud.google.com/go/ai/generativelanguage/apiv1", + "description": "Generative Language API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/ai/latest/generativelanguage/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, + "cloud.google.com/go/ai/generativelanguage/apiv1beta": { + "api_shortname": "generativelanguage", + "distribution_name": "cloud.google.com/go/ai/generativelanguage/apiv1beta", + "description": "Generative Language API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/ai/latest/generativelanguage/apiv1beta", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/ai/generativelanguage/apiv1beta2": { "api_shortname": "generativelanguage", "distribution_name": "cloud.google.com/go/ai/generativelanguage/apiv1beta2", @@ -179,6 +199,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/apps/meet/apiv2beta": { + "api_shortname": "meet", + "distribution_name": "cloud.google.com/go/apps/meet/apiv2beta", + "description": "Google Meet API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/apps/latest/meet/apiv2beta", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/area120/tables/apiv1alpha1": { "api_shortname": "area120tables", "distribution_name": "cloud.google.com/go/area120/tables/apiv1alpha1", @@ -629,6 +659,16 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/cloudquotas/apiv1": { + "api_shortname": "cloudquotas", + "distribution_name": "cloud.google.com/go/cloudquotas/apiv1", + "description": "Cloud Quotas API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/cloudquotas/latest/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/cloudtasks/apiv2": { "api_shortname": "cloudtasks", "distribution_name": "cloud.google.com/go/cloudtasks/apiv2", @@ -969,6 +1009,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/discoveryengine/apiv1alpha": { + "api_shortname": "discoveryengine", + "distribution_name": "cloud.google.com/go/discoveryengine/apiv1alpha", + "description": "Discovery Engine API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/discoveryengine/latest/apiv1alpha", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/discoveryengine/apiv1beta": { "api_shortname": "discoveryengine", "distribution_name": "cloud.google.com/go/discoveryengine/apiv1beta", @@ -2099,6 +2149,16 @@ "release_level": "preview", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/securitycentermanagement/apiv1": { + "api_shortname": "securitycentermanagement", + "distribution_name": "cloud.google.com/go/securitycentermanagement/apiv1", + "description": "Security Center Management API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/securitycentermanagement/latest/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/servicecontrol/apiv1": { "api_shortname": "servicecontrol", "distribution_name": "cloud.google.com/go/servicecontrol/apiv1", @@ -2159,6 +2219,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/shopping/css/apiv1": { + "api_shortname": "css", + "distribution_name": "cloud.google.com/go/shopping/css/apiv1", + "description": "CSS API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/css/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/shopping/merchant/inventories/apiv1beta": { "api_shortname": "merchantapi", "distribution_name": "cloud.google.com/go/shopping/merchant/inventories/apiv1beta", @@ -2209,6 +2279,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/spanner/executor/apiv1": { + "api_shortname": "spanner-cloud-executor", + "distribution_name": "cloud.google.com/go/spanner/executor/apiv1", + "description": "Cloud Spanner Executor test API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/spanner/latest/executor/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/speech/apiv1": { "api_shortname": "speech", "distribution_name": "cloud.google.com/go/speech/apiv1", diff --git a/vendor/cloud.google.com/go/internal/trace/trace.go b/vendor/cloud.google.com/go/internal/trace/trace.go index f6b88253b4..eabed000f3 100644 --- a/vendor/cloud.google.com/go/internal/trace/trace.go +++ b/vendor/cloud.google.com/go/internal/trace/trace.go @@ -32,16 +32,33 @@ import ( ) const ( - telemetryPlatformTracingOpenCensus = "opencensus" - telemetryPlatformTracingOpenTelemetry = "opentelemetry" - telemetryPlatformTracingVar = "GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING" + // TelemetryPlatformTracingOpenCensus is the value to which the environment + // variable GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING should be + // set to enable OpenCensus tracing. + TelemetryPlatformTracingOpenCensus = "opencensus" + // TelemetryPlatformTracingOpenCensus is the value to which the environment + // variable GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING should be + // set to enable OpenTelemetry tracing. + TelemetryPlatformTracingOpenTelemetry = "opentelemetry" + // TelemetryPlatformTracingOpenCensus is the name of the environment + // variable that can be set to change the default tracing from OpenCensus + // to OpenTelemetry. + TelemetryPlatformTracingVar = "GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING" + // OpenTelemetryTracerName is the name given to the OpenTelemetry Tracer + // when it is obtained from the OpenTelemetry TracerProvider. + OpenTelemetryTracerName = "cloud.google.com/go" ) var ( - // TODO(chrisdsmith): Should the name of the OpenTelemetry tracer be public and mutable? - openTelemetryTracerName string = "cloud.google.com/go" - openTelemetryTracingEnabled bool = strings.EqualFold(strings.TrimSpace( - os.Getenv(telemetryPlatformTracingVar)), telemetryPlatformTracingOpenTelemetry) + // OpenTelemetryTracingEnabled is true if the environment variable + // GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING is set to the + // case-insensitive value "opentelemetry". + // + // Do not access directly. Use instead IsOpenTelemetryTracingEnabled or + // IsOpenCensusTracingEnabled. Intended for use only in unit tests. Restore + // original value after each test. + OpenTelemetryTracingEnabled bool = strings.EqualFold(strings.TrimSpace( + os.Getenv(TelemetryPlatformTracingVar)), TelemetryPlatformTracingOpenTelemetry) ) // IsOpenCensusTracingEnabled returns true if the environment variable @@ -55,7 +72,7 @@ func IsOpenCensusTracingEnabled() bool { // GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING is set to the // case-insensitive value "opentelemetry". func IsOpenTelemetryTracingEnabled() bool { - return openTelemetryTracingEnabled + return OpenTelemetryTracingEnabled } // StartSpan adds a span to the trace with the given name. If IsOpenCensusTracingEnabled @@ -63,12 +80,12 @@ func IsOpenTelemetryTracingEnabled() bool { // returns true, the span will be an OpenTelemetry span. Set the environment variable // GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING to the case-insensitive // value "opentelemetry" before loading the package to use OpenTelemetry tracing. -// The default will remain OpenCensus until [TBD], at which time the default will +// The default will remain OpenCensus until May 29, 2024, at which time the default will // switch to "opentelemetry" and explicitly setting the environment variable to // "opencensus" will be required to continue using OpenCensus tracing. func StartSpan(ctx context.Context, name string) context.Context { if IsOpenTelemetryTracingEnabled() { - ctx, _ = otel.GetTracerProvider().Tracer(openTelemetryTracerName).Start(ctx, name) + ctx, _ = otel.GetTracerProvider().Tracer(OpenTelemetryTracerName).Start(ctx, name) } else { ctx, _ = trace.StartSpan(ctx, name) } @@ -80,7 +97,7 @@ func StartSpan(ctx context.Context, name string) context.Context { // returns true, the span will be an OpenTelemetry span. Set the environment variable // GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING to the case-insensitive // value "opentelemetry" before loading the package to use OpenTelemetry tracing. -// The default will remain OpenCensus until [TBD], at which time the default will +// The default will remain OpenCensus until May 29, 2024, at which time the default will // switch to "opentelemetry" and explicitly setting the environment variable to // "opencensus" will be required to continue using OpenCensus tracing. func EndSpan(ctx context.Context, err error) { @@ -166,7 +183,7 @@ func httpStatusCodeToOCCode(httpStatusCode int) int32 { // span must be an OpenTelemetry span. Set the environment variable // GOOGLE_API_GO_EXPERIMENTAL_TELEMETRY_PLATFORM_TRACING to the case-insensitive // value "opentelemetry" before loading the package to use OpenTelemetry tracing. -// The default will remain OpenCensus until [TBD], at which time the default will +// The default will remain OpenCensus until May 29, 2024, at which time the default will // switch to "opentelemetry" and explicitly setting the environment variable to // "opencensus" will be required to continue using OpenCensus tracing. func TracePrintf(ctx context.Context, attrMap map[string]interface{}, format string, args ...interface{}) { diff --git a/vendor/cloud.google.com/go/storage/CHANGES.md b/vendor/cloud.google.com/go/storage/CHANGES.md index 8b3fa6fc48..90007144de 100644 --- a/vendor/cloud.google.com/go/storage/CHANGES.md +++ b/vendor/cloud.google.com/go/storage/CHANGES.md @@ -1,6 +1,19 @@ # Changes +## [1.37.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.36.0...storage/v1.37.0) (2024-01-24) + + +### Features + +* **storage:** Add maxAttempts RetryOption ([#9215](https://github.com/googleapis/google-cloud-go/issues/9215)) ([e348cc5](https://github.com/googleapis/google-cloud-go/commit/e348cc5340e127b530e8ee4664fd995e6f038b2c)) +* **storage:** Support IncludeFoldersAsPrefixes ([#9211](https://github.com/googleapis/google-cloud-go/issues/9211)) ([98c9d71](https://github.com/googleapis/google-cloud-go/commit/98c9d7157306de5134547a67c084c248484c9a51)) + + +### Bug Fixes + +* **storage:** Migrate deprecated proto dep ([#9232](https://github.com/googleapis/google-cloud-go/issues/9232)) ([ebbb610](https://github.com/googleapis/google-cloud-go/commit/ebbb610e0f58035fd01ad7893971382d8bbd092f)), refs [#9189](https://github.com/googleapis/google-cloud-go/issues/9189) + ## [1.36.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.35.1...storage/v1.36.0) (2023-12-14) diff --git a/vendor/cloud.google.com/go/storage/grpc_client.go b/vendor/cloud.google.com/go/storage/grpc_client.go index a51cf9c086..e9e9599301 100644 --- a/vendor/cloud.google.com/go/storage/grpc_client.go +++ b/vendor/cloud.google.com/go/storage/grpc_client.go @@ -420,6 +420,11 @@ func (c *grpcStorageClient) ListObjects(ctx context.Context, bucket string, q *Q ctx = setUserProjectMetadata(ctx, s.userProject) } fetch := func(pageSize int, pageToken string) (token string, err error) { + // IncludeFoldersAsPrefixes is not supported for gRPC + // TODO: remove this when support is added in the proto. + if it.query.IncludeFoldersAsPrefixes { + return "", status.Errorf(codes.Unimplemented, "storage: IncludeFoldersAsPrefixes is not supported in gRPC") + } var objects []*storagepb.Object var gitr *gapic.ObjectIterator err = run(it.ctx, func(ctx context.Context) error { diff --git a/vendor/cloud.google.com/go/storage/http_client.go b/vendor/cloud.google.com/go/storage/http_client.go index 0e157e4ba9..fe081b60b0 100644 --- a/vendor/cloud.google.com/go/storage/http_client.go +++ b/vendor/cloud.google.com/go/storage/http_client.go @@ -348,6 +348,7 @@ func (c *httpStorageClient) ListObjects(ctx context.Context, bucket string, q *Q req.Versions(it.query.Versions) req.IncludeTrailingDelimiter(it.query.IncludeTrailingDelimiter) req.MatchGlob(it.query.MatchGlob) + req.IncludeFoldersAsPrefixes(it.query.IncludeFoldersAsPrefixes) if selection := it.query.toFieldSelection(); selection != "" { req.Fields("nextPageToken", googleapi.Field(selection)) } diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/auxiliary.go b/vendor/cloud.google.com/go/storage/internal/apiv2/auxiliary.go index c6fd4b341f..415b2b585b 100644 --- a/vendor/cloud.google.com/go/storage/internal/apiv2/auxiliary.go +++ b/vendor/cloud.google.com/go/storage/internal/apiv2/auxiliary.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go b/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go index 8159589ea9..ed5089ac7f 100644 --- a/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go +++ b/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go b/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go index 6481995060..25b122a74f 100644 --- a/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go +++ b/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/vendor/cloud.google.com/go/storage/internal/version.go b/vendor/cloud.google.com/go/storage/internal/version.go index 2d5cf890e0..e49d8a5328 100644 --- a/vendor/cloud.google.com/go/storage/internal/version.go +++ b/vendor/cloud.google.com/go/storage/internal/version.go @@ -15,4 +15,4 @@ package internal // Version is the current tagged release of the library. -const Version = "1.36.0" +const Version = "1.37.0" diff --git a/vendor/cloud.google.com/go/storage/invoke.go b/vendor/cloud.google.com/go/storage/invoke.go index dc79fd88bb..1b52eb5d2c 100644 --- a/vendor/cloud.google.com/go/storage/invoke.go +++ b/vendor/cloud.google.com/go/storage/invoke.go @@ -70,6 +70,9 @@ func run(ctx context.Context, call func(ctx context.Context) error, retry *retry return internal.Retry(ctx, bo, func() (stop bool, err error) { ctxWithHeaders := setInvocationHeaders(ctx, invocationID, attempts) err = call(ctxWithHeaders) + if retry.maxAttempts != nil && attempts >= *retry.maxAttempts { + return true, err + } attempts++ return !errorFunc(err), err }) diff --git a/vendor/cloud.google.com/go/storage/storage.go b/vendor/cloud.google.com/go/storage/storage.go index 78ecbf0e89..f047ef9cd4 100644 --- a/vendor/cloud.google.com/go/storage/storage.go +++ b/vendor/cloud.google.com/go/storage/storage.go @@ -1620,6 +1620,11 @@ type Query struct { // for syntax details. When Delimiter is set in conjunction with MatchGlob, // it must be set to /. MatchGlob string + + // IncludeFoldersAsPrefixes includes Folders and Managed Folders in the set of + // prefixes returned by the query. Only applicable if Delimiter is set to /. + // IncludeFoldersAsPrefixes is not yet implemented in the gRPC API. + IncludeFoldersAsPrefixes bool } // attrToFieldMap maps the field names of ObjectAttrs to the underlying field @@ -2076,6 +2081,26 @@ func (wb *withBackoff) apply(config *retryConfig) { config.backoff = &wb.backoff } +// WithMaxAttempts configures the maximum number of times an API call can be made +// in the case of retryable errors. +// For example, if you set WithMaxAttempts(5), the operation will be attempted up to 5 +// times total (initial call plus 4 retries). +// Without this setting, operations will continue retrying indefinitely +// until either the context is canceled or a deadline is reached. +func WithMaxAttempts(maxAttempts int) RetryOption { + return &withMaxAttempts{ + maxAttempts: maxAttempts, + } +} + +type withMaxAttempts struct { + maxAttempts int +} + +func (wb *withMaxAttempts) apply(config *retryConfig) { + config.maxAttempts = &wb.maxAttempts +} + // RetryPolicy describes the available policies for which operations should be // retried. The default is `RetryIdempotent`. type RetryPolicy int @@ -2148,6 +2173,7 @@ type retryConfig struct { backoff *gax.Backoff policy RetryPolicy shouldRetry func(err error) bool + maxAttempts *int } func (r *retryConfig) clone() *retryConfig { @@ -2168,6 +2194,7 @@ func (r *retryConfig) clone() *retryConfig { backoff: bo, policy: r.policy, shouldRetry: r.shouldRetry, + maxAttempts: r.maxAttempts, } } diff --git a/vendor/dario.cat/mergo/.deepsource.toml b/vendor/dario.cat/mergo/.deepsource.toml deleted file mode 100644 index a8bc979e02..0000000000 --- a/vendor/dario.cat/mergo/.deepsource.toml +++ /dev/null @@ -1,12 +0,0 @@ -version = 1 - -test_patterns = [ - "*_test.go" -] - -[[analyzers]] -name = "go" -enabled = true - - [analyzers.meta] - import_path = "dario.cat/mergo" \ No newline at end of file diff --git a/vendor/dario.cat/mergo/CONTRIBUTING.md b/vendor/dario.cat/mergo/CONTRIBUTING.md deleted file mode 100644 index 0a1ff9f94d..0000000000 --- a/vendor/dario.cat/mergo/CONTRIBUTING.md +++ /dev/null @@ -1,112 +0,0 @@ - -# Contributing to mergo - -First off, thanks for taking the time to contribute! ❤️ - -All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉 - -> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about: -> - Star the project -> - Tweet about it -> - Refer this project in your project's readme -> - Mention the project at local meetups and tell your friends/colleagues - - -## Table of Contents - -- [Code of Conduct](#code-of-conduct) -- [I Have a Question](#i-have-a-question) -- [I Want To Contribute](#i-want-to-contribute) -- [Reporting Bugs](#reporting-bugs) -- [Suggesting Enhancements](#suggesting-enhancements) - -## Code of Conduct - -This project and everyone participating in it is governed by the -[mergo Code of Conduct](https://github.com/imdario/mergoblob/master/CODE_OF_CONDUCT.md). -By participating, you are expected to uphold this code. Please report unacceptable behavior -to <>. - - -## I Have a Question - -> If you want to ask a question, we assume that you have read the available [Documentation](https://pkg.go.dev/github.com/imdario/mergo). - -Before you ask a question, it is best to search for existing [Issues](https://github.com/imdario/mergo/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first. - -If you then still feel the need to ask a question and need clarification, we recommend the following: - -- Open an [Issue](https://github.com/imdario/mergo/issues/new). -- Provide as much context as you can about what you're running into. -- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant. - -We will then take care of the issue as soon as possible. - -## I Want To Contribute - -> ### Legal Notice -> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license. - -### Reporting Bugs - - -#### Before Submitting a Bug Report - -A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible. - -- Make sure that you are using the latest version. -- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](). If you are looking for support, you might want to check [this section](#i-have-a-question)). -- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/imdario/mergoissues?q=label%3Abug). -- Also make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue. -- Collect information about the bug: -- Stack trace (Traceback) -- OS, Platform and Version (Windows, Linux, macOS, x86, ARM) -- Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant. -- Possibly your input and the output -- Can you reliably reproduce the issue? And can you also reproduce it with older versions? - - -#### How Do I Submit a Good Bug Report? - -> You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to . - - -We use GitHub issues to track bugs and errors. If you run into an issue with the project: - -- Open an [Issue](https://github.com/imdario/mergo/issues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.) -- Explain the behavior you would expect and the actual behavior. -- Please provide as much context as possible and describe the *reproduction steps* that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case. -- Provide the information you collected in the previous section. - -Once it's filed: - -- The project team will label the issue accordingly. -- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced. -- If the team is able to reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be implemented by someone. - -### Suggesting Enhancements - -This section guides you through submitting an enhancement suggestion for mergo, **including completely new features and minor improvements to existing functionality**. Following these guidelines will help maintainers and the community to understand your suggestion and find related suggestions. - - -#### Before Submitting an Enhancement - -- Make sure that you are using the latest version. -- Read the [documentation]() carefully and find out if the functionality is already covered, maybe by an individual configuration. -- Perform a [search](https://github.com/imdario/mergo/issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one. -- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library. - - -#### How Do I Submit a Good Enhancement Suggestion? - -Enhancement suggestions are tracked as [GitHub issues](https://github.com/imdario/mergo/issues). - -- Use a **clear and descriptive title** for the issue to identify the suggestion. -- Provide a **step-by-step description of the suggested enhancement** in as many details as possible. -- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point you can also tell which alternatives do not work for you. -- You may want to **include screenshots and animated GIFs** which help you demonstrate the steps or point out the part which the suggestion is related to. You can use [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux. -- **Explain why this enhancement would be useful** to most mergo users. You may also want to point out the other projects that solved it better and which could serve as inspiration. - - -## Attribution -This guide is based on the **contributing-gen**. [Make your own](https://github.com/bttger/contributing-gen)! diff --git a/vendor/dario.cat/mergo/README.md b/vendor/dario.cat/mergo/README.md deleted file mode 100644 index 7d0cf9f32a..0000000000 --- a/vendor/dario.cat/mergo/README.md +++ /dev/null @@ -1,248 +0,0 @@ -# Mergo - -[![GitHub release][5]][6] -[![GoCard][7]][8] -[![Test status][1]][2] -[![OpenSSF Scorecard][21]][22] -[![OpenSSF Best Practices][19]][20] -[![Coverage status][9]][10] -[![Sourcegraph][11]][12] -[![FOSSA status][13]][14] - -[![GoDoc][3]][4] -[![Become my sponsor][15]][16] -[![Tidelift][17]][18] - -[1]: https://github.com/imdario/mergo/workflows/tests/badge.svg?branch=master -[2]: https://github.com/imdario/mergo/actions/workflows/tests.yml -[3]: https://godoc.org/github.com/imdario/mergo?status.svg -[4]: https://godoc.org/github.com/imdario/mergo -[5]: https://img.shields.io/github/release/imdario/mergo.svg -[6]: https://github.com/imdario/mergo/releases -[7]: https://goreportcard.com/badge/imdario/mergo -[8]: https://goreportcard.com/report/github.com/imdario/mergo -[9]: https://coveralls.io/repos/github/imdario/mergo/badge.svg?branch=master -[10]: https://coveralls.io/github/imdario/mergo?branch=master -[11]: https://sourcegraph.com/github.com/imdario/mergo/-/badge.svg -[12]: https://sourcegraph.com/github.com/imdario/mergo?badge -[13]: https://app.fossa.io/api/projects/git%2Bgithub.com%2Fimdario%2Fmergo.svg?type=shield -[14]: https://app.fossa.io/projects/git%2Bgithub.com%2Fimdario%2Fmergo?ref=badge_shield -[15]: https://img.shields.io/github/sponsors/imdario -[16]: https://github.com/sponsors/imdario -[17]: https://tidelift.com/badges/package/go/github.com%2Fimdario%2Fmergo -[18]: https://tidelift.com/subscription/pkg/go-github.com-imdario-mergo -[19]: https://bestpractices.coreinfrastructure.org/projects/7177/badge -[20]: https://bestpractices.coreinfrastructure.org/projects/7177 -[21]: https://api.securityscorecards.dev/projects/github.com/imdario/mergo/badge -[22]: https://api.securityscorecards.dev/projects/github.com/imdario/mergo - -A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. - -Mergo merges same-type structs and maps by setting default values in zero-value fields. Mergo won't merge unexported (private) fields. It will do recursively any exported one. It also won't merge structs inside maps (because they are not addressable using Go reflection). - -Also a lovely [comune](http://en.wikipedia.org/wiki/Mergo) (municipality) in the Province of Ancona in the Italian region of Marche. - -## Status - -It is ready for production use. [It is used in several projects by Docker, Google, The Linux Foundation, VMWare, Shopify, Microsoft, etc](https://github.com/imdario/mergo#mergo-in-the-wild). - -### Important notes - -#### 1.0.0 - -In [1.0.0](//github.com/imdario/mergo/releases/tag/1.0.0) Mergo moves to a vanity URL `dario.cat/mergo`. - -#### 0.3.9 - -Please keep in mind that a problematic PR broke [0.3.9](//github.com/imdario/mergo/releases/tag/0.3.9). I reverted it in [0.3.10](//github.com/imdario/mergo/releases/tag/0.3.10), and I consider it stable but not bug-free. Also, this version adds support for go modules. - -Keep in mind that in [0.3.2](//github.com/imdario/mergo/releases/tag/0.3.2), Mergo changed `Merge()`and `Map()` signatures to support [transformers](#transformers). I added an optional/variadic argument so that it won't break the existing code. - -If you were using Mergo before April 6th, 2015, please check your project works as intended after updating your local copy with ```go get -u dario.cat/mergo```. I apologize for any issue caused by its previous behavior and any future bug that Mergo could cause in existing projects after the change (release 0.2.0). - -### Donations - -If Mergo is useful to you, consider buying me a coffee, a beer, or making a monthly donation to allow me to keep building great free software. :heart_eyes: - -Buy Me a Coffee at ko-fi.com -Donate using Liberapay -Become my sponsor - -### Mergo in the wild - -- [moby/moby](https://github.com/moby/moby) -- [kubernetes/kubernetes](https://github.com/kubernetes/kubernetes) -- [vmware/dispatch](https://github.com/vmware/dispatch) -- [Shopify/themekit](https://github.com/Shopify/themekit) -- [imdario/zas](https://github.com/imdario/zas) -- [matcornic/hermes](https://github.com/matcornic/hermes) -- [OpenBazaar/openbazaar-go](https://github.com/OpenBazaar/openbazaar-go) -- [kataras/iris](https://github.com/kataras/iris) -- [michaelsauter/crane](https://github.com/michaelsauter/crane) -- [go-task/task](https://github.com/go-task/task) -- [sensu/uchiwa](https://github.com/sensu/uchiwa) -- [ory/hydra](https://github.com/ory/hydra) -- [sisatech/vcli](https://github.com/sisatech/vcli) -- [dairycart/dairycart](https://github.com/dairycart/dairycart) -- [projectcalico/felix](https://github.com/projectcalico/felix) -- [resin-os/balena](https://github.com/resin-os/balena) -- [go-kivik/kivik](https://github.com/go-kivik/kivik) -- [Telefonica/govice](https://github.com/Telefonica/govice) -- [supergiant/supergiant](supergiant/supergiant) -- [SergeyTsalkov/brooce](https://github.com/SergeyTsalkov/brooce) -- [soniah/dnsmadeeasy](https://github.com/soniah/dnsmadeeasy) -- [ohsu-comp-bio/funnel](https://github.com/ohsu-comp-bio/funnel) -- [EagerIO/Stout](https://github.com/EagerIO/Stout) -- [lynndylanhurley/defsynth-api](https://github.com/lynndylanhurley/defsynth-api) -- [russross/canvasassignments](https://github.com/russross/canvasassignments) -- [rdegges/cryptly-api](https://github.com/rdegges/cryptly-api) -- [casualjim/exeggutor](https://github.com/casualjim/exeggutor) -- [divshot/gitling](https://github.com/divshot/gitling) -- [RWJMurphy/gorl](https://github.com/RWJMurphy/gorl) -- [andrerocker/deploy42](https://github.com/andrerocker/deploy42) -- [elwinar/rambler](https://github.com/elwinar/rambler) -- [tmaiaroto/gopartman](https://github.com/tmaiaroto/gopartman) -- [jfbus/impressionist](https://github.com/jfbus/impressionist) -- [Jmeyering/zealot](https://github.com/Jmeyering/zealot) -- [godep-migrator/rigger-host](https://github.com/godep-migrator/rigger-host) -- [Dronevery/MultiwaySwitch-Go](https://github.com/Dronevery/MultiwaySwitch-Go) -- [thoas/picfit](https://github.com/thoas/picfit) -- [mantasmatelis/whooplist-server](https://github.com/mantasmatelis/whooplist-server) -- [jnuthong/item_search](https://github.com/jnuthong/item_search) -- [bukalapak/snowboard](https://github.com/bukalapak/snowboard) -- [containerssh/containerssh](https://github.com/containerssh/containerssh) -- [goreleaser/goreleaser](https://github.com/goreleaser/goreleaser) -- [tjpnz/structbot](https://github.com/tjpnz/structbot) - -## Install - - go get dario.cat/mergo - - // use in your .go code - import ( - "dario.cat/mergo" - ) - -## Usage - -You can only merge same-type structs with exported fields initialized as zero value of their type and same-types maps. Mergo won't merge unexported (private) fields but will do recursively any exported one. It won't merge empty structs value as [they are zero values](https://golang.org/ref/spec#The_zero_value) too. Also, maps will be merged recursively except for structs inside maps (because they are not addressable using Go reflection). - -```go -if err := mergo.Merge(&dst, src); err != nil { - // ... -} -``` - -Also, you can merge overwriting values using the transformer `WithOverride`. - -```go -if err := mergo.Merge(&dst, src, mergo.WithOverride); err != nil { - // ... -} -``` - -Additionally, you can map a `map[string]interface{}` to a struct (and otherwise, from struct to map), following the same restrictions as in `Merge()`. Keys are capitalized to find each corresponding exported field. - -```go -if err := mergo.Map(&dst, srcMap); err != nil { - // ... -} -``` - -Warning: if you map a struct to map, it won't do it recursively. Don't expect Mergo to map struct members of your struct as `map[string]interface{}`. They will be just assigned as values. - -Here is a nice example: - -```go -package main - -import ( - "fmt" - "dario.cat/mergo" -) - -type Foo struct { - A string - B int64 -} - -func main() { - src := Foo{ - A: "one", - B: 2, - } - dest := Foo{ - A: "two", - } - mergo.Merge(&dest, src) - fmt.Println(dest) - // Will print - // {two 2} -} -``` - -Note: if test are failing due missing package, please execute: - - go get gopkg.in/yaml.v3 - -### Transformers - -Transformers allow to merge specific types differently than in the default behavior. In other words, now you can customize how some types are merged. For example, `time.Time` is a struct; it doesn't have zero value but IsZero can return true because it has fields with zero value. How can we merge a non-zero `time.Time`? - -```go -package main - -import ( - "fmt" - "dario.cat/mergo" - "reflect" - "time" -) - -type timeTransformer struct { -} - -func (t timeTransformer) Transformer(typ reflect.Type) func(dst, src reflect.Value) error { - if typ == reflect.TypeOf(time.Time{}) { - return func(dst, src reflect.Value) error { - if dst.CanSet() { - isZero := dst.MethodByName("IsZero") - result := isZero.Call([]reflect.Value{}) - if result[0].Bool() { - dst.Set(src) - } - } - return nil - } - } - return nil -} - -type Snapshot struct { - Time time.Time - // ... -} - -func main() { - src := Snapshot{time.Now()} - dest := Snapshot{} - mergo.Merge(&dest, src, mergo.WithTransformers(timeTransformer{})) - fmt.Println(dest) - // Will print - // { 2018-01-12 01:15:00 +0000 UTC m=+0.000000001 } -} -``` - -## Contact me - -If I can help you, you have an idea or you are using Mergo in your projects, don't hesitate to drop me a line (or a pull request): [@im_dario](https://twitter.com/im_dario) - -## About - -Written by [Dario Castañé](http://dario.im). - -## License - -[BSD 3-Clause](http://opensource.org/licenses/BSD-3-Clause) license, as [Go language](http://golang.org/LICENSE). - -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fimdario%2Fmergo.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fimdario%2Fmergo?ref=badge_large) diff --git a/vendor/dario.cat/mergo/SECURITY.md b/vendor/dario.cat/mergo/SECURITY.md deleted file mode 100644 index a5de61f77b..0000000000 --- a/vendor/dario.cat/mergo/SECURITY.md +++ /dev/null @@ -1,14 +0,0 @@ -# Security Policy - -## Supported Versions - -| Version | Supported | -| ------- | ------------------ | -| 0.3.x | :white_check_mark: | -| < 0.3 | :x: | - -## Security contact information - -To report a security vulnerability, please use the -[Tidelift security contact](https://tidelift.com/security). -Tidelift will coordinate the fix and disclosure. diff --git a/vendor/dario.cat/mergo/doc.go b/vendor/dario.cat/mergo/doc.go deleted file mode 100644 index 7d96ec0546..0000000000 --- a/vendor/dario.cat/mergo/doc.go +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2013 Dario Castañé. All rights reserved. -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* -A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. - -Mergo merges same-type structs and maps by setting default values in zero-value fields. Mergo won't merge unexported (private) fields. It will do recursively any exported one. It also won't merge structs inside maps (because they are not addressable using Go reflection). - -# Status - -It is ready for production use. It is used in several projects by Docker, Google, The Linux Foundation, VMWare, Shopify, etc. - -# Important notes - -1.0.0 - -In 1.0.0 Mergo moves to a vanity URL `dario.cat/mergo`. - -0.3.9 - -Please keep in mind that a problematic PR broke 0.3.9. We reverted it in 0.3.10. We consider 0.3.10 as stable but not bug-free. . Also, this version adds suppot for go modules. - -Keep in mind that in 0.3.2, Mergo changed Merge() and Map() signatures to support transformers. We added an optional/variadic argument so that it won't break the existing code. - -If you were using Mergo before April 6th, 2015, please check your project works as intended after updating your local copy with go get -u dario.cat/mergo. I apologize for any issue caused by its previous behavior and any future bug that Mergo could cause in existing projects after the change (release 0.2.0). - -# Install - -Do your usual installation procedure: - - go get dario.cat/mergo - - // use in your .go code - import ( - "dario.cat/mergo" - ) - -# Usage - -You can only merge same-type structs with exported fields initialized as zero value of their type and same-types maps. Mergo won't merge unexported (private) fields but will do recursively any exported one. It won't merge empty structs value as they are zero values too. Also, maps will be merged recursively except for structs inside maps (because they are not addressable using Go reflection). - - if err := mergo.Merge(&dst, src); err != nil { - // ... - } - -Also, you can merge overwriting values using the transformer WithOverride. - - if err := mergo.Merge(&dst, src, mergo.WithOverride); err != nil { - // ... - } - -Additionally, you can map a map[string]interface{} to a struct (and otherwise, from struct to map), following the same restrictions as in Merge(). Keys are capitalized to find each corresponding exported field. - - if err := mergo.Map(&dst, srcMap); err != nil { - // ... - } - -Warning: if you map a struct to map, it won't do it recursively. Don't expect Mergo to map struct members of your struct as map[string]interface{}. They will be just assigned as values. - -Here is a nice example: - - package main - - import ( - "fmt" - "dario.cat/mergo" - ) - - type Foo struct { - A string - B int64 - } - - func main() { - src := Foo{ - A: "one", - B: 2, - } - dest := Foo{ - A: "two", - } - mergo.Merge(&dest, src) - fmt.Println(dest) - // Will print - // {two 2} - } - -# Transformers - -Transformers allow to merge specific types differently than in the default behavior. In other words, now you can customize how some types are merged. For example, time.Time is a struct; it doesn't have zero value but IsZero can return true because it has fields with zero value. How can we merge a non-zero time.Time? - - package main - - import ( - "fmt" - "dario.cat/mergo" - "reflect" - "time" - ) - - type timeTransformer struct { - } - - func (t timeTransformer) Transformer(typ reflect.Type) func(dst, src reflect.Value) error { - if typ == reflect.TypeOf(time.Time{}) { - return func(dst, src reflect.Value) error { - if dst.CanSet() { - isZero := dst.MethodByName("IsZero") - result := isZero.Call([]reflect.Value{}) - if result[0].Bool() { - dst.Set(src) - } - } - return nil - } - } - return nil - } - - type Snapshot struct { - Time time.Time - // ... - } - - func main() { - src := Snapshot{time.Now()} - dest := Snapshot{} - mergo.Merge(&dest, src, mergo.WithTransformers(timeTransformer{})) - fmt.Println(dest) - // Will print - // { 2018-01-12 01:15:00 +0000 UTC m=+0.000000001 } - } - -# Contact me - -If I can help you, you have an idea or you are using Mergo in your projects, don't hesitate to drop me a line (or a pull request): https://twitter.com/im_dario - -# About - -Written by Dario Castañé: https://da.rio.hn - -# License - -BSD 3-Clause license, as Go language. -*/ -package mergo diff --git a/vendor/dario.cat/mergo/merge.go b/vendor/dario.cat/mergo/merge.go deleted file mode 100644 index 0ef9b2138c..0000000000 --- a/vendor/dario.cat/mergo/merge.go +++ /dev/null @@ -1,409 +0,0 @@ -// Copyright 2013 Dario Castañé. All rights reserved. -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Based on src/pkg/reflect/deepequal.go from official -// golang's stdlib. - -package mergo - -import ( - "fmt" - "reflect" -) - -func hasMergeableFields(dst reflect.Value) (exported bool) { - for i, n := 0, dst.NumField(); i < n; i++ { - field := dst.Type().Field(i) - if field.Anonymous && dst.Field(i).Kind() == reflect.Struct { - exported = exported || hasMergeableFields(dst.Field(i)) - } else if isExportedComponent(&field) { - exported = exported || len(field.PkgPath) == 0 - } - } - return -} - -func isExportedComponent(field *reflect.StructField) bool { - pkgPath := field.PkgPath - if len(pkgPath) > 0 { - return false - } - c := field.Name[0] - if 'a' <= c && c <= 'z' || c == '_' { - return false - } - return true -} - -type Config struct { - Transformers Transformers - Overwrite bool - ShouldNotDereference bool - AppendSlice bool - TypeCheck bool - overwriteWithEmptyValue bool - overwriteSliceWithEmptyValue bool - sliceDeepCopy bool - debug bool -} - -type Transformers interface { - Transformer(reflect.Type) func(dst, src reflect.Value) error -} - -// Traverses recursively both values, assigning src's fields values to dst. -// The map argument tracks comparisons that have already been seen, which allows -// short circuiting on recursive types. -func deepMerge(dst, src reflect.Value, visited map[uintptr]*visit, depth int, config *Config) (err error) { - overwrite := config.Overwrite - typeCheck := config.TypeCheck - overwriteWithEmptySrc := config.overwriteWithEmptyValue - overwriteSliceWithEmptySrc := config.overwriteSliceWithEmptyValue - sliceDeepCopy := config.sliceDeepCopy - - if !src.IsValid() { - return - } - if dst.CanAddr() { - addr := dst.UnsafeAddr() - h := 17 * addr - seen := visited[h] - typ := dst.Type() - for p := seen; p != nil; p = p.next { - if p.ptr == addr && p.typ == typ { - return nil - } - } - // Remember, remember... - visited[h] = &visit{typ, seen, addr} - } - - if config.Transformers != nil && !isReflectNil(dst) && dst.IsValid() { - if fn := config.Transformers.Transformer(dst.Type()); fn != nil { - err = fn(dst, src) - return - } - } - - switch dst.Kind() { - case reflect.Struct: - if hasMergeableFields(dst) { - for i, n := 0, dst.NumField(); i < n; i++ { - if err = deepMerge(dst.Field(i), src.Field(i), visited, depth+1, config); err != nil { - return - } - } - } else { - if dst.CanSet() && (isReflectNil(dst) || overwrite) && (!isEmptyValue(src, !config.ShouldNotDereference) || overwriteWithEmptySrc) { - dst.Set(src) - } - } - case reflect.Map: - if dst.IsNil() && !src.IsNil() { - if dst.CanSet() { - dst.Set(reflect.MakeMap(dst.Type())) - } else { - dst = src - return - } - } - - if src.Kind() != reflect.Map { - if overwrite && dst.CanSet() { - dst.Set(src) - } - return - } - - for _, key := range src.MapKeys() { - srcElement := src.MapIndex(key) - if !srcElement.IsValid() { - continue - } - dstElement := dst.MapIndex(key) - switch srcElement.Kind() { - case reflect.Chan, reflect.Func, reflect.Map, reflect.Interface, reflect.Slice: - if srcElement.IsNil() { - if overwrite { - dst.SetMapIndex(key, srcElement) - } - continue - } - fallthrough - default: - if !srcElement.CanInterface() { - continue - } - switch reflect.TypeOf(srcElement.Interface()).Kind() { - case reflect.Struct: - fallthrough - case reflect.Ptr: - fallthrough - case reflect.Map: - srcMapElm := srcElement - dstMapElm := dstElement - if srcMapElm.CanInterface() { - srcMapElm = reflect.ValueOf(srcMapElm.Interface()) - if dstMapElm.IsValid() { - dstMapElm = reflect.ValueOf(dstMapElm.Interface()) - } - } - if err = deepMerge(dstMapElm, srcMapElm, visited, depth+1, config); err != nil { - return - } - case reflect.Slice: - srcSlice := reflect.ValueOf(srcElement.Interface()) - - var dstSlice reflect.Value - if !dstElement.IsValid() || dstElement.IsNil() { - dstSlice = reflect.MakeSlice(srcSlice.Type(), 0, srcSlice.Len()) - } else { - dstSlice = reflect.ValueOf(dstElement.Interface()) - } - - if (!isEmptyValue(src, !config.ShouldNotDereference) || overwriteWithEmptySrc || overwriteSliceWithEmptySrc) && (overwrite || isEmptyValue(dst, !config.ShouldNotDereference)) && !config.AppendSlice && !sliceDeepCopy { - if typeCheck && srcSlice.Type() != dstSlice.Type() { - return fmt.Errorf("cannot override two slices with different type (%s, %s)", srcSlice.Type(), dstSlice.Type()) - } - dstSlice = srcSlice - } else if config.AppendSlice { - if srcSlice.Type() != dstSlice.Type() { - return fmt.Errorf("cannot append two slices with different type (%s, %s)", srcSlice.Type(), dstSlice.Type()) - } - dstSlice = reflect.AppendSlice(dstSlice, srcSlice) - } else if sliceDeepCopy { - i := 0 - for ; i < srcSlice.Len() && i < dstSlice.Len(); i++ { - srcElement := srcSlice.Index(i) - dstElement := dstSlice.Index(i) - - if srcElement.CanInterface() { - srcElement = reflect.ValueOf(srcElement.Interface()) - } - if dstElement.CanInterface() { - dstElement = reflect.ValueOf(dstElement.Interface()) - } - - if err = deepMerge(dstElement, srcElement, visited, depth+1, config); err != nil { - return - } - } - - } - dst.SetMapIndex(key, dstSlice) - } - } - - if dstElement.IsValid() && !isEmptyValue(dstElement, !config.ShouldNotDereference) { - if reflect.TypeOf(srcElement.Interface()).Kind() == reflect.Slice { - continue - } - if reflect.TypeOf(srcElement.Interface()).Kind() == reflect.Map && reflect.TypeOf(dstElement.Interface()).Kind() == reflect.Map { - continue - } - } - - if srcElement.IsValid() && ((srcElement.Kind() != reflect.Ptr && overwrite) || !dstElement.IsValid() || isEmptyValue(dstElement, !config.ShouldNotDereference)) { - if dst.IsNil() { - dst.Set(reflect.MakeMap(dst.Type())) - } - dst.SetMapIndex(key, srcElement) - } - } - - // Ensure that all keys in dst are deleted if they are not in src. - if overwriteWithEmptySrc { - for _, key := range dst.MapKeys() { - srcElement := src.MapIndex(key) - if !srcElement.IsValid() { - dst.SetMapIndex(key, reflect.Value{}) - } - } - } - case reflect.Slice: - if !dst.CanSet() { - break - } - if (!isEmptyValue(src, !config.ShouldNotDereference) || overwriteWithEmptySrc || overwriteSliceWithEmptySrc) && (overwrite || isEmptyValue(dst, !config.ShouldNotDereference)) && !config.AppendSlice && !sliceDeepCopy { - dst.Set(src) - } else if config.AppendSlice { - if src.Type() != dst.Type() { - return fmt.Errorf("cannot append two slice with different type (%s, %s)", src.Type(), dst.Type()) - } - dst.Set(reflect.AppendSlice(dst, src)) - } else if sliceDeepCopy { - for i := 0; i < src.Len() && i < dst.Len(); i++ { - srcElement := src.Index(i) - dstElement := dst.Index(i) - if srcElement.CanInterface() { - srcElement = reflect.ValueOf(srcElement.Interface()) - } - if dstElement.CanInterface() { - dstElement = reflect.ValueOf(dstElement.Interface()) - } - - if err = deepMerge(dstElement, srcElement, visited, depth+1, config); err != nil { - return - } - } - } - case reflect.Ptr: - fallthrough - case reflect.Interface: - if isReflectNil(src) { - if overwriteWithEmptySrc && dst.CanSet() && src.Type().AssignableTo(dst.Type()) { - dst.Set(src) - } - break - } - - if src.Kind() != reflect.Interface { - if dst.IsNil() || (src.Kind() != reflect.Ptr && overwrite) { - if dst.CanSet() && (overwrite || isEmptyValue(dst, !config.ShouldNotDereference)) { - dst.Set(src) - } - } else if src.Kind() == reflect.Ptr { - if !config.ShouldNotDereference { - if err = deepMerge(dst.Elem(), src.Elem(), visited, depth+1, config); err != nil { - return - } - } else { - if overwriteWithEmptySrc || (overwrite && !src.IsNil()) || dst.IsNil() { - dst.Set(src) - } - } - } else if dst.Elem().Type() == src.Type() { - if err = deepMerge(dst.Elem(), src, visited, depth+1, config); err != nil { - return - } - } else { - return ErrDifferentArgumentsTypes - } - break - } - - if dst.IsNil() || overwrite { - if dst.CanSet() && (overwrite || isEmptyValue(dst, !config.ShouldNotDereference)) { - dst.Set(src) - } - break - } - - if dst.Elem().Kind() == src.Elem().Kind() { - if err = deepMerge(dst.Elem(), src.Elem(), visited, depth+1, config); err != nil { - return - } - break - } - default: - mustSet := (isEmptyValue(dst, !config.ShouldNotDereference) || overwrite) && (!isEmptyValue(src, !config.ShouldNotDereference) || overwriteWithEmptySrc) - if mustSet { - if dst.CanSet() { - dst.Set(src) - } else { - dst = src - } - } - } - - return -} - -// Merge will fill any empty for value type attributes on the dst struct using corresponding -// src attributes if they themselves are not empty. dst and src must be valid same-type structs -// and dst must be a pointer to struct. -// It won't merge unexported (private) fields and will do recursively any exported field. -func Merge(dst, src interface{}, opts ...func(*Config)) error { - return merge(dst, src, opts...) -} - -// MergeWithOverwrite will do the same as Merge except that non-empty dst attributes will be overridden by -// non-empty src attribute values. -// Deprecated: use Merge(…) with WithOverride -func MergeWithOverwrite(dst, src interface{}, opts ...func(*Config)) error { - return merge(dst, src, append(opts, WithOverride)...) -} - -// WithTransformers adds transformers to merge, allowing to customize the merging of some types. -func WithTransformers(transformers Transformers) func(*Config) { - return func(config *Config) { - config.Transformers = transformers - } -} - -// WithOverride will make merge override non-empty dst attributes with non-empty src attributes values. -func WithOverride(config *Config) { - config.Overwrite = true -} - -// WithOverwriteWithEmptyValue will make merge override non empty dst attributes with empty src attributes values. -func WithOverwriteWithEmptyValue(config *Config) { - config.Overwrite = true - config.overwriteWithEmptyValue = true -} - -// WithOverrideEmptySlice will make merge override empty dst slice with empty src slice. -func WithOverrideEmptySlice(config *Config) { - config.overwriteSliceWithEmptyValue = true -} - -// WithoutDereference prevents dereferencing pointers when evaluating whether they are empty -// (i.e. a non-nil pointer is never considered empty). -func WithoutDereference(config *Config) { - config.ShouldNotDereference = true -} - -// WithAppendSlice will make merge append slices instead of overwriting it. -func WithAppendSlice(config *Config) { - config.AppendSlice = true -} - -// WithTypeCheck will make merge check types while overwriting it (must be used with WithOverride). -func WithTypeCheck(config *Config) { - config.TypeCheck = true -} - -// WithSliceDeepCopy will merge slice element one by one with Overwrite flag. -func WithSliceDeepCopy(config *Config) { - config.sliceDeepCopy = true - config.Overwrite = true -} - -func merge(dst, src interface{}, opts ...func(*Config)) error { - if dst != nil && reflect.ValueOf(dst).Kind() != reflect.Ptr { - return ErrNonPointerArgument - } - var ( - vDst, vSrc reflect.Value - err error - ) - - config := &Config{} - - for _, opt := range opts { - opt(config) - } - - if vDst, vSrc, err = resolveValues(dst, src); err != nil { - return err - } - if vDst.Type() != vSrc.Type() { - return ErrDifferentArgumentsTypes - } - return deepMerge(vDst, vSrc, make(map[uintptr]*visit), 0, config) -} - -// IsReflectNil is the reflect value provided nil -func isReflectNil(v reflect.Value) bool { - k := v.Kind() - switch k { - case reflect.Interface, reflect.Slice, reflect.Chan, reflect.Func, reflect.Map, reflect.Ptr: - // Both interface and slice are nil if first word is 0. - // Both are always bigger than a word; assume flagIndir. - return v.IsNil() - default: - return false - } -} diff --git a/vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/doc.go b/vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/doc.go new file mode 100644 index 0000000000..20b172ccf6 --- /dev/null +++ b/vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/doc.go @@ -0,0 +1,57 @@ +/* +mkwinsyscall generates windows system call bodies + +It parses all files specified on command line containing function +prototypes (like syscall_windows.go) and prints system call bodies +to standard output. + +The prototypes are marked by lines beginning with "//sys" and read +like func declarations if //sys is replaced by func, but: + + - The parameter lists must give a name for each argument. This + includes return parameters. + + - The parameter lists must give a type for each argument: + the (x, y, z int) shorthand is not allowed. + + - If the return parameter is an error number, it must be named err. + + - If go func name needs to be different from its winapi dll name, + the winapi name could be specified at the end, after "=" sign, like + + //sys LoadLibrary(libname string) (handle uint32, err error) = LoadLibraryA + + - Each function that returns err needs to supply a condition, that + return value of winapi will be tested against to detect failure. + This would set err to windows "last-error", otherwise it will be nil. + The value can be provided at end of //sys declaration, like + + //sys LoadLibrary(libname string) (handle uint32, err error) [failretval==-1] = LoadLibraryA + + and is [failretval==0] by default. + + - If the function name ends in a "?", then the function not existing is non- + fatal, and an error will be returned instead of panicking. + +Usage: + + mkwinsyscall [flags] [path ...] + +Flags + + -output string + Output file name (standard output if omitted). + -sort + Sort DLL and function declarations (default true). + Intended to help transition from older versions of mkwinsyscall by making diffs + easier to read and understand. + -systemdll + Whether all DLLs should be loaded from the Windows system directory (default true). + -trace + Generate print statement after every syscall. + -utf16 + Encode string arguments as UTF-16 for syscalls not ending in 'A' or 'W' (default true). + -winio + Import this package ("github.com/Microsoft/go-winio"). +*/ +package main diff --git a/vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/mkwinsyscall.go b/vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/mkwinsyscall.go new file mode 100644 index 0000000000..20d9e3d277 --- /dev/null +++ b/vendor/github.com/Microsoft/go-winio/tools/mkwinsyscall/mkwinsyscall.go @@ -0,0 +1,1059 @@ +//go:build windows + +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +import ( + "bufio" + "bytes" + "errors" + "flag" + "fmt" + "go/format" + "go/parser" + "go/token" + "io" + "log" + "os" + "path/filepath" + "runtime" + "sort" + "strconv" + "strings" + "text/template" + + "golang.org/x/sys/windows" +) + +const ( + pkgSyscall = "syscall" + pkgWindows = "windows" + + // common types. + + tBool = "bool" + tBoolPtr = "*bool" + tError = "error" + tString = "string" + + // error variable names. + + varErr = "err" + varErrNTStatus = "ntStatus" + varErrHR = "hr" +) + +var ( + filename = flag.String("output", "", "output file name (standard output if omitted)") + printTraceFlag = flag.Bool("trace", false, "generate print statement after every syscall") + systemDLL = flag.Bool("systemdll", true, "whether all DLLs should be loaded from the Windows system directory") + winio = flag.Bool("winio", false, `import this package ("github.com/Microsoft/go-winio")`) + utf16 = flag.Bool("utf16", true, "encode string arguments as UTF-16 for syscalls not ending in 'A' or 'W'") + sortdecls = flag.Bool("sort", true, "sort DLL and function declarations") +) + +func trim(s string) string { + return strings.Trim(s, " \t") +} + +func endsIn(s string, c byte) bool { + return len(s) >= 1 && s[len(s)-1] == c +} + +var packageName string + +func packagename() string { + return packageName +} + +func windowsdot() string { + if packageName == pkgWindows { + return "" + } + return pkgWindows + "." +} + +func syscalldot() string { + if packageName == pkgSyscall { + return "" + } + return pkgSyscall + "." +} + +// Param is function parameter. +type Param struct { + Name string + Type string + fn *Fn + tmpVarIdx int +} + +// tmpVar returns temp variable name that will be used to represent p during syscall. +func (p *Param) tmpVar() string { + if p.tmpVarIdx < 0 { + p.tmpVarIdx = p.fn.curTmpVarIdx + p.fn.curTmpVarIdx++ + } + return fmt.Sprintf("_p%d", p.tmpVarIdx) +} + +// BoolTmpVarCode returns source code for bool temp variable. +func (p *Param) BoolTmpVarCode() string { + const code = `var %[1]s uint32 + if %[2]s { + %[1]s = 1 + }` + return fmt.Sprintf(code, p.tmpVar(), p.Name) +} + +// BoolPointerTmpVarCode returns source code for bool temp variable. +func (p *Param) BoolPointerTmpVarCode() string { + const code = `var %[1]s uint32 + if *%[2]s { + %[1]s = 1 + }` + return fmt.Sprintf(code, p.tmpVar(), p.Name) +} + +// SliceTmpVarCode returns source code for slice temp variable. +func (p *Param) SliceTmpVarCode() string { + const code = `var %s *%s + if len(%s) > 0 { + %s = &%s[0] + }` + tmp := p.tmpVar() + return fmt.Sprintf(code, tmp, p.Type[2:], p.Name, tmp, p.Name) +} + +// StringTmpVarCode returns source code for string temp variable. +func (p *Param) StringTmpVarCode() string { + errvar := p.fn.Rets.ErrorVarName() + if errvar == "" { + errvar = "_" + } + tmp := p.tmpVar() + const code = `var %s %s + %s, %s = %s(%s)` + s := fmt.Sprintf(code, tmp, p.fn.StrconvType(), tmp, errvar, p.fn.StrconvFunc(), p.Name) + if errvar == "-" { + return s + } + const morecode = ` + if %s != nil { + return + }` + return s + fmt.Sprintf(morecode, errvar) +} + +// TmpVarCode returns source code for temp variable. +func (p *Param) TmpVarCode() string { + switch { + case p.Type == tBool: + return p.BoolTmpVarCode() + case p.Type == tBoolPtr: + return p.BoolPointerTmpVarCode() + case strings.HasPrefix(p.Type, "[]"): + return p.SliceTmpVarCode() + default: + return "" + } +} + +// TmpVarReadbackCode returns source code for reading back the temp variable into the original variable. +func (p *Param) TmpVarReadbackCode() string { + switch { + case p.Type == tBoolPtr: + return fmt.Sprintf("*%s = %s != 0", p.Name, p.tmpVar()) + default: + return "" + } +} + +// TmpVarHelperCode returns source code for helper's temp variable. +func (p *Param) TmpVarHelperCode() string { + if p.Type != "string" { + return "" + } + return p.StringTmpVarCode() +} + +// SyscallArgList returns source code fragments representing p parameter +// in syscall. Slices are translated into 2 syscall parameters: pointer to +// the first element and length. +func (p *Param) SyscallArgList() []string { + t := p.HelperType() + var s string + switch { + case t == tBoolPtr: + s = fmt.Sprintf("unsafe.Pointer(&%s)", p.tmpVar()) + case t[0] == '*': + s = fmt.Sprintf("unsafe.Pointer(%s)", p.Name) + case t == tBool: + s = p.tmpVar() + case strings.HasPrefix(t, "[]"): + return []string{ + fmt.Sprintf("uintptr(unsafe.Pointer(%s))", p.tmpVar()), + fmt.Sprintf("uintptr(len(%s))", p.Name), + } + default: + s = p.Name + } + return []string{fmt.Sprintf("uintptr(%s)", s)} +} + +// IsError determines if p parameter is used to return error. +func (p *Param) IsError() bool { + return p.Name == varErr && p.Type == tError +} + +// HelperType returns type of parameter p used in helper function. +func (p *Param) HelperType() string { + if p.Type == tString { + return p.fn.StrconvType() + } + return p.Type +} + +// join concatenates parameters ps into a string with sep separator. +// Each parameter is converted into string by applying fn to it +// before conversion. +func join(ps []*Param, fn func(*Param) string, sep string) string { + if len(ps) == 0 { + return "" + } + a := make([]string, 0) + for _, p := range ps { + a = append(a, fn(p)) + } + return strings.Join(a, sep) +} + +// Rets describes function return parameters. +type Rets struct { + Name string + Type string + ReturnsError bool + FailCond string + fnMaybeAbsent bool +} + +// ErrorVarName returns error variable name for r. +func (r *Rets) ErrorVarName() string { + if r.ReturnsError { + return varErr + } + if r.Type == tError { + return r.Name + } + return "" +} + +// ToParams converts r into slice of *Param. +func (r *Rets) ToParams() []*Param { + ps := make([]*Param, 0) + if len(r.Name) > 0 { + ps = append(ps, &Param{Name: r.Name, Type: r.Type}) + } + if r.ReturnsError { + ps = append(ps, &Param{Name: varErr, Type: tError}) + } + return ps +} + +// List returns source code of syscall return parameters. +func (r *Rets) List() string { + s := join(r.ToParams(), func(p *Param) string { return p.Name + " " + p.Type }, ", ") + if len(s) > 0 { + s = "(" + s + ")" + } else if r.fnMaybeAbsent { + s = "(err error)" + } + return s +} + +// PrintList returns source code of trace printing part correspondent +// to syscall return values. +func (r *Rets) PrintList() string { + return join(r.ToParams(), func(p *Param) string { return fmt.Sprintf(`"%s=", %s, `, p.Name, p.Name) }, `", ", `) +} + +// SetReturnValuesCode returns source code that accepts syscall return values. +func (r *Rets) SetReturnValuesCode() string { + if r.Name == "" && !r.ReturnsError { + return "" + } + retvar := "r0" + if r.Name == "" { + retvar = "r1" + } + errvar := "_" + if r.ReturnsError { + errvar = "e1" + } + return fmt.Sprintf("%s, _, %s := ", retvar, errvar) +} + +func (r *Rets) useLongHandleErrorCode(retvar string) string { + const code = `if %s { + err = errnoErr(e1) + }` + cond := retvar + " == 0" + if r.FailCond != "" { + cond = strings.Replace(r.FailCond, "failretval", retvar, 1) + } + return fmt.Sprintf(code, cond) +} + +// SetErrorCode returns source code that sets return parameters. +func (r *Rets) SetErrorCode() string { + const code = `if r0 != 0 { + %s = %sErrno(r0) + }` + const ntStatus = `if r0 != 0 { + %s = %sNTStatus(r0) + }` + const hrCode = `if int32(r0) < 0 { + if r0&0x1fff0000 == 0x00070000 { + r0 &= 0xffff + } + %s = %sErrno(r0) + }` + + if r.Name == "" && !r.ReturnsError { + return "" + } + if r.Name == "" { + return r.useLongHandleErrorCode("r1") + } + if r.Type == tError { + switch r.Name { + case varErrNTStatus, strings.ToLower(varErrNTStatus): // allow ntstatus to work + return fmt.Sprintf(ntStatus, r.Name, windowsdot()) + case varErrHR: + return fmt.Sprintf(hrCode, r.Name, syscalldot()) + default: + return fmt.Sprintf(code, r.Name, syscalldot()) + } + } + + var s string + switch { + case r.Type[0] == '*': + s = fmt.Sprintf("%s = (%s)(unsafe.Pointer(r0))", r.Name, r.Type) + case r.Type == tBool: + s = fmt.Sprintf("%s = r0 != 0", r.Name) + default: + s = fmt.Sprintf("%s = %s(r0)", r.Name, r.Type) + } + if !r.ReturnsError { + return s + } + return s + "\n\t" + r.useLongHandleErrorCode(r.Name) +} + +// Fn describes syscall function. +type Fn struct { + Name string + Params []*Param + Rets *Rets + PrintTrace bool + dllname string + dllfuncname string + src string + // TODO: get rid of this field and just use parameter index instead + curTmpVarIdx int // insure tmp variables have uniq names +} + +// extractParams parses s to extract function parameters. +func extractParams(s string, f *Fn) ([]*Param, error) { + s = trim(s) + if s == "" { + return nil, nil + } + a := strings.Split(s, ",") + ps := make([]*Param, len(a)) + for i := range ps { + s2 := trim(a[i]) + b := strings.Split(s2, " ") + if len(b) != 2 { + b = strings.Split(s2, "\t") + if len(b) != 2 { + return nil, errors.New("Could not extract function parameter from \"" + s2 + "\"") + } + } + ps[i] = &Param{ + Name: trim(b[0]), + Type: trim(b[1]), + fn: f, + tmpVarIdx: -1, + } + } + return ps, nil +} + +// extractSection extracts text out of string s starting after start +// and ending just before end. found return value will indicate success, +// and prefix, body and suffix will contain correspondent parts of string s. +func extractSection(s string, start, end rune) (prefix, body, suffix string, found bool) { + s = trim(s) + if strings.HasPrefix(s, string(start)) { + // no prefix + body = s[1:] + } else { + a := strings.SplitN(s, string(start), 2) + if len(a) != 2 { + return "", "", s, false + } + prefix = a[0] + body = a[1] + } + a := strings.SplitN(body, string(end), 2) + if len(a) != 2 { + return "", "", "", false + } + return prefix, a[0], a[1], true +} + +// newFn parses string s and return created function Fn. +func newFn(s string) (*Fn, error) { + s = trim(s) + f := &Fn{ + Rets: &Rets{}, + src: s, + PrintTrace: *printTraceFlag, + } + // function name and args + prefix, body, s, found := extractSection(s, '(', ')') + if !found || prefix == "" { + return nil, errors.New("Could not extract function name and parameters from \"" + f.src + "\"") + } + f.Name = prefix + var err error + f.Params, err = extractParams(body, f) + if err != nil { + return nil, err + } + // return values + _, body, s, found = extractSection(s, '(', ')') + if found { + r, err := extractParams(body, f) + if err != nil { + return nil, err + } + switch len(r) { + case 0: + case 1: + if r[0].IsError() { + f.Rets.ReturnsError = true + } else { + f.Rets.Name = r[0].Name + f.Rets.Type = r[0].Type + } + case 2: + if !r[1].IsError() { + return nil, errors.New("Only last windows error is allowed as second return value in \"" + f.src + "\"") + } + f.Rets.ReturnsError = true + f.Rets.Name = r[0].Name + f.Rets.Type = r[0].Type + default: + return nil, errors.New("Too many return values in \"" + f.src + "\"") + } + } + // fail condition + _, body, s, found = extractSection(s, '[', ']') + if found { + f.Rets.FailCond = body + } + // dll and dll function names + s = trim(s) + if s == "" { + return f, nil + } + if !strings.HasPrefix(s, "=") { + return nil, errors.New("Could not extract dll name from \"" + f.src + "\"") + } + s = trim(s[1:]) + if i := strings.LastIndex(s, "."); i >= 0 { + f.dllname = s[:i] + f.dllfuncname = s[i+1:] + } else { + f.dllfuncname = s + } + if f.dllfuncname == "" { + return nil, fmt.Errorf("function name is not specified in %q", s) + } + if n := f.dllfuncname; endsIn(n, '?') { + f.dllfuncname = n[:len(n)-1] + f.Rets.fnMaybeAbsent = true + } + return f, nil +} + +// DLLName returns DLL name for function f. +func (f *Fn) DLLName() string { + if f.dllname == "" { + return "kernel32" + } + return f.dllname +} + +// DLLVar returns a valid Go identifier that represents DLLName. +func (f *Fn) DLLVar() string { + id := strings.Map(func(r rune) rune { + switch r { + case '.', '-': + return '_' + default: + return r + } + }, f.DLLName()) + if !token.IsIdentifier(id) { + panic(fmt.Errorf("could not create Go identifier for DLLName %q", f.DLLName())) + } + return id +} + +// DLLFuncName returns DLL function name for function f. +func (f *Fn) DLLFuncName() string { + if f.dllfuncname == "" { + return f.Name + } + return f.dllfuncname +} + +// ParamList returns source code for function f parameters. +func (f *Fn) ParamList() string { + return join(f.Params, func(p *Param) string { return p.Name + " " + p.Type }, ", ") +} + +// HelperParamList returns source code for helper function f parameters. +func (f *Fn) HelperParamList() string { + return join(f.Params, func(p *Param) string { return p.Name + " " + p.HelperType() }, ", ") +} + +// ParamPrintList returns source code of trace printing part correspondent +// to syscall input parameters. +func (f *Fn) ParamPrintList() string { + return join(f.Params, func(p *Param) string { return fmt.Sprintf(`"%s=", %s, `, p.Name, p.Name) }, `", ", `) +} + +// ParamCount return number of syscall parameters for function f. +func (f *Fn) ParamCount() int { + n := 0 + for _, p := range f.Params { + n += len(p.SyscallArgList()) + } + return n +} + +// SyscallParamCount determines which version of Syscall/Syscall6/Syscall9/... +// to use. It returns parameter count for correspondent SyscallX function. +func (f *Fn) SyscallParamCount() int { + n := f.ParamCount() + switch { + case n <= 3: + return 3 + case n <= 6: + return 6 + case n <= 9: + return 9 + case n <= 12: + return 12 + case n <= 15: + return 15 + default: + panic("too many arguments to system call") + } +} + +// Syscall determines which SyscallX function to use for function f. +func (f *Fn) Syscall() string { + c := f.SyscallParamCount() + if c == 3 { + return syscalldot() + "Syscall" + } + return syscalldot() + "Syscall" + strconv.Itoa(c) +} + +// SyscallParamList returns source code for SyscallX parameters for function f. +func (f *Fn) SyscallParamList() string { + a := make([]string, 0) + for _, p := range f.Params { + a = append(a, p.SyscallArgList()...) + } + for len(a) < f.SyscallParamCount() { + a = append(a, "0") + } + return strings.Join(a, ", ") +} + +// HelperCallParamList returns source code of call into function f helper. +func (f *Fn) HelperCallParamList() string { + a := make([]string, 0, len(f.Params)) + for _, p := range f.Params { + s := p.Name + if p.Type == tString { + s = p.tmpVar() + } + a = append(a, s) + } + return strings.Join(a, ", ") +} + +// MaybeAbsent returns source code for handling functions that are possibly unavailable. +func (f *Fn) MaybeAbsent() string { + if !f.Rets.fnMaybeAbsent { + return "" + } + const code = `%[1]s = proc%[2]s.Find() + if %[1]s != nil { + return + }` + errorVar := f.Rets.ErrorVarName() + if errorVar == "" { + errorVar = varErr + } + return fmt.Sprintf(code, errorVar, f.DLLFuncName()) +} + +// IsUTF16 is true, if f is W (UTF-16) function and false for all A (ASCII) functions. +// Functions ending in neither will default to UTF-16, unless the `-utf16` flag is set +// to `false`. +func (f *Fn) IsUTF16() bool { + s := f.DLLFuncName() + return endsIn(s, 'W') || (*utf16 && !endsIn(s, 'A')) +} + +// StrconvFunc returns name of Go string to OS string function for f. +func (f *Fn) StrconvFunc() string { + if f.IsUTF16() { + return syscalldot() + "UTF16PtrFromString" + } + return syscalldot() + "BytePtrFromString" +} + +// StrconvType returns Go type name used for OS string for f. +func (f *Fn) StrconvType() string { + if f.IsUTF16() { + return "*uint16" + } + return "*byte" +} + +// HasStringParam is true, if f has at least one string parameter. +// Otherwise it is false. +func (f *Fn) HasStringParam() bool { + for _, p := range f.Params { + if p.Type == tString { + return true + } + } + return false +} + +// HelperName returns name of function f helper. +func (f *Fn) HelperName() string { + if !f.HasStringParam() { + return f.Name + } + return "_" + f.Name +} + +// DLL is a DLL's filename and a string that is valid in a Go identifier that should be used when +// naming a variable that refers to the DLL. +type DLL struct { + Name string + Var string +} + +// Source files and functions. +type Source struct { + Funcs []*Fn + DLLFuncNames []*Fn + Files []string + StdLibImports []string + ExternalImports []string +} + +func (src *Source) Import(pkg string) { + src.StdLibImports = append(src.StdLibImports, pkg) + sort.Strings(src.StdLibImports) +} + +func (src *Source) ExternalImport(pkg string) { + src.ExternalImports = append(src.ExternalImports, pkg) + sort.Strings(src.ExternalImports) +} + +// ParseFiles parses files listed in fs and extracts all syscall +// functions listed in sys comments. It returns source files +// and functions collection *Source if successful. +func ParseFiles(fs []string) (*Source, error) { + src := &Source{ + Funcs: make([]*Fn, 0), + Files: make([]string, 0), + StdLibImports: []string{ + "unsafe", + }, + ExternalImports: make([]string, 0), + } + for _, file := range fs { + if err := src.ParseFile(file); err != nil { + return nil, err + } + } + src.DLLFuncNames = make([]*Fn, 0, len(src.Funcs)) + uniq := make(map[string]bool, len(src.Funcs)) + for _, fn := range src.Funcs { + name := fn.DLLFuncName() + if !uniq[name] { + src.DLLFuncNames = append(src.DLLFuncNames, fn) + uniq[name] = true + } + } + return src, nil +} + +// DLLs return dll names for a source set src. +func (src *Source) DLLs() []DLL { + uniq := make(map[string]bool) + r := make([]DLL, 0) + for _, f := range src.Funcs { + id := f.DLLVar() + if _, found := uniq[id]; !found { + uniq[id] = true + r = append(r, DLL{f.DLLName(), id}) + } + } + if *sortdecls { + sort.Slice(r, func(i, j int) bool { + return r[i].Var < r[j].Var + }) + } + return r +} + +// ParseFile adds additional file (or files, if path is a glob pattern) path to a source set src. +func (src *Source) ParseFile(path string) error { + file, err := os.Open(path) + if err == nil { + defer file.Close() + return src.parseFile(file) + } else if !(errors.Is(err, os.ErrNotExist) || errors.Is(err, windows.ERROR_INVALID_NAME)) { + return err + } + + paths, err := filepath.Glob(path) + if err != nil { + return err + } + + for _, path := range paths { + file, err := os.Open(path) + if err != nil { + return err + } + err = src.parseFile(file) + file.Close() + if err != nil { + return err + } + } + + return nil +} + +func (src *Source) parseFile(file *os.File) error { + s := bufio.NewScanner(file) + for s.Scan() { + t := trim(s.Text()) + if len(t) < 7 { + continue + } + if !strings.HasPrefix(t, "//sys") { + continue + } + t = t[5:] + if !(t[0] == ' ' || t[0] == '\t') { + continue + } + f, err := newFn(t[1:]) + if err != nil { + return err + } + src.Funcs = append(src.Funcs, f) + } + if err := s.Err(); err != nil { + return err + } + src.Files = append(src.Files, file.Name()) + if *sortdecls { + sort.Slice(src.Funcs, func(i, j int) bool { + fi, fj := src.Funcs[i], src.Funcs[j] + if fi.DLLName() == fj.DLLName() { + return fi.DLLFuncName() < fj.DLLFuncName() + } + return fi.DLLName() < fj.DLLName() + }) + } + + // get package name + fset := token.NewFileSet() + _, err := file.Seek(0, 0) + if err != nil { + return err + } + pkg, err := parser.ParseFile(fset, "", file, parser.PackageClauseOnly) + if err != nil { + return err + } + packageName = pkg.Name.Name + + return nil +} + +// IsStdRepo reports whether src is part of standard library. +func (src *Source) IsStdRepo() (bool, error) { + if len(src.Files) == 0 { + return false, errors.New("no input files provided") + } + abspath, err := filepath.Abs(src.Files[0]) + if err != nil { + return false, err + } + goroot := runtime.GOROOT() + if runtime.GOOS == "windows" { + abspath = strings.ToLower(abspath) + goroot = strings.ToLower(goroot) + } + sep := string(os.PathSeparator) + if !strings.HasSuffix(goroot, sep) { + goroot += sep + } + return strings.HasPrefix(abspath, goroot), nil +} + +// Generate output source file from a source set src. +func (src *Source) Generate(w io.Writer) error { + const ( + pkgStd = iota // any package in std library + pkgXSysWindows // x/sys/windows package + pkgOther + ) + isStdRepo, err := src.IsStdRepo() + if err != nil { + return err + } + var pkgtype int + switch { + case isStdRepo: + pkgtype = pkgStd + case packageName == "windows": + // TODO: this needs better logic than just using package name + pkgtype = pkgXSysWindows + default: + pkgtype = pkgOther + } + if *systemDLL { + switch pkgtype { + case pkgStd: + src.Import("internal/syscall/windows/sysdll") + case pkgXSysWindows: + default: + src.ExternalImport("golang.org/x/sys/windows") + } + } + if *winio { + src.ExternalImport("github.com/Microsoft/go-winio") + } + if packageName != "syscall" { + src.Import("syscall") + } + funcMap := template.FuncMap{ + "packagename": packagename, + "syscalldot": syscalldot, + "newlazydll": func(dll string) string { + arg := "\"" + dll + ".dll\"" + if !*systemDLL { + return syscalldot() + "NewLazyDLL(" + arg + ")" + } + if strings.HasPrefix(dll, "api_") || strings.HasPrefix(dll, "ext_") { + arg = strings.Replace(arg, "_", "-", -1) + } + switch pkgtype { + case pkgStd: + return syscalldot() + "NewLazyDLL(sysdll.Add(" + arg + "))" + case pkgXSysWindows: + return "NewLazySystemDLL(" + arg + ")" + default: + return "windows.NewLazySystemDLL(" + arg + ")" + } + }, + } + t := template.Must(template.New("main").Funcs(funcMap).Parse(srcTemplate)) + err = t.Execute(w, src) + if err != nil { + return errors.New("Failed to execute template: " + err.Error()) + } + return nil +} + +func writeTempSourceFile(data []byte) (string, error) { + f, err := os.CreateTemp("", "mkwinsyscall-generated-*.go") + if err != nil { + return "", err + } + _, err = f.Write(data) + if closeErr := f.Close(); err == nil { + err = closeErr + } + if err != nil { + os.Remove(f.Name()) // best effort + return "", err + } + return f.Name(), nil +} + +func usage() { + fmt.Fprintf(os.Stderr, "usage: mkwinsyscall [flags] [path ...]\n") + flag.PrintDefaults() + os.Exit(1) +} + +func main() { + flag.Usage = usage + flag.Parse() + if len(flag.Args()) <= 0 { + fmt.Fprintf(os.Stderr, "no files to parse provided\n") + usage() + } + + src, err := ParseFiles(flag.Args()) + if err != nil { + log.Fatal(err) + } + + var buf bytes.Buffer + if err := src.Generate(&buf); err != nil { + log.Fatal(err) + } + + data, err := format.Source(buf.Bytes()) + if err != nil { + log.Printf("failed to format source: %v", err) + f, err := writeTempSourceFile(buf.Bytes()) + if err != nil { + log.Fatalf("failed to write unformatted source to file: %v", err) + } + log.Fatalf("for diagnosis, wrote unformatted source to %v", f) + } + if *filename == "" { + _, err = os.Stdout.Write(data) + } else { + //nolint:gosec // G306: code file, no need for wants 0600 + err = os.WriteFile(*filename, data, 0644) + } + if err != nil { + log.Fatal(err) + } +} + +// TODO: use println instead to print in the following template + +const srcTemplate = ` +{{define "main"}} //go:build windows + +// Code generated by 'go generate' using "github.com/Microsoft/go-winio/tools/mkwinsyscall"; DO NOT EDIT. + +package {{packagename}} + +import ( +{{range .StdLibImports}}"{{.}}" +{{end}} + +{{range .ExternalImports}}"{{.}}" +{{end}} +) + +var _ unsafe.Pointer + +// Do the interface allocations only once for common +// Errno values. +const ( + errnoERROR_IO_PENDING = 997 +) + +var ( + errERROR_IO_PENDING error = {{syscalldot}}Errno(errnoERROR_IO_PENDING) + errERROR_EINVAL error = {{syscalldot}}EINVAL +) + +// errnoErr returns common boxed Errno values, to prevent +// allocations at runtime. +func errnoErr(e {{syscalldot}}Errno) error { + switch e { + case 0: + return errERROR_EINVAL + case errnoERROR_IO_PENDING: + return errERROR_IO_PENDING + } + // TODO: add more here, after collecting data on the common + // error values see on Windows. (perhaps when running + // all.bat?) + return e +} + +var ( +{{template "dlls" .}} +{{template "funcnames" .}}) +{{range .Funcs}}{{if .HasStringParam}}{{template "helperbody" .}}{{end}}{{template "funcbody" .}}{{end}} +{{end}} + +{{/* help functions */}} + +{{define "dlls"}}{{range .DLLs}} mod{{.Var}} = {{newlazydll .Name}} +{{end}}{{end}} + +{{define "funcnames"}}{{range .DLLFuncNames}} proc{{.DLLFuncName}} = mod{{.DLLVar}}.NewProc("{{.DLLFuncName}}") +{{end}}{{end}} + +{{define "helperbody"}} +func {{.Name}}({{.ParamList}}) {{template "results" .}}{ +{{template "helpertmpvars" .}} return {{.HelperName}}({{.HelperCallParamList}}) +} +{{end}} + +{{define "funcbody"}} +func {{.HelperName}}({{.HelperParamList}}) {{template "results" .}}{ +{{template "maybeabsent" .}} {{template "tmpvars" .}} {{template "syscall" .}} {{template "tmpvarsreadback" .}} +{{template "seterror" .}}{{template "printtrace" .}} return +} +{{end}} + +{{define "helpertmpvars"}}{{range .Params}}{{if .TmpVarHelperCode}} {{.TmpVarHelperCode}} +{{end}}{{end}}{{end}} + +{{define "maybeabsent"}}{{if .MaybeAbsent}}{{.MaybeAbsent}} +{{end}}{{end}} + +{{define "tmpvars"}}{{range .Params}}{{if .TmpVarCode}} {{.TmpVarCode}} +{{end}}{{end}}{{end}} + +{{define "results"}}{{if .Rets.List}}{{.Rets.List}} {{end}}{{end}} + +{{define "syscall"}}{{.Rets.SetReturnValuesCode}}{{.Syscall}}(proc{{.DLLFuncName}}.Addr(), {{.ParamCount}}, {{.SyscallParamList}}){{end}} + +{{define "tmpvarsreadback"}}{{range .Params}}{{if .TmpVarReadbackCode}} +{{.TmpVarReadbackCode}}{{end}}{{end}}{{end}} + +{{define "seterror"}}{{if .Rets.SetErrorCode}} {{.Rets.SetErrorCode}} +{{end}}{{end}} + +{{define "printtrace"}}{{if .PrintTrace}} print("SYSCALL: {{.Name}}(", {{.ParamPrintList}}") (", {{.Rets.PrintList}}")\n") +{{end}}{{end}} + +` diff --git a/vendor/github.com/Microsoft/hcsshim/.gitignore b/vendor/github.com/Microsoft/hcsshim/.gitignore index 74b68f0ad9..e81c4f97e3 100644 --- a/vendor/github.com/Microsoft/hcsshim/.gitignore +++ b/vendor/github.com/Microsoft/hcsshim/.gitignore @@ -37,17 +37,9 @@ rootfs-conv/* deps/* out/* -# protobuf files -# only files at root of the repo, otherwise this will cause issues with vendoring -/protobuf/* - # test results test/results # go workspace files go.work go.work.sum - -# keys and related artifacts -*.pem -*.cose diff --git a/vendor/github.com/Microsoft/hcsshim/.golangci.yml b/vendor/github.com/Microsoft/hcsshim/.golangci.yml index abe77f57a0..fdc2a385b7 100644 --- a/vendor/github.com/Microsoft/hcsshim/.golangci.yml +++ b/vendor/github.com/Microsoft/hcsshim/.golangci.yml @@ -21,31 +21,17 @@ linters: # - unused - gofmt # whether code was gofmt-ed - - govet # enabled by default, but just to be sure - nolintlint # ill-formed or insufficient nolint directives - stylecheck # golint replacement - thelper # test helpers without t.Helper() linters-settings: - govet: - enable-all: true - disable: - # struct order is often for Win32 compat - # also, ignore pointer bytes/GC issues for now until performance becomes an issue - - fieldalignment - check-shadowing: true - stylecheck: # https://staticcheck.io/docs/checks checks: ["all"] issues: exclude-rules: - # err is very often shadowed in nested scopes - - linters: - - govet - text: '^shadow: declaration of "err" shadows declaration' - # path is relative to module root, which is ./test/ - path: cri-containerd linters: @@ -149,19 +135,3 @@ issues: linters: - stylecheck Text: "ST1003:" - - # v0 APIs are deprecated, but still retained for backwards compatability - - path: cmd\\ncproxy\\ - linters: - - staticcheck - text: "^SA1019: .*(ncproxygrpc|nodenetsvc)[/]?v0" - - - path: internal\\tools\\networkagent - linters: - - staticcheck - text: "^SA1019: .*nodenetsvc[/]?v0" - - - path: internal\\vhdx\\info - linters: - - stylecheck - Text: "ST1003:" diff --git a/vendor/github.com/Microsoft/hcsshim/Makefile b/vendor/github.com/Microsoft/hcsshim/Makefile index d8eb30b863..742c76d848 100644 --- a/vendor/github.com/Microsoft/hcsshim/Makefile +++ b/vendor/github.com/Microsoft/hcsshim/Makefile @@ -94,9 +94,23 @@ out/delta.tar.gz: bin/init bin/vsockexec bin/cmd/gcs bin/cmd/gcstools bin/cmd/ho tar -zcf $@ -C rootfs . rm -rf rootfs -bin/cmd/gcs bin/cmd/gcstools bin/cmd/hooks/wait-paths bin/cmd/tar2ext4 bin/internal/tools/snp-report: +-include deps/cmd/gcs.gomake +-include deps/cmd/gcstools.gomake +-include deps/cmd/hooks/wait-paths.gomake +-include deps/cmd/tar2ext4.gomake +-include deps/internal/tools/snp-report.gomake + +# Implicit rule for includes that define Go targets. +%.gomake: $(SRCROOT)/Makefile @mkdir -p $(dir $@) - GOOS=linux $(GO_BUILD) -o $@ $(SRCROOT)/$(@:bin/%=%) + @/bin/echo $(@:deps/%.gomake=bin/%): $(SRCROOT)/hack/gomakedeps.sh > $@.new + @/bin/echo -e '\t@mkdir -p $$(dir $$@) $(dir $@)' >> $@.new + @/bin/echo -e '\t$$(GO_BUILD) -o $$@.new $$(SRCROOT)/$$(@:bin/%=%)' >> $@.new + @/bin/echo -e '\tGO="$(GO)" $$(SRCROOT)/hack/gomakedeps.sh $$@ $$(SRCROOT)/$$(@:bin/%=%) $$(GO_FLAGS) $$(GO_FLAGS_EXTRA) > $(@:%.gomake=%.godeps).new' >> $@.new + @/bin/echo -e '\tmv $(@:%.gomake=%.godeps).new $(@:%.gomake=%.godeps)' >> $@.new + @/bin/echo -e '\tmv $$@.new $$@' >> $@.new + @/bin/echo -e '-include $(@:%.gomake=%.godeps)' >> $@.new + mv $@.new $@ bin/vsockexec: vsockexec/vsockexec.o vsockexec/vsock.o @mkdir -p bin diff --git a/vendor/github.com/Microsoft/hcsshim/Protobuild.toml b/vendor/github.com/Microsoft/hcsshim/Protobuild.toml index 17145bb258..471f133866 100644 --- a/vendor/github.com/Microsoft/hcsshim/Protobuild.toml +++ b/vendor/github.com/Microsoft/hcsshim/Protobuild.toml @@ -1,25 +1,48 @@ -version = "2" -generators = ["go", "go-grpc"] +version = "1" +generator = "gogoctrd" +plugins = ["grpc", "fieldpath"] -# Control protoc include paths. +# Control protoc include paths. Below are usually some good defaults, but feel +# free to try it without them if it works for your project. [includes] + # Include paths that will be added before all others. Typically, you want to + # treat the root of the project as an include, but this may not be necessary. before = ["./protobuf"] - # defaults are "/usr/local/include" and "/usr/include", which don't exist on Windows. - # override defaults to supress errors about non-existant directories. - after = [] + # Paths that should be treated as include roots in relation to the vendor + # directory. These will be calculated with the vendor directory nearest the + # target package. + packages = ["github.com/gogo/protobuf"] -# This section maps protobuf imports to Go packages. +# This section maps protobuf imports to Go packages. These will become +# `-M` directives in the call to the go protobuf generator. [packages] - # github.com/containerd/cgroups protofiles still list their go path as "github.com/containerd/cgroups/cgroup1/stats" - "github.com/containerd/cgroups/v3/cgroup1/stats/metrics.proto" = "github.com/containerd/cgroups/v3/cgroup1/stats" + "gogoproto/gogo.proto" = "github.com/gogo/protobuf/gogoproto" + "google/protobuf/any.proto" = "github.com/gogo/protobuf/types" + "google/protobuf/empty.proto" = "github.com/gogo/protobuf/types" + "google/protobuf/struct.proto" = "github.com/gogo/protobuf/types" + "google/protobuf/descriptor.proto" = "github.com/gogo/protobuf/protoc-gen-gogo/descriptor" + "google/protobuf/field_mask.proto" = "github.com/gogo/protobuf/types" + "google/protobuf/timestamp.proto" = "github.com/gogo/protobuf/types" + "google/protobuf/duration.proto" = "github.com/gogo/protobuf/types" + "github/containerd/cgroups/stats/v1/metrics.proto" = "github.com/containerd/cgroups/stats/v1" [[overrides]] -prefixes = [ - "github.com/Microsoft/hcsshim/internal/shimdiag", - "github.com/Microsoft/hcsshim/internal/extendedtask", - "github.com/Microsoft/hcsshim/internal/computeagent", - "github.com/Microsoft/hcsshim/internal/ncproxyttrpc", - "github.com/Microsoft/hcsshim/internal/vmservice", -] -generators = ["go", "go-ttrpc"] +prefixes = ["github.com/Microsoft/hcsshim/internal/shimdiag"] +plugins = ["ttrpc"] + +[[overrides]] +prefixes = ["github.com/Microsoft/hcsshim/internal/extendedtask"] +plugins = ["ttrpc"] + +[[overrides]] +prefixes = ["github.com/Microsoft/hcsshim/internal/computeagent"] +plugins = ["ttrpc"] + +[[overrides]] +prefixes = ["github.com/Microsoft/hcsshim/internal/ncproxyttrpc"] +plugins = ["ttrpc"] + +[[overrides]] +prefixes = ["github.com/Microsoft/hcsshim/internal/vmservice"] +plugins = ["ttrpc"] \ No newline at end of file diff --git a/vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go b/vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go index 858c84601c..c3608dcec8 100644 --- a/vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go +++ b/vendor/github.com/Microsoft/hcsshim/computestorage/helpers.go @@ -16,9 +16,7 @@ import ( "github.com/Microsoft/hcsshim/internal/security" ) -const ( - defaultVHDXBlockSizeInMB = 1 -) +const defaultVHDXBlockSizeInMB = 1 // SetupContainerBaseLayer is a helper to setup a containers scratch. It // will create and format the vhdx's inside and the size is configurable with the sizeInGB diff --git a/vendor/github.com/Microsoft/hcsshim/computestorage/storage.go b/vendor/github.com/Microsoft/hcsshim/computestorage/storage.go index c38d3aa5a9..82d68cb8b1 100644 --- a/vendor/github.com/Microsoft/hcsshim/computestorage/storage.go +++ b/vendor/github.com/Microsoft/hcsshim/computestorage/storage.go @@ -11,7 +11,7 @@ import ( //sys hcsImportLayer(layerPath string, sourceFolderPath string, layerData string) (hr error) = computestorage.HcsImportLayer? //sys hcsExportLayer(layerPath string, exportFolderPath string, layerData string, options string) (hr error) = computestorage.HcsExportLayer? -//sys hcsDestroyLayer(layerPath string) (hr error) = computestorage.HcsDestroyLayer? +//sys hcsDestroyLayer(layerPath string) (hr error) = computestorage.HcsDestoryLayer? //sys hcsSetupBaseOSLayer(layerPath string, handle windows.Handle, options string) (hr error) = computestorage.HcsSetupBaseOSLayer? //sys hcsInitializeWritableLayer(writableLayerPath string, layerData string, options string) (hr error) = computestorage.HcsInitializeWritableLayer? //sys hcsAttachLayerStorageFilter(layerPath string, layerData string) (hr error) = computestorage.HcsAttachLayerStorageFilter? diff --git a/vendor/github.com/Microsoft/hcsshim/computestorage/zsyscall_windows.go b/vendor/github.com/Microsoft/hcsshim/computestorage/zsyscall_windows.go index b996b35e6b..9cf479181a 100644 --- a/vendor/github.com/Microsoft/hcsshim/computestorage/zsyscall_windows.go +++ b/vendor/github.com/Microsoft/hcsshim/computestorage/zsyscall_windows.go @@ -43,7 +43,7 @@ var ( modcomputestorage = windows.NewLazySystemDLL("computestorage.dll") procHcsAttachLayerStorageFilter = modcomputestorage.NewProc("HcsAttachLayerStorageFilter") - procHcsDestroyLayer = modcomputestorage.NewProc("HcsDestroyLayer") + procHcsDestoryLayer = modcomputestorage.NewProc("HcsDestoryLayer") procHcsDetachLayerStorageFilter = modcomputestorage.NewProc("HcsDetachLayerStorageFilter") procHcsExportLayer = modcomputestorage.NewProc("HcsExportLayer") procHcsFormatWritableLayerVhd = modcomputestorage.NewProc("HcsFormatWritableLayerVhd") @@ -93,11 +93,11 @@ func hcsDestroyLayer(layerPath string) (hr error) { } func _hcsDestroyLayer(layerPath *uint16) (hr error) { - hr = procHcsDestroyLayer.Find() + hr = procHcsDestoryLayer.Find() if hr != nil { return } - r0, _, _ := syscall.Syscall(procHcsDestroyLayer.Addr(), 1, uintptr(unsafe.Pointer(layerPath)), 0, 0) + r0, _, _ := syscall.Syscall(procHcsDestoryLayer.Addr(), 1, uintptr(unsafe.Pointer(layerPath)), 0, 0) if int32(r0) < 0 { if r0&0x1fff0000 == 0x00070000 { r0 &= 0xffff diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go index 37afbf6917..873b829b43 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/process.go @@ -12,16 +12,14 @@ import ( "syscall" "time" - "go.opencensus.io/trace" - "github.com/Microsoft/hcsshim/internal/cow" - hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/oc" - "github.com/Microsoft/hcsshim/internal/protocol/guestrequest" "github.com/Microsoft/hcsshim/internal/vmcompute" + "go.opencensus.io/trace" ) +// ContainerError is an error encountered in HCS type Process struct { handleLock sync.RWMutex handle vmcompute.HcsProcess @@ -52,6 +50,35 @@ func newProcess(process vmcompute.HcsProcess, processID int, computeSystem *Syst } } +type processModifyRequest struct { + Operation string + ConsoleSize *consoleSize `json:",omitempty"` + CloseHandle *closeHandle `json:",omitempty"` +} + +type consoleSize struct { + Height uint16 + Width uint16 +} + +type closeHandle struct { + Handle string +} + +type processStatus struct { + ProcessID uint32 + Exited bool + ExitCode uint32 + LastWaitResult int32 +} + +const stdIn string = "StdIn" + +const ( + modifyConsoleSize string = "ConsoleSize" + modifyCloseHandle string = "CloseHandle" +) + // Pid returns the process ID of the process within the container. func (process *Process) Pid() int { return process.processID @@ -140,39 +167,7 @@ func (process *Process) Kill(ctx context.Context) (bool, error) { return true, nil } - // HCS serializes the signals sent to a target pid per compute system handle. - // To avoid SIGKILL being serialized behind other signals, we open a new compute - // system handle to deliver the kill signal. - // If the calls to opening a new compute system handle fail, we forcefully - // terminate the container itself so that no container is left behind - hcsSystem, err := OpenComputeSystem(ctx, process.system.id) - if err != nil { - // log error and force termination of container - log.G(ctx).WithField("err", err).Error("OpenComputeSystem() call failed") - err = process.system.Terminate(ctx) - // if the Terminate() call itself ever failed, log and return error - if err != nil { - log.G(ctx).WithField("err", err).Error("Terminate() call failed") - return false, err - } - process.system.Close() - return true, nil - } - defer hcsSystem.Close() - - newProcessHandle, err := hcsSystem.OpenProcess(ctx, process.Pid()) - if err != nil { - // Return true only if the target process has either already - // exited, or does not exist. - if IsAlreadyStopped(err) { - return true, nil - } else { - return false, err - } - } - defer newProcessHandle.Close() - - resultJSON, err := vmcompute.HcsTerminateProcess(ctx, newProcessHandle.handle) + resultJSON, err := vmcompute.HcsTerminateProcess(ctx, process.handle) if err != nil { // We still need to check these two cases, as processes may still be killed by an // external actor (human operator, OOM, random script etc). @@ -196,9 +191,9 @@ func (process *Process) Kill(ctx context.Context) (bool, error) { } } events := processHcsResult(ctx, resultJSON) - delivered, err := newProcessHandle.processSignalResult(ctx, err) + delivered, err := process.processSignalResult(ctx, err) if err != nil { - err = makeProcessError(newProcessHandle, operation, err, events) + err = makeProcessError(process, operation, err, events) } process.killSignalDelivered = delivered @@ -233,14 +228,14 @@ func (process *Process) waitBackground() { process.handleLock.RLock() defer process.handleLock.RUnlock() - // Make sure we didn't race with Close() here + // Make sure we didnt race with Close() here if process.handle != 0 { propertiesJSON, resultJSON, err = vmcompute.HcsGetProcessProperties(ctx, process.handle) events := processHcsResult(ctx, resultJSON) if err != nil { err = makeProcessError(process, operation, err, events) } else { - properties := &hcsschema.ProcessStatus{} + properties := &processStatus{} err = json.Unmarshal([]byte(propertiesJSON), properties) if err != nil { err = makeProcessError(process, operation, err, nil) @@ -291,9 +286,10 @@ func (process *Process) ResizeConsole(ctx context.Context, width, height uint16) if process.handle == 0 { return makeProcessError(process, operation, ErrAlreadyClosed, nil) } - modifyRequest := hcsschema.ProcessModifyRequest{ - Operation: guestrequest.ModifyProcessConsoleSize, - ConsoleSize: &hcsschema.ConsoleSize{ + + modifyRequest := processModifyRequest{ + Operation: modifyConsoleSize, + ConsoleSize: &consoleSize{ Height: height, Width: width, }, @@ -393,12 +389,18 @@ func (process *Process) CloseStdin(ctx context.Context) (err error) { return makeProcessError(process, operation, ErrAlreadyClosed, nil) } + process.stdioLock.Lock() + defer process.stdioLock.Unlock() + if process.stdin == nil { + return nil + } + //HcsModifyProcess request to close stdin will fail if the process has already exited if !process.stopped() { - modifyRequest := hcsschema.ProcessModifyRequest{ - Operation: guestrequest.CloseProcessHandle, - CloseHandle: &hcsschema.CloseHandle{ - Handle: guestrequest.STDInHandle, + modifyRequest := processModifyRequest{ + Operation: modifyCloseHandle, + CloseHandle: &closeHandle{ + Handle: stdIn, }, } @@ -414,12 +416,8 @@ func (process *Process) CloseStdin(ctx context.Context) (err error) { } } - process.stdioLock.Lock() - defer process.stdioLock.Unlock() - if process.stdin != nil { - process.stdin.Close() - process.stdin = nil - } + process.stdin.Close() + process.stdin = nil return nil } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cim_mount.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cim_mount.go deleted file mode 100644 index 81865e7ea4..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/cim_mount.go +++ /dev/null @@ -1,25 +0,0 @@ -/* - * HCS API - * - * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) - * - * API version: 2.5 - * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) - */ - -package hcsschema - -const ( - CimMountFlagNone uint32 = 0x0 - CimMountFlagChildOnly uint32 = 0x1 - CimMountFlagEnableDax uint32 = 0x2 - CimMountFlagCacheFiles uint32 = 0x4 - CimMountFlagCacheRegions uint32 = 0x8 -) - -type CimMount struct { - ImagePath string `json:"ImagePath,omitempty"` - FileSystemName string `json:"FileSystemName,omitempty"` - VolumeGuid string `json:"VolumeGuid,omitempty"` - MountFlags uint32 `json:"MountFlags,omitempty"` -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/close_handle.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/close_handle.go index bb36777b82..b4f9c315b0 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/close_handle.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/close_handle.go @@ -9,8 +9,6 @@ package hcsschema -import "github.com/Microsoft/hcsshim/internal/protocol/guestrequest" - type CloseHandle struct { - Handle guestrequest.STDIOHandle `json:"Handle,omitempty"` // NOTE: Swagger generated as string. Locally updated. + Handle string `json:"Handle,omitempty"` } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/console_size.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/console_size.go index 347da50e86..68aa04a573 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/console_size.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/console_size.go @@ -9,11 +9,8 @@ package hcsschema -// NOTE: Swagger generated fields as int32. Locally updated to uint16 to match documentation. -// https://learn.microsoft.com/en-us/virtualization/api/hcs/schemareference#ConsoleSize - type ConsoleSize struct { - Height uint16 `json:"Height,omitempty"` + Height int32 `json:"Height,omitempty"` - Width uint16 `json:"Width,omitempty"` + Width int32 `json:"Width,omitempty"` } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/isolation_settings.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/isolation_settings.go index a34c2f99ae..3726a297e1 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/isolation_settings.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/isolation_settings.go @@ -17,5 +17,5 @@ type IsolationSettings struct { DebugPort int64 `json:"DebugPort,omitempty"` // Optional data passed by host on isolated virtual machine start LaunchData string `json:"LaunchData,omitempty"` - HclEnabled *bool `json:"HclEnabled,omitempty"` + HclEnabled bool `json:"HclEnabled,omitempty"` } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_modify_request.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_modify_request.go index 862b7911e2..e4ed095c7b 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_modify_request.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_modify_request.go @@ -9,11 +9,9 @@ package hcsschema -import "github.com/Microsoft/hcsshim/internal/protocol/guestrequest" - -// Passed to HcsRpc_ModifyProcess +// Passed to HcsRpc_ModifyProcess type ProcessModifyRequest struct { - Operation guestrequest.ProcessModifyOperation `json:"Operation,omitempty"` // NOTE: Swagger generated as string. Locally updated. + Operation string `json:"Operation,omitempty"` ConsoleSize *ConsoleSize `json:"ConsoleSize,omitempty"` diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_status.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_status.go index 3c371d4650..ad9a4fa9ad 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_status.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/process_status.go @@ -9,16 +9,13 @@ package hcsschema -// NOTE: Swagger generated fields as int32. Locally updated to uint16 to match documentation. -// https://learn.microsoft.com/en-us/virtualization/api/hcs/schemareference#ConsoleSize - -// Status of a process running in a container +// Status of a process running in a container type ProcessStatus struct { - ProcessId uint32 `json:"ProcessId,omitempty"` // NOTE: Swagger generated as int32. Locally updated to match documentation. + ProcessId int32 `json:"ProcessId,omitempty"` Exited bool `json:"Exited,omitempty"` - ExitCode uint32 `json:"ExitCode,omitempty"` // NOTE: Swagger generated as int32. Locally updated to match documentation. + ExitCode int32 `json:"ExitCode,omitempty"` LastWaitResult int32 `json:"LastWaitResult,omitempty"` } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/properties.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/properties.go index 0c7efe8d40..17558cba0f 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/properties.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/schema2/properties.go @@ -10,7 +10,7 @@ package hcsschema import ( - v1 "github.com/containerd/cgroups/v3/cgroup1/stats" + v1 "github.com/containerd/cgroups/stats/v1" ) type Properties struct { diff --git a/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go b/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go index cf1db7da9a..cf20adefc9 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/hcs/system.go @@ -304,22 +304,11 @@ func (computeSystem *System) WaitError() error { return computeSystem.waitError } -// Wait synchronously waits for the compute system to shutdown or terminate. -// If the compute system has already exited returns the previous error (if any). +// Wait synchronously waits for the compute system to shutdown or terminate. If +// the compute system has already exited returns the previous error (if any). func (computeSystem *System) Wait() error { - return computeSystem.WaitCtx(context.Background()) -} - -// WaitCtx synchronously waits for the compute system to shutdown or terminate, or the context to be cancelled. -// -// See [System.Wait] for more information. -func (computeSystem *System) WaitCtx(ctx context.Context) error { - select { - case <-computeSystem.WaitChannel(): - return computeSystem.WaitError() - case <-ctx.Done(): - return ctx.Err() - } + <-computeSystem.WaitChannel() + return computeSystem.WaitError() } // stopped returns true if the compute system stopped. @@ -746,17 +735,9 @@ func (computeSystem *System) OpenProcess(ctx context.Context, pid int) (*Process } // Close cleans up any state associated with the compute system but does not terminate or wait for it. -func (computeSystem *System) Close() error { - return computeSystem.CloseCtx(context.Background()) -} - -// CloseCtx is similar to [System.Close], but accepts a context. -// -// The context is used for all operations, including waits, so timeouts/cancellations may prevent -// proper system cleanup. -func (computeSystem *System) CloseCtx(ctx context.Context) (err error) { +func (computeSystem *System) Close() (err error) { operation := "hcs::System::Close" - ctx, span := oc.StartSpan(ctx, operation) + ctx, span := oc.StartSpan(context.Background(), operation) defer span.End() defer func() { oc.SetSpanStatus(span, err) }() span.AddAttributes(trace.StringAttribute("cid", computeSystem.id)) diff --git a/vendor/github.com/Microsoft/hcsshim/internal/jobobject/jobobject.go b/vendor/github.com/Microsoft/hcsshim/internal/jobobject/jobobject.go index 4a224fbece..64afd35dc6 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/jobobject/jobobject.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/jobobject/jobobject.go @@ -167,7 +167,7 @@ func Create(ctx context.Context, options *Options) (_ *JobObject, err error) { // // Returns a JobObject structure and an error if there is one. func Open(ctx context.Context, options *Options) (_ *JobObject, err error) { - if options == nil || options.Name == "" { + if options == nil || (options != nil && options.Name == "") { return nil, errors.New("no job object name specified to open") } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/log/format.go b/vendor/github.com/Microsoft/hcsshim/internal/log/format.go deleted file mode 100644 index 6d69c15b97..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/log/format.go +++ /dev/null @@ -1,114 +0,0 @@ -package log - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "net" - "reflect" - "time" - - "github.com/sirupsen/logrus" - "google.golang.org/protobuf/encoding/protojson" - "google.golang.org/protobuf/proto" -) - -// TimeFormat is [time.RFC3339Nano] with nanoseconds padded using -// zeros to ensure the formatted time is always the same number of -// characters. -// Based on RFC3339NanoFixed from github.com/containerd/log -const TimeFormat = "2006-01-02T15:04:05.000000000Z07:00" - -func FormatTime(t time.Time) string { - return t.Format(TimeFormat) -} - -// DurationFormat formats a [time.Duration] log entry. -// -// A nil value signals an error with the formatting. -type DurationFormat func(time.Duration) interface{} - -func DurationFormatString(d time.Duration) interface{} { return d.String() } -func DurationFormatSeconds(d time.Duration) interface{} { return d.Seconds() } -func DurationFormatMilliseconds(d time.Duration) interface{} { return d.Milliseconds() } - -// FormatIO formats net.Conn and other types that have an `Addr()` or `Name()`. -// -// See FormatEnabled for more information. -func FormatIO(ctx context.Context, v interface{}) string { - m := make(map[string]string) - m["type"] = reflect.TypeOf(v).String() - - switch t := v.(type) { - case net.Conn: - m["localAddress"] = formatAddr(t.LocalAddr()) - m["remoteAddress"] = formatAddr(t.RemoteAddr()) - case interface{ Addr() net.Addr }: - m["address"] = formatAddr(t.Addr()) - default: - return Format(ctx, t) - } - - return Format(ctx, m) -} - -func formatAddr(a net.Addr) string { - return a.Network() + "://" + a.String() -} - -// Format formats an object into a JSON string, without any indendtation or -// HTML escapes. -// Context is used to output a log waring if the conversion fails. -// -// This is intended primarily for `trace.StringAttribute()` -func Format(ctx context.Context, v interface{}) string { - b, err := encode(v) - if err != nil { - // logging errors aren't really warning worthy, and can potentially spam a lot of logs out - G(ctx).WithFields(logrus.Fields{ - logrus.ErrorKey: err, - "type": fmt.Sprintf("%T", v), - }).Debug("could not format value") - return "" - } - - return string(b) -} - -func encode(v interface{}) (_ []byte, err error) { - if m, ok := v.(proto.Message); ok { - // use canonical JSON encoding for protobufs (instead of [encoding/json]) - // https://protobuf.dev/programming-guides/proto3/#json - var b []byte - b, err = protojson.MarshalOptions{ - AllowPartial: true, - // protobuf defaults to camel case for JSON encoding; use proto field name instead (snake case) - UseProtoNames: true, - }.Marshal(m) - if err == nil { - // the protojson marshaller tries to unmarshal anypb.Any fields, which can - // fail for types encoded with "github.com/containerd/typeurl/v2" - // we can try creating a dedicated protoregistry.MessageTypeResolver that uses typeurl, but, its - // more robust to fall back on json marshalling for errors in general - return b, nil - } - - } - - buf := &bytes.Buffer{} - enc := json.NewEncoder(buf) - enc.SetEscapeHTML(false) - enc.SetIndent("", "") - - if jErr := enc.Encode(v); jErr != nil { - if err != nil { - // TODO (go1.20): use multierror via fmt.Errorf("...: %w; ...: %w", ...) - return nil, fmt.Errorf("protojson encoding: %v; json encoding: %w", err, jErr) - } - return nil, fmt.Errorf("json encoding: %w", jErr) - } - - // encoder.Encode appends a newline to the end - return bytes.TrimSpace(buf.Bytes()), nil -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/log/hook.go b/vendor/github.com/Microsoft/hcsshim/internal/log/hook.go index bb547a329f..8f89405923 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/log/hook.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/log/hook.go @@ -1,57 +1,23 @@ package log import ( - "bytes" - "reflect" - "time" - "github.com/Microsoft/hcsshim/internal/logfields" "github.com/sirupsen/logrus" "go.opencensus.io/trace" ) -const nullString = "null" - -// Hook intercepts and formats a [logrus.Entry] before it logged. +// Hook serves to intercept and format `logrus.Entry`s before they are passed +// to the ETW hook. // -// The shim either outputs the logs through an ETW hook, discarding the (formatted) output -// or logs output to a pipe for logging binaries to consume. -// The Linux GCS outputs logrus entries over stdout, which is then consumed and re-output -// by the shim. -type Hook struct { - // EncodeAsJSON formats structs, maps, arrays, slices, and [bytes.Buffer] as JSON. - // Variables of [bytes.Buffer] will be converted to []byte. - // - // Default is false. - EncodeAsJSON bool - - // FormatTime specifies the format for [time.Time] variables. - // An empty string disables formatting. - // When disabled, the fall back will the JSON encoding, if enabled. - // - // Default is [TimeFormat]. - TimeFormat string - - // Duration format converts a [time.Duration] fields to an appropriate encoding. - // nil disables formatting. - // When disabled, the fall back will the JSON encoding, if enabled. - // - // Default is [DurationFormatString], which appends a duration unit after the value. - DurationFormat DurationFormat - - // AddSpanContext adds [logfields.TraceID] and [logfields.SpanID] fields to - // the entry from the span context stored in [logrus.Entry.Context], if it exists. - AddSpanContext bool -} +// The containerd shim discards the (formatted) logrus output, and outputs only via ETW. +// The Linux GCS outputs logrus entries over stdout, which is consumed by the shim and +// then re-output via the ETW hook. +type Hook struct{} var _ logrus.Hook = &Hook{} func NewHook() *Hook { - return &Hook{ - TimeFormat: TimeFormat, - DurationFormat: DurationFormatString, - AddSpanContext: true, - } + return &Hook{} } func (h *Hook) Levels() []logrus.Level { @@ -59,108 +25,14 @@ func (h *Hook) Levels() []logrus.Level { } func (h *Hook) Fire(e *logrus.Entry) (err error) { - // JSON encode, if necessary, then add span information - h.encode(e) h.addSpanContext(e) return nil } -// encode loops through all the fields in the [logrus.Entry] and encodes them according to -// the settings in [Hook]. -// If [Hook.TimeFormat] is non-empty, it will be passed to [time.Time.Format] for -// fields of type [time.Time]. -// -// If [Hook.EncodeAsJSON] is true, then fields that are not numeric, boolean, strings, or -// errors will be encoded via a [json.Marshal] (with HTML escaping disabled). -// Chanel- and function-typed fields, as well as unsafe pointers are left alone and not encoded. -// -// If [Hook.TimeFormat] and [Hook.DurationFormat] are empty and [Hook.EncodeAsJSON] is false, -// then this is a no-op. -func (h *Hook) encode(e *logrus.Entry) { - d := e.Data - - formatTime := h.TimeFormat != "" - formatDuration := h.DurationFormat != nil - if !(h.EncodeAsJSON || formatTime || formatDuration) { - return - } - - for k, v := range d { - // encode types with dedicated formatting options first - - if vv, ok := v.(time.Time); formatTime && ok { - d[k] = vv.Format(h.TimeFormat) - continue - } - - if vv, ok := v.(time.Duration); formatDuration && ok { - d[k] = h.DurationFormat(vv) - continue - } - - // general case JSON encoding - - if !h.EncodeAsJSON { - continue - } - - switch vv := v.(type) { - // built in types - // "json" marshals errors as "{}", so leave alone here - case bool, string, error, uintptr, - int8, int16, int32, int64, int, - uint8, uint32, uint64, uint, - float32, float64: - continue - - // Rather than setting d[k] = vv.String(), JSON encode []byte value, since it - // may be a binary payload and not representable as a string. - // `case bytes.Buffer,*bytes.Buffer:` resolves `vv` to `interface{}`, - // so cannot use `vv.Bytes`. - // Could move to below the `reflect.Indirect()` call below, but - // that would require additional typematching and dereferencing. - // Easier to keep these duplicate branches here. - case bytes.Buffer: - v = vv.Bytes() - case *bytes.Buffer: - v = vv.Bytes() - } - - // dereference pointer or interface variables - rv := reflect.Indirect(reflect.ValueOf(v)) - // check if `v` is a null pointer - if !rv.IsValid() { - d[k] = nullString - continue - } - - switch rv.Kind() { - case reflect.Map, reflect.Struct, reflect.Array, reflect.Slice: - default: - // Bool, [U]?Int*, Float*, Complex*, Uintptr, String: encoded as normal - // Chan, Func: not supported by json - // Interface, Pointer: dereferenced above - // UnsafePointer: not supported by json, not safe to de-reference; leave alone - continue - } - - b, err := encode(v) - if err != nil { - // Errors are written to stderr (ie, to `panic.log`) and stops the remaining - // hooks (ie, exporting to ETW) from firing. So add encoding errors to - // the entry data to be written out, but keep on processing. - d[k+"-"+logrus.ErrorKey] = err.Error() - // keep the original `v` as the value, - continue - } - d[k] = string(b) - } -} - func (h *Hook) addSpanContext(e *logrus.Entry) { ctx := e.Context - if !h.AddSpanContext || ctx == nil { + if ctx == nil { return } span := trace.FromContext(ctx) diff --git a/vendor/github.com/Microsoft/hcsshim/internal/log/nopformatter.go b/vendor/github.com/Microsoft/hcsshim/internal/log/nopformatter.go deleted file mode 100644 index 909ba68b28..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/log/nopformatter.go +++ /dev/null @@ -1,12 +0,0 @@ -package log - -import ( - "github.com/sirupsen/logrus" -) - -type NopFormatter struct{} - -var _ logrus.Formatter = NopFormatter{} - -// Format does nothing and returns a nil slice. -func (NopFormatter) Format(*logrus.Entry) ([]byte, error) { return nil, nil } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/log/scrub.go b/vendor/github.com/Microsoft/hcsshim/internal/log/scrub.go index 5a960e0d35..d51e0fd89f 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/log/scrub.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/log/scrub.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/json" "errors" + "strings" "sync/atomic" hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" @@ -55,11 +56,11 @@ func ScrubProcessParameters(s string) (string, error) { } pp.Environment = map[string]string{_scrubbedReplacement: _scrubbedReplacement} - b, err := encode(pp) - if err != nil { + buf := bytes.NewBuffer(b[:0]) + if err := encode(buf, pp); err != nil { return "", err } - return string(b), nil + return strings.TrimSpace(buf.String()), nil } // ScrubBridgeCreate scrubs requests sent over the bridge of type @@ -89,11 +90,11 @@ func scrubBridgeCreate(m genMap) error { } func scrubLinuxHostedSystem(m genMap) error { - if m, ok := index(m, "OciSpecification"); ok { //nolint:govet // shadow + if m, ok := index(m, "OciSpecification"); ok { if _, ok := m["annotations"]; ok { m["annotations"] = map[string]string{_scrubbedReplacement: _scrubbedReplacement} } - if m, ok := index(m, "process"); ok { //nolint:govet // shadow + if m, ok := index(m, "process"); ok { if _, ok := m["env"]; ok { m["env"] = []string{_scrubbedReplacement} return nil @@ -113,7 +114,7 @@ func scrubExecuteProcess(m genMap) error { if !isRequestBase(m) { return ErrUnknownType } - if m, ok := index(m, "Settings"); ok { //nolint:govet // shadow + if m, ok := index(m, "Settings"); ok { if ss, ok := m["ProcessParameters"]; ok { // ProcessParameters is a json encoded struct passed as a regular sting field s, ok := ss.(string) @@ -149,12 +150,21 @@ func scrubBytes(b []byte, scrub scrubberFunc) ([]byte, error) { return nil, err } - b, err := encode(m) - if err != nil { + buf := &bytes.Buffer{} + if err := encode(buf, m); err != nil { return nil, err } - return b, nil + return bytes.TrimSpace(buf.Bytes()), nil +} + +func encode(buf *bytes.Buffer, v interface{}) error { + enc := json.NewEncoder(buf) + enc.SetEscapeHTML(false) + if err := enc.Encode(v); err != nil { + return err + } + return nil } func isRequestBase(m genMap) bool { diff --git a/vendor/github.com/Microsoft/hcsshim/internal/oc/errors.go b/vendor/github.com/Microsoft/hcsshim/internal/oc/errors.go deleted file mode 100644 index 71df25b8df..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/oc/errors.go +++ /dev/null @@ -1,69 +0,0 @@ -package oc - -import ( - "errors" - "io" - "net" - "os" - - "github.com/containerd/containerd/errdefs" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -// todo: break import cycle with "internal/hcs/errors.go" and reference errors defined there -// todo: add errors defined in "internal/guest/gcserror" (Hresult does not implement error) - -func toStatusCode(err error) codes.Code { - // checks if err implements GRPCStatus() *"google.golang.org/grpc/status".Status, - // wraps an error defined in "github.com/containerd/containerd/errdefs", or is a - // context timeout or cancelled error - if s, ok := status.FromError(errdefs.ToGRPC(err)); ok { - return s.Code() - } - - switch { - // case isAny(err): - // return codes.Cancelled - case isAny(err, os.ErrInvalid): - return codes.InvalidArgument - case isAny(err, os.ErrDeadlineExceeded): - return codes.DeadlineExceeded - case isAny(err, os.ErrNotExist): - return codes.NotFound - case isAny(err, os.ErrExist): - return codes.AlreadyExists - case isAny(err, os.ErrPermission): - return codes.PermissionDenied - // case isAny(err): - // return codes.ResourceExhausted - case isAny(err, os.ErrClosed, net.ErrClosed, io.ErrClosedPipe, io.ErrShortBuffer): - return codes.FailedPrecondition - // case isAny(err): - // return codes.Aborted - // case isAny(err): - // return codes.OutOfRange - // case isAny(err): - // return codes.Unimplemented - case isAny(err, io.ErrNoProgress): - return codes.Internal - // case isAny(err): - // return codes.Unavailable - case isAny(err, io.ErrShortWrite, io.ErrUnexpectedEOF): - return codes.DataLoss - // case isAny(err): - // return codes.Unauthenticated - default: - return codes.Unknown - } -} - -// isAny returns true if errors.Is is true for any of the provided errors, errs. -func isAny(err error, errs ...error) bool { - for _, e := range errs { - if errors.Is(err, e) { - return true - } - } - return false -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go b/vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go index 28f8f43a93..f428bdaf72 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/oc/exporter.go @@ -3,26 +3,19 @@ package oc import ( "github.com/sirupsen/logrus" "go.opencensus.io/trace" - "google.golang.org/grpc/codes" - - "github.com/Microsoft/hcsshim/internal/log" - "github.com/Microsoft/hcsshim/internal/logfields" ) -const spanMessage = "Span" - -var _errorCodeKey = logrus.ErrorKey + "Code" +var _ = (trace.Exporter)(&LogrusExporter{}) // LogrusExporter is an OpenCensus `trace.Exporter` that exports // `trace.SpanData` to logrus output. -type LogrusExporter struct{} - -var _ trace.Exporter = &LogrusExporter{} +type LogrusExporter struct { +} // ExportSpan exports `s` based on the the following rules: // -// 1. All output will contain `s.Attributes`, `s.SpanKind`, `s.TraceID`, -// `s.SpanID`, and `s.ParentSpanID` for correlation +// 1. All output will contain `s.Attributes`, `s.TraceID`, `s.SpanID`, +// `s.ParentSpanID` for correlation // // 2. Any calls to .Annotate will not be supported. // @@ -30,57 +23,21 @@ var _ trace.Exporter = &LogrusExporter{} // `s.Status.Code != 0` in which case it will be written at `logrus.ErrorLevel` // providing `s.Status.Message` as the error value. func (le *LogrusExporter) ExportSpan(s *trace.SpanData) { - if s.DroppedAnnotationCount > 0 { - logrus.WithFields(logrus.Fields{ - "name": s.Name, - logfields.TraceID: s.TraceID.String(), - logfields.SpanID: s.SpanID.String(), - "dropped": s.DroppedAttributeCount, - "maxAttributes": len(s.Attributes), - }).Warning("span had dropped attributes") - } - - entry := log.L.Dup() - // Combine all span annotations with span data (eg, trace ID, span ID, parent span ID, - // error, status code) - // (OC) Span attributes are guaranteed to be strings, bools, or int64s, so we can - // can skip overhead in entry.WithFields() and add them directly to entry.Data. - // Preallocate ahead of time, since we should add, at most, 10 additional entries - data := make(logrus.Fields, len(entry.Data)+len(s.Attributes)+10) - - // Default log entry may have prexisting/application-wide data - for k, v := range entry.Data { - data[k] = v - } - for k, v := range s.Attributes { - data[k] = v - } - - data[logfields.Name] = s.Name - data[logfields.TraceID] = s.TraceID.String() - data[logfields.SpanID] = s.SpanID.String() - data[logfields.ParentSpanID] = s.ParentSpanID.String() - data[logfields.StartTime] = s.StartTime - data[logfields.EndTime] = s.EndTime - data[logfields.Duration] = s.EndTime.Sub(s.StartTime) - if sk := spanKindToString(s.SpanKind); sk != "" { - data["spanKind"] = sk - } + // Combine all span annotations with traceID, spanID, parentSpanID + baseEntry := logrus.WithFields(logrus.Fields(s.Attributes)) + baseEntry.Data["traceID"] = s.TraceID.String() + baseEntry.Data["spanID"] = s.SpanID.String() + baseEntry.Data["parentSpanID"] = s.ParentSpanID.String() + baseEntry.Data["startTime"] = s.StartTime + baseEntry.Data["endTime"] = s.EndTime + baseEntry.Data["duration"] = s.EndTime.Sub(s.StartTime).String() + baseEntry.Data["name"] = s.Name + baseEntry.Time = s.StartTime level := logrus.InfoLevel if s.Status.Code != 0 { level = logrus.ErrorLevel - - // don't overwrite an existing "error" or "errorCode" attributes - if _, ok := data[logrus.ErrorKey]; !ok { - data[logrus.ErrorKey] = s.Status.Message - } - if _, ok := data[_errorCodeKey]; !ok { - data[_errorCodeKey] = codes.Code(s.Status.Code).String() - } + baseEntry.Data[logrus.ErrorKey] = s.Status.Message } - - entry.Data = data - entry.Time = s.StartTime - entry.Log(level, spanMessage) + baseEntry.Log(level, "Span") } diff --git a/vendor/github.com/Microsoft/hcsshim/internal/oc/span.go b/vendor/github.com/Microsoft/hcsshim/internal/oc/span.go index 7260784326..0e2b7e9bf6 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/oc/span.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/oc/span.go @@ -14,7 +14,8 @@ var DefaultSampler = trace.AlwaysSample() func SetSpanStatus(span *trace.Span, err error) { status := trace.Status{} if err != nil { - status.Code = int32(toStatusCode(err)) + // TODO: JTERRY75 - Handle errors in a non-generic way + status.Code = trace.StatusCodeUnknown status.Message = err.Error() } span.SetStatus(status) @@ -45,14 +46,3 @@ func update(ctx context.Context, s *trace.Span) (context.Context, *trace.Span) { var WithServerSpanKind = trace.WithSpanKind(trace.SpanKindServer) var WithClientSpanKind = trace.WithSpanKind(trace.SpanKindClient) - -func spanKindToString(sk int) string { - switch sk { - case trace.SpanKindClient: - return "client" - case trace.SpanKindServer: - return "server" - default: - return "" - } -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/protocol/guestrequest/types.go b/vendor/github.com/Microsoft/hcsshim/internal/protocol/guestrequest/types.go index 4f441803b7..d8d0c20b10 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/protocol/guestrequest/types.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/protocol/guestrequest/types.go @@ -5,7 +5,7 @@ package guestrequest type RequestType string type ResourceType string -// RequestType const. +// RequestType const const ( RequestTypeAdd RequestType = "Add" RequestTypeRemove RequestType = "Remove" @@ -54,23 +54,3 @@ var ( "305891a9-b251-5dfe-91a2-c25d9212275b", } ) - -// constants for v2 schema ProcessModifyRequest - -// Operation type for [hcsschema.ProcessModifyRequest]. -type ProcessModifyOperation string - -const ( - ModifyProcessConsoleSize ProcessModifyOperation = "ConsoleSize" - CloseProcessHandle ProcessModifyOperation = "CloseHandle" -) - -// Standard IO handle(s) to close for [hcsschema.CloseHandle] in [hcsschema.ProcessModifyRequest]. -type STDIOHandle string - -const ( - STDInHandle STDIOHandle = "StdIn" - STDOutHandle STDIOHandle = "StdOut" - STDErrHandle STDIOHandle = "StdErr" - AllHandles STDIOHandle = "All" -) diff --git a/vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go b/vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go index 70368533b4..74967f21af 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/safefile/safeopen.go @@ -276,7 +276,7 @@ func RemoveAllRelative(path string, root *os.File) error { } // It is necessary to use os.Open as Readdirnames does not work with - // OpenRelative. This is safe because the above LstatRelative fails + // OpenRelative. This is safe because the above lstatrelative fails // if the target is outside the root, and we know this is not a // symlink from the above FILE_ATTRIBUTE_REPARSE_POINT check. fd, err := os.Open(filepath.Join(root.Name(), path)) @@ -293,12 +293,12 @@ func RemoveAllRelative(path string, root *os.File) error { for { names, err1 := fd.Readdirnames(100) for _, name := range names { - if err2 := RemoveAllRelative(path+string(os.PathSeparator)+name, root); err == nil { - err = err2 + err1 := RemoveAllRelative(path+string(os.PathSeparator)+name, root) + if err == nil { + err = err1 } } if err1 == io.EOF { - // Readdirnames has no more files to return break } // If Readdirnames returned an error, use it. diff --git a/vendor/github.com/Microsoft/hcsshim/internal/security/grantvmgroupaccess.go b/vendor/github.com/Microsoft/hcsshim/internal/security/grantvmgroupaccess.go index 7dfa1e594c..bfcc157699 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/security/grantvmgroupaccess.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/security/grantvmgroupaccess.go @@ -23,14 +23,20 @@ type ( ) type explicitAccess struct { + //nolint:structcheck accessPermissions accessMask - accessMode accessMode - inheritance inheritMode - trustee trustee + //nolint:structcheck + accessMode accessMode + //nolint:structcheck + inheritance inheritMode + //nolint:structcheck + trustee trustee } type trustee struct { - multipleTrustee *trustee + //nolint:unused,structcheck + multipleTrustee *trustee + //nolint:unused,structcheck multipleTrusteeOperation int32 trusteeForm trusteeForm trusteeType trusteeType diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/baselayerwriter.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/baselayer.go similarity index 100% rename from vendor/github.com/Microsoft/hcsshim/internal/wclayer/baselayerwriter.go rename to vendor/github.com/Microsoft/hcsshim/internal/wclayer/baselayer.go diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/baselayerreader.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/baselayerreader.go deleted file mode 100644 index 792f13f598..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/baselayerreader.go +++ /dev/null @@ -1,216 +0,0 @@ -package wclayer - -import ( - "errors" - "io" - "os" - "path/filepath" - "strings" - "syscall" - - "github.com/Microsoft/go-winio" - "github.com/Microsoft/hcsshim/internal/longpath" - "github.com/Microsoft/hcsshim/internal/oc" - "go.opencensus.io/trace" -) - -type baseLayerReader struct { - s *trace.Span - root string - result chan *fileEntry - proceed chan bool - currentFile *os.File - backupReader *winio.BackupFileReader -} - -func newBaseLayerReader(root string, s *trace.Span) (r *baseLayerReader) { - r = &baseLayerReader{ - s: s, - root: root, - result: make(chan *fileEntry), - proceed: make(chan bool), - } - go r.walk() - return r -} - -func (r *baseLayerReader) walkUntilCancelled() error { - root, err := longpath.LongAbs(r.root) - if err != nil { - return err - } - - r.root = root - - err = filepath.Walk(filepath.Join(r.root, filesPath), func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - - // Indirect fix for https://github.com/moby/moby/issues/32838#issuecomment-343610048. - // Handle failure from what may be a golang bug in the conversion of - // UTF16 to UTF8 in files which are left in the recycle bin. Os.Lstat - // which is called by filepath.Walk will fail when a filename contains - // unicode characters. Skip the recycle bin regardless which is goodness. - if strings.EqualFold(path, filepath.Join(r.root, `Files\$Recycle.Bin`)) && info.IsDir() { - return filepath.SkipDir - } - - r.result <- &fileEntry{path, info, nil} - if !<-r.proceed { - return errorIterationCanceled - } - - return nil - }) - - if err == errorIterationCanceled { - return nil - } - - if err != nil { - return err - } - - utilityVMAbsPath := filepath.Join(r.root, UtilityVMPath) - utilityVMFilesAbsPath := filepath.Join(r.root, UtilityVMFilesPath) - - // Ignore a UtilityVM without Files, that's not _really_ a UtiltyVM - if _, err = os.Lstat(utilityVMFilesAbsPath); err != nil { - if os.IsNotExist(err) { - return io.EOF - } - return err - } - - err = filepath.Walk(utilityVMAbsPath, func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - - if path != utilityVMAbsPath && path != utilityVMFilesAbsPath && !hasPathPrefix(path, utilityVMFilesAbsPath) { - if info.IsDir() { - return filepath.SkipDir - } - return nil - } - - r.result <- &fileEntry{path, info, nil} - if !<-r.proceed { - return errorIterationCanceled - } - - return nil - }) - - if err == errorIterationCanceled { - return nil - } - - if err != nil { - return err - } - - return io.EOF -} - -func (r *baseLayerReader) walk() { - defer close(r.result) - if !<-r.proceed { - return - } - - err := r.walkUntilCancelled() - if err != nil { - for { - r.result <- &fileEntry{err: err} - if !<-r.proceed { - return - } - } - } -} - -func (r *baseLayerReader) reset() { - if r.backupReader != nil { - r.backupReader.Close() - r.backupReader = nil - } - if r.currentFile != nil { - r.currentFile.Close() - r.currentFile = nil - } -} - -func (r *baseLayerReader) Next() (path string, size int64, fileInfo *winio.FileBasicInfo, err error) { - r.reset() - r.proceed <- true - fe := <-r.result - if fe == nil { - err = errors.New("BaseLayerReader closed") - return - } - if fe.err != nil { - err = fe.err - return - } - - path, err = filepath.Rel(r.root, fe.path) - if err != nil { - return - } - - f, err := openFileOrDir(fe.path, syscall.GENERIC_READ, syscall.OPEN_EXISTING) - if err != nil { - return - } - defer func() { - if f != nil { - f.Close() - } - }() - - fileInfo, err = winio.GetFileBasicInfo(f) - if err != nil { - return - } - - size = fe.fi.Size() - r.backupReader = winio.NewBackupFileReader(f, true) - - r.currentFile = f - f = nil - return -} - -func (r *baseLayerReader) LinkInfo() (uint32, *winio.FileIDInfo, error) { - fileStandardInfo, err := winio.GetFileStandardInfo(r.currentFile) - if err != nil { - return 0, nil, err - } - fileIDInfo, err := winio.GetFileID(r.currentFile) - if err != nil { - return 0, nil, err - } - return fileStandardInfo.NumberOfLinks, fileIDInfo, nil -} - -func (r *baseLayerReader) Read(b []byte) (int, error) { - if r.backupReader == nil { - return 0, io.EOF - } - return r.backupReader.Read(b) -} - -func (r *baseLayerReader) Close() (err error) { - defer r.s.End() - defer func() { - oc.SetSpanStatus(r.s, err) - close(r.proceed) - }() - r.proceed <- false - // The r.result channel will be closed once walk() returns - <-r.result - r.reset() - return nil -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/converttobaselayer.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/converttobaselayer.go deleted file mode 100644 index c542f556c0..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/converttobaselayer.go +++ /dev/null @@ -1,157 +0,0 @@ -package wclayer - -import ( - "context" - "fmt" - "os" - "path/filepath" - - "github.com/Microsoft/hcsshim/internal/hcserror" - "github.com/Microsoft/hcsshim/internal/longpath" - "github.com/Microsoft/hcsshim/internal/oc" - "github.com/Microsoft/hcsshim/internal/safefile" - "github.com/Microsoft/hcsshim/internal/winapi" - "github.com/pkg/errors" - "go.opencensus.io/trace" - "golang.org/x/sys/windows" -) - -var hiveNames = []string{"DEFAULT", "SAM", "SECURITY", "SOFTWARE", "SYSTEM"} - -// Ensure the given file exists as an ordinary file, and create a minimal hive file if not. -func ensureHive(path string, root *os.File) (err error) { - _, err = safefile.LstatRelative(path, root) - if err != nil && !os.IsNotExist(err) { - return fmt.Errorf("accessing %s: %w", path, err) - } - - version := windows.RtlGetVersion() - if version == nil { - return fmt.Errorf("failed to get OS version") - } - - var fullPath string - fullPath, err = longpath.LongAbs(filepath.Join(root.Name(), path)) - if err != nil { - return fmt.Errorf("getting path: %w", err) - } - - var key winapi.ORHKey - err = winapi.ORCreateHive(&key) - if err != nil { - return fmt.Errorf("creating hive: %w", err) - } - - defer func() { - closeErr := winapi.ORCloseHive(key) - if closeErr != nil && err == nil { - err = fmt.Errorf("closing hive key: %w", closeErr) - } - }() - - err = winapi.ORSaveHive(key, fullPath, version.MajorVersion, version.MinorVersion) - if err != nil { - return fmt.Errorf("saving hive: %w", err) - } - - return nil -} - -func ensureBaseLayer(root *os.File) (hasUtilityVM bool, err error) { - // The base layer registry hives will be copied from here - const hiveSourcePath = "Files\\Windows\\System32\\config" - if err = safefile.MkdirAllRelative(hiveSourcePath, root); err != nil { - return - } - - for _, hiveName := range hiveNames { - hivePath := filepath.Join(hiveSourcePath, hiveName) - if err = ensureHive(hivePath, root); err != nil { - return - } - } - - stat, err := safefile.LstatRelative(UtilityVMFilesPath, root) - - if os.IsNotExist(err) { - return false, nil - } - - if err != nil { - return - } - - if !stat.Mode().IsDir() { - fullPath := filepath.Join(root.Name(), UtilityVMFilesPath) - return false, errors.Errorf("%s has unexpected file mode %s", fullPath, stat.Mode().String()) - } - - const bcdRelativePath = "EFI\\Microsoft\\Boot\\BCD" - - // Just check that this exists as a regular file. If it exists but is not a valid registry hive, - // ProcessUtilityVMImage will complain: - // "The registry could not read in, or write out, or flush, one of the files that contain the system's image of the registry." - bcdPath := filepath.Join(UtilityVMFilesPath, bcdRelativePath) - - stat, err = safefile.LstatRelative(bcdPath, root) - if err != nil { - return false, errors.Wrapf(err, "UtilityVM must contain '%s'", bcdRelativePath) - } - - if !stat.Mode().IsRegular() { - fullPath := filepath.Join(root.Name(), bcdPath) - return false, errors.Errorf("%s has unexpected file mode %s", fullPath, stat.Mode().String()) - } - - return true, nil -} - -func convertToBaseLayer(ctx context.Context, root *os.File) error { - hasUtilityVM, err := ensureBaseLayer(root) - - if err != nil { - return err - } - - if err := ProcessBaseLayer(ctx, root.Name()); err != nil { - return err - } - - if !hasUtilityVM { - return nil - } - - err = safefile.EnsureNotReparsePointRelative(UtilityVMPath, root) - if err != nil { - return err - } - - utilityVMPath := filepath.Join(root.Name(), UtilityVMPath) - return ProcessUtilityVMImage(ctx, utilityVMPath) -} - -// ConvertToBaseLayer processes a candidate base layer, i.e. a directory -// containing the desired file content under Files/, and optionally the -// desired file content for a UtilityVM under UtilityVM/Files/ -func ConvertToBaseLayer(ctx context.Context, path string) (err error) { - title := "hcsshim::ConvertToBaseLayer" - ctx, span := trace.StartSpan(ctx, title) - defer span.End() - defer func() { oc.SetSpanStatus(span, err) }() - span.AddAttributes(trace.StringAttribute("path", path)) - - root, err := safefile.OpenRoot(path) - if err != nil { - return hcserror.New(err, title+" - failed", "") - } - defer func() { - if err2 := root.Close(); err == nil && err2 != nil { - err = hcserror.New(err2, title+" - failed", "") - } - }() - - if err = convertToBaseLayer(ctx, root); err != nil { - return hcserror.New(err, title+" - failed", "") - } - return nil -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/exportlayer.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/exportlayer.go index d4c677aabf..485af6849c 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/exportlayer.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/exportlayer.go @@ -45,8 +45,6 @@ func ExportLayer(ctx context.Context, path string, exportFolderPath string, pare type LayerReader interface { // Next advances to the next file and returns the name, size, and file info Next() (string, int64, *winio.FileBasicInfo, error) - // LinkInfo returns the number of links and the file identifier for the current file. - LinkInfo() (uint32, *winio.FileIDInfo, error) // Read reads data from the current file, in the format of a Win32 backup stream, and // returns the number of bytes read. Read(b []byte) (int, error) @@ -69,11 +67,6 @@ func NewLayerReader(ctx context.Context, path string, parentLayerPaths []string) trace.StringAttribute("path", path), trace.StringAttribute("parentLayerPaths", strings.Join(parentLayerPaths, ", "))) - if len(parentLayerPaths) == 0 { - // This is a base layer. It gets exported differently. - return newBaseLayerReader(path, span), nil - } - exportPath, err := os.MkdirTemp("", "hcs") if err != nil { return nil, err diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go index ee17dd3d1a..d5d2cb137a 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/layerutils.go @@ -7,10 +7,6 @@ package wclayer import ( "context" - "fmt" - "os" - "path/filepath" - "strconv" "syscall" "github.com/Microsoft/go-winio/pkg/guid" @@ -105,23 +101,3 @@ func layerPathsToDescriptors(ctx context.Context, parentLayerPaths []string) ([] return layers, nil } - -// GetLayerUvmBuild looks for a file named `uvmbuildversion` at `layerPath\uvmbuildversion` and returns the -// build number of the UVM from that file. -func GetLayerUvmBuild(layerPath string) (uint16, error) { - data, err := os.ReadFile(filepath.Join(layerPath, UvmBuildFileName)) - if err != nil { - return 0, err - } - ver, err := strconv.ParseUint(string(data), 10, 16) - if err != nil { - return 0, err - } - return uint16(ver), nil -} - -// WriteLayerUvmBuildFile writes a file at path `layerPath\uvmbuildversion` that contains the given `build` -// version for future reference. -func WriteLayerUvmBuildFile(layerPath string, build uint16) error { - return os.WriteFile(filepath.Join(layerPath, UvmBuildFileName), []byte(fmt.Sprintf("%d", build)), 0777) -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go index 807d833108..6feb205e4f 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/wclayer/legacy.go @@ -29,19 +29,10 @@ var mutatedUtilityVMFiles = map[string]bool{ } const ( - filesPath = `Files` - HivesPath = `Hives` - UtilityVMPath = `UtilityVM` - UtilityVMFilesPath = `UtilityVM\Files` - RegFilesPath = `Files\Windows\System32\config` - BcdFilePath = `UtilityVM\Files\EFI\Microsoft\Boot\BCD` - BootMgrFilePath = `UtilityVM\Files\EFI\Microsoft\Boot\bootmgfw.efi` - ContainerBaseVhd = `blank-base.vhdx` - ContainerScratchVhd = `blank.vhdx` - UtilityVMBaseVhd = `SystemTemplateBase.vhdx` - UtilityVMScratchVhd = `SystemTemplate.vhdx` - LayoutFileName = `layout` - UvmBuildFileName = `uvmbuildversion` + filesPath = `Files` + hivesPath = `Hives` + utilityVMPath = `UtilityVM` + utilityVMFilesPath = `UtilityVM\Files` ) func openFileOrDir(path string, mode uint32, createDisposition uint32) (file *os.File, err error) { @@ -252,11 +243,11 @@ func (r *legacyLayerReader) Next() (path string, size int64, fileInfo *winio.Fil if !hasPathPrefix(path, filesPath) { size = fe.fi.Size() r.backupReader = winio.NewBackupFileReader(f, false) - if path == HivesPath || path == filesPath { + if path == hivesPath || path == filesPath { // The Hives directory has a non-deterministic file time because of the // nature of the import process. Use the times from System_Delta. var g *os.File - g, err = os.Open(filepath.Join(r.root, HivesPath, `System_Delta`)) + g, err = os.Open(filepath.Join(r.root, hivesPath, `System_Delta`)) if err != nil { return } @@ -303,18 +294,6 @@ func (r *legacyLayerReader) Next() (path string, size int64, fileInfo *winio.Fil return } -func (r *legacyLayerReader) LinkInfo() (uint32, *winio.FileIDInfo, error) { - fileStandardInfo, err := winio.GetFileStandardInfo(r.currentFile) - if err != nil { - return 0, nil, err - } - fileIDInfo, err := winio.GetFileID(r.currentFile) - if err != nil { - return 0, nil, err - } - return fileStandardInfo.NumberOfLinks, fileIDInfo, nil -} - func (r *legacyLayerReader) Read(b []byte) (int, error) { if r.backupReader == nil { if r.currentFile == nil { @@ -418,7 +397,7 @@ func (w *legacyLayerWriter) CloseRoots() { func (w *legacyLayerWriter) initUtilityVM() error { if !w.HasUtilityVM { - err := safefile.MkdirRelative(UtilityVMPath, w.destRoot) + err := safefile.MkdirRelative(utilityVMPath, w.destRoot) if err != nil { return err } @@ -426,7 +405,7 @@ func (w *legacyLayerWriter) initUtilityVM() error { // clone the utility VM from the parent layer into this layer. Use hard // links to avoid unnecessary copying, since most of the files are // immutable. - err = cloneTree(w.parentRoots[0], w.destRoot, UtilityVMFilesPath, mutatedUtilityVMFiles) + err = cloneTree(w.parentRoots[0], w.destRoot, utilityVMFilesPath, mutatedUtilityVMFiles) if err != nil { return fmt.Errorf("cloning the parent utility VM image failed: %s", err) } @@ -601,7 +580,7 @@ func (w *legacyLayerWriter) Add(name string, fileInfo *winio.FileBasicInfo) erro return err } - if name == UtilityVMPath { + if name == utilityVMPath { return w.initUtilityVM() } @@ -610,11 +589,11 @@ func (w *legacyLayerWriter) Add(name string, fileInfo *winio.FileBasicInfo) erro } name = filepath.Clean(name) - if hasPathPrefix(name, UtilityVMPath) { + if hasPathPrefix(name, utilityVMPath) { if !w.HasUtilityVM { return errors.New("missing UtilityVM directory") } - if !hasPathPrefix(name, UtilityVMFilesPath) && name != UtilityVMFilesPath { + if !hasPathPrefix(name, utilityVMFilesPath) && name != utilityVMFilesPath { return errors.New("invalid UtilityVM layer") } createDisposition := uint32(winapi.FILE_OPEN) @@ -708,7 +687,7 @@ func (w *legacyLayerWriter) Add(name string, fileInfo *winio.FileBasicInfo) erro return err } - if hasPathPrefix(name, HivesPath) { + if hasPathPrefix(name, hivesPath) { w.backupWriter = winio.NewBackupFileWriter(f, false) w.bufWriter.Reset(w.backupWriter) } else { @@ -740,14 +719,14 @@ func (w *legacyLayerWriter) AddLink(name string, target string) error { // Look for cross-layer hard link targets in the parent layers, since // nothing is in the destination path yet. roots = w.parentRoots - } else if hasPathPrefix(target, UtilityVMFilesPath) { + } else if hasPathPrefix(target, utilityVMFilesPath) { // Since the utility VM is fully cloned into the destination path // already, look for cross-layer hard link targets directly in the // destination path. roots = []*os.File{w.destRoot} } - if roots == nil || (!hasPathPrefix(name, filesPath) && !hasPathPrefix(name, UtilityVMFilesPath)) { + if roots == nil || (!hasPathPrefix(name, filesPath) && !hasPathPrefix(name, utilityVMFilesPath)) { return errors.New("invalid hard link in layer") } @@ -786,7 +765,7 @@ func (w *legacyLayerWriter) Remove(name string) error { name = filepath.Clean(name) if hasPathPrefix(name, filesPath) { w.Tombstones = append(w.Tombstones, name) - } else if hasPathPrefix(name, UtilityVMFilesPath) { + } else if hasPathPrefix(name, utilityVMFilesPath) { err := w.initUtilityVM() if err != nil { return err diff --git a/vendor/github.com/Microsoft/hcsshim/internal/winapi/cimfs.go b/vendor/github.com/Microsoft/hcsshim/internal/winapi/cimfs.go deleted file mode 100644 index d04bffc1f9..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/winapi/cimfs.go +++ /dev/null @@ -1,45 +0,0 @@ -package winapi - -import ( - "unsafe" - - "github.com/Microsoft/go-winio/pkg/guid" - "golang.org/x/sys/windows" -) - -type g = guid.GUID -type FsHandle uintptr -type StreamHandle uintptr - -type CimFsFileMetadata struct { - Attributes uint32 - FileSize int64 - - CreationTime windows.Filetime - LastWriteTime windows.Filetime - ChangeTime windows.Filetime - LastAccessTime windows.Filetime - - SecurityDescriptorBuffer unsafe.Pointer - SecurityDescriptorSize uint32 - - ReparseDataBuffer unsafe.Pointer - ReparseDataSize uint32 - - ExtendedAttributes unsafe.Pointer - EACount uint32 -} - -//sys CimMountImage(imagePath string, fsName string, flags uint32, volumeID *g) (hr error) = cimfs.CimMountImage? -//sys CimDismountImage(volumeID *g) (hr error) = cimfs.CimDismountImage? - -//sys CimCreateImage(imagePath string, oldFSName *uint16, newFSName *uint16, cimFSHandle *FsHandle) (hr error) = cimfs.CimCreateImage? -//sys CimCloseImage(cimFSHandle FsHandle) (hr error) = cimfs.CimCloseImage? -//sys CimCommitImage(cimFSHandle FsHandle) (hr error) = cimfs.CimCommitImage? - -//sys CimCreateFile(cimFSHandle FsHandle, path string, file *CimFsFileMetadata, cimStreamHandle *StreamHandle) (hr error) = cimfs.CimCreateFile? -//sys CimCloseStream(cimStreamHandle StreamHandle) (hr error) = cimfs.CimCloseStream? -//sys CimWriteStream(cimStreamHandle StreamHandle, buffer uintptr, bufferSize uint32) (hr error) = cimfs.CimWriteStream? -//sys CimDeletePath(cimFSHandle FsHandle, path string) (hr error) = cimfs.CimDeletePath? -//sys CimCreateHardLink(cimFSHandle FsHandle, newPath string, oldPath string) (hr error) = cimfs.CimCreateHardLink? -//sys CimCreateAlternateStream(cimFSHandle FsHandle, path string, size uint64, cimStreamHandle *StreamHandle) (hr error) = cimfs.CimCreateAlternateStream? diff --git a/vendor/github.com/Microsoft/hcsshim/internal/winapi/offlinereg.go b/vendor/github.com/Microsoft/hcsshim/internal/winapi/offlinereg.go deleted file mode 100644 index c578b3d315..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/internal/winapi/offlinereg.go +++ /dev/null @@ -1,37 +0,0 @@ -package winapi - -// Offline registry management API - -type ORHKey uintptr - -type RegType uint32 - -const ( - // Registry value types: https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-value-types - REG_TYPE_NONE RegType = 0 - REG_TYPE_SZ RegType = 1 - REG_TYPE_EXPAND_SZ RegType = 2 - REG_TYPE_BINARY RegType = 3 - REG_TYPE_DWORD RegType = 4 - REG_TYPE_DWORD_LITTLE_ENDIAN RegType = 4 - REG_TYPE_DWORD_BIG_ENDIAN RegType = 5 - REG_TYPE_LINK RegType = 6 - REG_TYPE_MULTI_SZ RegType = 7 - REG_TYPE_RESOURCE_LIST RegType = 8 - REG_TYPE_FULL_RESOURCE_DESCRIPTOR RegType = 9 - REG_TYPE_RESOURCE_REQUIREMENTS_LIST RegType = 10 - REG_TYPE_QWORD RegType = 11 - REG_TYPE_QWORD_LITTLE_ENDIAN RegType = 11 -) - -//sys ORCreateHive(key *ORHKey) (win32err error) = offreg.ORCreateHive -//sys ORMergeHives(hiveHandles []ORHKey, result *ORHKey) (win32err error) = offreg.ORMergeHives -//sys OROpenHive(hivePath string, result *ORHKey) (win32err error) = offreg.OROpenHive -//sys ORCloseHive(handle ORHKey) (win32err error) = offreg.ORCloseHive -//sys ORSaveHive(handle ORHKey, hivePath string, osMajorVersion uint32, osMinorVersion uint32) (win32err error) = offreg.ORSaveHive -//sys OROpenKey(handle ORHKey, subKey string, result *ORHKey) (win32err error) = offreg.OROpenKey -//sys ORCloseKey(handle ORHKey) (win32err error) = offreg.ORCloseKey -//sys ORCreateKey(handle ORHKey, subKey string, class uintptr, options uint32, securityDescriptor uintptr, result *ORHKey, disposition *uint32) (win32err error) = offreg.ORCreateKey -//sys ORDeleteKey(handle ORHKey, subKey string) (win32err error) = offreg.ORDeleteKey -//sys ORGetValue(handle ORHKey, subKey string, value string, valueType *uint32, data *byte, dataLen *uint32) (win32err error) = offreg.ORGetValue -//sys ORSetValue(handle ORHKey, valueName string, valueType uint32, data *byte, dataLen uint32) (win32err error) = offreg.ORSetValue diff --git a/vendor/github.com/Microsoft/hcsshim/internal/winapi/utils.go b/vendor/github.com/Microsoft/hcsshim/internal/winapi/utils.go index 93d633d490..a2da570707 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/winapi/utils.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/winapi/utils.go @@ -80,9 +80,3 @@ func ConvertStringSetToSlice(buf []byte) ([]string, error) { } return nil, errors.New("string set malformed: missing null terminator at end of buffer") } - -// ParseUtf16LE parses a UTF-16LE byte array into a string (without passing -// through a uint16 or rune array). -func ParseUtf16LE(b []byte) string { - return windows.UTF16PtrToString((*uint16)(unsafe.Pointer(&b[0]))) -} diff --git a/vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go b/vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go index b5b9fcccc7..47d1209f67 100644 --- a/vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go +++ b/vendor/github.com/Microsoft/hcsshim/internal/winapi/zsyscall_windows.go @@ -43,12 +43,10 @@ var ( modadvapi32 = windows.NewLazySystemDLL("advapi32.dll") modbindfltapi = windows.NewLazySystemDLL("bindfltapi.dll") modcfgmgr32 = windows.NewLazySystemDLL("cfgmgr32.dll") - modcimfs = windows.NewLazySystemDLL("cimfs.dll") modiphlpapi = windows.NewLazySystemDLL("iphlpapi.dll") modkernel32 = windows.NewLazySystemDLL("kernel32.dll") modnetapi32 = windows.NewLazySystemDLL("netapi32.dll") modntdll = windows.NewLazySystemDLL("ntdll.dll") - modoffreg = windows.NewLazySystemDLL("offreg.dll") procLogonUserW = modadvapi32.NewProc("LogonUserW") procBfSetupFilter = modbindfltapi.NewProc("BfSetupFilter") @@ -56,17 +54,6 @@ var ( procCM_Get_Device_ID_ListA = modcfgmgr32.NewProc("CM_Get_Device_ID_ListA") procCM_Get_Device_ID_List_SizeA = modcfgmgr32.NewProc("CM_Get_Device_ID_List_SizeA") procCM_Locate_DevNodeW = modcfgmgr32.NewProc("CM_Locate_DevNodeW") - procCimCloseImage = modcimfs.NewProc("CimCloseImage") - procCimCloseStream = modcimfs.NewProc("CimCloseStream") - procCimCommitImage = modcimfs.NewProc("CimCommitImage") - procCimCreateAlternateStream = modcimfs.NewProc("CimCreateAlternateStream") - procCimCreateFile = modcimfs.NewProc("CimCreateFile") - procCimCreateHardLink = modcimfs.NewProc("CimCreateHardLink") - procCimCreateImage = modcimfs.NewProc("CimCreateImage") - procCimDeletePath = modcimfs.NewProc("CimDeletePath") - procCimDismountImage = modcimfs.NewProc("CimDismountImage") - procCimMountImage = modcimfs.NewProc("CimMountImage") - procCimWriteStream = modcimfs.NewProc("CimWriteStream") procSetJobCompartmentId = modiphlpapi.NewProc("SetJobCompartmentId") procClosePseudoConsole = modkernel32.NewProc("ClosePseudoConsole") procCopyFileW = modkernel32.NewProc("CopyFileW") @@ -95,17 +82,6 @@ var ( procNtQuerySystemInformation = modntdll.NewProc("NtQuerySystemInformation") procNtSetInformationFile = modntdll.NewProc("NtSetInformationFile") procRtlNtStatusToDosError = modntdll.NewProc("RtlNtStatusToDosError") - procORCloseHive = modoffreg.NewProc("ORCloseHive") - procORCloseKey = modoffreg.NewProc("ORCloseKey") - procORCreateHive = modoffreg.NewProc("ORCreateHive") - procORCreateKey = modoffreg.NewProc("ORCreateKey") - procORDeleteKey = modoffreg.NewProc("ORDeleteKey") - procORGetValue = modoffreg.NewProc("ORGetValue") - procORMergeHives = modoffreg.NewProc("ORMergeHives") - procOROpenHive = modoffreg.NewProc("OROpenHive") - procOROpenKey = modoffreg.NewProc("OROpenKey") - procORSaveHive = modoffreg.NewProc("ORSaveHive") - procORSetValue = modoffreg.NewProc("ORSetValue") ) func LogonUser(username *uint16, domain *uint16, password *uint16, logonType uint32, logonProvider uint32, token *windows.Token) (err error) { @@ -184,235 +160,6 @@ func _CMLocateDevNode(pdnDevInst *uint32, pDeviceID *uint16, uFlags uint32) (hr return } -func CimCloseImage(cimFSHandle FsHandle) (hr error) { - hr = procCimCloseImage.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall(procCimCloseImage.Addr(), 1, uintptr(cimFSHandle), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimCloseStream(cimStreamHandle StreamHandle) (hr error) { - hr = procCimCloseStream.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall(procCimCloseStream.Addr(), 1, uintptr(cimStreamHandle), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimCommitImage(cimFSHandle FsHandle) (hr error) { - hr = procCimCommitImage.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall(procCimCommitImage.Addr(), 1, uintptr(cimFSHandle), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimCreateAlternateStream(cimFSHandle FsHandle, path string, size uint64, cimStreamHandle *StreamHandle) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(path) - if hr != nil { - return - } - return _CimCreateAlternateStream(cimFSHandle, _p0, size, cimStreamHandle) -} - -func _CimCreateAlternateStream(cimFSHandle FsHandle, path *uint16, size uint64, cimStreamHandle *StreamHandle) (hr error) { - hr = procCimCreateAlternateStream.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall6(procCimCreateAlternateStream.Addr(), 4, uintptr(cimFSHandle), uintptr(unsafe.Pointer(path)), uintptr(size), uintptr(unsafe.Pointer(cimStreamHandle)), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimCreateFile(cimFSHandle FsHandle, path string, file *CimFsFileMetadata, cimStreamHandle *StreamHandle) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(path) - if hr != nil { - return - } - return _CimCreateFile(cimFSHandle, _p0, file, cimStreamHandle) -} - -func _CimCreateFile(cimFSHandle FsHandle, path *uint16, file *CimFsFileMetadata, cimStreamHandle *StreamHandle) (hr error) { - hr = procCimCreateFile.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall6(procCimCreateFile.Addr(), 4, uintptr(cimFSHandle), uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(file)), uintptr(unsafe.Pointer(cimStreamHandle)), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimCreateHardLink(cimFSHandle FsHandle, newPath string, oldPath string) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(newPath) - if hr != nil { - return - } - var _p1 *uint16 - _p1, hr = syscall.UTF16PtrFromString(oldPath) - if hr != nil { - return - } - return _CimCreateHardLink(cimFSHandle, _p0, _p1) -} - -func _CimCreateHardLink(cimFSHandle FsHandle, newPath *uint16, oldPath *uint16) (hr error) { - hr = procCimCreateHardLink.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall(procCimCreateHardLink.Addr(), 3, uintptr(cimFSHandle), uintptr(unsafe.Pointer(newPath)), uintptr(unsafe.Pointer(oldPath))) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimCreateImage(imagePath string, oldFSName *uint16, newFSName *uint16, cimFSHandle *FsHandle) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(imagePath) - if hr != nil { - return - } - return _CimCreateImage(_p0, oldFSName, newFSName, cimFSHandle) -} - -func _CimCreateImage(imagePath *uint16, oldFSName *uint16, newFSName *uint16, cimFSHandle *FsHandle) (hr error) { - hr = procCimCreateImage.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall6(procCimCreateImage.Addr(), 4, uintptr(unsafe.Pointer(imagePath)), uintptr(unsafe.Pointer(oldFSName)), uintptr(unsafe.Pointer(newFSName)), uintptr(unsafe.Pointer(cimFSHandle)), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimDeletePath(cimFSHandle FsHandle, path string) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(path) - if hr != nil { - return - } - return _CimDeletePath(cimFSHandle, _p0) -} - -func _CimDeletePath(cimFSHandle FsHandle, path *uint16) (hr error) { - hr = procCimDeletePath.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall(procCimDeletePath.Addr(), 2, uintptr(cimFSHandle), uintptr(unsafe.Pointer(path)), 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimDismountImage(volumeID *g) (hr error) { - hr = procCimDismountImage.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall(procCimDismountImage.Addr(), 1, uintptr(unsafe.Pointer(volumeID)), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimMountImage(imagePath string, fsName string, flags uint32, volumeID *g) (hr error) { - var _p0 *uint16 - _p0, hr = syscall.UTF16PtrFromString(imagePath) - if hr != nil { - return - } - var _p1 *uint16 - _p1, hr = syscall.UTF16PtrFromString(fsName) - if hr != nil { - return - } - return _CimMountImage(_p0, _p1, flags, volumeID) -} - -func _CimMountImage(imagePath *uint16, fsName *uint16, flags uint32, volumeID *g) (hr error) { - hr = procCimMountImage.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall6(procCimMountImage.Addr(), 4, uintptr(unsafe.Pointer(imagePath)), uintptr(unsafe.Pointer(fsName)), uintptr(flags), uintptr(unsafe.Pointer(volumeID)), 0, 0) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - -func CimWriteStream(cimStreamHandle StreamHandle, buffer uintptr, bufferSize uint32) (hr error) { - hr = procCimWriteStream.Find() - if hr != nil { - return - } - r0, _, _ := syscall.Syscall(procCimWriteStream.Addr(), 3, uintptr(cimStreamHandle), uintptr(buffer), uintptr(bufferSize)) - if int32(r0) < 0 { - if r0&0x1fff0000 == 0x00070000 { - r0 &= 0xffff - } - hr = syscall.Errno(r0) - } - return -} - func SetJobCompartmentId(handle windows.Handle, compartmentId uint32) (win32Err error) { r0, _, _ := syscall.Syscall(procSetJobCompartmentId.Addr(), 2, uintptr(handle), uintptr(compartmentId), 0) if r0 != 0 { @@ -629,163 +376,3 @@ func RtlNtStatusToDosError(status uint32) (winerr error) { } return } - -func ORCloseHive(handle ORHKey) (win32err error) { - r0, _, _ := syscall.Syscall(procORCloseHive.Addr(), 1, uintptr(handle), 0, 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORCloseKey(handle ORHKey) (win32err error) { - r0, _, _ := syscall.Syscall(procORCloseKey.Addr(), 1, uintptr(handle), 0, 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORCreateHive(key *ORHKey) (win32err error) { - r0, _, _ := syscall.Syscall(procORCreateHive.Addr(), 1, uintptr(unsafe.Pointer(key)), 0, 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORCreateKey(handle ORHKey, subKey string, class uintptr, options uint32, securityDescriptor uintptr, result *ORHKey, disposition *uint32) (win32err error) { - var _p0 *uint16 - _p0, win32err = syscall.UTF16PtrFromString(subKey) - if win32err != nil { - return - } - return _ORCreateKey(handle, _p0, class, options, securityDescriptor, result, disposition) -} - -func _ORCreateKey(handle ORHKey, subKey *uint16, class uintptr, options uint32, securityDescriptor uintptr, result *ORHKey, disposition *uint32) (win32err error) { - r0, _, _ := syscall.Syscall9(procORCreateKey.Addr(), 7, uintptr(handle), uintptr(unsafe.Pointer(subKey)), uintptr(class), uintptr(options), uintptr(securityDescriptor), uintptr(unsafe.Pointer(result)), uintptr(unsafe.Pointer(disposition)), 0, 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORDeleteKey(handle ORHKey, subKey string) (win32err error) { - var _p0 *uint16 - _p0, win32err = syscall.UTF16PtrFromString(subKey) - if win32err != nil { - return - } - return _ORDeleteKey(handle, _p0) -} - -func _ORDeleteKey(handle ORHKey, subKey *uint16) (win32err error) { - r0, _, _ := syscall.Syscall(procORDeleteKey.Addr(), 2, uintptr(handle), uintptr(unsafe.Pointer(subKey)), 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORGetValue(handle ORHKey, subKey string, value string, valueType *uint32, data *byte, dataLen *uint32) (win32err error) { - var _p0 *uint16 - _p0, win32err = syscall.UTF16PtrFromString(subKey) - if win32err != nil { - return - } - var _p1 *uint16 - _p1, win32err = syscall.UTF16PtrFromString(value) - if win32err != nil { - return - } - return _ORGetValue(handle, _p0, _p1, valueType, data, dataLen) -} - -func _ORGetValue(handle ORHKey, subKey *uint16, value *uint16, valueType *uint32, data *byte, dataLen *uint32) (win32err error) { - r0, _, _ := syscall.Syscall6(procORGetValue.Addr(), 6, uintptr(handle), uintptr(unsafe.Pointer(subKey)), uintptr(unsafe.Pointer(value)), uintptr(unsafe.Pointer(valueType)), uintptr(unsafe.Pointer(data)), uintptr(unsafe.Pointer(dataLen))) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORMergeHives(hiveHandles []ORHKey, result *ORHKey) (win32err error) { - var _p0 *ORHKey - if len(hiveHandles) > 0 { - _p0 = &hiveHandles[0] - } - r0, _, _ := syscall.Syscall(procORMergeHives.Addr(), 3, uintptr(unsafe.Pointer(_p0)), uintptr(len(hiveHandles)), uintptr(unsafe.Pointer(result))) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func OROpenHive(hivePath string, result *ORHKey) (win32err error) { - var _p0 *uint16 - _p0, win32err = syscall.UTF16PtrFromString(hivePath) - if win32err != nil { - return - } - return _OROpenHive(_p0, result) -} - -func _OROpenHive(hivePath *uint16, result *ORHKey) (win32err error) { - r0, _, _ := syscall.Syscall(procOROpenHive.Addr(), 2, uintptr(unsafe.Pointer(hivePath)), uintptr(unsafe.Pointer(result)), 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func OROpenKey(handle ORHKey, subKey string, result *ORHKey) (win32err error) { - var _p0 *uint16 - _p0, win32err = syscall.UTF16PtrFromString(subKey) - if win32err != nil { - return - } - return _OROpenKey(handle, _p0, result) -} - -func _OROpenKey(handle ORHKey, subKey *uint16, result *ORHKey) (win32err error) { - r0, _, _ := syscall.Syscall(procOROpenKey.Addr(), 3, uintptr(handle), uintptr(unsafe.Pointer(subKey)), uintptr(unsafe.Pointer(result))) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORSaveHive(handle ORHKey, hivePath string, osMajorVersion uint32, osMinorVersion uint32) (win32err error) { - var _p0 *uint16 - _p0, win32err = syscall.UTF16PtrFromString(hivePath) - if win32err != nil { - return - } - return _ORSaveHive(handle, _p0, osMajorVersion, osMinorVersion) -} - -func _ORSaveHive(handle ORHKey, hivePath *uint16, osMajorVersion uint32, osMinorVersion uint32) (win32err error) { - r0, _, _ := syscall.Syscall6(procORSaveHive.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(hivePath)), uintptr(osMajorVersion), uintptr(osMinorVersion), 0, 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} - -func ORSetValue(handle ORHKey, valueName string, valueType uint32, data *byte, dataLen uint32) (win32err error) { - var _p0 *uint16 - _p0, win32err = syscall.UTF16PtrFromString(valueName) - if win32err != nil { - return - } - return _ORSetValue(handle, _p0, valueType, data, dataLen) -} - -func _ORSetValue(handle ORHKey, valueName *uint16, valueType uint32, data *byte, dataLen uint32) (win32err error) { - r0, _, _ := syscall.Syscall6(procORSetValue.Addr(), 5, uintptr(handle), uintptr(unsafe.Pointer(valueName)), uintptr(valueType), uintptr(unsafe.Pointer(data)), uintptr(dataLen), 0) - if r0 != 0 { - win32err = syscall.Errno(r0) - } - return -} diff --git a/vendor/github.com/Microsoft/hcsshim/layer.go b/vendor/github.com/Microsoft/hcsshim/layer.go index 7e9c9fbbe8..e323c8308d 100644 --- a/vendor/github.com/Microsoft/hcsshim/layer.go +++ b/vendor/github.com/Microsoft/hcsshim/layer.go @@ -32,7 +32,6 @@ func CreateScratchLayer(info DriverInfo, layerId, parentId string, parentLayerPa func DeactivateLayer(info DriverInfo, id string) error { return wclayer.DeactivateLayer(context.Background(), layerPath(&info, id)) } - func DestroyLayer(info DriverInfo, id string) error { return wclayer.DestroyLayer(context.Background(), layerPath(&info, id)) } @@ -71,9 +70,6 @@ func ProcessUtilityVMImage(path string) error { func UnprepareLayer(info DriverInfo, layerId string) error { return wclayer.UnprepareLayer(context.Background(), layerPath(&info, layerId)) } -func ConvertToBaseLayer(path string) error { - return wclayer.ConvertToBaseLayer(context.Background(), path) -} type DriverInfo struct { Flavour int diff --git a/vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go b/vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go index 3227ebe89c..ecb0766164 100644 --- a/vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go +++ b/vendor/github.com/Microsoft/hcsshim/osversion/osversion_windows.go @@ -1,3 +1,5 @@ +//go:build windows + package osversion import ( @@ -5,7 +7,6 @@ import ( "sync" "golang.org/x/sys/windows" - "golang.org/x/sys/windows/registry" ) // OSVersion is a wrapper for Windows version information @@ -26,15 +27,16 @@ var ( // The calling application must be manifested to get the correct version information. func Get() OSVersion { once.Do(func() { - v := *windows.RtlGetVersion() + var err error osv = OSVersion{} - osv.MajorVersion = uint8(v.MajorVersion) - osv.MinorVersion = uint8(v.MinorVersion) - osv.Build = uint16(v.BuildNumber) - // Fill version value so that existing clients don't break - osv.Version = v.BuildNumber << 16 - osv.Version = osv.Version | (uint32(v.MinorVersion) << 8) - osv.Version = osv.Version | v.MajorVersion + osv.Version, err = windows.GetVersion() + if err != nil { + // GetVersion never fails. + panic(err) + } + osv.MajorVersion = uint8(osv.Version & 0xFF) + osv.MinorVersion = uint8(osv.Version >> 8 & 0xFF) + osv.Build = uint16(osv.Version >> 16) }) return osv } @@ -45,30 +47,6 @@ func Build() uint16 { return Get().Build } -// String returns the OSVersion formatted as a string. It implements the -// [fmt.Stringer] interface. -func (osv OSVersion) String() string { - return fmt.Sprintf("%d.%d.%d", osv.MajorVersion, osv.MinorVersion, osv.Build) -} - -// ToString returns the OSVersion formatted as a string. -// -// Deprecated: use [OSVersion.String]. func (osv OSVersion) ToString() string { - return osv.String() -} - -// Running `cmd /c ver` shows something like "10.0.20348.1000". The last component ("1000") is the revision -// number -func BuildRevision() (uint32, error) { - k, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\Microsoft\Windows NT\CurrentVersion`, registry.QUERY_VALUE) - if err != nil { - return 0, fmt.Errorf("open `CurrentVersion` registry key: %w", err) - } - defer k.Close() - s, _, err := k.GetIntegerValue("UBR") - if err != nil { - return 0, fmt.Errorf("read `UBR` from registry: %w", err) - } - return uint32(s), nil + return fmt.Sprintf("%d.%d.%d", osv.MajorVersion, osv.MinorVersion, osv.Build) } diff --git a/vendor/github.com/Microsoft/hcsshim/osversion/platform_compat_windows.go b/vendor/github.com/Microsoft/hcsshim/osversion/platform_compat_windows.go deleted file mode 100644 index f8d411ad7e..0000000000 --- a/vendor/github.com/Microsoft/hcsshim/osversion/platform_compat_windows.go +++ /dev/null @@ -1,35 +0,0 @@ -package osversion - -// List of stable ABI compliant ltsc releases -// Note: List must be sorted in ascending order -var compatLTSCReleases = []uint16{ - V21H2Server, -} - -// CheckHostAndContainerCompat checks if given host and container -// OS versions are compatible. -// It includes support for stable ABI compliant versions as well. -// Every release after WS 2022 will support the previous ltsc -// container image. Stable ABI is in preview mode for windows 11 client. -// Refer: https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility?tabs=windows-server-2022%2Cwindows-10#windows-server-host-os-compatibility -func CheckHostAndContainerCompat(host, ctr OSVersion) bool { - // check major minor versions of host and guest - if host.MajorVersion != ctr.MajorVersion || - host.MinorVersion != ctr.MinorVersion { - return false - } - - // If host is < WS 2022, exact version match is required - if host.Build < V21H2Server { - return host.Build == ctr.Build - } - - var supportedLtscRelease uint16 - for i := len(compatLTSCReleases) - 1; i >= 0; i-- { - if host.Build >= compatLTSCReleases[i] { - supportedLtscRelease = compatLTSCReleases[i] - break - } - } - return ctr.Build >= supportedLtscRelease && ctr.Build <= host.Build -} diff --git a/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go b/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go index 446369591a..75dce5d821 100644 --- a/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go +++ b/vendor/github.com/Microsoft/hcsshim/osversion/windowsbuilds.go @@ -1,63 +1,37 @@ package osversion -// Windows Client and Server build numbers. -// -// See: -// https://learn.microsoft.com/en-us/windows/release-health/release-information -// https://learn.microsoft.com/en-us/windows/release-health/windows-server-release-info -// https://learn.microsoft.com/en-us/windows/release-health/windows11-release-information const ( // RS1 (version 1607, codename "Redstone 1") corresponds to Windows Server // 2016 (ltsc2016) and Windows 10 (Anniversary Update). RS1 = 14393 - // V1607 (version 1607, codename "Redstone 1") is an alias for [RS1]. - V1607 = RS1 - // LTSC2016 (Windows Server 2016) is an alias for [RS1]. - LTSC2016 = RS1 // RS2 (version 1703, codename "Redstone 2") was a client-only update, and // corresponds to Windows 10 (Creators Update). RS2 = 15063 - // V1703 (version 1703, codename "Redstone 2") is an alias for [RS2]. - V1703 = RS2 // RS3 (version 1709, codename "Redstone 3") corresponds to Windows Server // 1709 (Semi-Annual Channel (SAC)), and Windows 10 (Fall Creators Update). RS3 = 16299 - // V1709 (version 1709, codename "Redstone 3") is an alias for [RS3]. - V1709 = RS3 // RS4 (version 1803, codename "Redstone 4") corresponds to Windows Server // 1803 (Semi-Annual Channel (SAC)), and Windows 10 (April 2018 Update). RS4 = 17134 - // V1803 (version 1803, codename "Redstone 4") is an alias for [RS4]. - V1803 = RS4 // RS5 (version 1809, codename "Redstone 5") corresponds to Windows Server // 2019 (ltsc2019), and Windows 10 (October 2018 Update). RS5 = 17763 - // V1809 (version 1809, codename "Redstone 5") is an alias for [RS5]. - V1809 = RS5 - // LTSC2019 (Windows Server 2019) is an alias for [RS5]. - LTSC2019 = RS5 - // V19H1 (version 1903, codename 19H1) corresponds to Windows Server 1903 (semi-annual + // V19H1 (version 1903) corresponds to Windows Server 1903 (semi-annual // channel). V19H1 = 18362 - // V1903 (version 1903) is an alias for [V19H1]. - V1903 = V19H1 - // V19H2 (version 1909, codename 19H2) corresponds to Windows Server 1909 (semi-annual + // V19H2 (version 1909) corresponds to Windows Server 1909 (semi-annual // channel). V19H2 = 18363 - // V1909 (version 1909) is an alias for [V19H2]. - V1909 = V19H2 - // V20H1 (version 2004, codename 20H1) corresponds to Windows Server 2004 (semi-annual + // V20H1 (version 2004) corresponds to Windows Server 2004 (semi-annual // channel). V20H1 = 19041 - // V2004 (version 2004) is an alias for [V20H1]. - V2004 = V20H1 // V20H2 corresponds to Windows Server 20H2 (semi-annual channel). V20H2 = 19042 @@ -70,15 +44,7 @@ const ( // V21H2Server corresponds to Windows Server 2022 (ltsc2022). V21H2Server = 20348 - // LTSC2022 (Windows Server 2022) is an alias for [V21H2Server] - LTSC2022 = V21H2Server // V21H2Win11 corresponds to Windows 11 (original release). V21H2Win11 = 22000 - - // V22H2Win10 corresponds to Windows 10 (2022 Update). - V22H2Win10 = 19045 - - // V22H2Win11 corresponds to Windows 11 (2022 Update). - V22H2Win11 = 22621 ) diff --git a/vendor/github.com/Microsoft/hcsshim/tools.go b/vendor/github.com/Microsoft/hcsshim/tools.go new file mode 100644 index 0000000000..dd6db090b1 --- /dev/null +++ b/vendor/github.com/Microsoft/hcsshim/tools.go @@ -0,0 +1,6 @@ +//go:build tools + +package hcsshim + +import _ "github.com/Microsoft/go-winio/tools/mkwinsyscall" +import _ "github.com/josephspurrier/goversioninfo/cmd/goversioninfo" diff --git a/vendor/github.com/akavel/rsrc/AUTHORS b/vendor/github.com/akavel/rsrc/AUTHORS new file mode 100644 index 0000000000..06fb069913 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/AUTHORS @@ -0,0 +1,5 @@ +Force Charlie +Mateusz Czapliński +Quentin Renard +shnmng +Thomas Combeléran diff --git a/vendor/github.com/akavel/rsrc/LICENSE.txt b/vendor/github.com/akavel/rsrc/LICENSE.txt new file mode 100644 index 0000000000..5c1511ec15 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2013-2017 The rsrc Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/github.com/akavel/rsrc/binutil/plain.go b/vendor/github.com/akavel/rsrc/binutil/plain.go new file mode 100644 index 0000000000..ddf5238b94 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/binutil/plain.go @@ -0,0 +1,13 @@ +package binutil + +import ( + "reflect" +) + +func Plain(kind reflect.Kind) bool { + switch kind { + case reflect.Bool, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.Float32, reflect.Float64, reflect.Complex64, reflect.Complex128: + return true + } + return false +} diff --git a/vendor/github.com/akavel/rsrc/binutil/sizedfile.go b/vendor/github.com/akavel/rsrc/binutil/sizedfile.go new file mode 100644 index 0000000000..3a6606fd85 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/binutil/sizedfile.go @@ -0,0 +1,35 @@ +package binutil + +import ( + "io" + "os" +) + +type SizedReader interface { + io.Reader + Size() int64 +} + +type SizedFile struct { + f *os.File + s *io.SectionReader // helper, for Size() +} + +func (r *SizedFile) Read(p []byte) (n int, err error) { return r.s.Read(p) } +func (r *SizedFile) Size() int64 { return r.s.Size() } +func (r *SizedFile) Close() error { return r.f.Close() } + +func SizedOpen(filename string) (*SizedFile, error) { + f, err := os.Open(filename) + if err != nil { + return nil, err + } + info, err := f.Stat() + if err != nil { + return nil, err + } + return &SizedFile{ + f: f, + s: io.NewSectionReader(f, 0, info.Size()), + }, nil +} diff --git a/vendor/github.com/akavel/rsrc/binutil/walk.go b/vendor/github.com/akavel/rsrc/binutil/walk.go new file mode 100644 index 0000000000..4aa4ad30e8 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/binutil/walk.go @@ -0,0 +1,63 @@ +package binutil + +import ( + "errors" + "fmt" + "path" + "reflect" +) + +var ( + WALK_SKIP = errors.New("") +) + +type Walker func(v reflect.Value, path string) error + +func Walk(value interface{}, walker Walker) error { + err := walk(reflect.ValueOf(value), "/", walker) + if err == WALK_SKIP { + err = nil + } + return err +} + +func stopping(err error) bool { + return err != nil && err != WALK_SKIP +} + +func walk(v reflect.Value, spath string, walker Walker) error { + err := walker(v, spath) + if err != nil { + return err + } + v = reflect.Indirect(v) + switch v.Kind() { + case reflect.Slice, reflect.Array: + for i := 0; i < v.Len(); i++ { + err = walk(v.Index(i), spath+fmt.Sprintf("[%d]", i), walker) + if stopping(err) { + return err + } + } + case reflect.Interface: + err = walk(v.Elem(), spath, walker) + if stopping(err) { + return err + } + case reflect.Struct: + //t := v.Type() + for i := 0; i < v.NumField(); i++ { + //f := t.Field(i) //TODO: handle unexported fields + vv := v.Field(i) + err = walk(vv, path.Join(spath, v.Type().Field(i).Name), walker) + if stopping(err) { + return err + } + } + default: + // FIXME: handle other special cases too + // String + return nil + } + return nil +} diff --git a/vendor/github.com/akavel/rsrc/binutil/writer.go b/vendor/github.com/akavel/rsrc/binutil/writer.go new file mode 100644 index 0000000000..cd2ef97818 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/binutil/writer.go @@ -0,0 +1,33 @@ +package binutil + +import ( + "encoding/binary" + "io" + "reflect" +) + +type Writer struct { + W io.Writer + Offset uint32 //FIXME: int64? + Err error +} + +func (w *Writer) WriteLE(v interface{}) { + if w.Err != nil { + return + } + w.Err = binary.Write(w.W, binary.LittleEndian, v) + if w.Err != nil { + return + } + w.Offset += uint32(reflect.TypeOf(v).Size()) +} + +func (w *Writer) WriteFromSized(r SizedReader) { + if w.Err != nil { + return + } + var n int64 + n, w.Err = io.CopyN(w.W, r, r.Size()) + w.Offset += uint32(n) +} diff --git a/vendor/github.com/akavel/rsrc/coff/coff.go b/vendor/github.com/akavel/rsrc/coff/coff.go new file mode 100644 index 0000000000..3c6d5f4b93 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/coff/coff.go @@ -0,0 +1,363 @@ +package coff + +import ( + "debug/pe" + "encoding/binary" + "errors" + "io" + "reflect" + "regexp" + "sort" + "strconv" + "strings" + + "github.com/akavel/rsrc/binutil" +) + +type Dir struct { // struct IMAGE_RESOURCE_DIRECTORY + Characteristics uint32 + TimeDateStamp uint32 + MajorVersion uint16 + MinorVersion uint16 + NumberOfNamedEntries uint16 + NumberOfIdEntries uint16 + DirEntries + Dirs +} + +type DirEntries []DirEntry +type Dirs []Dir + +type DirEntry struct { // struct IMAGE_RESOURCE_DIRECTORY_ENTRY + NameOrId uint32 + OffsetToData uint32 +} + +type DataEntry struct { // struct IMAGE_RESOURCE_DATA_ENTRY + OffsetToData uint32 + Size1 uint32 + CodePage uint32 //FIXME: what value here? for now just using 0 + Reserved uint32 +} + +type RelocationEntry struct { + RVA uint32 // "offset within the Section's raw data where the address starts." + SymbolIndex uint32 // "(zero based) index in the Symbol table to which the reference refers." + Type uint16 +} + +// Values reverse-engineered from windres output; names from teh Internets. +// Teh googlies Internets don't seem to have much to say about the AMD64 one, +// unfortunately :/ but it works... +const ( + _IMAGE_REL_AMD64_ADDR32NB = 0x03 + _IMAGE_REL_I386_DIR32NB = 0x07 + _IMAGE_REL_ARM64_ADDR32NB = 0x02 + _IMAGE_REL_ARM_ADDR32NB = 0x02 +) + +type Auxiliary [18]byte + +type Symbol struct { + Name [8]byte + Value uint32 + SectionNumber uint16 + Type uint16 + StorageClass uint8 + AuxiliaryCount uint8 + Auxiliaries []Auxiliary +} + +type StringsHeader struct { + Length uint32 +} + +const ( + MASK_SUBDIRECTORY = 1 << 31 + + RT_ICON = 3 + RT_GROUP_ICON = 3 + 11 + RT_MANIFEST = 24 +) + +// http://www.delorie.com/djgpp/doc/coff/symtab.html +const ( + DT_PTR = 1 + T_UCHAR = 12 +) + +var ( + STRING_RSRC = [8]byte{'.', 'r', 's', 'r', 'c', 0, 0, 0} + + LANG_ENTRY = DirEntry{NameOrId: 0x0409} //FIXME: language; what value should be here? +) + +type PaddedData struct { + Data Sizer + Padding []byte +} + +type Sizer interface { + Size() int64 //NOTE: must not exceed limits of uint32, or behavior is undefined +} + +type Coff struct { + pe.FileHeader + pe.SectionHeader32 + + *Dir + DataEntries []DataEntry + Data []PaddedData + + Relocations []RelocationEntry + Symbols []Symbol + StringsHeader + Strings []Sizer +} + +// NOTE: must be called immediately after NewRSRC, before any other +// functions. +func (coff *Coff) Arch(arch string) error { + switch arch { + case "386": + coff.Machine = pe.IMAGE_FILE_MACHINE_I386 + case "amd64": + // Sources: + // https://github.com/golang/go/blob/0e23ca41d99c82d301badf1b762888e2c69e6c57/src/debug/pe/pe.go#L116 + // https://github.com/yasm/yasm/blob/7160679eee91323db98b0974596c7221eeff772c/modules/objfmts/coff/coff-objfmt.c#L38 + // FIXME: currently experimental -- not sure if something more doesn't need to be changed + coff.Machine = pe.IMAGE_FILE_MACHINE_AMD64 + case "arm": + // see + // https://github.com/golang/go/blob/f3424ceff2fa48615ed98580f337ab044925c940/src/cmd/link/internal/ld/pe.go#L736 + coff.Machine = pe.IMAGE_FILE_MACHINE_ARMNT + case "arm64": + // Waiting https://github.com/golang/go/issues/36439 + coff.Machine = pe.IMAGE_FILE_MACHINE_ARM64 + default: + return errors.New("coff: unknown architecture: " + arch) + } + return nil +} + +// addSymbol appends a symbol to Coff.Symbols and to Coff.Strings. +//NOTE: symbol s must be probably >8 characters long +//NOTE: symbol s should not contain embedded zeroes +func (coff *Coff) addSymbol(s string) { + coff.FileHeader.NumberOfSymbols++ + + buf := strings.NewReader(s + "\000") // ASCIIZ + r := io.NewSectionReader(buf, 0, int64(len(s)+1)) + coff.Strings = append(coff.Strings, r) + + coff.StringsHeader.Length += uint32(r.Size()) + + coff.Symbols = append(coff.Symbols, Symbol{ + //Name: // will be filled in Freeze + //Value: // as above + SectionNumber: 1, + Type: 0, // why 0??? // DT_PTR<<4 | T_UCHAR, // unsigned char* // (?) or use void* ? T_VOID=1 + StorageClass: 2, // 2=C_EXT, or 5=C_EXTDEF ? + AuxiliaryCount: 0, + }) +} + +func NewRSRC() *Coff { + return &Coff{ + pe.FileHeader{ + Machine: pe.IMAGE_FILE_MACHINE_I386, + NumberOfSections: 1, // .rsrc + TimeDateStamp: 0, // was also 0 in sample data from MinGW's windres.exe + NumberOfSymbols: 1, + SizeOfOptionalHeader: 0, + Characteristics: 0x0104, //FIXME: copied from windres.exe output, find out what should be here and why + }, + pe.SectionHeader32{ + Name: STRING_RSRC, + Characteristics: 0x40000040, // "INITIALIZED_DATA MEM_READ" ? + }, + + // "directory hierarchy" of .rsrc section: top level goes resource type, then id/name, then language + &Dir{}, + + []DataEntry{}, + []PaddedData{}, + + []RelocationEntry{}, + + []Symbol{Symbol{ + Name: STRING_RSRC, + Value: 0, + SectionNumber: 1, + Type: 0, // FIXME: wtf? + StorageClass: 3, // FIXME: is it ok? and uint8? and what does the value mean? + AuxiliaryCount: 0, // FIXME: wtf? + }}, + + StringsHeader{ + Length: uint32(binary.Size(StringsHeader{})), // empty strings table -- but we must still show size of the table's header... + }, + []Sizer{}, + } +} + +//NOTE: function assumes that 'id' is increasing on each entry +//NOTE: only usable for Coff created using NewRSRC +func (coff *Coff) AddResource(kind uint32, id uint16, data Sizer) { + re := RelocationEntry{ + // "(zero based) index in the Symbol table to which the + // reference refers. Once you have loaded the COFF file into + // memory and know where each symbol is, you find the new + // updated address for the given symbol and update the + // reference accordingly." + SymbolIndex: 0, + } + switch coff.Machine { + case pe.IMAGE_FILE_MACHINE_I386: + re.Type = _IMAGE_REL_I386_DIR32NB + case pe.IMAGE_FILE_MACHINE_AMD64: + re.Type = _IMAGE_REL_AMD64_ADDR32NB + case pe.IMAGE_FILE_MACHINE_ARMNT: + re.Type = _IMAGE_REL_ARM_ADDR32NB + case pe.IMAGE_FILE_MACHINE_ARM64: + re.Type = _IMAGE_REL_ARM64_ADDR32NB + } + coff.Relocations = append(coff.Relocations, re) + coff.SectionHeader32.NumberOfRelocations++ + + // find top level entry, inserting new if necessary at correct sorted position + entries0 := coff.Dir.DirEntries + dirs0 := coff.Dir.Dirs + i0 := sort.Search(len(entries0), func(i int) bool { + return entries0[i].NameOrId >= kind + }) + if i0 >= len(entries0) || entries0[i0].NameOrId != kind { + // inserting new entry & dir + entries0 = append(entries0[:i0], append([]DirEntry{{NameOrId: kind}}, entries0[i0:]...)...) + dirs0 = append(dirs0[:i0], append([]Dir{{}}, dirs0[i0:]...)...) + coff.Dir.NumberOfIdEntries++ + } + coff.Dir.DirEntries = entries0 + coff.Dir.Dirs = dirs0 + + // for second level, assume ID is always increasing, so we don't have to sort + dirs0[i0].DirEntries = append(dirs0[i0].DirEntries, DirEntry{NameOrId: uint32(id)}) + dirs0[i0].Dirs = append(dirs0[i0].Dirs, Dir{ + NumberOfIdEntries: 1, + DirEntries: DirEntries{LANG_ENTRY}, + }) + dirs0[i0].NumberOfIdEntries++ + + // calculate preceding DirEntry leaves, to find new index in Data & DataEntries + n := 0 + for _, dir0 := range dirs0[:i0+1] { + n += len(dir0.DirEntries) //NOTE: assuming 1 language here; TODO: dwell deeper if more langs added + } + n-- + + // insert new data in correct place + coff.DataEntries = append(coff.DataEntries[:n], append([]DataEntry{{Size1: uint32(data.Size())}}, coff.DataEntries[n:]...)...) + coff.Data = append(coff.Data[:n], append([]PaddedData{pad(data)}, coff.Data[n:]...)...) +} + +func pad(data Sizer) PaddedData { + return PaddedData{ + Data: data, + Padding: make([]byte, -data.Size()&7), + } +} + +// Freeze fills in some important offsets in resulting file. +func (coff *Coff) Freeze() { + switch coff.SectionHeader32.Name { + case STRING_RSRC: + coff.freezeRSRC() + } +} + +func (coff *Coff) freezeCommon1(path string, offset, diroff uint32) (newdiroff uint32) { + switch path { + case "/Dir": + coff.SectionHeader32.PointerToRawData = offset + diroff = offset + case "/Relocations": + coff.SectionHeader32.PointerToRelocations = offset + coff.SectionHeader32.SizeOfRawData = offset - diroff + case "/Symbols": + coff.FileHeader.PointerToSymbolTable = offset + } + return diroff +} + +func freezeCommon2(v reflect.Value, offset *uint32) error { + if binutil.Plain(v.Kind()) { + *offset += uint32(binary.Size(v.Interface())) // TODO: change to v.Type().Size() ? + return nil + } + vv, ok := v.Interface().(Sizer) + if ok { + *offset += uint32(vv.Size()) + return binutil.WALK_SKIP + } + return nil +} + +func (coff *Coff) freezeRSRC() { + leafwalker := make(chan *DirEntry) + go func() { + for _, dir1 := range coff.Dir.Dirs { // resource type + for _, dir2 := range dir1.Dirs { // resource ID + for i := range dir2.DirEntries { // resource lang + leafwalker <- &dir2.DirEntries[i] + } + } + } + }() + + var offset, diroff uint32 + binutil.Walk(coff, func(v reflect.Value, path string) error { + diroff = coff.freezeCommon1(path, offset, diroff) + + RE := regexp.MustCompile + const N = `\[(\d+)\]` + m := matcher{} + switch { + case m.Find(path, RE("^/Dir/Dirs"+N+"$")): + coff.Dir.DirEntries[m[0]].OffsetToData = MASK_SUBDIRECTORY | (offset - diroff) + case m.Find(path, RE("^/Dir/Dirs"+N+"/Dirs"+N+"$")): + coff.Dir.Dirs[m[0]].DirEntries[m[1]].OffsetToData = MASK_SUBDIRECTORY | (offset - diroff) + case m.Find(path, RE("^/DataEntries"+N+"$")): + direntry := <-leafwalker + direntry.OffsetToData = offset - diroff + case m.Find(path, RE("^/DataEntries"+N+"/OffsetToData$")): + coff.Relocations[m[0]].RVA = offset - diroff + case m.Find(path, RE("^/Data"+N+"$")): + coff.DataEntries[m[0]].OffsetToData = offset - diroff + } + + return freezeCommon2(v, &offset) + }) +} + +func mustAtoi(s string) int { + i, err := strconv.Atoi(s) + if err != nil { + panic(err) + } + return i +} + +type matcher []int + +func (m *matcher) Find(s string, re *regexp.Regexp) bool { + subs := re.FindStringSubmatch(s) + if subs == nil { + return false + } + + *m = (*m)[:0] + for i := 1; i < len(subs); i++ { + *m = append(*m, mustAtoi(subs[i])) + } + return true +} diff --git a/vendor/github.com/akavel/rsrc/ico/ico.go b/vendor/github.com/akavel/rsrc/ico/ico.go new file mode 100644 index 0000000000..0d419b1272 --- /dev/null +++ b/vendor/github.com/akavel/rsrc/ico/ico.go @@ -0,0 +1,214 @@ +// Package ico describes Windows ICO file format. +package ico + +// ICO: http://msdn.microsoft.com/en-us/library/ms997538.aspx +// BMP/DIB: http://msdn.microsoft.com/en-us/library/windows/desktop/dd183562%28v=vs.85%29.aspx + +import ( + "bytes" + "encoding/binary" + "fmt" + "image" + "image/color" + "io" + "io/ioutil" + "sort" +) + +const ( + BI_RGB = 0 +) + +type ICONDIR struct { + Reserved uint16 // must be 0 + Type uint16 // Resource Type (1 for icons) + Count uint16 // How many images? +} + +type IconDirEntryCommon struct { + Width byte // Width, in pixels, of the image + Height byte // Height, in pixels, of the image + ColorCount byte // Number of colors in image (0 if >=8bpp) + Reserved byte // Reserved (must be 0) + Planes uint16 // Color Planes + BitCount uint16 // Bits per pixel + BytesInRes uint32 // How many bytes in this resource? +} + +type ICONDIRENTRY struct { + IconDirEntryCommon + ImageOffset uint32 // Where in the file is this image? [from beginning of file] +} + +type BITMAPINFOHEADER struct { + Size uint32 + Width int32 + Height int32 // NOTE: "represents the combined height of the XOR and AND masks. Remember to divide this number by two before using it to perform calculations for either of the XOR or AND masks." + Planes uint16 // [BMP/DIB]: "is always 1" + BitCount uint16 + Compression uint32 // for ico = 0 + SizeImage uint32 + XPelsPerMeter int32 // for ico = 0 + YPelsPerMeter int32 // for ico = 0 + ClrUsed uint32 // for ico = 0 + ClrImportant uint32 // for ico = 0 +} + +type RGBQUAD struct { + Blue byte + Green byte + Red byte + Reserved byte // must be 0 +} + +func skip(r io.Reader, n int64) error { + _, err := io.CopyN(ioutil.Discard, r, n) + return err +} + +type icoOffset struct { + n int + offset uint32 +} + +type rawico struct { + icoinfo ICONDIRENTRY + bmpinfo *BITMAPINFOHEADER + idx int + data []byte +} + +type byOffsets []rawico + +func (o byOffsets) Len() int { return len(o) } +func (o byOffsets) Less(i, j int) bool { return o[i].icoinfo.ImageOffset < o[j].icoinfo.ImageOffset } +func (o byOffsets) Swap(i, j int) { + tmp := o[i] + o[i] = o[j] + o[j] = tmp +} + +type ICO struct { + image.Image +} + +func DecodeHeaders(r io.Reader) ([]ICONDIRENTRY, error) { + var hdr ICONDIR + err := binary.Read(r, binary.LittleEndian, &hdr) + if err != nil { + return nil, err + } + if hdr.Reserved != 0 || hdr.Type != 1 { + return nil, fmt.Errorf("bad magic number") + } + + entries := make([]ICONDIRENTRY, hdr.Count) + for i := 0; i < len(entries); i++ { + err = binary.Read(r, binary.LittleEndian, &entries[i]) + if err != nil { + return nil, err + } + } + return entries, nil +} + +// NOTE: won't succeed on files with overlapping offsets +func unused_decodeAll(r io.Reader) ([]*ICO, error) { + var hdr ICONDIR + err := binary.Read(r, binary.LittleEndian, &hdr) + if err != nil { + return nil, err + } + if hdr.Reserved != 0 || hdr.Type != 1 { + return nil, fmt.Errorf("bad magic number") + } + + raws := make([]rawico, hdr.Count) + for i := 0; i < len(raws); i++ { + err = binary.Read(r, binary.LittleEndian, &raws[i].icoinfo) + if err != nil { + return nil, err + } + raws[i].idx = i + } + + sort.Sort(byOffsets(raws)) + + offset := uint32(binary.Size(&hdr) + len(raws)*binary.Size(ICONDIRENTRY{})) + for i := 0; i < len(raws); i++ { + err = skip(r, int64(raws[i].icoinfo.ImageOffset-offset)) + if err != nil { + return nil, err + } + offset = raws[i].icoinfo.ImageOffset + + raws[i].bmpinfo = &BITMAPINFOHEADER{} + err = binary.Read(r, binary.LittleEndian, raws[i].bmpinfo) + if err != nil { + return nil, err + } + + err = skip(r, int64(raws[i].bmpinfo.Size-uint32(binary.Size(BITMAPINFOHEADER{})))) + if err != nil { + return nil, err + } + raws[i].data = make([]byte, raws[i].icoinfo.BytesInRes-raws[i].bmpinfo.Size) + _, err = io.ReadFull(r, raws[i].data) + if err != nil { + return nil, err + } + } + + icos := make([]*ICO, len(raws)) + for i := 0; i < len(raws); i++ { + fmt.Println(i) + icos[raws[i].idx], err = decode(raws[i].bmpinfo, &raws[i].icoinfo, raws[i].data) + if err != nil { + return nil, err + } + } + return icos, nil +} + +func decode(info *BITMAPINFOHEADER, icoinfo *ICONDIRENTRY, data []byte) (*ICO, error) { + if info.Compression != BI_RGB { + return nil, fmt.Errorf("ICO compression not supported (got %d)", info.Compression) + } + + //if info.ClrUsed!=0 { + // panic(info.ClrUsed) + //} + + r := bytes.NewBuffer(data) + + bottomup := info.Height > 0 + if !bottomup { + info.Height = -info.Height + } + + switch info.BitCount { + case 8: + ncol := int(icoinfo.ColorCount) + if ncol == 0 { + ncol = 256 + } + + pal := make(color.Palette, ncol) + for i := 0; i < ncol; i++ { + var rgb RGBQUAD + err := binary.Read(r, binary.LittleEndian, &rgb) + if err != nil { + return nil, err + } + pal[i] = color.NRGBA{R: rgb.Red, G: rgb.Green, B: rgb.Blue, A: 0xff} //FIXME: is Alpha ok 0xff? + } + fmt.Println(pal) + + fmt.Println(info.SizeImage, len(data)-binary.Size(RGBQUAD{})*len(pal), info.Width, info.Height) + + default: + return nil, fmt.Errorf("unsupported ICO bit depth (BitCount) %d", info.BitCount) + } + + return nil, nil +} diff --git a/vendor/github.com/asaskevich/govalidator/.gitignore b/vendor/github.com/asaskevich/govalidator/.gitignore deleted file mode 100644 index 8d69a9418a..0000000000 --- a/vendor/github.com/asaskevich/govalidator/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -bin/ -.idea/ -# Binaries for programs and plugins -*.exe -*.exe~ -*.dll -*.so -*.dylib - -# Test binary, built with `go test -c` -*.test - -# Output of the go coverage tool, specifically when used with LiteIDE -*.out - diff --git a/vendor/github.com/asaskevich/govalidator/.travis.yml b/vendor/github.com/asaskevich/govalidator/.travis.yml deleted file mode 100644 index bb83c6670d..0000000000 --- a/vendor/github.com/asaskevich/govalidator/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: go -dist: xenial -go: - - '1.10' - - '1.11' - - '1.12' - - '1.13' - - 'tip' - -script: - - go test -coverpkg=./... -coverprofile=coverage.info -timeout=5s - - bash <(curl -s https://codecov.io/bash) diff --git a/vendor/github.com/asaskevich/govalidator/CODE_OF_CONDUCT.md b/vendor/github.com/asaskevich/govalidator/CODE_OF_CONDUCT.md deleted file mode 100644 index 4b462b0d81..0000000000 --- a/vendor/github.com/asaskevich/govalidator/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,43 +0,0 @@ -# Contributor Code of Conduct - -This project adheres to [The Code Manifesto](http://codemanifesto.com) -as its guidelines for contributor interactions. - -## The Code Manifesto - -We want to work in an ecosystem that empowers developers to reach their -potential — one that encourages growth and effective collaboration. A space -that is safe for all. - -A space such as this benefits everyone that participates in it. It encourages -new developers to enter our field. It is through discussion and collaboration -that we grow, and through growth that we improve. - -In the effort to create such a place, we hold to these values: - -1. **Discrimination limits us.** This includes discrimination on the basis of - race, gender, sexual orientation, gender identity, age, nationality, - technology and any other arbitrary exclusion of a group of people. -2. **Boundaries honor us.** Your comfort levels are not everyone’s comfort - levels. Remember that, and if brought to your attention, heed it. -3. **We are our biggest assets.** None of us were born masters of our trade. - Each of us has been helped along the way. Return that favor, when and where - you can. -4. **We are resources for the future.** As an extension of #3, share what you - know. Make yourself a resource to help those that come after you. -5. **Respect defines us.** Treat others as you wish to be treated. Make your - discussions, criticisms and debates from a position of respectfulness. Ask - yourself, is it true? Is it necessary? Is it constructive? Anything less is - unacceptable. -6. **Reactions require grace.** Angry responses are valid, but abusive language - and vindictive actions are toxic. When something happens that offends you, - handle it assertively, but be respectful. Escalate reasonably, and try to - allow the offender an opportunity to explain themselves, and possibly - correct the issue. -7. **Opinions are just that: opinions.** Each and every one of us, due to our - background and upbringing, have varying opinions. That is perfectly - acceptable. Remember this: if you respect your own opinions, you should - respect the opinions of others. -8. **To err is human.** You might not intend it, but mistakes do happen and - contribute to build experience. Tolerate honest mistakes, and don't - hesitate to apologize if you make one yourself. diff --git a/vendor/github.com/asaskevich/govalidator/CONTRIBUTING.md b/vendor/github.com/asaskevich/govalidator/CONTRIBUTING.md deleted file mode 100644 index 7ed268a1ed..0000000000 --- a/vendor/github.com/asaskevich/govalidator/CONTRIBUTING.md +++ /dev/null @@ -1,63 +0,0 @@ -#### Support -If you do have a contribution to the package, feel free to create a Pull Request or an Issue. - -#### What to contribute -If you don't know what to do, there are some features and functions that need to be done - -- [ ] Refactor code -- [ ] Edit docs and [README](https://github.com/asaskevich/govalidator/README.md): spellcheck, grammar and typo check -- [ ] Create actual list of contributors and projects that currently using this package -- [ ] Resolve [issues and bugs](https://github.com/asaskevich/govalidator/issues) -- [ ] Update actual [list of functions](https://github.com/asaskevich/govalidator#list-of-functions) -- [ ] Update [list of validators](https://github.com/asaskevich/govalidator#validatestruct-2) that available for `ValidateStruct` and add new -- [ ] Implement new validators: `IsFQDN`, `IsIMEI`, `IsPostalCode`, `IsISIN`, `IsISRC` etc -- [x] Implement [validation by maps](https://github.com/asaskevich/govalidator/issues/224) -- [ ] Implement fuzzing testing -- [ ] Implement some struct/map/array utilities -- [ ] Implement map/array validation -- [ ] Implement benchmarking -- [ ] Implement batch of examples -- [ ] Look at forks for new features and fixes - -#### Advice -Feel free to create what you want, but keep in mind when you implement new features: -- Code must be clear and readable, names of variables/constants clearly describes what they are doing -- Public functions must be documented and described in source file and added to README.md to the list of available functions -- There are must be unit-tests for any new functions and improvements - -## Financial contributions - -We also welcome financial contributions in full transparency on our [open collective](https://opencollective.com/govalidator). -Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed. - - -## Credits - - -### Contributors - -Thank you to all the people who have already contributed to govalidator! - - - -### Backers - -Thank you to all our backers! [[Become a backer](https://opencollective.com/govalidator#backer)] - - - - -### Sponsors - -Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/govalidator#sponsor)) - - - - - - - - - - - \ No newline at end of file diff --git a/vendor/github.com/asaskevich/govalidator/LICENSE b/vendor/github.com/asaskevich/govalidator/LICENSE deleted file mode 100644 index cacba91024..0000000000 --- a/vendor/github.com/asaskevich/govalidator/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2020 Alex Saskevich - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/vendor/github.com/asaskevich/govalidator/README.md b/vendor/github.com/asaskevich/govalidator/README.md deleted file mode 100644 index 2c3fc35eb6..0000000000 --- a/vendor/github.com/asaskevich/govalidator/README.md +++ /dev/null @@ -1,622 +0,0 @@ -govalidator -=========== -[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/asaskevich/govalidator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![GoDoc](https://godoc.org/github.com/asaskevich/govalidator?status.png)](https://godoc.org/github.com/asaskevich/govalidator) -[![Build Status](https://travis-ci.org/asaskevich/govalidator.svg?branch=master)](https://travis-ci.org/asaskevich/govalidator) -[![Coverage](https://codecov.io/gh/asaskevich/govalidator/branch/master/graph/badge.svg)](https://codecov.io/gh/asaskevich/govalidator) [![Go Report Card](https://goreportcard.com/badge/github.com/asaskevich/govalidator)](https://goreportcard.com/report/github.com/asaskevich/govalidator) [![GoSearch](http://go-search.org/badge?id=github.com%2Fasaskevich%2Fgovalidator)](http://go-search.org/view?id=github.com%2Fasaskevich%2Fgovalidator) [![Backers on Open Collective](https://opencollective.com/govalidator/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/govalidator/sponsors/badge.svg)](#sponsors) [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fasaskevich%2Fgovalidator.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fasaskevich%2Fgovalidator?ref=badge_shield) - -A package of validators and sanitizers for strings, structs and collections. Based on [validator.js](https://github.com/chriso/validator.js). - -#### Installation -Make sure that Go is installed on your computer. -Type the following command in your terminal: - - go get github.com/asaskevich/govalidator - -or you can get specified release of the package with `gopkg.in`: - - go get gopkg.in/asaskevich/govalidator.v10 - -After it the package is ready to use. - - -#### Import package in your project -Add following line in your `*.go` file: -```go -import "github.com/asaskevich/govalidator" -``` -If you are unhappy to use long `govalidator`, you can do something like this: -```go -import ( - valid "github.com/asaskevich/govalidator" -) -``` - -#### Activate behavior to require all fields have a validation tag by default -`SetFieldsRequiredByDefault` causes validation to fail when struct fields do not include validations or are not explicitly marked as exempt (using `valid:"-"` or `valid:"email,optional"`). A good place to activate this is a package init function or the main() function. - -`SetNilPtrAllowedByRequired` causes validation to pass when struct fields marked by `required` are set to nil. This is disabled by default for consistency, but some packages that need to be able to determine between `nil` and `zero value` state can use this. If disabled, both `nil` and `zero` values cause validation errors. - -```go -import "github.com/asaskevich/govalidator" - -func init() { - govalidator.SetFieldsRequiredByDefault(true) -} -``` - -Here's some code to explain it: -```go -// this struct definition will fail govalidator.ValidateStruct() (and the field values do not matter): -type exampleStruct struct { - Name string `` - Email string `valid:"email"` -} - -// this, however, will only fail when Email is empty or an invalid email address: -type exampleStruct2 struct { - Name string `valid:"-"` - Email string `valid:"email"` -} - -// lastly, this will only fail when Email is an invalid email address but not when it's empty: -type exampleStruct2 struct { - Name string `valid:"-"` - Email string `valid:"email,optional"` -} -``` - -#### Recent breaking changes (see [#123](https://github.com/asaskevich/govalidator/pull/123)) -##### Custom validator function signature -A context was added as the second parameter, for structs this is the object being validated – this makes dependent validation possible. -```go -import "github.com/asaskevich/govalidator" - -// old signature -func(i interface{}) bool - -// new signature -func(i interface{}, o interface{}) bool -``` - -##### Adding a custom validator -This was changed to prevent data races when accessing custom validators. -```go -import "github.com/asaskevich/govalidator" - -// before -govalidator.CustomTypeTagMap["customByteArrayValidator"] = func(i interface{}, o interface{}) bool { - // ... -} - -// after -govalidator.CustomTypeTagMap.Set("customByteArrayValidator", func(i interface{}, o interface{}) bool { - // ... -}) -``` - -#### List of functions: -```go -func Abs(value float64) float64 -func BlackList(str, chars string) string -func ByteLength(str string, params ...string) bool -func CamelCaseToUnderscore(str string) string -func Contains(str, substring string) bool -func Count(array []interface{}, iterator ConditionIterator) int -func Each(array []interface{}, iterator Iterator) -func ErrorByField(e error, field string) string -func ErrorsByField(e error) map[string]string -func Filter(array []interface{}, iterator ConditionIterator) []interface{} -func Find(array []interface{}, iterator ConditionIterator) interface{} -func GetLine(s string, index int) (string, error) -func GetLines(s string) []string -func HasLowerCase(str string) bool -func HasUpperCase(str string) bool -func HasWhitespace(str string) bool -func HasWhitespaceOnly(str string) bool -func InRange(value interface{}, left interface{}, right interface{}) bool -func InRangeFloat32(value, left, right float32) bool -func InRangeFloat64(value, left, right float64) bool -func InRangeInt(value, left, right interface{}) bool -func IsASCII(str string) bool -func IsAlpha(str string) bool -func IsAlphanumeric(str string) bool -func IsBase64(str string) bool -func IsByteLength(str string, min, max int) bool -func IsCIDR(str string) bool -func IsCRC32(str string) bool -func IsCRC32b(str string) bool -func IsCreditCard(str string) bool -func IsDNSName(str string) bool -func IsDataURI(str string) bool -func IsDialString(str string) bool -func IsDivisibleBy(str, num string) bool -func IsEmail(str string) bool -func IsExistingEmail(email string) bool -func IsFilePath(str string) (bool, int) -func IsFloat(str string) bool -func IsFullWidth(str string) bool -func IsHalfWidth(str string) bool -func IsHash(str string, algorithm string) bool -func IsHexadecimal(str string) bool -func IsHexcolor(str string) bool -func IsHost(str string) bool -func IsIP(str string) bool -func IsIPv4(str string) bool -func IsIPv6(str string) bool -func IsISBN(str string, version int) bool -func IsISBN10(str string) bool -func IsISBN13(str string) bool -func IsISO3166Alpha2(str string) bool -func IsISO3166Alpha3(str string) bool -func IsISO4217(str string) bool -func IsISO693Alpha2(str string) bool -func IsISO693Alpha3b(str string) bool -func IsIn(str string, params ...string) bool -func IsInRaw(str string, params ...string) bool -func IsInt(str string) bool -func IsJSON(str string) bool -func IsLatitude(str string) bool -func IsLongitude(str string) bool -func IsLowerCase(str string) bool -func IsMAC(str string) bool -func IsMD4(str string) bool -func IsMD5(str string) bool -func IsMagnetURI(str string) bool -func IsMongoID(str string) bool -func IsMultibyte(str string) bool -func IsNatural(value float64) bool -func IsNegative(value float64) bool -func IsNonNegative(value float64) bool -func IsNonPositive(value float64) bool -func IsNotNull(str string) bool -func IsNull(str string) bool -func IsNumeric(str string) bool -func IsPort(str string) bool -func IsPositive(value float64) bool -func IsPrintableASCII(str string) bool -func IsRFC3339(str string) bool -func IsRFC3339WithoutZone(str string) bool -func IsRGBcolor(str string) bool -func IsRegex(str string) bool -func IsRequestURI(rawurl string) bool -func IsRequestURL(rawurl string) bool -func IsRipeMD128(str string) bool -func IsRipeMD160(str string) bool -func IsRsaPub(str string, params ...string) bool -func IsRsaPublicKey(str string, keylen int) bool -func IsSHA1(str string) bool -func IsSHA256(str string) bool -func IsSHA384(str string) bool -func IsSHA512(str string) bool -func IsSSN(str string) bool -func IsSemver(str string) bool -func IsTiger128(str string) bool -func IsTiger160(str string) bool -func IsTiger192(str string) bool -func IsTime(str string, format string) bool -func IsType(v interface{}, params ...string) bool -func IsURL(str string) bool -func IsUTFDigit(str string) bool -func IsUTFLetter(str string) bool -func IsUTFLetterNumeric(str string) bool -func IsUTFNumeric(str string) bool -func IsUUID(str string) bool -func IsUUIDv3(str string) bool -func IsUUIDv4(str string) bool -func IsUUIDv5(str string) bool -func IsULID(str string) bool -func IsUnixTime(str string) bool -func IsUpperCase(str string) bool -func IsVariableWidth(str string) bool -func IsWhole(value float64) bool -func LeftTrim(str, chars string) string -func Map(array []interface{}, iterator ResultIterator) []interface{} -func Matches(str, pattern string) bool -func MaxStringLength(str string, params ...string) bool -func MinStringLength(str string, params ...string) bool -func NormalizeEmail(str string) (string, error) -func PadBoth(str string, padStr string, padLen int) string -func PadLeft(str string, padStr string, padLen int) string -func PadRight(str string, padStr string, padLen int) string -func PrependPathToErrors(err error, path string) error -func Range(str string, params ...string) bool -func RemoveTags(s string) string -func ReplacePattern(str, pattern, replace string) string -func Reverse(s string) string -func RightTrim(str, chars string) string -func RuneLength(str string, params ...string) bool -func SafeFileName(str string) string -func SetFieldsRequiredByDefault(value bool) -func SetNilPtrAllowedByRequired(value bool) -func Sign(value float64) float64 -func StringLength(str string, params ...string) bool -func StringMatches(s string, params ...string) bool -func StripLow(str string, keepNewLines bool) string -func ToBoolean(str string) (bool, error) -func ToFloat(str string) (float64, error) -func ToInt(value interface{}) (res int64, err error) -func ToJSON(obj interface{}) (string, error) -func ToString(obj interface{}) string -func Trim(str, chars string) string -func Truncate(str string, length int, ending string) string -func TruncatingErrorf(str string, args ...interface{}) error -func UnderscoreToCamelCase(s string) string -func ValidateMap(inputMap map[string]interface{}, validationMap map[string]interface{}) (bool, error) -func ValidateStruct(s interface{}) (bool, error) -func WhiteList(str, chars string) string -type ConditionIterator -type CustomTypeValidator -type Error -func (e Error) Error() string -type Errors -func (es Errors) Error() string -func (es Errors) Errors() []error -type ISO3166Entry -type ISO693Entry -type InterfaceParamValidator -type Iterator -type ParamValidator -type ResultIterator -type UnsupportedTypeError -func (e *UnsupportedTypeError) Error() string -type Validator -``` - -#### Examples -###### IsURL -```go -println(govalidator.IsURL(`http://user@pass:domain.com/path/page`)) -``` -###### IsType -```go -println(govalidator.IsType("Bob", "string")) -println(govalidator.IsType(1, "int")) -i := 1 -println(govalidator.IsType(&i, "*int")) -``` - -IsType can be used through the tag `type` which is essential for map validation: -```go -type User struct { - Name string `valid:"type(string)"` - Age int `valid:"type(int)"` - Meta interface{} `valid:"type(string)"` -} -result, err := govalidator.ValidateStruct(User{"Bob", 20, "meta"}) -if err != nil { - println("error: " + err.Error()) -} -println(result) -``` -###### ToString -```go -type User struct { - FirstName string - LastName string -} - -str := govalidator.ToString(&User{"John", "Juan"}) -println(str) -``` -###### Each, Map, Filter, Count for slices -Each iterates over the slice/array and calls Iterator for every item -```go -data := []interface{}{1, 2, 3, 4, 5} -var fn govalidator.Iterator = func(value interface{}, index int) { - println(value.(int)) -} -govalidator.Each(data, fn) -``` -```go -data := []interface{}{1, 2, 3, 4, 5} -var fn govalidator.ResultIterator = func(value interface{}, index int) interface{} { - return value.(int) * 3 -} -_ = govalidator.Map(data, fn) // result = []interface{}{1, 6, 9, 12, 15} -``` -```go -data := []interface{}{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} -var fn govalidator.ConditionIterator = func(value interface{}, index int) bool { - return value.(int)%2 == 0 -} -_ = govalidator.Filter(data, fn) // result = []interface{}{2, 4, 6, 8, 10} -_ = govalidator.Count(data, fn) // result = 5 -``` -###### ValidateStruct [#2](https://github.com/asaskevich/govalidator/pull/2) -If you want to validate structs, you can use tag `valid` for any field in your structure. All validators used with this field in one tag are separated by comma. If you want to skip validation, place `-` in your tag. If you need a validator that is not on the list below, you can add it like this: -```go -govalidator.TagMap["duck"] = govalidator.Validator(func(str string) bool { - return str == "duck" -}) -``` -For completely custom validators (interface-based), see below. - -Here is a list of available validators for struct fields (validator - used function): -```go -"email": IsEmail, -"url": IsURL, -"dialstring": IsDialString, -"requrl": IsRequestURL, -"requri": IsRequestURI, -"alpha": IsAlpha, -"utfletter": IsUTFLetter, -"alphanum": IsAlphanumeric, -"utfletternum": IsUTFLetterNumeric, -"numeric": IsNumeric, -"utfnumeric": IsUTFNumeric, -"utfdigit": IsUTFDigit, -"hexadecimal": IsHexadecimal, -"hexcolor": IsHexcolor, -"rgbcolor": IsRGBcolor, -"lowercase": IsLowerCase, -"uppercase": IsUpperCase, -"int": IsInt, -"float": IsFloat, -"null": IsNull, -"uuid": IsUUID, -"uuidv3": IsUUIDv3, -"uuidv4": IsUUIDv4, -"uuidv5": IsUUIDv5, -"creditcard": IsCreditCard, -"isbn10": IsISBN10, -"isbn13": IsISBN13, -"json": IsJSON, -"multibyte": IsMultibyte, -"ascii": IsASCII, -"printableascii": IsPrintableASCII, -"fullwidth": IsFullWidth, -"halfwidth": IsHalfWidth, -"variablewidth": IsVariableWidth, -"base64": IsBase64, -"datauri": IsDataURI, -"ip": IsIP, -"port": IsPort, -"ipv4": IsIPv4, -"ipv6": IsIPv6, -"dns": IsDNSName, -"host": IsHost, -"mac": IsMAC, -"latitude": IsLatitude, -"longitude": IsLongitude, -"ssn": IsSSN, -"semver": IsSemver, -"rfc3339": IsRFC3339, -"rfc3339WithoutZone": IsRFC3339WithoutZone, -"ISO3166Alpha2": IsISO3166Alpha2, -"ISO3166Alpha3": IsISO3166Alpha3, -"ulid": IsULID, -``` -Validators with parameters - -```go -"range(min|max)": Range, -"length(min|max)": ByteLength, -"runelength(min|max)": RuneLength, -"stringlength(min|max)": StringLength, -"matches(pattern)": StringMatches, -"in(string1|string2|...|stringN)": IsIn, -"rsapub(keylength)" : IsRsaPub, -"minstringlength(int): MinStringLength, -"maxstringlength(int): MaxStringLength, -``` -Validators with parameters for any type - -```go -"type(type)": IsType, -``` - -And here is small example of usage: -```go -type Post struct { - Title string `valid:"alphanum,required"` - Message string `valid:"duck,ascii"` - Message2 string `valid:"animal(dog)"` - AuthorIP string `valid:"ipv4"` - Date string `valid:"-"` -} -post := &Post{ - Title: "My Example Post", - Message: "duck", - Message2: "dog", - AuthorIP: "123.234.54.3", -} - -// Add your own struct validation tags -govalidator.TagMap["duck"] = govalidator.Validator(func(str string) bool { - return str == "duck" -}) - -// Add your own struct validation tags with parameter -govalidator.ParamTagMap["animal"] = govalidator.ParamValidator(func(str string, params ...string) bool { - species := params[0] - return str == species -}) -govalidator.ParamTagRegexMap["animal"] = regexp.MustCompile("^animal\\((\\w+)\\)$") - -result, err := govalidator.ValidateStruct(post) -if err != nil { - println("error: " + err.Error()) -} -println(result) -``` -###### ValidateMap [#2](https://github.com/asaskevich/govalidator/pull/338) -If you want to validate maps, you can use the map to be validated and a validation map that contain the same tags used in ValidateStruct, both maps have to be in the form `map[string]interface{}` - -So here is small example of usage: -```go -var mapTemplate = map[string]interface{}{ - "name":"required,alpha", - "family":"required,alpha", - "email":"required,email", - "cell-phone":"numeric", - "address":map[string]interface{}{ - "line1":"required,alphanum", - "line2":"alphanum", - "postal-code":"numeric", - }, -} - -var inputMap = map[string]interface{}{ - "name":"Bob", - "family":"Smith", - "email":"foo@bar.baz", - "address":map[string]interface{}{ - "line1":"", - "line2":"", - "postal-code":"", - }, -} - -result, err := govalidator.ValidateMap(inputMap, mapTemplate) -if err != nil { - println("error: " + err.Error()) -} -println(result) -``` - -###### WhiteList -```go -// Remove all characters from string ignoring characters between "a" and "z" -println(govalidator.WhiteList("a3a43a5a4a3a2a23a4a5a4a3a4", "a-z") == "aaaaaaaaaaaa") -``` - -###### Custom validation functions -Custom validation using your own domain specific validators is also available - here's an example of how to use it: -```go -import "github.com/asaskevich/govalidator" - -type CustomByteArray [6]byte // custom types are supported and can be validated - -type StructWithCustomByteArray struct { - ID CustomByteArray `valid:"customByteArrayValidator,customMinLengthValidator"` // multiple custom validators are possible as well and will be evaluated in sequence - Email string `valid:"email"` - CustomMinLength int `valid:"-"` -} - -govalidator.CustomTypeTagMap.Set("customByteArrayValidator", func(i interface{}, context interface{}) bool { - switch v := context.(type) { // you can type switch on the context interface being validated - case StructWithCustomByteArray: - // you can check and validate against some other field in the context, - // return early or not validate against the context at all – your choice - case SomeOtherType: - // ... - default: - // expecting some other type? Throw/panic here or continue - } - - switch v := i.(type) { // type switch on the struct field being validated - case CustomByteArray: - for _, e := range v { // this validator checks that the byte array is not empty, i.e. not all zeroes - if e != 0 { - return true - } - } - } - return false -}) -govalidator.CustomTypeTagMap.Set("customMinLengthValidator", func(i interface{}, context interface{}) bool { - switch v := context.(type) { // this validates a field against the value in another field, i.e. dependent validation - case StructWithCustomByteArray: - return len(v.ID) >= v.CustomMinLength - } - return false -}) -``` - -###### Loop over Error() -By default .Error() returns all errors in a single String. To access each error you can do this: -```go - if err != nil { - errs := err.(govalidator.Errors).Errors() - for _, e := range errs { - fmt.Println(e.Error()) - } - } -``` - -###### Custom error messages -Custom error messages are supported via annotations by adding the `~` separator - here's an example of how to use it: -```go -type Ticket struct { - Id int64 `json:"id"` - FirstName string `json:"firstname" valid:"required~First name is blank"` -} -``` - -#### Notes -Documentation is available here: [godoc.org](https://godoc.org/github.com/asaskevich/govalidator). -Full information about code coverage is also available here: [govalidator on gocover.io](http://gocover.io/github.com/asaskevich/govalidator). - -#### Support -If you do have a contribution to the package, feel free to create a Pull Request or an Issue. - -#### What to contribute -If you don't know what to do, there are some features and functions that need to be done - -- [ ] Refactor code -- [ ] Edit docs and [README](https://github.com/asaskevich/govalidator/README.md): spellcheck, grammar and typo check -- [ ] Create actual list of contributors and projects that currently using this package -- [ ] Resolve [issues and bugs](https://github.com/asaskevich/govalidator/issues) -- [ ] Update actual [list of functions](https://github.com/asaskevich/govalidator#list-of-functions) -- [ ] Update [list of validators](https://github.com/asaskevich/govalidator#validatestruct-2) that available for `ValidateStruct` and add new -- [ ] Implement new validators: `IsFQDN`, `IsIMEI`, `IsPostalCode`, `IsISIN`, `IsISRC` etc -- [x] Implement [validation by maps](https://github.com/asaskevich/govalidator/issues/224) -- [ ] Implement fuzzing testing -- [ ] Implement some struct/map/array utilities -- [ ] Implement map/array validation -- [ ] Implement benchmarking -- [ ] Implement batch of examples -- [ ] Look at forks for new features and fixes - -#### Advice -Feel free to create what you want, but keep in mind when you implement new features: -- Code must be clear and readable, names of variables/constants clearly describes what they are doing -- Public functions must be documented and described in source file and added to README.md to the list of available functions -- There are must be unit-tests for any new functions and improvements - -## Credits -### Contributors - -This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. - -#### Special thanks to [contributors](https://github.com/asaskevich/govalidator/graphs/contributors) -* [Daniel Lohse](https://github.com/annismckenzie) -* [Attila Oláh](https://github.com/attilaolah) -* [Daniel Korner](https://github.com/Dadie) -* [Steven Wilkin](https://github.com/stevenwilkin) -* [Deiwin Sarjas](https://github.com/deiwin) -* [Noah Shibley](https://github.com/slugmobile) -* [Nathan Davies](https://github.com/nathj07) -* [Matt Sanford](https://github.com/mzsanford) -* [Simon ccl1115](https://github.com/ccl1115) - - - - -### Backers - -Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/govalidator#backer)] - - - - -### Sponsors - -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/govalidator#sponsor)] - - - - - - - - - - - - - - - -## License -[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fasaskevich%2Fgovalidator.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fasaskevich%2Fgovalidator?ref=badge_large) diff --git a/vendor/github.com/asaskevich/govalidator/arrays.go b/vendor/github.com/asaskevich/govalidator/arrays.go deleted file mode 100644 index 3e1da7cb48..0000000000 --- a/vendor/github.com/asaskevich/govalidator/arrays.go +++ /dev/null @@ -1,87 +0,0 @@ -package govalidator - -// Iterator is the function that accepts element of slice/array and its index -type Iterator func(interface{}, int) - -// ResultIterator is the function that accepts element of slice/array and its index and returns any result -type ResultIterator func(interface{}, int) interface{} - -// ConditionIterator is the function that accepts element of slice/array and its index and returns boolean -type ConditionIterator func(interface{}, int) bool - -// ReduceIterator is the function that accepts two element of slice/array and returns result of merging those values -type ReduceIterator func(interface{}, interface{}) interface{} - -// Some validates that any item of array corresponds to ConditionIterator. Returns boolean. -func Some(array []interface{}, iterator ConditionIterator) bool { - res := false - for index, data := range array { - res = res || iterator(data, index) - } - return res -} - -// Every validates that every item of array corresponds to ConditionIterator. Returns boolean. -func Every(array []interface{}, iterator ConditionIterator) bool { - res := true - for index, data := range array { - res = res && iterator(data, index) - } - return res -} - -// Reduce boils down a list of values into a single value by ReduceIterator -func Reduce(array []interface{}, iterator ReduceIterator, initialValue interface{}) interface{} { - for _, data := range array { - initialValue = iterator(initialValue, data) - } - return initialValue -} - -// Each iterates over the slice and apply Iterator to every item -func Each(array []interface{}, iterator Iterator) { - for index, data := range array { - iterator(data, index) - } -} - -// Map iterates over the slice and apply ResultIterator to every item. Returns new slice as a result. -func Map(array []interface{}, iterator ResultIterator) []interface{} { - var result = make([]interface{}, len(array)) - for index, data := range array { - result[index] = iterator(data, index) - } - return result -} - -// Find iterates over the slice and apply ConditionIterator to every item. Returns first item that meet ConditionIterator or nil otherwise. -func Find(array []interface{}, iterator ConditionIterator) interface{} { - for index, data := range array { - if iterator(data, index) { - return data - } - } - return nil -} - -// Filter iterates over the slice and apply ConditionIterator to every item. Returns new slice. -func Filter(array []interface{}, iterator ConditionIterator) []interface{} { - var result = make([]interface{}, 0) - for index, data := range array { - if iterator(data, index) { - result = append(result, data) - } - } - return result -} - -// Count iterates over the slice and apply ConditionIterator to every item. Returns count of items that meets ConditionIterator. -func Count(array []interface{}, iterator ConditionIterator) int { - count := 0 - for index, data := range array { - if iterator(data, index) { - count = count + 1 - } - } - return count -} diff --git a/vendor/github.com/asaskevich/govalidator/converter.go b/vendor/github.com/asaskevich/govalidator/converter.go deleted file mode 100644 index d68e990fc2..0000000000 --- a/vendor/github.com/asaskevich/govalidator/converter.go +++ /dev/null @@ -1,81 +0,0 @@ -package govalidator - -import ( - "encoding/json" - "fmt" - "reflect" - "strconv" -) - -// ToString convert the input to a string. -func ToString(obj interface{}) string { - res := fmt.Sprintf("%v", obj) - return res -} - -// ToJSON convert the input to a valid JSON string -func ToJSON(obj interface{}) (string, error) { - res, err := json.Marshal(obj) - if err != nil { - res = []byte("") - } - return string(res), err -} - -// ToFloat convert the input string to a float, or 0.0 if the input is not a float. -func ToFloat(value interface{}) (res float64, err error) { - val := reflect.ValueOf(value) - - switch value.(type) { - case int, int8, int16, int32, int64: - res = float64(val.Int()) - case uint, uint8, uint16, uint32, uint64: - res = float64(val.Uint()) - case float32, float64: - res = val.Float() - case string: - res, err = strconv.ParseFloat(val.String(), 64) - if err != nil { - res = 0 - } - default: - err = fmt.Errorf("ToInt: unknown interface type %T", value) - res = 0 - } - - return -} - -// ToInt convert the input string or any int type to an integer type 64, or 0 if the input is not an integer. -func ToInt(value interface{}) (res int64, err error) { - val := reflect.ValueOf(value) - - switch value.(type) { - case int, int8, int16, int32, int64: - res = val.Int() - case uint, uint8, uint16, uint32, uint64: - res = int64(val.Uint()) - case float32, float64: - res = int64(val.Float()) - case string: - if IsInt(val.String()) { - res, err = strconv.ParseInt(val.String(), 0, 64) - if err != nil { - res = 0 - } - } else { - err = fmt.Errorf("ToInt: invalid numeric format %g", value) - res = 0 - } - default: - err = fmt.Errorf("ToInt: unknown interface type %T", value) - res = 0 - } - - return -} - -// ToBoolean convert the input string to a boolean. -func ToBoolean(str string) (bool, error) { - return strconv.ParseBool(str) -} diff --git a/vendor/github.com/asaskevich/govalidator/doc.go b/vendor/github.com/asaskevich/govalidator/doc.go deleted file mode 100644 index 55dce62dc8..0000000000 --- a/vendor/github.com/asaskevich/govalidator/doc.go +++ /dev/null @@ -1,3 +0,0 @@ -package govalidator - -// A package of validators and sanitizers for strings, structures and collections. diff --git a/vendor/github.com/asaskevich/govalidator/error.go b/vendor/github.com/asaskevich/govalidator/error.go deleted file mode 100644 index 1da2336f47..0000000000 --- a/vendor/github.com/asaskevich/govalidator/error.go +++ /dev/null @@ -1,47 +0,0 @@ -package govalidator - -import ( - "sort" - "strings" -) - -// Errors is an array of multiple errors and conforms to the error interface. -type Errors []error - -// Errors returns itself. -func (es Errors) Errors() []error { - return es -} - -func (es Errors) Error() string { - var errs []string - for _, e := range es { - errs = append(errs, e.Error()) - } - sort.Strings(errs) - return strings.Join(errs, ";") -} - -// Error encapsulates a name, an error and whether there's a custom error message or not. -type Error struct { - Name string - Err error - CustomErrorMessageExists bool - - // Validator indicates the name of the validator that failed - Validator string - Path []string -} - -func (e Error) Error() string { - if e.CustomErrorMessageExists { - return e.Err.Error() - } - - errName := e.Name - if len(e.Path) > 0 { - errName = strings.Join(append(e.Path, e.Name), ".") - } - - return errName + ": " + e.Err.Error() -} diff --git a/vendor/github.com/asaskevich/govalidator/numerics.go b/vendor/github.com/asaskevich/govalidator/numerics.go deleted file mode 100644 index 5041d9e868..0000000000 --- a/vendor/github.com/asaskevich/govalidator/numerics.go +++ /dev/null @@ -1,100 +0,0 @@ -package govalidator - -import ( - "math" -) - -// Abs returns absolute value of number -func Abs(value float64) float64 { - return math.Abs(value) -} - -// Sign returns signum of number: 1 in case of value > 0, -1 in case of value < 0, 0 otherwise -func Sign(value float64) float64 { - if value > 0 { - return 1 - } else if value < 0 { - return -1 - } else { - return 0 - } -} - -// IsNegative returns true if value < 0 -func IsNegative(value float64) bool { - return value < 0 -} - -// IsPositive returns true if value > 0 -func IsPositive(value float64) bool { - return value > 0 -} - -// IsNonNegative returns true if value >= 0 -func IsNonNegative(value float64) bool { - return value >= 0 -} - -// IsNonPositive returns true if value <= 0 -func IsNonPositive(value float64) bool { - return value <= 0 -} - -// InRangeInt returns true if value lies between left and right border -func InRangeInt(value, left, right interface{}) bool { - value64, _ := ToInt(value) - left64, _ := ToInt(left) - right64, _ := ToInt(right) - if left64 > right64 { - left64, right64 = right64, left64 - } - return value64 >= left64 && value64 <= right64 -} - -// InRangeFloat32 returns true if value lies between left and right border -func InRangeFloat32(value, left, right float32) bool { - if left > right { - left, right = right, left - } - return value >= left && value <= right -} - -// InRangeFloat64 returns true if value lies between left and right border -func InRangeFloat64(value, left, right float64) bool { - if left > right { - left, right = right, left - } - return value >= left && value <= right -} - -// InRange returns true if value lies between left and right border, generic type to handle int, float32, float64 and string. -// All types must the same type. -// False if value doesn't lie in range or if it incompatible or not comparable -func InRange(value interface{}, left interface{}, right interface{}) bool { - switch value.(type) { - case int: - intValue, _ := ToInt(value) - intLeft, _ := ToInt(left) - intRight, _ := ToInt(right) - return InRangeInt(intValue, intLeft, intRight) - case float32, float64: - intValue, _ := ToFloat(value) - intLeft, _ := ToFloat(left) - intRight, _ := ToFloat(right) - return InRangeFloat64(intValue, intLeft, intRight) - case string: - return value.(string) >= left.(string) && value.(string) <= right.(string) - default: - return false - } -} - -// IsWhole returns true if value is whole number -func IsWhole(value float64) bool { - return math.Remainder(value, 1) == 0 -} - -// IsNatural returns true if value is natural number (positive and whole) -func IsNatural(value float64) bool { - return IsWhole(value) && IsPositive(value) -} diff --git a/vendor/github.com/asaskevich/govalidator/patterns.go b/vendor/github.com/asaskevich/govalidator/patterns.go deleted file mode 100644 index bafc3765ea..0000000000 --- a/vendor/github.com/asaskevich/govalidator/patterns.go +++ /dev/null @@ -1,113 +0,0 @@ -package govalidator - -import "regexp" - -// Basic regular expressions for validating strings -const ( - Email string = "^(((([a-zA-Z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])+(\\.([a-zA-Z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(([a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])([a-zA-Z]|\\d|-|\\.|_|~|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])*([a-zA-Z]|\\d|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])))\\.)+(([a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])|(([a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])([a-zA-Z]|\\d|-|_|~|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])*([a-zA-Z]|[\\x{00A0}-\\x{D7FF}\\x{F900}-\\x{FDCF}\\x{FDF0}-\\x{FFEF}])))\\.?$" - CreditCard string = "^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11}|6[27][0-9]{14})$" - ISBN10 string = "^(?:[0-9]{9}X|[0-9]{10})$" - ISBN13 string = "^(?:[0-9]{13})$" - UUID3 string = "^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$" - UUID4 string = "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" - UUID5 string = "^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" - UUID string = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" - Alpha string = "^[a-zA-Z]+$" - Alphanumeric string = "^[a-zA-Z0-9]+$" - Numeric string = "^[0-9]+$" - Int string = "^(?:[-+]?(?:0|[1-9][0-9]*))$" - Float string = "^(?:[-+]?(?:[0-9]+))?(?:\\.[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$" - Hexadecimal string = "^[0-9a-fA-F]+$" - Hexcolor string = "^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$" - RGBcolor string = "^rgb\\(\\s*(0|[1-9]\\d?|1\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*(0|[1-9]\\d?|1\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*(0|[1-9]\\d?|1\\d\\d?|2[0-4]\\d|25[0-5])\\s*\\)$" - ASCII string = "^[\x00-\x7F]+$" - Multibyte string = "[^\x00-\x7F]" - FullWidth string = "[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]" - HalfWidth string = "[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]" - Base64 string = "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$" - PrintableASCII string = "^[\x20-\x7E]+$" - DataURI string = "^data:.+\\/(.+);base64$" - MagnetURI string = "^magnet:\\?xt=urn:[a-zA-Z0-9]+:[a-zA-Z0-9]{32,40}&dn=.+&tr=.+$" - Latitude string = "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)$" - Longitude string = "^[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$" - DNSName string = `^([a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62}){1}(\.[a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62})*[\._]?$` - IP string = `(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))` - URLSchema string = `((ftp|tcp|udp|wss?|https?):\/\/)` - URLUsername string = `(\S+(:\S*)?@)` - URLPath string = `((\/|\?|#)[^\s]*)` - URLPort string = `(:(\d{1,5}))` - URLIP string = `([1-9]\d?|1\d\d|2[01]\d|22[0-3]|24\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){2}(?:\.([0-9]\d?|1\d\d|2[0-4]\d|25[0-5]))` - URLSubdomain string = `((www\.)|([a-zA-Z0-9]+([-_\.]?[a-zA-Z0-9])*[a-zA-Z0-9]\.[a-zA-Z0-9]+))` - URL = `^` + URLSchema + `?` + URLUsername + `?` + `((` + URLIP + `|(\[` + IP + `\])|(([a-zA-Z0-9]([a-zA-Z0-9-_]+)?[a-zA-Z0-9]([-\.][a-zA-Z0-9]+)*)|(` + URLSubdomain + `?))?(([a-zA-Z\x{00a1}-\x{ffff}0-9]+-?-?)*[a-zA-Z\x{00a1}-\x{ffff}0-9]+)(?:\.([a-zA-Z\x{00a1}-\x{ffff}]{1,}))?))\.?` + URLPort + `?` + URLPath + `?$` - SSN string = `^\d{3}[- ]?\d{2}[- ]?\d{4}$` - WinPath string = `^[a-zA-Z]:\\(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$` - UnixPath string = `^(/[^/\x00]*)+/?$` - WinARPath string = `^(?:(?:[a-zA-Z]:|\\\\[a-z0-9_.$●-]+\\[a-z0-9_.$●-]+)\\|\\?[^\\/:*?"<>|\r\n]+\\?)(?:[^\\/:*?"<>|\r\n]+\\)*[^\\/:*?"<>|\r\n]*$` - UnixARPath string = `^((\.{0,2}/)?([^/\x00]*))+/?$` - Semver string = "^v?(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)(-(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\\+[0-9a-zA-Z-]+(\\.[0-9a-zA-Z-]+)*)?$" - tagName string = "valid" - hasLowerCase string = ".*[[:lower:]]" - hasUpperCase string = ".*[[:upper:]]" - hasWhitespace string = ".*[[:space:]]" - hasWhitespaceOnly string = "^[[:space:]]+$" - IMEI string = "^[0-9a-f]{14}$|^\\d{15}$|^\\d{18}$" - IMSI string = "^\\d{14,15}$" - E164 string = `^\+?[1-9]\d{1,14}$` -) - -// Used by IsFilePath func -const ( - // Unknown is unresolved OS type - Unknown = iota - // Win is Windows type - Win - // Unix is *nix OS types - Unix -) - -var ( - userRegexp = regexp.MustCompile("^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~.-]+$") - hostRegexp = regexp.MustCompile("^[^\\s]+\\.[^\\s]+$") - userDotRegexp = regexp.MustCompile("(^[.]{1})|([.]{1}$)|([.]{2,})") - rxEmail = regexp.MustCompile(Email) - rxCreditCard = regexp.MustCompile(CreditCard) - rxISBN10 = regexp.MustCompile(ISBN10) - rxISBN13 = regexp.MustCompile(ISBN13) - rxUUID3 = regexp.MustCompile(UUID3) - rxUUID4 = regexp.MustCompile(UUID4) - rxUUID5 = regexp.MustCompile(UUID5) - rxUUID = regexp.MustCompile(UUID) - rxAlpha = regexp.MustCompile(Alpha) - rxAlphanumeric = regexp.MustCompile(Alphanumeric) - rxNumeric = regexp.MustCompile(Numeric) - rxInt = regexp.MustCompile(Int) - rxFloat = regexp.MustCompile(Float) - rxHexadecimal = regexp.MustCompile(Hexadecimal) - rxHexcolor = regexp.MustCompile(Hexcolor) - rxRGBcolor = regexp.MustCompile(RGBcolor) - rxASCII = regexp.MustCompile(ASCII) - rxPrintableASCII = regexp.MustCompile(PrintableASCII) - rxMultibyte = regexp.MustCompile(Multibyte) - rxFullWidth = regexp.MustCompile(FullWidth) - rxHalfWidth = regexp.MustCompile(HalfWidth) - rxBase64 = regexp.MustCompile(Base64) - rxDataURI = regexp.MustCompile(DataURI) - rxMagnetURI = regexp.MustCompile(MagnetURI) - rxLatitude = regexp.MustCompile(Latitude) - rxLongitude = regexp.MustCompile(Longitude) - rxDNSName = regexp.MustCompile(DNSName) - rxURL = regexp.MustCompile(URL) - rxSSN = regexp.MustCompile(SSN) - rxWinPath = regexp.MustCompile(WinPath) - rxUnixPath = regexp.MustCompile(UnixPath) - rxARWinPath = regexp.MustCompile(WinARPath) - rxARUnixPath = regexp.MustCompile(UnixARPath) - rxSemver = regexp.MustCompile(Semver) - rxHasLowerCase = regexp.MustCompile(hasLowerCase) - rxHasUpperCase = regexp.MustCompile(hasUpperCase) - rxHasWhitespace = regexp.MustCompile(hasWhitespace) - rxHasWhitespaceOnly = regexp.MustCompile(hasWhitespaceOnly) - rxIMEI = regexp.MustCompile(IMEI) - rxIMSI = regexp.MustCompile(IMSI) - rxE164 = regexp.MustCompile(E164) -) diff --git a/vendor/github.com/asaskevich/govalidator/types.go b/vendor/github.com/asaskevich/govalidator/types.go deleted file mode 100644 index c573abb51a..0000000000 --- a/vendor/github.com/asaskevich/govalidator/types.go +++ /dev/null @@ -1,656 +0,0 @@ -package govalidator - -import ( - "reflect" - "regexp" - "sort" - "sync" -) - -// Validator is a wrapper for a validator function that returns bool and accepts string. -type Validator func(str string) bool - -// CustomTypeValidator is a wrapper for validator functions that returns bool and accepts any type. -// The second parameter should be the context (in the case of validating a struct: the whole object being validated). -type CustomTypeValidator func(i interface{}, o interface{}) bool - -// ParamValidator is a wrapper for validator functions that accept additional parameters. -type ParamValidator func(str string, params ...string) bool - -// InterfaceParamValidator is a wrapper for functions that accept variants parameters for an interface value -type InterfaceParamValidator func(in interface{}, params ...string) bool -type tagOptionsMap map[string]tagOption - -func (t tagOptionsMap) orderedKeys() []string { - var keys []string - for k := range t { - keys = append(keys, k) - } - - sort.Slice(keys, func(a, b int) bool { - return t[keys[a]].order < t[keys[b]].order - }) - - return keys -} - -type tagOption struct { - name string - customErrorMessage string - order int -} - -// UnsupportedTypeError is a wrapper for reflect.Type -type UnsupportedTypeError struct { - Type reflect.Type -} - -// stringValues is a slice of reflect.Value holding *reflect.StringValue. -// It implements the methods to sort by string. -type stringValues []reflect.Value - -// InterfaceParamTagMap is a map of functions accept variants parameters for an interface value -var InterfaceParamTagMap = map[string]InterfaceParamValidator{ - "type": IsType, -} - -// InterfaceParamTagRegexMap maps interface param tags to their respective regexes. -var InterfaceParamTagRegexMap = map[string]*regexp.Regexp{ - "type": regexp.MustCompile(`^type\((.*)\)$`), -} - -// ParamTagMap is a map of functions accept variants parameters -var ParamTagMap = map[string]ParamValidator{ - "length": ByteLength, - "range": Range, - "runelength": RuneLength, - "stringlength": StringLength, - "matches": StringMatches, - "in": IsInRaw, - "rsapub": IsRsaPub, - "minstringlength": MinStringLength, - "maxstringlength": MaxStringLength, -} - -// ParamTagRegexMap maps param tags to their respective regexes. -var ParamTagRegexMap = map[string]*regexp.Regexp{ - "range": regexp.MustCompile("^range\\((\\d+)\\|(\\d+)\\)$"), - "length": regexp.MustCompile("^length\\((\\d+)\\|(\\d+)\\)$"), - "runelength": regexp.MustCompile("^runelength\\((\\d+)\\|(\\d+)\\)$"), - "stringlength": regexp.MustCompile("^stringlength\\((\\d+)\\|(\\d+)\\)$"), - "in": regexp.MustCompile(`^in\((.*)\)`), - "matches": regexp.MustCompile(`^matches\((.+)\)$`), - "rsapub": regexp.MustCompile("^rsapub\\((\\d+)\\)$"), - "minstringlength": regexp.MustCompile("^minstringlength\\((\\d+)\\)$"), - "maxstringlength": regexp.MustCompile("^maxstringlength\\((\\d+)\\)$"), -} - -type customTypeTagMap struct { - validators map[string]CustomTypeValidator - - sync.RWMutex -} - -func (tm *customTypeTagMap) Get(name string) (CustomTypeValidator, bool) { - tm.RLock() - defer tm.RUnlock() - v, ok := tm.validators[name] - return v, ok -} - -func (tm *customTypeTagMap) Set(name string, ctv CustomTypeValidator) { - tm.Lock() - defer tm.Unlock() - tm.validators[name] = ctv -} - -// CustomTypeTagMap is a map of functions that can be used as tags for ValidateStruct function. -// Use this to validate compound or custom types that need to be handled as a whole, e.g. -// `type UUID [16]byte` (this would be handled as an array of bytes). -var CustomTypeTagMap = &customTypeTagMap{validators: make(map[string]CustomTypeValidator)} - -// TagMap is a map of functions, that can be used as tags for ValidateStruct function. -var TagMap = map[string]Validator{ - "email": IsEmail, - "url": IsURL, - "dialstring": IsDialString, - "requrl": IsRequestURL, - "requri": IsRequestURI, - "alpha": IsAlpha, - "utfletter": IsUTFLetter, - "alphanum": IsAlphanumeric, - "utfletternum": IsUTFLetterNumeric, - "numeric": IsNumeric, - "utfnumeric": IsUTFNumeric, - "utfdigit": IsUTFDigit, - "hexadecimal": IsHexadecimal, - "hexcolor": IsHexcolor, - "rgbcolor": IsRGBcolor, - "lowercase": IsLowerCase, - "uppercase": IsUpperCase, - "int": IsInt, - "float": IsFloat, - "null": IsNull, - "notnull": IsNotNull, - "uuid": IsUUID, - "uuidv3": IsUUIDv3, - "uuidv4": IsUUIDv4, - "uuidv5": IsUUIDv5, - "creditcard": IsCreditCard, - "isbn10": IsISBN10, - "isbn13": IsISBN13, - "json": IsJSON, - "multibyte": IsMultibyte, - "ascii": IsASCII, - "printableascii": IsPrintableASCII, - "fullwidth": IsFullWidth, - "halfwidth": IsHalfWidth, - "variablewidth": IsVariableWidth, - "base64": IsBase64, - "datauri": IsDataURI, - "ip": IsIP, - "port": IsPort, - "ipv4": IsIPv4, - "ipv6": IsIPv6, - "dns": IsDNSName, - "host": IsHost, - "mac": IsMAC, - "latitude": IsLatitude, - "longitude": IsLongitude, - "ssn": IsSSN, - "semver": IsSemver, - "rfc3339": IsRFC3339, - "rfc3339WithoutZone": IsRFC3339WithoutZone, - "ISO3166Alpha2": IsISO3166Alpha2, - "ISO3166Alpha3": IsISO3166Alpha3, - "ISO4217": IsISO4217, - "IMEI": IsIMEI, - "ulid": IsULID, -} - -// ISO3166Entry stores country codes -type ISO3166Entry struct { - EnglishShortName string - FrenchShortName string - Alpha2Code string - Alpha3Code string - Numeric string -} - -//ISO3166List based on https://www.iso.org/obp/ui/#search/code/ Code Type "Officially Assigned Codes" -var ISO3166List = []ISO3166Entry{ - {"Afghanistan", "Afghanistan (l')", "AF", "AFG", "004"}, - {"Albania", "Albanie (l')", "AL", "ALB", "008"}, - {"Antarctica", "Antarctique (l')", "AQ", "ATA", "010"}, - {"Algeria", "Algérie (l')", "DZ", "DZA", "012"}, - {"American Samoa", "Samoa américaines (les)", "AS", "ASM", "016"}, - {"Andorra", "Andorre (l')", "AD", "AND", "020"}, - {"Angola", "Angola (l')", "AO", "AGO", "024"}, - {"Antigua and Barbuda", "Antigua-et-Barbuda", "AG", "ATG", "028"}, - {"Azerbaijan", "Azerbaïdjan (l')", "AZ", "AZE", "031"}, - {"Argentina", "Argentine (l')", "AR", "ARG", "032"}, - {"Australia", "Australie (l')", "AU", "AUS", "036"}, - {"Austria", "Autriche (l')", "AT", "AUT", "040"}, - {"Bahamas (the)", "Bahamas (les)", "BS", "BHS", "044"}, - {"Bahrain", "Bahreïn", "BH", "BHR", "048"}, - {"Bangladesh", "Bangladesh (le)", "BD", "BGD", "050"}, - {"Armenia", "Arménie (l')", "AM", "ARM", "051"}, - {"Barbados", "Barbade (la)", "BB", "BRB", "052"}, - {"Belgium", "Belgique (la)", "BE", "BEL", "056"}, - {"Bermuda", "Bermudes (les)", "BM", "BMU", "060"}, - {"Bhutan", "Bhoutan (le)", "BT", "BTN", "064"}, - {"Bolivia (Plurinational State of)", "Bolivie (État plurinational de)", "BO", "BOL", "068"}, - {"Bosnia and Herzegovina", "Bosnie-Herzégovine (la)", "BA", "BIH", "070"}, - {"Botswana", "Botswana (le)", "BW", "BWA", "072"}, - {"Bouvet Island", "Bouvet (l'Île)", "BV", "BVT", "074"}, - {"Brazil", "Brésil (le)", "BR", "BRA", "076"}, - {"Belize", "Belize (le)", "BZ", "BLZ", "084"}, - {"British Indian Ocean Territory (the)", "Indien (le Territoire britannique de l'océan)", "IO", "IOT", "086"}, - {"Solomon Islands", "Salomon (Îles)", "SB", "SLB", "090"}, - {"Virgin Islands (British)", "Vierges britanniques (les Îles)", "VG", "VGB", "092"}, - {"Brunei Darussalam", "Brunéi Darussalam (le)", "BN", "BRN", "096"}, - {"Bulgaria", "Bulgarie (la)", "BG", "BGR", "100"}, - {"Myanmar", "Myanmar (le)", "MM", "MMR", "104"}, - {"Burundi", "Burundi (le)", "BI", "BDI", "108"}, - {"Belarus", "Bélarus (le)", "BY", "BLR", "112"}, - {"Cambodia", "Cambodge (le)", "KH", "KHM", "116"}, - {"Cameroon", "Cameroun (le)", "CM", "CMR", "120"}, - {"Canada", "Canada (le)", "CA", "CAN", "124"}, - {"Cabo Verde", "Cabo Verde", "CV", "CPV", "132"}, - {"Cayman Islands (the)", "Caïmans (les Îles)", "KY", "CYM", "136"}, - {"Central African Republic (the)", "République centrafricaine (la)", "CF", "CAF", "140"}, - {"Sri Lanka", "Sri Lanka", "LK", "LKA", "144"}, - {"Chad", "Tchad (le)", "TD", "TCD", "148"}, - {"Chile", "Chili (le)", "CL", "CHL", "152"}, - {"China", "Chine (la)", "CN", "CHN", "156"}, - {"Taiwan (Province of China)", "Taïwan (Province de Chine)", "TW", "TWN", "158"}, - {"Christmas Island", "Christmas (l'Île)", "CX", "CXR", "162"}, - {"Cocos (Keeling) Islands (the)", "Cocos (les Îles)/ Keeling (les Îles)", "CC", "CCK", "166"}, - {"Colombia", "Colombie (la)", "CO", "COL", "170"}, - {"Comoros (the)", "Comores (les)", "KM", "COM", "174"}, - {"Mayotte", "Mayotte", "YT", "MYT", "175"}, - {"Congo (the)", "Congo (le)", "CG", "COG", "178"}, - {"Congo (the Democratic Republic of the)", "Congo (la République démocratique du)", "CD", "COD", "180"}, - {"Cook Islands (the)", "Cook (les Îles)", "CK", "COK", "184"}, - {"Costa Rica", "Costa Rica (le)", "CR", "CRI", "188"}, - {"Croatia", "Croatie (la)", "HR", "HRV", "191"}, - {"Cuba", "Cuba", "CU", "CUB", "192"}, - {"Cyprus", "Chypre", "CY", "CYP", "196"}, - {"Czech Republic (the)", "tchèque (la République)", "CZ", "CZE", "203"}, - {"Benin", "Bénin (le)", "BJ", "BEN", "204"}, - {"Denmark", "Danemark (le)", "DK", "DNK", "208"}, - {"Dominica", "Dominique (la)", "DM", "DMA", "212"}, - {"Dominican Republic (the)", "dominicaine (la République)", "DO", "DOM", "214"}, - {"Ecuador", "Équateur (l')", "EC", "ECU", "218"}, - {"El Salvador", "El Salvador", "SV", "SLV", "222"}, - {"Equatorial Guinea", "Guinée équatoriale (la)", "GQ", "GNQ", "226"}, - {"Ethiopia", "Éthiopie (l')", "ET", "ETH", "231"}, - {"Eritrea", "Érythrée (l')", "ER", "ERI", "232"}, - {"Estonia", "Estonie (l')", "EE", "EST", "233"}, - {"Faroe Islands (the)", "Féroé (les Îles)", "FO", "FRO", "234"}, - {"Falkland Islands (the) [Malvinas]", "Falkland (les Îles)/Malouines (les Îles)", "FK", "FLK", "238"}, - {"South Georgia and the South Sandwich Islands", "Géorgie du Sud-et-les Îles Sandwich du Sud (la)", "GS", "SGS", "239"}, - {"Fiji", "Fidji (les)", "FJ", "FJI", "242"}, - {"Finland", "Finlande (la)", "FI", "FIN", "246"}, - {"Åland Islands", "Åland(les Îles)", "AX", "ALA", "248"}, - {"France", "France (la)", "FR", "FRA", "250"}, - {"French Guiana", "Guyane française (la )", "GF", "GUF", "254"}, - {"French Polynesia", "Polynésie française (la)", "PF", "PYF", "258"}, - {"French Southern Territories (the)", "Terres australes françaises (les)", "TF", "ATF", "260"}, - {"Djibouti", "Djibouti", "DJ", "DJI", "262"}, - {"Gabon", "Gabon (le)", "GA", "GAB", "266"}, - {"Georgia", "Géorgie (la)", "GE", "GEO", "268"}, - {"Gambia (the)", "Gambie (la)", "GM", "GMB", "270"}, - {"Palestine, State of", "Palestine, État de", "PS", "PSE", "275"}, - {"Germany", "Allemagne (l')", "DE", "DEU", "276"}, - {"Ghana", "Ghana (le)", "GH", "GHA", "288"}, - {"Gibraltar", "Gibraltar", "GI", "GIB", "292"}, - {"Kiribati", "Kiribati", "KI", "KIR", "296"}, - {"Greece", "Grèce (la)", "GR", "GRC", "300"}, - {"Greenland", "Groenland (le)", "GL", "GRL", "304"}, - {"Grenada", "Grenade (la)", "GD", "GRD", "308"}, - {"Guadeloupe", "Guadeloupe (la)", "GP", "GLP", "312"}, - {"Guam", "Guam", "GU", "GUM", "316"}, - {"Guatemala", "Guatemala (le)", "GT", "GTM", "320"}, - {"Guinea", "Guinée (la)", "GN", "GIN", "324"}, - {"Guyana", "Guyana (le)", "GY", "GUY", "328"}, - {"Haiti", "Haïti", "HT", "HTI", "332"}, - {"Heard Island and McDonald Islands", "Heard-et-Îles MacDonald (l'Île)", "HM", "HMD", "334"}, - {"Holy See (the)", "Saint-Siège (le)", "VA", "VAT", "336"}, - {"Honduras", "Honduras (le)", "HN", "HND", "340"}, - {"Hong Kong", "Hong Kong", "HK", "HKG", "344"}, - {"Hungary", "Hongrie (la)", "HU", "HUN", "348"}, - {"Iceland", "Islande (l')", "IS", "ISL", "352"}, - {"India", "Inde (l')", "IN", "IND", "356"}, - {"Indonesia", "Indonésie (l')", "ID", "IDN", "360"}, - {"Iran (Islamic Republic of)", "Iran (République Islamique d')", "IR", "IRN", "364"}, - {"Iraq", "Iraq (l')", "IQ", "IRQ", "368"}, - {"Ireland", "Irlande (l')", "IE", "IRL", "372"}, - {"Israel", "Israël", "IL", "ISR", "376"}, - {"Italy", "Italie (l')", "IT", "ITA", "380"}, - {"Côte d'Ivoire", "Côte d'Ivoire (la)", "CI", "CIV", "384"}, - {"Jamaica", "Jamaïque (la)", "JM", "JAM", "388"}, - {"Japan", "Japon (le)", "JP", "JPN", "392"}, - {"Kazakhstan", "Kazakhstan (le)", "KZ", "KAZ", "398"}, - {"Jordan", "Jordanie (la)", "JO", "JOR", "400"}, - {"Kenya", "Kenya (le)", "KE", "KEN", "404"}, - {"Korea (the Democratic People's Republic of)", "Corée (la République populaire démocratique de)", "KP", "PRK", "408"}, - {"Korea (the Republic of)", "Corée (la République de)", "KR", "KOR", "410"}, - {"Kuwait", "Koweït (le)", "KW", "KWT", "414"}, - {"Kyrgyzstan", "Kirghizistan (le)", "KG", "KGZ", "417"}, - {"Lao People's Democratic Republic (the)", "Lao, République démocratique populaire", "LA", "LAO", "418"}, - {"Lebanon", "Liban (le)", "LB", "LBN", "422"}, - {"Lesotho", "Lesotho (le)", "LS", "LSO", "426"}, - {"Latvia", "Lettonie (la)", "LV", "LVA", "428"}, - {"Liberia", "Libéria (le)", "LR", "LBR", "430"}, - {"Libya", "Libye (la)", "LY", "LBY", "434"}, - {"Liechtenstein", "Liechtenstein (le)", "LI", "LIE", "438"}, - {"Lithuania", "Lituanie (la)", "LT", "LTU", "440"}, - {"Luxembourg", "Luxembourg (le)", "LU", "LUX", "442"}, - {"Macao", "Macao", "MO", "MAC", "446"}, - {"Madagascar", "Madagascar", "MG", "MDG", "450"}, - {"Malawi", "Malawi (le)", "MW", "MWI", "454"}, - {"Malaysia", "Malaisie (la)", "MY", "MYS", "458"}, - {"Maldives", "Maldives (les)", "MV", "MDV", "462"}, - {"Mali", "Mali (le)", "ML", "MLI", "466"}, - {"Malta", "Malte", "MT", "MLT", "470"}, - {"Martinique", "Martinique (la)", "MQ", "MTQ", "474"}, - {"Mauritania", "Mauritanie (la)", "MR", "MRT", "478"}, - {"Mauritius", "Maurice", "MU", "MUS", "480"}, - {"Mexico", "Mexique (le)", "MX", "MEX", "484"}, - {"Monaco", "Monaco", "MC", "MCO", "492"}, - {"Mongolia", "Mongolie (la)", "MN", "MNG", "496"}, - {"Moldova (the Republic of)", "Moldova , République de", "MD", "MDA", "498"}, - {"Montenegro", "Monténégro (le)", "ME", "MNE", "499"}, - {"Montserrat", "Montserrat", "MS", "MSR", "500"}, - {"Morocco", "Maroc (le)", "MA", "MAR", "504"}, - {"Mozambique", "Mozambique (le)", "MZ", "MOZ", "508"}, - {"Oman", "Oman", "OM", "OMN", "512"}, - {"Namibia", "Namibie (la)", "NA", "NAM", "516"}, - {"Nauru", "Nauru", "NR", "NRU", "520"}, - {"Nepal", "Népal (le)", "NP", "NPL", "524"}, - {"Netherlands (the)", "Pays-Bas (les)", "NL", "NLD", "528"}, - {"Curaçao", "Curaçao", "CW", "CUW", "531"}, - {"Aruba", "Aruba", "AW", "ABW", "533"}, - {"Sint Maarten (Dutch part)", "Saint-Martin (partie néerlandaise)", "SX", "SXM", "534"}, - {"Bonaire, Sint Eustatius and Saba", "Bonaire, Saint-Eustache et Saba", "BQ", "BES", "535"}, - {"New Caledonia", "Nouvelle-Calédonie (la)", "NC", "NCL", "540"}, - {"Vanuatu", "Vanuatu (le)", "VU", "VUT", "548"}, - {"New Zealand", "Nouvelle-Zélande (la)", "NZ", "NZL", "554"}, - {"Nicaragua", "Nicaragua (le)", "NI", "NIC", "558"}, - {"Niger (the)", "Niger (le)", "NE", "NER", "562"}, - {"Nigeria", "Nigéria (le)", "NG", "NGA", "566"}, - {"Niue", "Niue", "NU", "NIU", "570"}, - {"Norfolk Island", "Norfolk (l'Île)", "NF", "NFK", "574"}, - {"Norway", "Norvège (la)", "NO", "NOR", "578"}, - {"Northern Mariana Islands (the)", "Mariannes du Nord (les Îles)", "MP", "MNP", "580"}, - {"United States Minor Outlying Islands (the)", "Îles mineures éloignées des États-Unis (les)", "UM", "UMI", "581"}, - {"Micronesia (Federated States of)", "Micronésie (États fédérés de)", "FM", "FSM", "583"}, - {"Marshall Islands (the)", "Marshall (Îles)", "MH", "MHL", "584"}, - {"Palau", "Palaos (les)", "PW", "PLW", "585"}, - {"Pakistan", "Pakistan (le)", "PK", "PAK", "586"}, - {"Panama", "Panama (le)", "PA", "PAN", "591"}, - {"Papua New Guinea", "Papouasie-Nouvelle-Guinée (la)", "PG", "PNG", "598"}, - {"Paraguay", "Paraguay (le)", "PY", "PRY", "600"}, - {"Peru", "Pérou (le)", "PE", "PER", "604"}, - {"Philippines (the)", "Philippines (les)", "PH", "PHL", "608"}, - {"Pitcairn", "Pitcairn", "PN", "PCN", "612"}, - {"Poland", "Pologne (la)", "PL", "POL", "616"}, - {"Portugal", "Portugal (le)", "PT", "PRT", "620"}, - {"Guinea-Bissau", "Guinée-Bissau (la)", "GW", "GNB", "624"}, - {"Timor-Leste", "Timor-Leste (le)", "TL", "TLS", "626"}, - {"Puerto Rico", "Porto Rico", "PR", "PRI", "630"}, - {"Qatar", "Qatar (le)", "QA", "QAT", "634"}, - {"Réunion", "Réunion (La)", "RE", "REU", "638"}, - {"Romania", "Roumanie (la)", "RO", "ROU", "642"}, - {"Russian Federation (the)", "Russie (la Fédération de)", "RU", "RUS", "643"}, - {"Rwanda", "Rwanda (le)", "RW", "RWA", "646"}, - {"Saint Barthélemy", "Saint-Barthélemy", "BL", "BLM", "652"}, - {"Saint Helena, Ascension and Tristan da Cunha", "Sainte-Hélène, Ascension et Tristan da Cunha", "SH", "SHN", "654"}, - {"Saint Kitts and Nevis", "Saint-Kitts-et-Nevis", "KN", "KNA", "659"}, - {"Anguilla", "Anguilla", "AI", "AIA", "660"}, - {"Saint Lucia", "Sainte-Lucie", "LC", "LCA", "662"}, - {"Saint Martin (French part)", "Saint-Martin (partie française)", "MF", "MAF", "663"}, - {"Saint Pierre and Miquelon", "Saint-Pierre-et-Miquelon", "PM", "SPM", "666"}, - {"Saint Vincent and the Grenadines", "Saint-Vincent-et-les Grenadines", "VC", "VCT", "670"}, - {"San Marino", "Saint-Marin", "SM", "SMR", "674"}, - {"Sao Tome and Principe", "Sao Tomé-et-Principe", "ST", "STP", "678"}, - {"Saudi Arabia", "Arabie saoudite (l')", "SA", "SAU", "682"}, - {"Senegal", "Sénégal (le)", "SN", "SEN", "686"}, - {"Serbia", "Serbie (la)", "RS", "SRB", "688"}, - {"Seychelles", "Seychelles (les)", "SC", "SYC", "690"}, - {"Sierra Leone", "Sierra Leone (la)", "SL", "SLE", "694"}, - {"Singapore", "Singapour", "SG", "SGP", "702"}, - {"Slovakia", "Slovaquie (la)", "SK", "SVK", "703"}, - {"Viet Nam", "Viet Nam (le)", "VN", "VNM", "704"}, - {"Slovenia", "Slovénie (la)", "SI", "SVN", "705"}, - {"Somalia", "Somalie (la)", "SO", "SOM", "706"}, - {"South Africa", "Afrique du Sud (l')", "ZA", "ZAF", "710"}, - {"Zimbabwe", "Zimbabwe (le)", "ZW", "ZWE", "716"}, - {"Spain", "Espagne (l')", "ES", "ESP", "724"}, - {"South Sudan", "Soudan du Sud (le)", "SS", "SSD", "728"}, - {"Sudan (the)", "Soudan (le)", "SD", "SDN", "729"}, - {"Western Sahara*", "Sahara occidental (le)*", "EH", "ESH", "732"}, - {"Suriname", "Suriname (le)", "SR", "SUR", "740"}, - {"Svalbard and Jan Mayen", "Svalbard et l'Île Jan Mayen (le)", "SJ", "SJM", "744"}, - {"Swaziland", "Swaziland (le)", "SZ", "SWZ", "748"}, - {"Sweden", "Suède (la)", "SE", "SWE", "752"}, - {"Switzerland", "Suisse (la)", "CH", "CHE", "756"}, - {"Syrian Arab Republic", "République arabe syrienne (la)", "SY", "SYR", "760"}, - {"Tajikistan", "Tadjikistan (le)", "TJ", "TJK", "762"}, - {"Thailand", "Thaïlande (la)", "TH", "THA", "764"}, - {"Togo", "Togo (le)", "TG", "TGO", "768"}, - {"Tokelau", "Tokelau (les)", "TK", "TKL", "772"}, - {"Tonga", "Tonga (les)", "TO", "TON", "776"}, - {"Trinidad and Tobago", "Trinité-et-Tobago (la)", "TT", "TTO", "780"}, - {"United Arab Emirates (the)", "Émirats arabes unis (les)", "AE", "ARE", "784"}, - {"Tunisia", "Tunisie (la)", "TN", "TUN", "788"}, - {"Turkey", "Turquie (la)", "TR", "TUR", "792"}, - {"Turkmenistan", "Turkménistan (le)", "TM", "TKM", "795"}, - {"Turks and Caicos Islands (the)", "Turks-et-Caïcos (les Îles)", "TC", "TCA", "796"}, - {"Tuvalu", "Tuvalu (les)", "TV", "TUV", "798"}, - {"Uganda", "Ouganda (l')", "UG", "UGA", "800"}, - {"Ukraine", "Ukraine (l')", "UA", "UKR", "804"}, - {"Macedonia (the former Yugoslav Republic of)", "Macédoine (l'ex‑République yougoslave de)", "MK", "MKD", "807"}, - {"Egypt", "Égypte (l')", "EG", "EGY", "818"}, - {"United Kingdom of Great Britain and Northern Ireland (the)", "Royaume-Uni de Grande-Bretagne et d'Irlande du Nord (le)", "GB", "GBR", "826"}, - {"Guernsey", "Guernesey", "GG", "GGY", "831"}, - {"Jersey", "Jersey", "JE", "JEY", "832"}, - {"Isle of Man", "Île de Man", "IM", "IMN", "833"}, - {"Tanzania, United Republic of", "Tanzanie, République-Unie de", "TZ", "TZA", "834"}, - {"United States of America (the)", "États-Unis d'Amérique (les)", "US", "USA", "840"}, - {"Virgin Islands (U.S.)", "Vierges des États-Unis (les Îles)", "VI", "VIR", "850"}, - {"Burkina Faso", "Burkina Faso (le)", "BF", "BFA", "854"}, - {"Uruguay", "Uruguay (l')", "UY", "URY", "858"}, - {"Uzbekistan", "Ouzbékistan (l')", "UZ", "UZB", "860"}, - {"Venezuela (Bolivarian Republic of)", "Venezuela (République bolivarienne du)", "VE", "VEN", "862"}, - {"Wallis and Futuna", "Wallis-et-Futuna", "WF", "WLF", "876"}, - {"Samoa", "Samoa (le)", "WS", "WSM", "882"}, - {"Yemen", "Yémen (le)", "YE", "YEM", "887"}, - {"Zambia", "Zambie (la)", "ZM", "ZMB", "894"}, -} - -// ISO4217List is the list of ISO currency codes -var ISO4217List = []string{ - "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", - "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BOV", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", - "CAD", "CDF", "CHE", "CHF", "CHW", "CLF", "CLP", "CNY", "COP", "COU", "CRC", "CUC", "CUP", "CVE", "CZK", - "DJF", "DKK", "DOP", "DZD", - "EGP", "ERN", "ETB", "EUR", - "FJD", "FKP", - "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", - "HKD", "HNL", "HRK", "HTG", "HUF", - "IDR", "ILS", "INR", "IQD", "IRR", "ISK", - "JMD", "JOD", "JPY", - "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", - "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", - "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MXV", "MYR", "MZN", - "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", - "OMR", - "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", - "QAR", - "RON", "RSD", "RUB", "RWF", - "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SSP", "STD", "STN", "SVC", "SYP", "SZL", - "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", - "UAH", "UGX", "USD", "USN", "UYI", "UYU", "UYW", "UZS", - "VEF", "VES", "VND", "VUV", - "WST", - "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XOF", "XPD", "XPF", "XPT", "XSU", "XTS", "XUA", "XXX", - "YER", - "ZAR", "ZMW", "ZWL", -} - -// ISO693Entry stores ISO language codes -type ISO693Entry struct { - Alpha3bCode string - Alpha2Code string - English string -} - -//ISO693List based on http://data.okfn.org/data/core/language-codes/r/language-codes-3b2.json -var ISO693List = []ISO693Entry{ - {Alpha3bCode: "aar", Alpha2Code: "aa", English: "Afar"}, - {Alpha3bCode: "abk", Alpha2Code: "ab", English: "Abkhazian"}, - {Alpha3bCode: "afr", Alpha2Code: "af", English: "Afrikaans"}, - {Alpha3bCode: "aka", Alpha2Code: "ak", English: "Akan"}, - {Alpha3bCode: "alb", Alpha2Code: "sq", English: "Albanian"}, - {Alpha3bCode: "amh", Alpha2Code: "am", English: "Amharic"}, - {Alpha3bCode: "ara", Alpha2Code: "ar", English: "Arabic"}, - {Alpha3bCode: "arg", Alpha2Code: "an", English: "Aragonese"}, - {Alpha3bCode: "arm", Alpha2Code: "hy", English: "Armenian"}, - {Alpha3bCode: "asm", Alpha2Code: "as", English: "Assamese"}, - {Alpha3bCode: "ava", Alpha2Code: "av", English: "Avaric"}, - {Alpha3bCode: "ave", Alpha2Code: "ae", English: "Avestan"}, - {Alpha3bCode: "aym", Alpha2Code: "ay", English: "Aymara"}, - {Alpha3bCode: "aze", Alpha2Code: "az", English: "Azerbaijani"}, - {Alpha3bCode: "bak", Alpha2Code: "ba", English: "Bashkir"}, - {Alpha3bCode: "bam", Alpha2Code: "bm", English: "Bambara"}, - {Alpha3bCode: "baq", Alpha2Code: "eu", English: "Basque"}, - {Alpha3bCode: "bel", Alpha2Code: "be", English: "Belarusian"}, - {Alpha3bCode: "ben", Alpha2Code: "bn", English: "Bengali"}, - {Alpha3bCode: "bih", Alpha2Code: "bh", English: "Bihari languages"}, - {Alpha3bCode: "bis", Alpha2Code: "bi", English: "Bislama"}, - {Alpha3bCode: "bos", Alpha2Code: "bs", English: "Bosnian"}, - {Alpha3bCode: "bre", Alpha2Code: "br", English: "Breton"}, - {Alpha3bCode: "bul", Alpha2Code: "bg", English: "Bulgarian"}, - {Alpha3bCode: "bur", Alpha2Code: "my", English: "Burmese"}, - {Alpha3bCode: "cat", Alpha2Code: "ca", English: "Catalan; Valencian"}, - {Alpha3bCode: "cha", Alpha2Code: "ch", English: "Chamorro"}, - {Alpha3bCode: "che", Alpha2Code: "ce", English: "Chechen"}, - {Alpha3bCode: "chi", Alpha2Code: "zh", English: "Chinese"}, - {Alpha3bCode: "chu", Alpha2Code: "cu", English: "Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic"}, - {Alpha3bCode: "chv", Alpha2Code: "cv", English: "Chuvash"}, - {Alpha3bCode: "cor", Alpha2Code: "kw", English: "Cornish"}, - {Alpha3bCode: "cos", Alpha2Code: "co", English: "Corsican"}, - {Alpha3bCode: "cre", Alpha2Code: "cr", English: "Cree"}, - {Alpha3bCode: "cze", Alpha2Code: "cs", English: "Czech"}, - {Alpha3bCode: "dan", Alpha2Code: "da", English: "Danish"}, - {Alpha3bCode: "div", Alpha2Code: "dv", English: "Divehi; Dhivehi; Maldivian"}, - {Alpha3bCode: "dut", Alpha2Code: "nl", English: "Dutch; Flemish"}, - {Alpha3bCode: "dzo", Alpha2Code: "dz", English: "Dzongkha"}, - {Alpha3bCode: "eng", Alpha2Code: "en", English: "English"}, - {Alpha3bCode: "epo", Alpha2Code: "eo", English: "Esperanto"}, - {Alpha3bCode: "est", Alpha2Code: "et", English: "Estonian"}, - {Alpha3bCode: "ewe", Alpha2Code: "ee", English: "Ewe"}, - {Alpha3bCode: "fao", Alpha2Code: "fo", English: "Faroese"}, - {Alpha3bCode: "fij", Alpha2Code: "fj", English: "Fijian"}, - {Alpha3bCode: "fin", Alpha2Code: "fi", English: "Finnish"}, - {Alpha3bCode: "fre", Alpha2Code: "fr", English: "French"}, - {Alpha3bCode: "fry", Alpha2Code: "fy", English: "Western Frisian"}, - {Alpha3bCode: "ful", Alpha2Code: "ff", English: "Fulah"}, - {Alpha3bCode: "geo", Alpha2Code: "ka", English: "Georgian"}, - {Alpha3bCode: "ger", Alpha2Code: "de", English: "German"}, - {Alpha3bCode: "gla", Alpha2Code: "gd", English: "Gaelic; Scottish Gaelic"}, - {Alpha3bCode: "gle", Alpha2Code: "ga", English: "Irish"}, - {Alpha3bCode: "glg", Alpha2Code: "gl", English: "Galician"}, - {Alpha3bCode: "glv", Alpha2Code: "gv", English: "Manx"}, - {Alpha3bCode: "gre", Alpha2Code: "el", English: "Greek, Modern (1453-)"}, - {Alpha3bCode: "grn", Alpha2Code: "gn", English: "Guarani"}, - {Alpha3bCode: "guj", Alpha2Code: "gu", English: "Gujarati"}, - {Alpha3bCode: "hat", Alpha2Code: "ht", English: "Haitian; Haitian Creole"}, - {Alpha3bCode: "hau", Alpha2Code: "ha", English: "Hausa"}, - {Alpha3bCode: "heb", Alpha2Code: "he", English: "Hebrew"}, - {Alpha3bCode: "her", Alpha2Code: "hz", English: "Herero"}, - {Alpha3bCode: "hin", Alpha2Code: "hi", English: "Hindi"}, - {Alpha3bCode: "hmo", Alpha2Code: "ho", English: "Hiri Motu"}, - {Alpha3bCode: "hrv", Alpha2Code: "hr", English: "Croatian"}, - {Alpha3bCode: "hun", Alpha2Code: "hu", English: "Hungarian"}, - {Alpha3bCode: "ibo", Alpha2Code: "ig", English: "Igbo"}, - {Alpha3bCode: "ice", Alpha2Code: "is", English: "Icelandic"}, - {Alpha3bCode: "ido", Alpha2Code: "io", English: "Ido"}, - {Alpha3bCode: "iii", Alpha2Code: "ii", English: "Sichuan Yi; Nuosu"}, - {Alpha3bCode: "iku", Alpha2Code: "iu", English: "Inuktitut"}, - {Alpha3bCode: "ile", Alpha2Code: "ie", English: "Interlingue; Occidental"}, - {Alpha3bCode: "ina", Alpha2Code: "ia", English: "Interlingua (International Auxiliary Language Association)"}, - {Alpha3bCode: "ind", Alpha2Code: "id", English: "Indonesian"}, - {Alpha3bCode: "ipk", Alpha2Code: "ik", English: "Inupiaq"}, - {Alpha3bCode: "ita", Alpha2Code: "it", English: "Italian"}, - {Alpha3bCode: "jav", Alpha2Code: "jv", English: "Javanese"}, - {Alpha3bCode: "jpn", Alpha2Code: "ja", English: "Japanese"}, - {Alpha3bCode: "kal", Alpha2Code: "kl", English: "Kalaallisut; Greenlandic"}, - {Alpha3bCode: "kan", Alpha2Code: "kn", English: "Kannada"}, - {Alpha3bCode: "kas", Alpha2Code: "ks", English: "Kashmiri"}, - {Alpha3bCode: "kau", Alpha2Code: "kr", English: "Kanuri"}, - {Alpha3bCode: "kaz", Alpha2Code: "kk", English: "Kazakh"}, - {Alpha3bCode: "khm", Alpha2Code: "km", English: "Central Khmer"}, - {Alpha3bCode: "kik", Alpha2Code: "ki", English: "Kikuyu; Gikuyu"}, - {Alpha3bCode: "kin", Alpha2Code: "rw", English: "Kinyarwanda"}, - {Alpha3bCode: "kir", Alpha2Code: "ky", English: "Kirghiz; Kyrgyz"}, - {Alpha3bCode: "kom", Alpha2Code: "kv", English: "Komi"}, - {Alpha3bCode: "kon", Alpha2Code: "kg", English: "Kongo"}, - {Alpha3bCode: "kor", Alpha2Code: "ko", English: "Korean"}, - {Alpha3bCode: "kua", Alpha2Code: "kj", English: "Kuanyama; Kwanyama"}, - {Alpha3bCode: "kur", Alpha2Code: "ku", English: "Kurdish"}, - {Alpha3bCode: "lao", Alpha2Code: "lo", English: "Lao"}, - {Alpha3bCode: "lat", Alpha2Code: "la", English: "Latin"}, - {Alpha3bCode: "lav", Alpha2Code: "lv", English: "Latvian"}, - {Alpha3bCode: "lim", Alpha2Code: "li", English: "Limburgan; Limburger; Limburgish"}, - {Alpha3bCode: "lin", Alpha2Code: "ln", English: "Lingala"}, - {Alpha3bCode: "lit", Alpha2Code: "lt", English: "Lithuanian"}, - {Alpha3bCode: "ltz", Alpha2Code: "lb", English: "Luxembourgish; Letzeburgesch"}, - {Alpha3bCode: "lub", Alpha2Code: "lu", English: "Luba-Katanga"}, - {Alpha3bCode: "lug", Alpha2Code: "lg", English: "Ganda"}, - {Alpha3bCode: "mac", Alpha2Code: "mk", English: "Macedonian"}, - {Alpha3bCode: "mah", Alpha2Code: "mh", English: "Marshallese"}, - {Alpha3bCode: "mal", Alpha2Code: "ml", English: "Malayalam"}, - {Alpha3bCode: "mao", Alpha2Code: "mi", English: "Maori"}, - {Alpha3bCode: "mar", Alpha2Code: "mr", English: "Marathi"}, - {Alpha3bCode: "may", Alpha2Code: "ms", English: "Malay"}, - {Alpha3bCode: "mlg", Alpha2Code: "mg", English: "Malagasy"}, - {Alpha3bCode: "mlt", Alpha2Code: "mt", English: "Maltese"}, - {Alpha3bCode: "mon", Alpha2Code: "mn", English: "Mongolian"}, - {Alpha3bCode: "nau", Alpha2Code: "na", English: "Nauru"}, - {Alpha3bCode: "nav", Alpha2Code: "nv", English: "Navajo; Navaho"}, - {Alpha3bCode: "nbl", Alpha2Code: "nr", English: "Ndebele, South; South Ndebele"}, - {Alpha3bCode: "nde", Alpha2Code: "nd", English: "Ndebele, North; North Ndebele"}, - {Alpha3bCode: "ndo", Alpha2Code: "ng", English: "Ndonga"}, - {Alpha3bCode: "nep", Alpha2Code: "ne", English: "Nepali"}, - {Alpha3bCode: "nno", Alpha2Code: "nn", English: "Norwegian Nynorsk; Nynorsk, Norwegian"}, - {Alpha3bCode: "nob", Alpha2Code: "nb", English: "Bokmål, Norwegian; Norwegian Bokmål"}, - {Alpha3bCode: "nor", Alpha2Code: "no", English: "Norwegian"}, - {Alpha3bCode: "nya", Alpha2Code: "ny", English: "Chichewa; Chewa; Nyanja"}, - {Alpha3bCode: "oci", Alpha2Code: "oc", English: "Occitan (post 1500); Provençal"}, - {Alpha3bCode: "oji", Alpha2Code: "oj", English: "Ojibwa"}, - {Alpha3bCode: "ori", Alpha2Code: "or", English: "Oriya"}, - {Alpha3bCode: "orm", Alpha2Code: "om", English: "Oromo"}, - {Alpha3bCode: "oss", Alpha2Code: "os", English: "Ossetian; Ossetic"}, - {Alpha3bCode: "pan", Alpha2Code: "pa", English: "Panjabi; Punjabi"}, - {Alpha3bCode: "per", Alpha2Code: "fa", English: "Persian"}, - {Alpha3bCode: "pli", Alpha2Code: "pi", English: "Pali"}, - {Alpha3bCode: "pol", Alpha2Code: "pl", English: "Polish"}, - {Alpha3bCode: "por", Alpha2Code: "pt", English: "Portuguese"}, - {Alpha3bCode: "pus", Alpha2Code: "ps", English: "Pushto; Pashto"}, - {Alpha3bCode: "que", Alpha2Code: "qu", English: "Quechua"}, - {Alpha3bCode: "roh", Alpha2Code: "rm", English: "Romansh"}, - {Alpha3bCode: "rum", Alpha2Code: "ro", English: "Romanian; Moldavian; Moldovan"}, - {Alpha3bCode: "run", Alpha2Code: "rn", English: "Rundi"}, - {Alpha3bCode: "rus", Alpha2Code: "ru", English: "Russian"}, - {Alpha3bCode: "sag", Alpha2Code: "sg", English: "Sango"}, - {Alpha3bCode: "san", Alpha2Code: "sa", English: "Sanskrit"}, - {Alpha3bCode: "sin", Alpha2Code: "si", English: "Sinhala; Sinhalese"}, - {Alpha3bCode: "slo", Alpha2Code: "sk", English: "Slovak"}, - {Alpha3bCode: "slv", Alpha2Code: "sl", English: "Slovenian"}, - {Alpha3bCode: "sme", Alpha2Code: "se", English: "Northern Sami"}, - {Alpha3bCode: "smo", Alpha2Code: "sm", English: "Samoan"}, - {Alpha3bCode: "sna", Alpha2Code: "sn", English: "Shona"}, - {Alpha3bCode: "snd", Alpha2Code: "sd", English: "Sindhi"}, - {Alpha3bCode: "som", Alpha2Code: "so", English: "Somali"}, - {Alpha3bCode: "sot", Alpha2Code: "st", English: "Sotho, Southern"}, - {Alpha3bCode: "spa", Alpha2Code: "es", English: "Spanish; Castilian"}, - {Alpha3bCode: "srd", Alpha2Code: "sc", English: "Sardinian"}, - {Alpha3bCode: "srp", Alpha2Code: "sr", English: "Serbian"}, - {Alpha3bCode: "ssw", Alpha2Code: "ss", English: "Swati"}, - {Alpha3bCode: "sun", Alpha2Code: "su", English: "Sundanese"}, - {Alpha3bCode: "swa", Alpha2Code: "sw", English: "Swahili"}, - {Alpha3bCode: "swe", Alpha2Code: "sv", English: "Swedish"}, - {Alpha3bCode: "tah", Alpha2Code: "ty", English: "Tahitian"}, - {Alpha3bCode: "tam", Alpha2Code: "ta", English: "Tamil"}, - {Alpha3bCode: "tat", Alpha2Code: "tt", English: "Tatar"}, - {Alpha3bCode: "tel", Alpha2Code: "te", English: "Telugu"}, - {Alpha3bCode: "tgk", Alpha2Code: "tg", English: "Tajik"}, - {Alpha3bCode: "tgl", Alpha2Code: "tl", English: "Tagalog"}, - {Alpha3bCode: "tha", Alpha2Code: "th", English: "Thai"}, - {Alpha3bCode: "tib", Alpha2Code: "bo", English: "Tibetan"}, - {Alpha3bCode: "tir", Alpha2Code: "ti", English: "Tigrinya"}, - {Alpha3bCode: "ton", Alpha2Code: "to", English: "Tonga (Tonga Islands)"}, - {Alpha3bCode: "tsn", Alpha2Code: "tn", English: "Tswana"}, - {Alpha3bCode: "tso", Alpha2Code: "ts", English: "Tsonga"}, - {Alpha3bCode: "tuk", Alpha2Code: "tk", English: "Turkmen"}, - {Alpha3bCode: "tur", Alpha2Code: "tr", English: "Turkish"}, - {Alpha3bCode: "twi", Alpha2Code: "tw", English: "Twi"}, - {Alpha3bCode: "uig", Alpha2Code: "ug", English: "Uighur; Uyghur"}, - {Alpha3bCode: "ukr", Alpha2Code: "uk", English: "Ukrainian"}, - {Alpha3bCode: "urd", Alpha2Code: "ur", English: "Urdu"}, - {Alpha3bCode: "uzb", Alpha2Code: "uz", English: "Uzbek"}, - {Alpha3bCode: "ven", Alpha2Code: "ve", English: "Venda"}, - {Alpha3bCode: "vie", Alpha2Code: "vi", English: "Vietnamese"}, - {Alpha3bCode: "vol", Alpha2Code: "vo", English: "Volapük"}, - {Alpha3bCode: "wel", Alpha2Code: "cy", English: "Welsh"}, - {Alpha3bCode: "wln", Alpha2Code: "wa", English: "Walloon"}, - {Alpha3bCode: "wol", Alpha2Code: "wo", English: "Wolof"}, - {Alpha3bCode: "xho", Alpha2Code: "xh", English: "Xhosa"}, - {Alpha3bCode: "yid", Alpha2Code: "yi", English: "Yiddish"}, - {Alpha3bCode: "yor", Alpha2Code: "yo", English: "Yoruba"}, - {Alpha3bCode: "zha", Alpha2Code: "za", English: "Zhuang; Chuang"}, - {Alpha3bCode: "zul", Alpha2Code: "zu", English: "Zulu"}, -} diff --git a/vendor/github.com/asaskevich/govalidator/utils.go b/vendor/github.com/asaskevich/govalidator/utils.go deleted file mode 100644 index f4c30f824a..0000000000 --- a/vendor/github.com/asaskevich/govalidator/utils.go +++ /dev/null @@ -1,270 +0,0 @@ -package govalidator - -import ( - "errors" - "fmt" - "html" - "math" - "path" - "regexp" - "strings" - "unicode" - "unicode/utf8" -) - -// Contains checks if the string contains the substring. -func Contains(str, substring string) bool { - return strings.Contains(str, substring) -} - -// Matches checks if string matches the pattern (pattern is regular expression) -// In case of error return false -func Matches(str, pattern string) bool { - match, _ := regexp.MatchString(pattern, str) - return match -} - -// LeftTrim trims characters from the left side of the input. -// If second argument is empty, it will remove leading spaces. -func LeftTrim(str, chars string) string { - if chars == "" { - return strings.TrimLeftFunc(str, unicode.IsSpace) - } - r, _ := regexp.Compile("^[" + chars + "]+") - return r.ReplaceAllString(str, "") -} - -// RightTrim trims characters from the right side of the input. -// If second argument is empty, it will remove trailing spaces. -func RightTrim(str, chars string) string { - if chars == "" { - return strings.TrimRightFunc(str, unicode.IsSpace) - } - r, _ := regexp.Compile("[" + chars + "]+$") - return r.ReplaceAllString(str, "") -} - -// Trim trims characters from both sides of the input. -// If second argument is empty, it will remove spaces. -func Trim(str, chars string) string { - return LeftTrim(RightTrim(str, chars), chars) -} - -// WhiteList removes characters that do not appear in the whitelist. -func WhiteList(str, chars string) string { - pattern := "[^" + chars + "]+" - r, _ := regexp.Compile(pattern) - return r.ReplaceAllString(str, "") -} - -// BlackList removes characters that appear in the blacklist. -func BlackList(str, chars string) string { - pattern := "[" + chars + "]+" - r, _ := regexp.Compile(pattern) - return r.ReplaceAllString(str, "") -} - -// StripLow removes characters with a numerical value < 32 and 127, mostly control characters. -// If keep_new_lines is true, newline characters are preserved (\n and \r, hex 0xA and 0xD). -func StripLow(str string, keepNewLines bool) string { - chars := "" - if keepNewLines { - chars = "\x00-\x09\x0B\x0C\x0E-\x1F\x7F" - } else { - chars = "\x00-\x1F\x7F" - } - return BlackList(str, chars) -} - -// ReplacePattern replaces regular expression pattern in string -func ReplacePattern(str, pattern, replace string) string { - r, _ := regexp.Compile(pattern) - return r.ReplaceAllString(str, replace) -} - -// Escape replaces <, >, & and " with HTML entities. -var Escape = html.EscapeString - -func addSegment(inrune, segment []rune) []rune { - if len(segment) == 0 { - return inrune - } - if len(inrune) != 0 { - inrune = append(inrune, '_') - } - inrune = append(inrune, segment...) - return inrune -} - -// UnderscoreToCamelCase converts from underscore separated form to camel case form. -// Ex.: my_func => MyFunc -func UnderscoreToCamelCase(s string) string { - return strings.Replace(strings.Title(strings.Replace(strings.ToLower(s), "_", " ", -1)), " ", "", -1) -} - -// CamelCaseToUnderscore converts from camel case form to underscore separated form. -// Ex.: MyFunc => my_func -func CamelCaseToUnderscore(str string) string { - var output []rune - var segment []rune - for _, r := range str { - - // not treat number as separate segment - if !unicode.IsLower(r) && string(r) != "_" && !unicode.IsNumber(r) { - output = addSegment(output, segment) - segment = nil - } - segment = append(segment, unicode.ToLower(r)) - } - output = addSegment(output, segment) - return string(output) -} - -// Reverse returns reversed string -func Reverse(s string) string { - r := []rune(s) - for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 { - r[i], r[j] = r[j], r[i] - } - return string(r) -} - -// GetLines splits string by "\n" and return array of lines -func GetLines(s string) []string { - return strings.Split(s, "\n") -} - -// GetLine returns specified line of multiline string -func GetLine(s string, index int) (string, error) { - lines := GetLines(s) - if index < 0 || index >= len(lines) { - return "", errors.New("line index out of bounds") - } - return lines[index], nil -} - -// RemoveTags removes all tags from HTML string -func RemoveTags(s string) string { - return ReplacePattern(s, "<[^>]*>", "") -} - -// SafeFileName returns safe string that can be used in file names -func SafeFileName(str string) string { - name := strings.ToLower(str) - name = path.Clean(path.Base(name)) - name = strings.Trim(name, " ") - separators, err := regexp.Compile(`[ &_=+:]`) - if err == nil { - name = separators.ReplaceAllString(name, "-") - } - legal, err := regexp.Compile(`[^[:alnum:]-.]`) - if err == nil { - name = legal.ReplaceAllString(name, "") - } - for strings.Contains(name, "--") { - name = strings.Replace(name, "--", "-", -1) - } - return name -} - -// NormalizeEmail canonicalize an email address. -// The local part of the email address is lowercased for all domains; the hostname is always lowercased and -// the local part of the email address is always lowercased for hosts that are known to be case-insensitive (currently only GMail). -// Normalization follows special rules for known providers: currently, GMail addresses have dots removed in the local part and -// are stripped of tags (e.g. some.one+tag@gmail.com becomes someone@gmail.com) and all @googlemail.com addresses are -// normalized to @gmail.com. -func NormalizeEmail(str string) (string, error) { - if !IsEmail(str) { - return "", fmt.Errorf("%s is not an email", str) - } - parts := strings.Split(str, "@") - parts[0] = strings.ToLower(parts[0]) - parts[1] = strings.ToLower(parts[1]) - if parts[1] == "gmail.com" || parts[1] == "googlemail.com" { - parts[1] = "gmail.com" - parts[0] = strings.Split(ReplacePattern(parts[0], `\.`, ""), "+")[0] - } - return strings.Join(parts, "@"), nil -} - -// Truncate a string to the closest length without breaking words. -func Truncate(str string, length int, ending string) string { - var aftstr, befstr string - if len(str) > length { - words := strings.Fields(str) - before, present := 0, 0 - for i := range words { - befstr = aftstr - before = present - aftstr = aftstr + words[i] + " " - present = len(aftstr) - if present > length && i != 0 { - if (length - before) < (present - length) { - return Trim(befstr, " /\\.,\"'#!?&@+-") + ending - } - return Trim(aftstr, " /\\.,\"'#!?&@+-") + ending - } - } - } - - return str -} - -// PadLeft pads left side of a string if size of string is less then indicated pad length -func PadLeft(str string, padStr string, padLen int) string { - return buildPadStr(str, padStr, padLen, true, false) -} - -// PadRight pads right side of a string if size of string is less then indicated pad length -func PadRight(str string, padStr string, padLen int) string { - return buildPadStr(str, padStr, padLen, false, true) -} - -// PadBoth pads both sides of a string if size of string is less then indicated pad length -func PadBoth(str string, padStr string, padLen int) string { - return buildPadStr(str, padStr, padLen, true, true) -} - -// PadString either left, right or both sides. -// Note that padding string can be unicode and more then one character -func buildPadStr(str string, padStr string, padLen int, padLeft bool, padRight bool) string { - - // When padded length is less then the current string size - if padLen < utf8.RuneCountInString(str) { - return str - } - - padLen -= utf8.RuneCountInString(str) - - targetLen := padLen - - targetLenLeft := targetLen - targetLenRight := targetLen - if padLeft && padRight { - targetLenLeft = padLen / 2 - targetLenRight = padLen - targetLenLeft - } - - strToRepeatLen := utf8.RuneCountInString(padStr) - - repeatTimes := int(math.Ceil(float64(targetLen) / float64(strToRepeatLen))) - repeatedString := strings.Repeat(padStr, repeatTimes) - - leftSide := "" - if padLeft { - leftSide = repeatedString[0:targetLenLeft] - } - - rightSide := "" - if padRight { - rightSide = repeatedString[0:targetLenRight] - } - - return leftSide + str + rightSide -} - -// TruncatingErrorf removes extra args from fmt.Errorf if not formatted in the str object -func TruncatingErrorf(str string, args ...interface{}) error { - n := strings.Count(str, "%s") - return fmt.Errorf(str, args[:n]...) -} diff --git a/vendor/github.com/asaskevich/govalidator/validator.go b/vendor/github.com/asaskevich/govalidator/validator.go deleted file mode 100644 index c9c4fac065..0000000000 --- a/vendor/github.com/asaskevich/govalidator/validator.go +++ /dev/null @@ -1,1768 +0,0 @@ -// Package govalidator is package of validators and sanitizers for strings, structs and collections. -package govalidator - -import ( - "bytes" - "crypto/rsa" - "crypto/x509" - "encoding/base64" - "encoding/json" - "encoding/pem" - "fmt" - "io/ioutil" - "net" - "net/url" - "reflect" - "regexp" - "sort" - "strconv" - "strings" - "time" - "unicode" - "unicode/utf8" -) - -var ( - fieldsRequiredByDefault bool - nilPtrAllowedByRequired = false - notNumberRegexp = regexp.MustCompile("[^0-9]+") - whiteSpacesAndMinus = regexp.MustCompile(`[\s-]+`) - paramsRegexp = regexp.MustCompile(`\(.*\)$`) -) - -const maxURLRuneCount = 2083 -const minURLRuneCount = 3 -const rfc3339WithoutZone = "2006-01-02T15:04:05" - -// SetFieldsRequiredByDefault causes validation to fail when struct fields -// do not include validations or are not explicitly marked as exempt (using `valid:"-"` or `valid:"email,optional"`). -// This struct definition will fail govalidator.ValidateStruct() (and the field values do not matter): -// type exampleStruct struct { -// Name string `` -// Email string `valid:"email"` -// This, however, will only fail when Email is empty or an invalid email address: -// type exampleStruct2 struct { -// Name string `valid:"-"` -// Email string `valid:"email"` -// Lastly, this will only fail when Email is an invalid email address but not when it's empty: -// type exampleStruct2 struct { -// Name string `valid:"-"` -// Email string `valid:"email,optional"` -func SetFieldsRequiredByDefault(value bool) { - fieldsRequiredByDefault = value -} - -// SetNilPtrAllowedByRequired causes validation to pass for nil ptrs when a field is set to required. -// The validation will still reject ptr fields in their zero value state. Example with this enabled: -// type exampleStruct struct { -// Name *string `valid:"required"` -// With `Name` set to "", this will be considered invalid input and will cause a validation error. -// With `Name` set to nil, this will be considered valid by validation. -// By default this is disabled. -func SetNilPtrAllowedByRequired(value bool) { - nilPtrAllowedByRequired = value -} - -// IsEmail checks if the string is an email. -func IsEmail(str string) bool { - // TODO uppercase letters are not supported - return rxEmail.MatchString(str) -} - -// IsExistingEmail checks if the string is an email of existing domain -func IsExistingEmail(email string) bool { - - if len(email) < 6 || len(email) > 254 { - return false - } - at := strings.LastIndex(email, "@") - if at <= 0 || at > len(email)-3 { - return false - } - user := email[:at] - host := email[at+1:] - if len(user) > 64 { - return false - } - switch host { - case "localhost", "example.com": - return true - } - if userDotRegexp.MatchString(user) || !userRegexp.MatchString(user) || !hostRegexp.MatchString(host) { - return false - } - if _, err := net.LookupMX(host); err != nil { - if _, err := net.LookupIP(host); err != nil { - return false - } - } - - return true -} - -// IsURL checks if the string is an URL. -func IsURL(str string) bool { - if str == "" || utf8.RuneCountInString(str) >= maxURLRuneCount || len(str) <= minURLRuneCount || strings.HasPrefix(str, ".") { - return false - } - strTemp := str - if strings.Contains(str, ":") && !strings.Contains(str, "://") { - // support no indicated urlscheme but with colon for port number - // http:// is appended so url.Parse will succeed, strTemp used so it does not impact rxURL.MatchString - strTemp = "http://" + str - } - u, err := url.Parse(strTemp) - if err != nil { - return false - } - if strings.HasPrefix(u.Host, ".") { - return false - } - if u.Host == "" && (u.Path != "" && !strings.Contains(u.Path, ".")) { - return false - } - return rxURL.MatchString(str) -} - -// IsRequestURL checks if the string rawurl, assuming -// it was received in an HTTP request, is a valid -// URL confirm to RFC 3986 -func IsRequestURL(rawurl string) bool { - url, err := url.ParseRequestURI(rawurl) - if err != nil { - return false //Couldn't even parse the rawurl - } - if len(url.Scheme) == 0 { - return false //No Scheme found - } - return true -} - -// IsRequestURI checks if the string rawurl, assuming -// it was received in an HTTP request, is an -// absolute URI or an absolute path. -func IsRequestURI(rawurl string) bool { - _, err := url.ParseRequestURI(rawurl) - return err == nil -} - -// IsAlpha checks if the string contains only letters (a-zA-Z). Empty string is valid. -func IsAlpha(str string) bool { - if IsNull(str) { - return true - } - return rxAlpha.MatchString(str) -} - -//IsUTFLetter checks if the string contains only unicode letter characters. -//Similar to IsAlpha but for all languages. Empty string is valid. -func IsUTFLetter(str string) bool { - if IsNull(str) { - return true - } - - for _, c := range str { - if !unicode.IsLetter(c) { - return false - } - } - return true - -} - -// IsAlphanumeric checks if the string contains only letters and numbers. Empty string is valid. -func IsAlphanumeric(str string) bool { - if IsNull(str) { - return true - } - return rxAlphanumeric.MatchString(str) -} - -// IsUTFLetterNumeric checks if the string contains only unicode letters and numbers. Empty string is valid. -func IsUTFLetterNumeric(str string) bool { - if IsNull(str) { - return true - } - for _, c := range str { - if !unicode.IsLetter(c) && !unicode.IsNumber(c) { //letters && numbers are ok - return false - } - } - return true - -} - -// IsNumeric checks if the string contains only numbers. Empty string is valid. -func IsNumeric(str string) bool { - if IsNull(str) { - return true - } - return rxNumeric.MatchString(str) -} - -// IsUTFNumeric checks if the string contains only unicode numbers of any kind. -// Numbers can be 0-9 but also Fractions ¾,Roman Ⅸ and Hangzhou 〩. Empty string is valid. -func IsUTFNumeric(str string) bool { - if IsNull(str) { - return true - } - if strings.IndexAny(str, "+-") > 0 { - return false - } - if len(str) > 1 { - str = strings.TrimPrefix(str, "-") - str = strings.TrimPrefix(str, "+") - } - for _, c := range str { - if !unicode.IsNumber(c) { //numbers && minus sign are ok - return false - } - } - return true - -} - -// IsUTFDigit checks if the string contains only unicode radix-10 decimal digits. Empty string is valid. -func IsUTFDigit(str string) bool { - if IsNull(str) { - return true - } - if strings.IndexAny(str, "+-") > 0 { - return false - } - if len(str) > 1 { - str = strings.TrimPrefix(str, "-") - str = strings.TrimPrefix(str, "+") - } - for _, c := range str { - if !unicode.IsDigit(c) { //digits && minus sign are ok - return false - } - } - return true - -} - -// IsHexadecimal checks if the string is a hexadecimal number. -func IsHexadecimal(str string) bool { - return rxHexadecimal.MatchString(str) -} - -// IsHexcolor checks if the string is a hexadecimal color. -func IsHexcolor(str string) bool { - return rxHexcolor.MatchString(str) -} - -// IsRGBcolor checks if the string is a valid RGB color in form rgb(RRR, GGG, BBB). -func IsRGBcolor(str string) bool { - return rxRGBcolor.MatchString(str) -} - -// IsLowerCase checks if the string is lowercase. Empty string is valid. -func IsLowerCase(str string) bool { - if IsNull(str) { - return true - } - return str == strings.ToLower(str) -} - -// IsUpperCase checks if the string is uppercase. Empty string is valid. -func IsUpperCase(str string) bool { - if IsNull(str) { - return true - } - return str == strings.ToUpper(str) -} - -// HasLowerCase checks if the string contains at least 1 lowercase. Empty string is valid. -func HasLowerCase(str string) bool { - if IsNull(str) { - return true - } - return rxHasLowerCase.MatchString(str) -} - -// HasUpperCase checks if the string contains as least 1 uppercase. Empty string is valid. -func HasUpperCase(str string) bool { - if IsNull(str) { - return true - } - return rxHasUpperCase.MatchString(str) -} - -// IsInt checks if the string is an integer. Empty string is valid. -func IsInt(str string) bool { - if IsNull(str) { - return true - } - return rxInt.MatchString(str) -} - -// IsFloat checks if the string is a float. -func IsFloat(str string) bool { - return str != "" && rxFloat.MatchString(str) -} - -// IsDivisibleBy checks if the string is a number that's divisible by another. -// If second argument is not valid integer or zero, it's return false. -// Otherwise, if first argument is not valid integer or zero, it's return true (Invalid string converts to zero). -func IsDivisibleBy(str, num string) bool { - f, _ := ToFloat(str) - p := int64(f) - q, _ := ToInt(num) - if q == 0 { - return false - } - return (p == 0) || (p%q == 0) -} - -// IsNull checks if the string is null. -func IsNull(str string) bool { - return len(str) == 0 -} - -// IsNotNull checks if the string is not null. -func IsNotNull(str string) bool { - return !IsNull(str) -} - -// HasWhitespaceOnly checks the string only contains whitespace -func HasWhitespaceOnly(str string) bool { - return len(str) > 0 && rxHasWhitespaceOnly.MatchString(str) -} - -// HasWhitespace checks if the string contains any whitespace -func HasWhitespace(str string) bool { - return len(str) > 0 && rxHasWhitespace.MatchString(str) -} - -// IsByteLength checks if the string's length (in bytes) falls in a range. -func IsByteLength(str string, min, max int) bool { - return len(str) >= min && len(str) <= max -} - -// IsUUIDv3 checks if the string is a UUID version 3. -func IsUUIDv3(str string) bool { - return rxUUID3.MatchString(str) -} - -// IsUUIDv4 checks if the string is a UUID version 4. -func IsUUIDv4(str string) bool { - return rxUUID4.MatchString(str) -} - -// IsUUIDv5 checks if the string is a UUID version 5. -func IsUUIDv5(str string) bool { - return rxUUID5.MatchString(str) -} - -// IsUUID checks if the string is a UUID (version 3, 4 or 5). -func IsUUID(str string) bool { - return rxUUID.MatchString(str) -} - -// Byte to index table for O(1) lookups when unmarshaling. -// We use 0xFF as sentinel value for invalid indexes. -var ulidDec = [...]byte{ - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, - 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, - 0x0F, 0x10, 0x11, 0xFF, 0x12, 0x13, 0xFF, 0x14, 0x15, 0xFF, - 0x16, 0x17, 0x18, 0x19, 0x1A, 0xFF, 0x1B, 0x1C, 0x1D, 0x1E, - 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x0B, 0x0C, - 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0xFF, 0x12, 0x13, 0xFF, 0x14, - 0x15, 0xFF, 0x16, 0x17, 0x18, 0x19, 0x1A, 0xFF, 0x1B, 0x1C, - 0x1D, 0x1E, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, -} - -// EncodedSize is the length of a text encoded ULID. -const ulidEncodedSize = 26 - -// IsULID checks if the string is a ULID. -// -// Implementation got from: -// https://github.com/oklog/ulid (Apache-2.0 License) -// -func IsULID(str string) bool { - // Check if a base32 encoded ULID is the right length. - if len(str) != ulidEncodedSize { - return false - } - - // Check if all the characters in a base32 encoded ULID are part of the - // expected base32 character set. - if ulidDec[str[0]] == 0xFF || - ulidDec[str[1]] == 0xFF || - ulidDec[str[2]] == 0xFF || - ulidDec[str[3]] == 0xFF || - ulidDec[str[4]] == 0xFF || - ulidDec[str[5]] == 0xFF || - ulidDec[str[6]] == 0xFF || - ulidDec[str[7]] == 0xFF || - ulidDec[str[8]] == 0xFF || - ulidDec[str[9]] == 0xFF || - ulidDec[str[10]] == 0xFF || - ulidDec[str[11]] == 0xFF || - ulidDec[str[12]] == 0xFF || - ulidDec[str[13]] == 0xFF || - ulidDec[str[14]] == 0xFF || - ulidDec[str[15]] == 0xFF || - ulidDec[str[16]] == 0xFF || - ulidDec[str[17]] == 0xFF || - ulidDec[str[18]] == 0xFF || - ulidDec[str[19]] == 0xFF || - ulidDec[str[20]] == 0xFF || - ulidDec[str[21]] == 0xFF || - ulidDec[str[22]] == 0xFF || - ulidDec[str[23]] == 0xFF || - ulidDec[str[24]] == 0xFF || - ulidDec[str[25]] == 0xFF { - return false - } - - // Check if the first character in a base32 encoded ULID will overflow. This - // happens because the base32 representation encodes 130 bits, while the - // ULID is only 128 bits. - // - // See https://github.com/oklog/ulid/issues/9 for details. - if str[0] > '7' { - return false - } - return true -} - -// IsCreditCard checks if the string is a credit card. -func IsCreditCard(str string) bool { - sanitized := whiteSpacesAndMinus.ReplaceAllString(str, "") - if !rxCreditCard.MatchString(sanitized) { - return false - } - - number, _ := ToInt(sanitized) - number, lastDigit := number / 10, number % 10 - - var sum int64 - for i:=0; number > 0; i++ { - digit := number % 10 - - if i % 2 == 0 { - digit *= 2 - if digit > 9 { - digit -= 9 - } - } - - sum += digit - number = number / 10 - } - - return (sum + lastDigit) % 10 == 0 -} - -// IsISBN10 checks if the string is an ISBN version 10. -func IsISBN10(str string) bool { - return IsISBN(str, 10) -} - -// IsISBN13 checks if the string is an ISBN version 13. -func IsISBN13(str string) bool { - return IsISBN(str, 13) -} - -// IsISBN checks if the string is an ISBN (version 10 or 13). -// If version value is not equal to 10 or 13, it will be checks both variants. -func IsISBN(str string, version int) bool { - sanitized := whiteSpacesAndMinus.ReplaceAllString(str, "") - var checksum int32 - var i int32 - if version == 10 { - if !rxISBN10.MatchString(sanitized) { - return false - } - for i = 0; i < 9; i++ { - checksum += (i + 1) * int32(sanitized[i]-'0') - } - if sanitized[9] == 'X' { - checksum += 10 * 10 - } else { - checksum += 10 * int32(sanitized[9]-'0') - } - if checksum%11 == 0 { - return true - } - return false - } else if version == 13 { - if !rxISBN13.MatchString(sanitized) { - return false - } - factor := []int32{1, 3} - for i = 0; i < 12; i++ { - checksum += factor[i%2] * int32(sanitized[i]-'0') - } - return (int32(sanitized[12]-'0'))-((10-(checksum%10))%10) == 0 - } - return IsISBN(str, 10) || IsISBN(str, 13) -} - -// IsJSON checks if the string is valid JSON (note: uses json.Unmarshal). -func IsJSON(str string) bool { - var js json.RawMessage - return json.Unmarshal([]byte(str), &js) == nil -} - -// IsMultibyte checks if the string contains one or more multibyte chars. Empty string is valid. -func IsMultibyte(str string) bool { - if IsNull(str) { - return true - } - return rxMultibyte.MatchString(str) -} - -// IsASCII checks if the string contains ASCII chars only. Empty string is valid. -func IsASCII(str string) bool { - if IsNull(str) { - return true - } - return rxASCII.MatchString(str) -} - -// IsPrintableASCII checks if the string contains printable ASCII chars only. Empty string is valid. -func IsPrintableASCII(str string) bool { - if IsNull(str) { - return true - } - return rxPrintableASCII.MatchString(str) -} - -// IsFullWidth checks if the string contains any full-width chars. Empty string is valid. -func IsFullWidth(str string) bool { - if IsNull(str) { - return true - } - return rxFullWidth.MatchString(str) -} - -// IsHalfWidth checks if the string contains any half-width chars. Empty string is valid. -func IsHalfWidth(str string) bool { - if IsNull(str) { - return true - } - return rxHalfWidth.MatchString(str) -} - -// IsVariableWidth checks if the string contains a mixture of full and half-width chars. Empty string is valid. -func IsVariableWidth(str string) bool { - if IsNull(str) { - return true - } - return rxHalfWidth.MatchString(str) && rxFullWidth.MatchString(str) -} - -// IsBase64 checks if a string is base64 encoded. -func IsBase64(str string) bool { - return rxBase64.MatchString(str) -} - -// IsFilePath checks is a string is Win or Unix file path and returns it's type. -func IsFilePath(str string) (bool, int) { - if rxWinPath.MatchString(str) { - //check windows path limit see: - // http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx#maxpath - if len(str[3:]) > 32767 { - return false, Win - } - return true, Win - } else if rxUnixPath.MatchString(str) { - return true, Unix - } - return false, Unknown -} - -//IsWinFilePath checks both relative & absolute paths in Windows -func IsWinFilePath(str string) bool { - if rxARWinPath.MatchString(str) { - //check windows path limit see: - // http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx#maxpath - if len(str[3:]) > 32767 { - return false - } - return true - } - return false -} - -//IsUnixFilePath checks both relative & absolute paths in Unix -func IsUnixFilePath(str string) bool { - if rxARUnixPath.MatchString(str) { - return true - } - return false -} - -// IsDataURI checks if a string is base64 encoded data URI such as an image -func IsDataURI(str string) bool { - dataURI := strings.Split(str, ",") - if !rxDataURI.MatchString(dataURI[0]) { - return false - } - return IsBase64(dataURI[1]) -} - -// IsMagnetURI checks if a string is valid magnet URI -func IsMagnetURI(str string) bool { - return rxMagnetURI.MatchString(str) -} - -// IsISO3166Alpha2 checks if a string is valid two-letter country code -func IsISO3166Alpha2(str string) bool { - for _, entry := range ISO3166List { - if str == entry.Alpha2Code { - return true - } - } - return false -} - -// IsISO3166Alpha3 checks if a string is valid three-letter country code -func IsISO3166Alpha3(str string) bool { - for _, entry := range ISO3166List { - if str == entry.Alpha3Code { - return true - } - } - return false -} - -// IsISO693Alpha2 checks if a string is valid two-letter language code -func IsISO693Alpha2(str string) bool { - for _, entry := range ISO693List { - if str == entry.Alpha2Code { - return true - } - } - return false -} - -// IsISO693Alpha3b checks if a string is valid three-letter language code -func IsISO693Alpha3b(str string) bool { - for _, entry := range ISO693List { - if str == entry.Alpha3bCode { - return true - } - } - return false -} - -// IsDNSName will validate the given string as a DNS name -func IsDNSName(str string) bool { - if str == "" || len(strings.Replace(str, ".", "", -1)) > 255 { - // constraints already violated - return false - } - return !IsIP(str) && rxDNSName.MatchString(str) -} - -// IsHash checks if a string is a hash of type algorithm. -// Algorithm is one of ['md4', 'md5', 'sha1', 'sha256', 'sha384', 'sha512', 'ripemd128', 'ripemd160', 'tiger128', 'tiger160', 'tiger192', 'crc32', 'crc32b'] -func IsHash(str string, algorithm string) bool { - var len string - algo := strings.ToLower(algorithm) - - if algo == "crc32" || algo == "crc32b" { - len = "8" - } else if algo == "md5" || algo == "md4" || algo == "ripemd128" || algo == "tiger128" { - len = "32" - } else if algo == "sha1" || algo == "ripemd160" || algo == "tiger160" { - len = "40" - } else if algo == "tiger192" { - len = "48" - } else if algo == "sha3-224" { - len = "56" - } else if algo == "sha256" || algo == "sha3-256" { - len = "64" - } else if algo == "sha384" || algo == "sha3-384" { - len = "96" - } else if algo == "sha512" || algo == "sha3-512" { - len = "128" - } else { - return false - } - - return Matches(str, "^[a-f0-9]{"+len+"}$") -} - -// IsSHA3224 checks is a string is a SHA3-224 hash. Alias for `IsHash(str, "sha3-224")` -func IsSHA3224(str string) bool { - return IsHash(str, "sha3-224") -} - -// IsSHA3256 checks is a string is a SHA3-256 hash. Alias for `IsHash(str, "sha3-256")` -func IsSHA3256(str string) bool { - return IsHash(str, "sha3-256") -} - -// IsSHA3384 checks is a string is a SHA3-384 hash. Alias for `IsHash(str, "sha3-384")` -func IsSHA3384(str string) bool { - return IsHash(str, "sha3-384") -} - -// IsSHA3512 checks is a string is a SHA3-512 hash. Alias for `IsHash(str, "sha3-512")` -func IsSHA3512(str string) bool { - return IsHash(str, "sha3-512") -} - -// IsSHA512 checks is a string is a SHA512 hash. Alias for `IsHash(str, "sha512")` -func IsSHA512(str string) bool { - return IsHash(str, "sha512") -} - -// IsSHA384 checks is a string is a SHA384 hash. Alias for `IsHash(str, "sha384")` -func IsSHA384(str string) bool { - return IsHash(str, "sha384") -} - -// IsSHA256 checks is a string is a SHA256 hash. Alias for `IsHash(str, "sha256")` -func IsSHA256(str string) bool { - return IsHash(str, "sha256") -} - -// IsTiger192 checks is a string is a Tiger192 hash. Alias for `IsHash(str, "tiger192")` -func IsTiger192(str string) bool { - return IsHash(str, "tiger192") -} - -// IsTiger160 checks is a string is a Tiger160 hash. Alias for `IsHash(str, "tiger160")` -func IsTiger160(str string) bool { - return IsHash(str, "tiger160") -} - -// IsRipeMD160 checks is a string is a RipeMD160 hash. Alias for `IsHash(str, "ripemd160")` -func IsRipeMD160(str string) bool { - return IsHash(str, "ripemd160") -} - -// IsSHA1 checks is a string is a SHA-1 hash. Alias for `IsHash(str, "sha1")` -func IsSHA1(str string) bool { - return IsHash(str, "sha1") -} - -// IsTiger128 checks is a string is a Tiger128 hash. Alias for `IsHash(str, "tiger128")` -func IsTiger128(str string) bool { - return IsHash(str, "tiger128") -} - -// IsRipeMD128 checks is a string is a RipeMD128 hash. Alias for `IsHash(str, "ripemd128")` -func IsRipeMD128(str string) bool { - return IsHash(str, "ripemd128") -} - -// IsCRC32 checks is a string is a CRC32 hash. Alias for `IsHash(str, "crc32")` -func IsCRC32(str string) bool { - return IsHash(str, "crc32") -} - -// IsCRC32b checks is a string is a CRC32b hash. Alias for `IsHash(str, "crc32b")` -func IsCRC32b(str string) bool { - return IsHash(str, "crc32b") -} - -// IsMD5 checks is a string is a MD5 hash. Alias for `IsHash(str, "md5")` -func IsMD5(str string) bool { - return IsHash(str, "md5") -} - -// IsMD4 checks is a string is a MD4 hash. Alias for `IsHash(str, "md4")` -func IsMD4(str string) bool { - return IsHash(str, "md4") -} - -// IsDialString validates the given string for usage with the various Dial() functions -func IsDialString(str string) bool { - if h, p, err := net.SplitHostPort(str); err == nil && h != "" && p != "" && (IsDNSName(h) || IsIP(h)) && IsPort(p) { - return true - } - - return false -} - -// IsIP checks if a string is either IP version 4 or 6. Alias for `net.ParseIP` -func IsIP(str string) bool { - return net.ParseIP(str) != nil -} - -// IsPort checks if a string represents a valid port -func IsPort(str string) bool { - if i, err := strconv.Atoi(str); err == nil && i > 0 && i < 65536 { - return true - } - return false -} - -// IsIPv4 checks if the string is an IP version 4. -func IsIPv4(str string) bool { - ip := net.ParseIP(str) - return ip != nil && strings.Contains(str, ".") -} - -// IsIPv6 checks if the string is an IP version 6. -func IsIPv6(str string) bool { - ip := net.ParseIP(str) - return ip != nil && strings.Contains(str, ":") -} - -// IsCIDR checks if the string is an valid CIDR notiation (IPV4 & IPV6) -func IsCIDR(str string) bool { - _, _, err := net.ParseCIDR(str) - return err == nil -} - -// IsMAC checks if a string is valid MAC address. -// Possible MAC formats: -// 01:23:45:67:89:ab -// 01:23:45:67:89:ab:cd:ef -// 01-23-45-67-89-ab -// 01-23-45-67-89-ab-cd-ef -// 0123.4567.89ab -// 0123.4567.89ab.cdef -func IsMAC(str string) bool { - _, err := net.ParseMAC(str) - return err == nil -} - -// IsHost checks if the string is a valid IP (both v4 and v6) or a valid DNS name -func IsHost(str string) bool { - return IsIP(str) || IsDNSName(str) -} - -// IsMongoID checks if the string is a valid hex-encoded representation of a MongoDB ObjectId. -func IsMongoID(str string) bool { - return rxHexadecimal.MatchString(str) && (len(str) == 24) -} - -// IsLatitude checks if a string is valid latitude. -func IsLatitude(str string) bool { - return rxLatitude.MatchString(str) -} - -// IsLongitude checks if a string is valid longitude. -func IsLongitude(str string) bool { - return rxLongitude.MatchString(str) -} - -// IsIMEI checks if a string is valid IMEI -func IsIMEI(str string) bool { - return rxIMEI.MatchString(str) -} - -// IsIMSI checks if a string is valid IMSI -func IsIMSI(str string) bool { - if !rxIMSI.MatchString(str) { - return false - } - - mcc, err := strconv.ParseInt(str[0:3], 10, 32) - if err != nil { - return false - } - - switch mcc { - case 202, 204, 206, 208, 212, 213, 214, 216, 218, 219: - case 220, 221, 222, 226, 228, 230, 231, 232, 234, 235: - case 238, 240, 242, 244, 246, 247, 248, 250, 255, 257: - case 259, 260, 262, 266, 268, 270, 272, 274, 276, 278: - case 280, 282, 283, 284, 286, 288, 289, 290, 292, 293: - case 294, 295, 297, 302, 308, 310, 311, 312, 313, 314: - case 315, 316, 330, 332, 334, 338, 340, 342, 344, 346: - case 348, 350, 352, 354, 356, 358, 360, 362, 363, 364: - case 365, 366, 368, 370, 372, 374, 376, 400, 401, 402: - case 404, 405, 406, 410, 412, 413, 414, 415, 416, 417: - case 418, 419, 420, 421, 422, 424, 425, 426, 427, 428: - case 429, 430, 431, 432, 434, 436, 437, 438, 440, 441: - case 450, 452, 454, 455, 456, 457, 460, 461, 466, 467: - case 470, 472, 502, 505, 510, 514, 515, 520, 525, 528: - case 530, 536, 537, 539, 540, 541, 542, 543, 544, 545: - case 546, 547, 548, 549, 550, 551, 552, 553, 554, 555: - case 602, 603, 604, 605, 606, 607, 608, 609, 610, 611: - case 612, 613, 614, 615, 616, 617, 618, 619, 620, 621: - case 622, 623, 624, 625, 626, 627, 628, 629, 630, 631: - case 632, 633, 634, 635, 636, 637, 638, 639, 640, 641: - case 642, 643, 645, 646, 647, 648, 649, 650, 651, 652: - case 653, 654, 655, 657, 658, 659, 702, 704, 706, 708: - case 710, 712, 714, 716, 722, 724, 730, 732, 734, 736: - case 738, 740, 742, 744, 746, 748, 750, 995: - return true - default: - return false - } - return true -} - -// IsRsaPublicKey checks if a string is valid public key with provided length -func IsRsaPublicKey(str string, keylen int) bool { - bb := bytes.NewBufferString(str) - pemBytes, err := ioutil.ReadAll(bb) - if err != nil { - return false - } - block, _ := pem.Decode(pemBytes) - if block != nil && block.Type != "PUBLIC KEY" { - return false - } - var der []byte - - if block != nil { - der = block.Bytes - } else { - der, err = base64.StdEncoding.DecodeString(str) - if err != nil { - return false - } - } - - key, err := x509.ParsePKIXPublicKey(der) - if err != nil { - return false - } - pubkey, ok := key.(*rsa.PublicKey) - if !ok { - return false - } - bitlen := len(pubkey.N.Bytes()) * 8 - return bitlen == int(keylen) -} - -// IsRegex checks if a give string is a valid regex with RE2 syntax or not -func IsRegex(str string) bool { - if _, err := regexp.Compile(str); err == nil { - return true - } - return false -} - -func toJSONName(tag string) string { - if tag == "" { - return "" - } - - // JSON name always comes first. If there's no options then split[0] is - // JSON name, if JSON name is not set, then split[0] is an empty string. - split := strings.SplitN(tag, ",", 2) - - name := split[0] - - // However it is possible that the field is skipped when - // (de-)serializing from/to JSON, in which case assume that there is no - // tag name to use - if name == "-" { - return "" - } - return name -} - -func prependPathToErrors(err error, path string) error { - switch err2 := err.(type) { - case Error: - err2.Path = append([]string{path}, err2.Path...) - return err2 - case Errors: - errors := err2.Errors() - for i, err3 := range errors { - errors[i] = prependPathToErrors(err3, path) - } - return err2 - } - return err -} - -// ValidateArray performs validation according to condition iterator that validates every element of the array -func ValidateArray(array []interface{}, iterator ConditionIterator) bool { - return Every(array, iterator) -} - -// ValidateMap use validation map for fields. -// result will be equal to `false` if there are any errors. -// s is the map containing the data to be validated. -// m is the validation map in the form: -// map[string]interface{}{"name":"required,alpha","address":map[string]interface{}{"line1":"required,alphanum"}} -func ValidateMap(s map[string]interface{}, m map[string]interface{}) (bool, error) { - if s == nil { - return true, nil - } - result := true - var err error - var errs Errors - var index int - val := reflect.ValueOf(s) - for key, value := range s { - presentResult := true - validator, ok := m[key] - if !ok { - presentResult = false - var err error - err = fmt.Errorf("all map keys has to be present in the validation map; got %s", key) - err = prependPathToErrors(err, key) - errs = append(errs, err) - } - valueField := reflect.ValueOf(value) - mapResult := true - typeResult := true - structResult := true - resultField := true - switch subValidator := validator.(type) { - case map[string]interface{}: - var err error - if v, ok := value.(map[string]interface{}); !ok { - mapResult = false - err = fmt.Errorf("map validator has to be for the map type only; got %s", valueField.Type().String()) - err = prependPathToErrors(err, key) - errs = append(errs, err) - } else { - mapResult, err = ValidateMap(v, subValidator) - if err != nil { - mapResult = false - err = prependPathToErrors(err, key) - errs = append(errs, err) - } - } - case string: - if (valueField.Kind() == reflect.Struct || - (valueField.Kind() == reflect.Ptr && valueField.Elem().Kind() == reflect.Struct)) && - subValidator != "-" { - var err error - structResult, err = ValidateStruct(valueField.Interface()) - if err != nil { - err = prependPathToErrors(err, key) - errs = append(errs, err) - } - } - resultField, err = typeCheck(valueField, reflect.StructField{ - Name: key, - PkgPath: "", - Type: val.Type(), - Tag: reflect.StructTag(fmt.Sprintf("%s:%q", tagName, subValidator)), - Offset: 0, - Index: []int{index}, - Anonymous: false, - }, val, nil) - if err != nil { - errs = append(errs, err) - } - case nil: - // already handlerd when checked before - default: - typeResult = false - err = fmt.Errorf("map validator has to be either map[string]interface{} or string; got %s", valueField.Type().String()) - err = prependPathToErrors(err, key) - errs = append(errs, err) - } - result = result && presentResult && typeResult && resultField && structResult && mapResult - index++ - } - // checks required keys - requiredResult := true - for key, value := range m { - if schema, ok := value.(string); ok { - tags := parseTagIntoMap(schema) - if required, ok := tags["required"]; ok { - if _, ok := s[key]; !ok { - requiredResult = false - if required.customErrorMessage != "" { - err = Error{key, fmt.Errorf(required.customErrorMessage), true, "required", []string{}} - } else { - err = Error{key, fmt.Errorf("required field missing"), false, "required", []string{}} - } - errs = append(errs, err) - } - } - } - } - - if len(errs) > 0 { - err = errs - } - return result && requiredResult, err -} - -// ValidateStruct use tags for fields. -// result will be equal to `false` if there are any errors. -// todo currently there is no guarantee that errors will be returned in predictable order (tests may to fail) -func ValidateStruct(s interface{}) (bool, error) { - if s == nil { - return true, nil - } - result := true - var err error - val := reflect.ValueOf(s) - if val.Kind() == reflect.Interface || val.Kind() == reflect.Ptr { - val = val.Elem() - } - // we only accept structs - if val.Kind() != reflect.Struct { - return false, fmt.Errorf("function only accepts structs; got %s", val.Kind()) - } - var errs Errors - for i := 0; i < val.NumField(); i++ { - valueField := val.Field(i) - typeField := val.Type().Field(i) - if typeField.PkgPath != "" { - continue // Private field - } - structResult := true - if valueField.Kind() == reflect.Interface { - valueField = valueField.Elem() - } - if (valueField.Kind() == reflect.Struct || - (valueField.Kind() == reflect.Ptr && valueField.Elem().Kind() == reflect.Struct)) && - typeField.Tag.Get(tagName) != "-" { - var err error - structResult, err = ValidateStruct(valueField.Interface()) - if err != nil { - err = prependPathToErrors(err, typeField.Name) - errs = append(errs, err) - } - } - resultField, err2 := typeCheck(valueField, typeField, val, nil) - if err2 != nil { - - // Replace structure name with JSON name if there is a tag on the variable - jsonTag := toJSONName(typeField.Tag.Get("json")) - if jsonTag != "" { - switch jsonError := err2.(type) { - case Error: - jsonError.Name = jsonTag - err2 = jsonError - case Errors: - for i2, err3 := range jsonError { - switch customErr := err3.(type) { - case Error: - customErr.Name = jsonTag - jsonError[i2] = customErr - } - } - - err2 = jsonError - } - } - - errs = append(errs, err2) - } - result = result && resultField && structResult - } - if len(errs) > 0 { - err = errs - } - return result, err -} - -// ValidateStructAsync performs async validation of the struct and returns results through the channels -func ValidateStructAsync(s interface{}) (<-chan bool, <-chan error) { - res := make(chan bool) - errors := make(chan error) - - go func() { - defer close(res) - defer close(errors) - - isValid, isFailed := ValidateStruct(s) - - res <- isValid - errors <- isFailed - }() - - return res, errors -} - -// ValidateMapAsync performs async validation of the map and returns results through the channels -func ValidateMapAsync(s map[string]interface{}, m map[string]interface{}) (<-chan bool, <-chan error) { - res := make(chan bool) - errors := make(chan error) - - go func() { - defer close(res) - defer close(errors) - - isValid, isFailed := ValidateMap(s, m) - - res <- isValid - errors <- isFailed - }() - - return res, errors -} - -// parseTagIntoMap parses a struct tag `valid:required~Some error message,length(2|3)` into map[string]string{"required": "Some error message", "length(2|3)": ""} -func parseTagIntoMap(tag string) tagOptionsMap { - optionsMap := make(tagOptionsMap) - options := strings.Split(tag, ",") - - for i, option := range options { - option = strings.TrimSpace(option) - - validationOptions := strings.Split(option, "~") - if !isValidTag(validationOptions[0]) { - continue - } - if len(validationOptions) == 2 { - optionsMap[validationOptions[0]] = tagOption{validationOptions[0], validationOptions[1], i} - } else { - optionsMap[validationOptions[0]] = tagOption{validationOptions[0], "", i} - } - } - return optionsMap -} - -func isValidTag(s string) bool { - if s == "" { - return false - } - for _, c := range s { - switch { - case strings.ContainsRune("\\'\"!#$%&()*+-./:<=>?@[]^_{|}~ ", c): - // Backslash and quote chars are reserved, but - // otherwise any punctuation chars are allowed - // in a tag name. - default: - if !unicode.IsLetter(c) && !unicode.IsDigit(c) { - return false - } - } - } - return true -} - -// IsSSN will validate the given string as a U.S. Social Security Number -func IsSSN(str string) bool { - if str == "" || len(str) != 11 { - return false - } - return rxSSN.MatchString(str) -} - -// IsSemver checks if string is valid semantic version -func IsSemver(str string) bool { - return rxSemver.MatchString(str) -} - -// IsType checks if interface is of some type -func IsType(v interface{}, params ...string) bool { - if len(params) == 1 { - typ := params[0] - return strings.Replace(reflect.TypeOf(v).String(), " ", "", -1) == strings.Replace(typ, " ", "", -1) - } - return false -} - -// IsTime checks if string is valid according to given format -func IsTime(str string, format string) bool { - _, err := time.Parse(format, str) - return err == nil -} - -// IsUnixTime checks if string is valid unix timestamp value -func IsUnixTime(str string) bool { - if _, err := strconv.Atoi(str); err == nil { - return true - } - return false -} - -// IsRFC3339 checks if string is valid timestamp value according to RFC3339 -func IsRFC3339(str string) bool { - return IsTime(str, time.RFC3339) -} - -// IsRFC3339WithoutZone checks if string is valid timestamp value according to RFC3339 which excludes the timezone. -func IsRFC3339WithoutZone(str string) bool { - return IsTime(str, rfc3339WithoutZone) -} - -// IsISO4217 checks if string is valid ISO currency code -func IsISO4217(str string) bool { - for _, currency := range ISO4217List { - if str == currency { - return true - } - } - - return false -} - -// ByteLength checks string's length -func ByteLength(str string, params ...string) bool { - if len(params) == 2 { - min, _ := ToInt(params[0]) - max, _ := ToInt(params[1]) - return len(str) >= int(min) && len(str) <= int(max) - } - - return false -} - -// RuneLength checks string's length -// Alias for StringLength -func RuneLength(str string, params ...string) bool { - return StringLength(str, params...) -} - -// IsRsaPub checks whether string is valid RSA key -// Alias for IsRsaPublicKey -func IsRsaPub(str string, params ...string) bool { - if len(params) == 1 { - len, _ := ToInt(params[0]) - return IsRsaPublicKey(str, int(len)) - } - - return false -} - -// StringMatches checks if a string matches a given pattern. -func StringMatches(s string, params ...string) bool { - if len(params) == 1 { - pattern := params[0] - return Matches(s, pattern) - } - return false -} - -// StringLength checks string's length (including multi byte strings) -func StringLength(str string, params ...string) bool { - - if len(params) == 2 { - strLength := utf8.RuneCountInString(str) - min, _ := ToInt(params[0]) - max, _ := ToInt(params[1]) - return strLength >= int(min) && strLength <= int(max) - } - - return false -} - -// MinStringLength checks string's minimum length (including multi byte strings) -func MinStringLength(str string, params ...string) bool { - - if len(params) == 1 { - strLength := utf8.RuneCountInString(str) - min, _ := ToInt(params[0]) - return strLength >= int(min) - } - - return false -} - -// MaxStringLength checks string's maximum length (including multi byte strings) -func MaxStringLength(str string, params ...string) bool { - - if len(params) == 1 { - strLength := utf8.RuneCountInString(str) - max, _ := ToInt(params[0]) - return strLength <= int(max) - } - - return false -} - -// Range checks string's length -func Range(str string, params ...string) bool { - if len(params) == 2 { - value, _ := ToFloat(str) - min, _ := ToFloat(params[0]) - max, _ := ToFloat(params[1]) - return InRange(value, min, max) - } - - return false -} - -// IsInRaw checks if string is in list of allowed values -func IsInRaw(str string, params ...string) bool { - if len(params) == 1 { - rawParams := params[0] - - parsedParams := strings.Split(rawParams, "|") - - return IsIn(str, parsedParams...) - } - - return false -} - -// IsIn checks if string str is a member of the set of strings params -func IsIn(str string, params ...string) bool { - for _, param := range params { - if str == param { - return true - } - } - - return false -} - -func checkRequired(v reflect.Value, t reflect.StructField, options tagOptionsMap) (bool, error) { - if nilPtrAllowedByRequired { - k := v.Kind() - if (k == reflect.Ptr || k == reflect.Interface) && v.IsNil() { - return true, nil - } - } - - if requiredOption, isRequired := options["required"]; isRequired { - if len(requiredOption.customErrorMessage) > 0 { - return false, Error{t.Name, fmt.Errorf(requiredOption.customErrorMessage), true, "required", []string{}} - } - return false, Error{t.Name, fmt.Errorf("non zero value required"), false, "required", []string{}} - } else if _, isOptional := options["optional"]; fieldsRequiredByDefault && !isOptional { - return false, Error{t.Name, fmt.Errorf("Missing required field"), false, "required", []string{}} - } - // not required and empty is valid - return true, nil -} - -func typeCheck(v reflect.Value, t reflect.StructField, o reflect.Value, options tagOptionsMap) (isValid bool, resultErr error) { - if !v.IsValid() { - return false, nil - } - - tag := t.Tag.Get(tagName) - - // checks if the field should be ignored - switch tag { - case "": - if v.Kind() != reflect.Slice && v.Kind() != reflect.Map { - if !fieldsRequiredByDefault { - return true, nil - } - return false, Error{t.Name, fmt.Errorf("All fields are required to at least have one validation defined"), false, "required", []string{}} - } - case "-": - return true, nil - } - - isRootType := false - if options == nil { - isRootType = true - options = parseTagIntoMap(tag) - } - - if isEmptyValue(v) { - // an empty value is not validated, checks only required - isValid, resultErr = checkRequired(v, t, options) - for key := range options { - delete(options, key) - } - return isValid, resultErr - } - - var customTypeErrors Errors - optionsOrder := options.orderedKeys() - for _, validatorName := range optionsOrder { - validatorStruct := options[validatorName] - if validatefunc, ok := CustomTypeTagMap.Get(validatorName); ok { - delete(options, validatorName) - - if result := validatefunc(v.Interface(), o.Interface()); !result { - if len(validatorStruct.customErrorMessage) > 0 { - customTypeErrors = append(customTypeErrors, Error{Name: t.Name, Err: TruncatingErrorf(validatorStruct.customErrorMessage, fmt.Sprint(v), validatorName), CustomErrorMessageExists: true, Validator: stripParams(validatorName)}) - continue - } - customTypeErrors = append(customTypeErrors, Error{Name: t.Name, Err: fmt.Errorf("%s does not validate as %s", fmt.Sprint(v), validatorName), CustomErrorMessageExists: false, Validator: stripParams(validatorName)}) - } - } - } - - if len(customTypeErrors.Errors()) > 0 { - return false, customTypeErrors - } - - if isRootType { - // Ensure that we've checked the value by all specified validators before report that the value is valid - defer func() { - delete(options, "optional") - delete(options, "required") - - if isValid && resultErr == nil && len(options) != 0 { - optionsOrder := options.orderedKeys() - for _, validator := range optionsOrder { - isValid = false - resultErr = Error{t.Name, fmt.Errorf( - "The following validator is invalid or can't be applied to the field: %q", validator), false, stripParams(validator), []string{}} - return - } - } - }() - } - - for _, validatorSpec := range optionsOrder { - validatorStruct := options[validatorSpec] - var negate bool - validator := validatorSpec - customMsgExists := len(validatorStruct.customErrorMessage) > 0 - - // checks whether the tag looks like '!something' or 'something' - if validator[0] == '!' { - validator = validator[1:] - negate = true - } - - // checks for interface param validators - for key, value := range InterfaceParamTagRegexMap { - ps := value.FindStringSubmatch(validator) - if len(ps) == 0 { - continue - } - - validatefunc, ok := InterfaceParamTagMap[key] - if !ok { - continue - } - - delete(options, validatorSpec) - - field := fmt.Sprint(v) - if result := validatefunc(v.Interface(), ps[1:]...); (!result && !negate) || (result && negate) { - if customMsgExists { - return false, Error{t.Name, TruncatingErrorf(validatorStruct.customErrorMessage, field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - if negate { - return false, Error{t.Name, fmt.Errorf("%s does validate as %s", field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - return false, Error{t.Name, fmt.Errorf("%s does not validate as %s", field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - } - } - - switch v.Kind() { - case reflect.Bool, - reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, - reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, - reflect.Float32, reflect.Float64, - reflect.String: - // for each tag option checks the map of validator functions - for _, validatorSpec := range optionsOrder { - validatorStruct := options[validatorSpec] - var negate bool - validator := validatorSpec - customMsgExists := len(validatorStruct.customErrorMessage) > 0 - - // checks whether the tag looks like '!something' or 'something' - if validator[0] == '!' { - validator = validator[1:] - negate = true - } - - // checks for param validators - for key, value := range ParamTagRegexMap { - ps := value.FindStringSubmatch(validator) - if len(ps) == 0 { - continue - } - - validatefunc, ok := ParamTagMap[key] - if !ok { - continue - } - - delete(options, validatorSpec) - - switch v.Kind() { - case reflect.String, - reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, - reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, - reflect.Float32, reflect.Float64: - - field := fmt.Sprint(v) // make value into string, then validate with regex - if result := validatefunc(field, ps[1:]...); (!result && !negate) || (result && negate) { - if customMsgExists { - return false, Error{t.Name, TruncatingErrorf(validatorStruct.customErrorMessage, field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - if negate { - return false, Error{t.Name, fmt.Errorf("%s does validate as %s", field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - return false, Error{t.Name, fmt.Errorf("%s does not validate as %s", field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - default: - // type not yet supported, fail - return false, Error{t.Name, fmt.Errorf("Validator %s doesn't support kind %s", validator, v.Kind()), false, stripParams(validatorSpec), []string{}} - } - } - - if validatefunc, ok := TagMap[validator]; ok { - delete(options, validatorSpec) - - switch v.Kind() { - case reflect.String, - reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, - reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, - reflect.Float32, reflect.Float64: - field := fmt.Sprint(v) // make value into string, then validate with regex - if result := validatefunc(field); !result && !negate || result && negate { - if customMsgExists { - return false, Error{t.Name, TruncatingErrorf(validatorStruct.customErrorMessage, field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - if negate { - return false, Error{t.Name, fmt.Errorf("%s does validate as %s", field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - return false, Error{t.Name, fmt.Errorf("%s does not validate as %s", field, validator), customMsgExists, stripParams(validatorSpec), []string{}} - } - default: - //Not Yet Supported Types (Fail here!) - err := fmt.Errorf("Validator %s doesn't support kind %s for value %v", validator, v.Kind(), v) - return false, Error{t.Name, err, false, stripParams(validatorSpec), []string{}} - } - } - } - return true, nil - case reflect.Map: - if v.Type().Key().Kind() != reflect.String { - return false, &UnsupportedTypeError{v.Type()} - } - var sv stringValues - sv = v.MapKeys() - sort.Sort(sv) - result := true - for i, k := range sv { - var resultItem bool - var err error - if v.MapIndex(k).Kind() != reflect.Struct { - resultItem, err = typeCheck(v.MapIndex(k), t, o, options) - if err != nil { - return false, err - } - } else { - resultItem, err = ValidateStruct(v.MapIndex(k).Interface()) - if err != nil { - err = prependPathToErrors(err, t.Name+"."+sv[i].Interface().(string)) - return false, err - } - } - result = result && resultItem - } - return result, nil - case reflect.Slice, reflect.Array: - result := true - for i := 0; i < v.Len(); i++ { - var resultItem bool - var err error - if v.Index(i).Kind() != reflect.Struct { - resultItem, err = typeCheck(v.Index(i), t, o, options) - if err != nil { - return false, err - } - } else { - resultItem, err = ValidateStruct(v.Index(i).Interface()) - if err != nil { - err = prependPathToErrors(err, t.Name+"."+strconv.Itoa(i)) - return false, err - } - } - result = result && resultItem - } - return result, nil - case reflect.Interface: - // If the value is an interface then encode its element - if v.IsNil() { - return true, nil - } - return ValidateStruct(v.Interface()) - case reflect.Ptr: - // If the value is a pointer then checks its element - if v.IsNil() { - return true, nil - } - return typeCheck(v.Elem(), t, o, options) - case reflect.Struct: - return true, nil - default: - return false, &UnsupportedTypeError{v.Type()} - } -} - -func stripParams(validatorString string) string { - return paramsRegexp.ReplaceAllString(validatorString, "") -} - -// isEmptyValue checks whether value empty or not -func isEmptyValue(v reflect.Value) bool { - switch v.Kind() { - case reflect.String, reflect.Array: - return v.Len() == 0 - case reflect.Map, reflect.Slice: - return v.Len() == 0 || v.IsNil() - case reflect.Bool: - return !v.Bool() - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - return v.Int() == 0 - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - return v.Uint() == 0 - case reflect.Float32, reflect.Float64: - return v.Float() == 0 - case reflect.Interface, reflect.Ptr: - return v.IsNil() - } - - return reflect.DeepEqual(v.Interface(), reflect.Zero(v.Type()).Interface()) -} - -// ErrorByField returns error for specified field of the struct -// validated by ValidateStruct or empty string if there are no errors -// or this field doesn't exists or doesn't have any errors. -func ErrorByField(e error, field string) string { - if e == nil { - return "" - } - return ErrorsByField(e)[field] -} - -// ErrorsByField returns map of errors of the struct validated -// by ValidateStruct or empty map if there are no errors. -func ErrorsByField(e error) map[string]string { - m := make(map[string]string) - if e == nil { - return m - } - // prototype for ValidateStruct - - switch e := e.(type) { - case Error: - m[e.Name] = e.Err.Error() - case Errors: - for _, item := range e.Errors() { - n := ErrorsByField(item) - for k, v := range n { - m[k] = v - } - } - } - - return m -} - -// Error returns string equivalent for reflect.Type -func (e *UnsupportedTypeError) Error() string { - return "validator: unsupported type: " + e.Type.String() -} - -func (sv stringValues) Len() int { return len(sv) } -func (sv stringValues) Swap(i, j int) { sv[i], sv[j] = sv[j], sv[i] } -func (sv stringValues) Less(i, j int) bool { return sv.get(i) < sv.get(j) } -func (sv stringValues) get(i int) string { return sv[i].String() } - -func IsE164(str string) bool { - return rxE164.MatchString(str) -} diff --git a/vendor/github.com/asaskevich/govalidator/wercker.yml b/vendor/github.com/asaskevich/govalidator/wercker.yml deleted file mode 100644 index bc5f7b0864..0000000000 --- a/vendor/github.com/asaskevich/govalidator/wercker.yml +++ /dev/null @@ -1,15 +0,0 @@ -box: golang -build: - steps: - - setup-go-workspace - - - script: - name: go get - code: | - go version - go get -t ./... - - - script: - name: go test - code: | - go test -race -v ./... diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 6bd6449440..f6bb14d063 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -34007,9 +34007,18 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, @@ -34031,9 +34040,18 @@ var awsPartition = partition{ endpointKey{ Region: "ui-ap-northeast-1", }: endpoint{}, + endpointKey{ + Region: "ui-ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ui-ap-southeast-1", + }: endpoint{}, endpointKey{ Region: "ui-ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ui-ca-central-1", + }: endpoint{}, endpointKey{ Region: "ui-eu-central-1", }: endpoint{}, @@ -35867,6 +35885,13 @@ var awscnPartition = partition{ }, }, }, + "quicksight": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + }, + }, "ram": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -43410,6 +43435,15 @@ var awsisoPartition = partition{ }, "datasync": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-iso-east-1", + }: endpoint{ + Hostname: "datasync-fips.us-iso-east-1.c2s.ic.gov", + CredentialScope: credentialScope{ + Region: "us-iso-east-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "fips-us-iso-west-1", }: endpoint{ @@ -43419,6 +43453,15 @@ var awsisoPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "us-iso-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-iso-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "datasync-fips.us-iso-east-1.c2s.ic.gov", + }, endpointKey{ Region: "us-iso-west-1", }: endpoint{}, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 945a8b45e2..4429c44d13 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.50.0" +const SDKVersion = "1.50.7" diff --git a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index 3ec976ab4e..0e563d8f0e 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -20194,6 +20194,10 @@ func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req * // DescribeElasticGpus API operation for Amazon Elastic Compute Cloud. // +// Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads +// that require graphics acceleration, we recommend that you use Amazon EC2 +// G4ad, G4dn, or G5 instances. +// // Describes the Elastic Graphics accelerator associated with your instances. // For more information about Elastic Graphics, see Amazon Elastic Graphics // (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html). @@ -42107,8 +42111,8 @@ func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (r // This action calls on other describe actions to get instance information. // Depending on your instance configuration, you may need to allow the following // actions in your IAM policy: DescribeSpotInstanceRequests, DescribeInstanceCreditSpecifications, -// DescribeVolumes, DescribeInstanceAttribute, and DescribeElasticGpus. Or, -// you can allow describe* depending on your instance requirements. +// DescribeVolumes, and DescribeInstanceAttribute. Or, you can allow describe* +// depending on your instance requirements. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -55137,7 +55141,7 @@ func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Re // Performing this operation on an instance that uses an instance store as its // root device returns an error. // -// If you attempt to start a T3 instance with host tenancy and the unlimted +// If you attempt to start a T3 instance with host tenancy and the unlimited // CPU credit option, the request fails. The unlimited CPU credit option is // not supported on Dedicated Hosts. Before you start the instance, either change // its CPU credit option to standard, or change its tenancy to default or dedicated. @@ -71470,7 +71474,7 @@ type CreateEgressOnlyInternetGatewayInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + // of the request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). ClientToken *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -74812,7 +74816,7 @@ type CreateNatGatewayInput struct { AllocationId *string `type:"string"` // Unique, case-sensitive identifier that you provide to ensure the idempotency - // of the request. For more information, see How to ensure idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + // of the request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // // Constraint: Maximum 64 ASCII characters. ClientToken *string `type:"string" idempotencyToken:"true"` @@ -75181,6 +75185,10 @@ func (s CreateNetworkAclEntryOutput) GoString() string { type CreateNetworkAclInput struct { _ struct{} `type:"structure"` + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, @@ -75227,6 +75235,12 @@ func (s *CreateNetworkAclInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *CreateNetworkAclInput) SetClientToken(v string) *CreateNetworkAclInput { + s.ClientToken = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput { s.DryRun = &v @@ -75248,6 +75262,10 @@ func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput { type CreateNetworkAclOutput struct { _ struct{} `type:"structure"` + // Unique, case-sensitive identifier to ensure the idempotency of the request. + // Only returned if a client token was provided in the request. + ClientToken *string `locationName:"clientToken" type:"string"` + // Information about the network ACL. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"` } @@ -75270,6 +75288,12 @@ func (s CreateNetworkAclOutput) GoString() string { return s.String() } +// SetClientToken sets the ClientToken field's value. +func (s *CreateNetworkAclOutput) SetClientToken(v string) *CreateNetworkAclOutput { + s.ClientToken = &v + return s +} + // SetNetworkAcl sets the NetworkAcl field's value. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput { s.NetworkAcl = v @@ -76822,6 +76846,10 @@ func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput { type CreateRouteTableInput struct { _ struct{} `type:"structure"` + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + // Checks whether you have the required permissions for the action, without // actually making the request, and provides an error response. If you have // the required permissions, the error response is DryRunOperation. Otherwise, @@ -76868,6 +76896,12 @@ func (s *CreateRouteTableInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *CreateRouteTableInput) SetClientToken(v string) *CreateRouteTableInput { + s.ClientToken = &v + return s +} + // SetDryRun sets the DryRun field's value. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput { s.DryRun = &v @@ -76889,6 +76923,10 @@ func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput { type CreateRouteTableOutput struct { _ struct{} `type:"structure"` + // Unique, case-sensitive identifier to ensure the idempotency of the request. + // Only returned if a client token was provided in the request. + ClientToken *string `locationName:"clientToken" type:"string"` + // Information about the route table. RouteTable *RouteTable `locationName:"routeTable" type:"structure"` } @@ -76911,6 +76949,12 @@ func (s CreateRouteTableOutput) GoString() string { return s.String() } +// SetClientToken sets the ClientToken field's value. +func (s *CreateRouteTableOutput) SetClientToken(v string) *CreateRouteTableOutput { + s.ClientToken = &v + return s +} + // SetRouteTable sets the RouteTable field's value. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput { s.RouteTable = v @@ -91349,10 +91393,10 @@ type DescribeAvailabilityZonesInput struct { // // * opt-in-status - The opt-in status (opted-in | not-opted-in | opt-in-not-required). // - // * parent-zoneID - The ID of the zone that handles some of the Local Zone + // * parent-zone-id - The ID of the zone that handles some of the Local Zone // and Wavelength Zone control plane operations, such as API calls. // - // * parent-zoneName - The ID of the zone that handles some of the Local + // * parent-zone-name - The ID of the zone that handles some of the Local // Zone and Wavelength Zone control plane operations, such as API calls. // // * region-name - The name of the Region for the Zone (for example, us-east-1). @@ -104578,6 +104622,8 @@ type DescribeRouteTablesInput struct { // The filters. // + // * association.gateway-id - The ID of the gateway involved in the association. + // // * association.route-table-association-id - The ID of an association ID // for the route table. // @@ -117489,6 +117535,10 @@ func (s *EgressOnlyInternetGateway) SetTags(v []*Tag) *EgressOnlyInternetGateway return s } +// Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads +// that require graphics acceleration, we recommend that you use Amazon EC2 +// G4ad, G4dn, or G5 instances. +// // Describes the association between an instance and an Elastic Graphics accelerator. type ElasticGpuAssociation struct { _ struct{} `type:"structure"` @@ -117549,6 +117599,10 @@ func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation return s } +// Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads +// that require graphics acceleration, we recommend that you use Amazon EC2 +// G4ad, G4dn, or G5 instances. +// // Describes the status of an Elastic Graphics accelerator. type ElasticGpuHealth struct { _ struct{} `type:"structure"` @@ -117581,6 +117635,10 @@ func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth { return s } +// Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads +// that require graphics acceleration, we recommend that you use Amazon EC2 +// G4ad, G4dn, or G5 instances. +// // A specification for an Elastic Graphics accelerator. type ElasticGpuSpecification struct { _ struct{} `type:"structure"` @@ -117631,11 +117689,19 @@ func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification { return s } -// Describes an elastic GPU. +// Deprecated. +// +// Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads +// that require graphics acceleration, we recommend that you use Amazon EC2 +// G4ad, G4dn, or G5 instances. type ElasticGpuSpecificationResponse struct { _ struct{} `type:"structure"` - // The elastic GPU type. + // Deprecated. + // + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 + // G4ad, G4dn, or G5 instances. Type *string `locationName:"type" type:"string"` } @@ -117663,6 +117729,10 @@ func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecifica return s } +// Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads +// that require graphics acceleration, we recommend that you use Amazon EC2 +// G4ad, G4dn, or G5 instances. +// // Describes an Elastic Graphics accelerator. type ElasticGpus struct { _ struct{} `type:"structure"` @@ -118144,8 +118214,9 @@ func (s *EnableAddressTransferOutput) SetAddressTransfer(v *AddressTransfer) *En type EnableAwsNetworkPerformanceMetricSubscriptionInput struct { _ struct{} `type:"structure"` - // The target Region or Availability Zone that the metric subscription is enabled - // for. For example, eu-west-1. + // The target Region (like us-east-2) or Availability Zone ID (like use2-az2) + // that the metric subscription is enabled for. If you use Availability Zone + // IDs, the Source and Destination Availability Zones must be in the same Region. Destination *string `type:"string"` // Checks whether you have the required permissions for the action, without @@ -118157,8 +118228,9 @@ type EnableAwsNetworkPerformanceMetricSubscriptionInput struct { // The metric used for the enabled subscription. Metric *string `type:"string" enum:"MetricType"` - // The source Region or Availability Zone that the metric subscription is enabled - // for. For example, us-east-1. + // The source Region (like us-east-1) or Availability Zone ID (like use1-az1) + // that the metric subscription is enabled for. If you use Availability Zone + // IDs, the Source and Destination Availability Zones must be in the same Region. Source *string `type:"string"` // The statistic used for the enabled subscription. @@ -133554,7 +133626,11 @@ type Instance struct { // Optimized instance. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"` - // The Elastic GPU associated with the instance. + // Deprecated. + // + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 + // G4ad, G4dn, or G5 instances. ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"` // The elastic inference accelerator associated with the instance. @@ -136365,6 +136441,30 @@ type InstanceRequirements struct { // Default: hdd and ssd LocalStorageTypes []*string `locationName:"localStorageTypeSet" locationNameList:"item" type:"list" enum:"LocalStorageType"` + // [Price protection] The price protection threshold for Spot Instances, as + // a percentage of an identified On-Demand price. The identified On-Demand price + // is the price of the lowest priced current generation C, M, or R instance + // type with your specified attributes. If no current generation C, M, or R + // instance type matches your attributes, then the identified price is from + // the lowest priced current generation instance types, and failing that, from + // the lowest priced previous generation instance types that match your attributes. + // When Amazon EC2 selects instance types with your attributes, it will exclude + // instance types whose price exceeds your specified threshold. + // + // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. + // + // To indicate no price protection threshold, specify a high value, such as + // 999999. + // + // If you set DesiredCapacityType to vcpu or memory-mib, the price protection + // threshold is based on the per vCPU or per memory price instead of the per + // instance price. + // + // Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + // can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice + // is used and the value for that parameter defaults to 100. + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *int64 `locationName:"maxSpotPriceAsPercentageOfOptimalOnDemandPrice" type:"integer"` + // The minimum and maximum amount of memory per vCPU, in GiB. // // Default: No minimum or maximum limits @@ -136384,11 +136484,12 @@ type InstanceRequirements struct { // Default: No minimum or maximum limits NetworkInterfaceCount *NetworkInterfaceCount `locationName:"networkInterfaceCount" type:"structure"` - // The price protection threshold for On-Demand Instances. This is the maximum - // you’ll pay for an On-Demand Instance, expressed as a percentage above the - // least expensive current generation M, C, or R instance type with your specified - // attributes. When Amazon EC2 selects instance types with your attributes, - // it excludes instance types priced above your threshold. + // [Price protection] The price protection threshold for On-Demand Instances, + // as a percentage higher than an identified On-Demand price. The identified + // On-Demand price is the price of the lowest priced current generation C, M, + // or R instance type with your specified attributes. When Amazon EC2 selects + // instance types with your attributes, it will exclude instance types whose + // price exceeds your specified threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // @@ -136411,23 +136512,32 @@ type InstanceRequirements struct { // Default: false RequireHibernateSupport *bool `locationName:"requireHibernateSupport" type:"boolean"` - // The price protection threshold for Spot Instances. This is the maximum you’ll - // pay for a Spot Instance, expressed as a percentage above the least expensive - // current generation M, C, or R instance type with your specified attributes. - // When Amazon EC2 selects instance types with your attributes, it excludes - // instance types priced above your threshold. + // [Price protection] The price protection threshold for Spot Instances, as + // a percentage higher than an identified Spot price. The identified Spot price + // is the Spot price of the lowest priced current generation C, M, or R instance + // type with your specified attributes. If no current generation C, M, or R + // instance type matches your attributes, then the identified Spot price is + // from the lowest priced current generation instance types, and failing that, + // from the lowest priced previous generation instance types that match your + // attributes. When Amazon EC2 selects instance types with your attributes, + // it will exclude instance types whose Spot price exceeds your specified threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // - // To turn off price protection, specify a high value, such as 999999. - // - // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) - // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // To indicate no price protection threshold, specify a high value, such as + // 999999. // // If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection // threshold is applied based on the per-vCPU or per-memory price instead of // the per-instance price. // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // + // Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + // can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice + // is used and the value for that parameter defaults to 100. + // // Default: 100 SpotMaxPricePercentageOverLowestPrice *int64 `locationName:"spotMaxPricePercentageOverLowestPrice" type:"integer"` @@ -136542,6 +136652,12 @@ func (s *InstanceRequirements) SetLocalStorageTypes(v []*string) *InstanceRequir return s } +// SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice sets the MaxSpotPriceAsPercentageOfOptimalOnDemandPrice field's value. +func (s *InstanceRequirements) SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(v int64) *InstanceRequirements { + s.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = &v + return s +} + // SetMemoryGiBPerVCpu sets the MemoryGiBPerVCpu field's value. func (s *InstanceRequirements) SetMemoryGiBPerVCpu(v *MemoryGiBPerVCpu) *InstanceRequirements { s.MemoryGiBPerVCpu = v @@ -136817,6 +136933,30 @@ type InstanceRequirementsRequest struct { // Default: hdd and ssd LocalStorageTypes []*string `locationName:"LocalStorageType" locationNameList:"item" type:"list" enum:"LocalStorageType"` + // [Price protection] The price protection threshold for Spot Instances, as + // a percentage of an identified On-Demand price. The identified On-Demand price + // is the price of the lowest priced current generation C, M, or R instance + // type with your specified attributes. If no current generation C, M, or R + // instance type matches your attributes, then the identified price is from + // the lowest priced current generation instance types, and failing that, from + // the lowest priced previous generation instance types that match your attributes. + // When Amazon EC2 selects instance types with your attributes, it will exclude + // instance types whose price exceeds your specified threshold. + // + // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. + // + // To indicate no price protection threshold, specify a high value, such as + // 999999. + // + // If you set DesiredCapacityType to vcpu or memory-mib, the price protection + // threshold is based on the per vCPU or per memory price instead of the per + // instance price. + // + // Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + // can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice + // is used and the value for that parameter defaults to 100. + MaxSpotPriceAsPercentageOfOptimalOnDemandPrice *int64 `type:"integer"` + // The minimum and maximum amount of memory per vCPU, in GiB. // // Default: No minimum or maximum limits @@ -136840,15 +136980,17 @@ type InstanceRequirementsRequest struct { // Default: No minimum or maximum limits NetworkInterfaceCount *NetworkInterfaceCountRequest `type:"structure"` - // The price protection threshold for On-Demand Instances. This is the maximum - // you’ll pay for an On-Demand Instance, expressed as a percentage above the - // least expensive current generation M, C, or R instance type with your specified - // attributes. When Amazon EC2 selects instance types with your attributes, - // it excludes instance types priced above your threshold. + // [Price protection] The price protection threshold for On-Demand Instances, + // as a percentage higher than an identified On-Demand price. The identified + // On-Demand price is the price of the lowest priced current generation C, M, + // or R instance type with your specified attributes. When Amazon EC2 selects + // instance types with your attributes, it will exclude instance types whose + // price exceeds your specified threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // - // To turn off price protection, specify a high value, such as 999999. + // To indicate no price protection threshold, specify a high value, such as + // 999999. // // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). @@ -136867,23 +137009,32 @@ type InstanceRequirementsRequest struct { // Default: false RequireHibernateSupport *bool `type:"boolean"` - // The price protection threshold for Spot Instance. This is the maximum you’ll - // pay for an Spot Instance, expressed as a percentage above the least expensive - // current generation M, C, or R instance type with your specified attributes. - // When Amazon EC2 selects instance types with your attributes, it excludes - // instance types priced above your threshold. + // [Price protection] The price protection threshold for Spot Instances, as + // a percentage higher than an identified Spot price. The identified Spot price + // is the Spot price of the lowest priced current generation C, M, or R instance + // type with your specified attributes. If no current generation C, M, or R + // instance type matches your attributes, then the identified Spot price is + // from the lowest priced current generation instance types, and failing that, + // from the lowest priced previous generation instance types that match your + // attributes. When Amazon EC2 selects instance types with your attributes, + // it will exclude instance types whose Spot price exceeds your specified threshold. // // The parameter accepts an integer, which Amazon EC2 interprets as a percentage. // - // To turn off price protection, specify a high value, such as 999999. - // - // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) - // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // To indicate no price protection threshold, specify a high value, such as + // 999999. // // If you set TargetCapacityUnitType to vcpu or memory-mib, the price protection // threshold is applied based on the per-vCPU or per-memory price instead of // the per-instance price. // + // This parameter is not supported for GetSpotPlacementScores (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html) + // and GetInstanceTypesFromInstanceRequirements (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html). + // + // Only one of SpotMaxPricePercentageOverLowestPrice or MaxSpotPriceAsPercentageOfOptimalOnDemandPrice + // can be specified. If you don't specify either, then SpotMaxPricePercentageOverLowestPrice + // is used and the value for that parameter defaults to 100. + // // Default: 100 SpotMaxPricePercentageOverLowestPrice *int64 `type:"integer"` @@ -137026,6 +137177,12 @@ func (s *InstanceRequirementsRequest) SetLocalStorageTypes(v []*string) *Instanc return s } +// SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice sets the MaxSpotPriceAsPercentageOfOptimalOnDemandPrice field's value. +func (s *InstanceRequirementsRequest) SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(v int64) *InstanceRequirementsRequest { + s.MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = &v + return s +} + // SetMemoryGiBPerVCpu sets the MemoryGiBPerVCpu field's value. func (s *InstanceRequirementsRequest) SetMemoryGiBPerVCpu(v *MemoryGiBPerVCpuRequest) *InstanceRequirementsRequest { s.MemoryGiBPerVCpu = v @@ -144295,10 +144452,9 @@ type LaunchTemplateTagSpecificationRequest struct { // // Valid Values lists all resource types for Amazon EC2 that can be tagged. // When you create a launch template, you can specify tags for the following - // resource types only: instance | volume | elastic-gpu | network-interface - // | spot-instances-request. If the instance does not include the resource type - // that you specify, the instance launch fails. For example, not all instance - // types include an Elastic GPU. + // resource types only: instance | volume | network-interface | spot-instances-request. + // If the instance does not include the resource type that you specify, the + // instance launch fails. For example, not all instance types include a volume. // // To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). ResourceType *string `type:"string" enum:"ResourceType"` @@ -151454,6 +151610,11 @@ type ModifySubnetAttributeInput struct { // Specify true to indicate that network interfaces attached to instances created // in the specified subnet should be assigned a public IPv4 address. + // + // Starting on February 1, 2024, Amazon Web Services will charge for all public + // IPv4 addresses, including public IPv4 addresses associated with running instances + // and Elastic IP addresses. For more information, see the Public IPv4 Address + // tab on the Amazon VPC pricing page (http://aws.amazon.com/vpc/pricing/). MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"` // The type of hostname to assign to instances in the subnet at launch. For @@ -155673,7 +155834,7 @@ type ModifyVpnTunnelOptionsSpecification struct { // // Constraints: A value between 60 and half of Phase2LifetimeSeconds. // - // Default: 540 + // Default: 270 RekeyMarginTimeSeconds *int64 `type:"integer"` // The number of packets in an IKE replay window. @@ -165809,7 +165970,11 @@ type RequestLaunchTemplateData struct { // an EBS-optimized instance. EbsOptimized *bool `type:"boolean"` - // An elastic GPU to associate with the instance. + // Deprecated. + // + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 + // G4ad, G4dn, or G5 instances. ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"` // An elastic inference accelerator to associate with the instance. Elastic @@ -168618,7 +168783,11 @@ type ResponseLaunchTemplateData struct { // Indicates whether the instance is optimized for Amazon EBS I/O. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"` - // The elastic GPU specification. + // Deprecated. + // + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 + // G4ad, G4dn, or G5 instances. ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"` // An elastic inference accelerator to associate with the instance. Elastic @@ -170614,10 +170783,11 @@ type RunInstancesInput struct { // Default: false EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"` - // An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource - // that you can attach to your Windows instance to accelerate the graphics performance - // of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html) - // in the Amazon EC2 User Guide. + // Deprecated. + // + // Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads + // that require graphics acceleration, we recommend that you use Amazon EC2 + // G4ad, G4dn, or G5 instances. ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"` // An elastic inference accelerator to associate with the instance. Elastic @@ -170829,8 +170999,6 @@ type RunInstancesInput struct { // // * Volumes // - // * Elastic graphics - // // * Spot Instance requests // // * Network interfaces @@ -178014,6 +178182,11 @@ type Subnet struct { // Indicates whether instances launched in this subnet receive a public IPv4 // address. + // + // Starting on February 1, 2024, Amazon Web Services will charge for all public + // IPv4 addresses, including public IPv4 addresses associated with running instances + // and Elastic IP addresses. For more information, see the Public IPv4 Address + // tab on the Amazon VPC pricing page (http://aws.amazon.com/vpc/pricing/). MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"` // The Amazon Resource Name (ARN) of the Outpost. @@ -188884,7 +189057,7 @@ type VpnTunnelOptionsSpecification struct { // // Constraints: A value between 60 and half of Phase2LifetimeSeconds. // - // Default: 540 + // Default: 270 RekeyMarginTimeSeconds *int64 `type:"integer"` // The number of packets in an IKE replay window. @@ -189772,6 +189945,9 @@ const ( // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value AvailabilityZoneStateUnavailable = "unavailable" + + // AvailabilityZoneStateConstrained is a AvailabilityZoneState enum value + AvailabilityZoneStateConstrained = "constrained" ) // AvailabilityZoneState_Values returns all elements of the AvailabilityZoneState enum @@ -189781,6 +189957,7 @@ func AvailabilityZoneState_Values() []string { AvailabilityZoneStateInformation, AvailabilityZoneStateImpaired, AvailabilityZoneStateUnavailable, + AvailabilityZoneStateConstrained, } } @@ -198386,6 +198563,9 @@ const ( // SubnetStateAvailable is a SubnetState enum value SubnetStateAvailable = "available" + + // SubnetStateUnavailable is a SubnetState enum value + SubnetStateUnavailable = "unavailable" ) // SubnetState_Values returns all elements of the SubnetState enum @@ -198393,6 +198573,7 @@ func SubnetState_Values() []string { return []string{ SubnetStatePending, SubnetStateAvailable, + SubnetStateUnavailable, } } diff --git a/vendor/github.com/beorn7/perks/LICENSE b/vendor/github.com/beorn7/perks/LICENSE new file mode 100644 index 0000000000..339177be66 --- /dev/null +++ b/vendor/github.com/beorn7/perks/LICENSE @@ -0,0 +1,20 @@ +Copyright (C) 2013 Blake Mizerany + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/beorn7/perks/quantile/exampledata.txt b/vendor/github.com/beorn7/perks/quantile/exampledata.txt new file mode 100644 index 0000000000..1602287d7c --- /dev/null +++ b/vendor/github.com/beorn7/perks/quantile/exampledata.txt @@ -0,0 +1,2388 @@ +8 +5 +26 +12 +5 +235 +13 +6 +28 +30 +3 +3 +3 +3 +5 +2 +33 +7 +2 +4 +7 +12 +14 +5 +8 +3 +10 +4 +5 +3 +6 +6 +209 +20 +3 +10 +14 +3 +4 +6 +8 +5 +11 +7 +3 +2 +3 +3 +212 +5 +222 +4 +10 +10 +5 +6 +3 +8 +3 +10 +254 +220 +2 +3 +5 +24 +5 +4 +222 +7 +3 +3 +223 +8 +15 +12 +14 +14 +3 +2 +2 +3 +13 +3 +11 +4 +4 +6 +5 +7 +13 +5 +3 +5 +2 +5 +3 +5 +2 +7 +15 +17 +14 +3 +6 +6 +3 +17 +5 +4 +7 +6 +4 +4 +8 +6 +8 +3 +9 +3 +6 +3 +4 +5 +3 +3 +660 +4 +6 +10 +3 +6 +3 +2 +5 +13 +2 +4 +4 +10 +4 +8 +4 +3 +7 +9 +9 +3 +10 +37 +3 +13 +4 +12 +3 +6 +10 +8 +5 +21 +2 +3 +8 +3 +2 +3 +3 +4 +12 +2 +4 +8 +8 +4 +3 +2 +20 +1 +6 +32 +2 +11 +6 +18 +3 +8 +11 +3 +212 +3 +4 +2 +6 +7 +12 +11 +3 +2 +16 +10 +6 +4 +6 +3 +2 +7 +3 +2 +2 +2 +2 +5 +6 +4 +3 +10 +3 +4 +6 +5 +3 +4 +4 +5 +6 +4 +3 +4 +4 +5 +7 +5 +5 +3 +2 +7 +2 +4 +12 +4 +5 +6 +2 +4 +4 +8 +4 +15 +13 +7 +16 +5 +3 +23 +5 +5 +7 +3 +2 +9 +8 +7 +5 +8 +11 +4 +10 +76 +4 +47 +4 +3 +2 +7 +4 +2 +3 +37 +10 +4 +2 +20 +5 +4 +4 +10 +10 +4 +3 +7 +23 +240 +7 +13 +5 +5 +3 +3 +2 +5 +4 +2 +8 +7 +19 +2 +23 +8 +7 +2 +5 +3 +8 +3 +8 +13 +5 +5 +5 +2 +3 +23 +4 +9 +8 +4 +3 +3 +5 +220 +2 +3 +4 +6 +14 +3 +53 +6 +2 +5 +18 +6 +3 +219 +6 +5 +2 +5 +3 +6 +5 +15 +4 +3 +17 +3 +2 +4 +7 +2 +3 +3 +4 +4 +3 +2 +664 +6 +3 +23 +5 +5 +16 +5 +8 +2 +4 +2 +24 +12 +3 +2 +3 +5 +8 +3 +5 +4 +3 +14 +3 +5 +8 +2 +3 +7 +9 +4 +2 +3 +6 +8 +4 +3 +4 +6 +5 +3 +3 +6 +3 +19 +4 +4 +6 +3 +6 +3 +5 +22 +5 +4 +4 +3 +8 +11 +4 +9 +7 +6 +13 +4 +4 +4 +6 +17 +9 +3 +3 +3 +4 +3 +221 +5 +11 +3 +4 +2 +12 +6 +3 +5 +7 +5 +7 +4 +9 +7 +14 +37 +19 +217 +16 +3 +5 +2 +2 +7 +19 +7 +6 +7 +4 +24 +5 +11 +4 +7 +7 +9 +13 +3 +4 +3 +6 +28 +4 +4 +5 +5 +2 +5 +6 +4 +4 +6 +10 +5 +4 +3 +2 +3 +3 +6 +5 +5 +4 +3 +2 +3 +7 +4 +6 +18 +16 +8 +16 +4 +5 +8 +6 +9 +13 +1545 +6 +215 +6 +5 +6 +3 +45 +31 +5 +2 +2 +4 +3 +3 +2 +5 +4 +3 +5 +7 +7 +4 +5 +8 +5 +4 +749 +2 +31 +9 +11 +2 +11 +5 +4 +4 +7 +9 +11 +4 +5 +4 +7 +3 +4 +6 +2 +15 +3 +4 +3 +4 +3 +5 +2 +13 +5 +5 +3 +3 +23 +4 +4 +5 +7 +4 +13 +2 +4 +3 +4 +2 +6 +2 +7 +3 +5 +5 +3 +29 +5 +4 +4 +3 +10 +2 +3 +79 +16 +6 +6 +7 +7 +3 +5 +5 +7 +4 +3 +7 +9 +5 +6 +5 +9 +6 +3 +6 +4 +17 +2 +10 +9 +3 +6 +2 +3 +21 +22 +5 +11 +4 +2 +17 +2 +224 +2 +14 +3 +4 +4 +2 +4 +4 +4 +4 +5 +3 +4 +4 +10 +2 +6 +3 +3 +5 +7 +2 +7 +5 +6 +3 +218 +2 +2 +5 +2 +6 +3 +5 +222 +14 +6 +33 +3 +2 +5 +3 +3 +3 +9 +5 +3 +3 +2 +7 +4 +3 +4 +3 +5 +6 +5 +26 +4 +13 +9 +7 +3 +221 +3 +3 +4 +4 +4 +4 +2 +18 +5 +3 +7 +9 +6 +8 +3 +10 +3 +11 +9 +5 +4 +17 +5 +5 +6 +6 +3 +2 +4 +12 +17 +6 +7 +218 +4 +2 +4 +10 +3 +5 +15 +3 +9 +4 +3 +3 +6 +29 +3 +3 +4 +5 +5 +3 +8 +5 +6 +6 +7 +5 +3 +5 +3 +29 +2 +31 +5 +15 +24 +16 +5 +207 +4 +3 +3 +2 +15 +4 +4 +13 +5 +5 +4 +6 +10 +2 +7 +8 +4 +6 +20 +5 +3 +4 +3 +12 +12 +5 +17 +7 +3 +3 +3 +6 +10 +3 +5 +25 +80 +4 +9 +3 +2 +11 +3 +3 +2 +3 +8 +7 +5 +5 +19 +5 +3 +3 +12 +11 +2 +6 +5 +5 +5 +3 +3 +3 +4 +209 +14 +3 +2 +5 +19 +4 +4 +3 +4 +14 +5 +6 +4 +13 +9 +7 +4 +7 +10 +2 +9 +5 +7 +2 +8 +4 +6 +5 +5 +222 +8 +7 +12 +5 +216 +3 +4 +4 +6 +3 +14 +8 +7 +13 +4 +3 +3 +3 +3 +17 +5 +4 +3 +33 +6 +6 +33 +7 +5 +3 +8 +7 +5 +2 +9 +4 +2 +233 +24 +7 +4 +8 +10 +3 +4 +15 +2 +16 +3 +3 +13 +12 +7 +5 +4 +207 +4 +2 +4 +27 +15 +2 +5 +2 +25 +6 +5 +5 +6 +13 +6 +18 +6 +4 +12 +225 +10 +7 +5 +2 +2 +11 +4 +14 +21 +8 +10 +3 +5 +4 +232 +2 +5 +5 +3 +7 +17 +11 +6 +6 +23 +4 +6 +3 +5 +4 +2 +17 +3 +6 +5 +8 +3 +2 +2 +14 +9 +4 +4 +2 +5 +5 +3 +7 +6 +12 +6 +10 +3 +6 +2 +2 +19 +5 +4 +4 +9 +2 +4 +13 +3 +5 +6 +3 +6 +5 +4 +9 +6 +3 +5 +7 +3 +6 +6 +4 +3 +10 +6 +3 +221 +3 +5 +3 +6 +4 +8 +5 +3 +6 +4 +4 +2 +54 +5 +6 +11 +3 +3 +4 +4 +4 +3 +7 +3 +11 +11 +7 +10 +6 +13 +223 +213 +15 +231 +7 +3 +7 +228 +2 +3 +4 +4 +5 +6 +7 +4 +13 +3 +4 +5 +3 +6 +4 +6 +7 +2 +4 +3 +4 +3 +3 +6 +3 +7 +3 +5 +18 +5 +6 +8 +10 +3 +3 +3 +2 +4 +2 +4 +4 +5 +6 +6 +4 +10 +13 +3 +12 +5 +12 +16 +8 +4 +19 +11 +2 +4 +5 +6 +8 +5 +6 +4 +18 +10 +4 +2 +216 +6 +6 +6 +2 +4 +12 +8 +3 +11 +5 +6 +14 +5 +3 +13 +4 +5 +4 +5 +3 +28 +6 +3 +7 +219 +3 +9 +7 +3 +10 +6 +3 +4 +19 +5 +7 +11 +6 +15 +19 +4 +13 +11 +3 +7 +5 +10 +2 +8 +11 +2 +6 +4 +6 +24 +6 +3 +3 +3 +3 +6 +18 +4 +11 +4 +2 +5 +10 +8 +3 +9 +5 +3 +4 +5 +6 +2 +5 +7 +4 +4 +14 +6 +4 +4 +5 +5 +7 +2 +4 +3 +7 +3 +3 +6 +4 +5 +4 +4 +4 +3 +3 +3 +3 +8 +14 +2 +3 +5 +3 +2 +4 +5 +3 +7 +3 +3 +18 +3 +4 +4 +5 +7 +3 +3 +3 +13 +5 +4 +8 +211 +5 +5 +3 +5 +2 +5 +4 +2 +655 +6 +3 +5 +11 +2 +5 +3 +12 +9 +15 +11 +5 +12 +217 +2 +6 +17 +3 +3 +207 +5 +5 +4 +5 +9 +3 +2 +8 +5 +4 +3 +2 +5 +12 +4 +14 +5 +4 +2 +13 +5 +8 +4 +225 +4 +3 +4 +5 +4 +3 +3 +6 +23 +9 +2 +6 +7 +233 +4 +4 +6 +18 +3 +4 +6 +3 +4 +4 +2 +3 +7 +4 +13 +227 +4 +3 +5 +4 +2 +12 +9 +17 +3 +7 +14 +6 +4 +5 +21 +4 +8 +9 +2 +9 +25 +16 +3 +6 +4 +7 +8 +5 +2 +3 +5 +4 +3 +3 +5 +3 +3 +3 +2 +3 +19 +2 +4 +3 +4 +2 +3 +4 +4 +2 +4 +3 +3 +3 +2 +6 +3 +17 +5 +6 +4 +3 +13 +5 +3 +3 +3 +4 +9 +4 +2 +14 +12 +4 +5 +24 +4 +3 +37 +12 +11 +21 +3 +4 +3 +13 +4 +2 +3 +15 +4 +11 +4 +4 +3 +8 +3 +4 +4 +12 +8 +5 +3 +3 +4 +2 +220 +3 +5 +223 +3 +3 +3 +10 +3 +15 +4 +241 +9 +7 +3 +6 +6 +23 +4 +13 +7 +3 +4 +7 +4 +9 +3 +3 +4 +10 +5 +5 +1 +5 +24 +2 +4 +5 +5 +6 +14 +3 +8 +2 +3 +5 +13 +13 +3 +5 +2 +3 +15 +3 +4 +2 +10 +4 +4 +4 +5 +5 +3 +5 +3 +4 +7 +4 +27 +3 +6 +4 +15 +3 +5 +6 +6 +5 +4 +8 +3 +9 +2 +6 +3 +4 +3 +7 +4 +18 +3 +11 +3 +3 +8 +9 +7 +24 +3 +219 +7 +10 +4 +5 +9 +12 +2 +5 +4 +4 +4 +3 +3 +19 +5 +8 +16 +8 +6 +22 +3 +23 +3 +242 +9 +4 +3 +3 +5 +7 +3 +3 +5 +8 +3 +7 +5 +14 +8 +10 +3 +4 +3 +7 +4 +6 +7 +4 +10 +4 +3 +11 +3 +7 +10 +3 +13 +6 +8 +12 +10 +5 +7 +9 +3 +4 +7 +7 +10 +8 +30 +9 +19 +4 +3 +19 +15 +4 +13 +3 +215 +223 +4 +7 +4 +8 +17 +16 +3 +7 +6 +5 +5 +4 +12 +3 +7 +4 +4 +13 +4 +5 +2 +5 +6 +5 +6 +6 +7 +10 +18 +23 +9 +3 +3 +6 +5 +2 +4 +2 +7 +3 +3 +2 +5 +5 +14 +10 +224 +6 +3 +4 +3 +7 +5 +9 +3 +6 +4 +2 +5 +11 +4 +3 +3 +2 +8 +4 +7 +4 +10 +7 +3 +3 +18 +18 +17 +3 +3 +3 +4 +5 +3 +3 +4 +12 +7 +3 +11 +13 +5 +4 +7 +13 +5 +4 +11 +3 +12 +3 +6 +4 +4 +21 +4 +6 +9 +5 +3 +10 +8 +4 +6 +4 +4 +6 +5 +4 +8 +6 +4 +6 +4 +4 +5 +9 +6 +3 +4 +2 +9 +3 +18 +2 +4 +3 +13 +3 +6 +6 +8 +7 +9 +3 +2 +16 +3 +4 +6 +3 +2 +33 +22 +14 +4 +9 +12 +4 +5 +6 +3 +23 +9 +4 +3 +5 +5 +3 +4 +5 +3 +5 +3 +10 +4 +5 +5 +8 +4 +4 +6 +8 +5 +4 +3 +4 +6 +3 +3 +3 +5 +9 +12 +6 +5 +9 +3 +5 +3 +2 +2 +2 +18 +3 +2 +21 +2 +5 +4 +6 +4 +5 +10 +3 +9 +3 +2 +10 +7 +3 +6 +6 +4 +4 +8 +12 +7 +3 +7 +3 +3 +9 +3 +4 +5 +4 +4 +5 +5 +10 +15 +4 +4 +14 +6 +227 +3 +14 +5 +216 +22 +5 +4 +2 +2 +6 +3 +4 +2 +9 +9 +4 +3 +28 +13 +11 +4 +5 +3 +3 +2 +3 +3 +5 +3 +4 +3 +5 +23 +26 +3 +4 +5 +6 +4 +6 +3 +5 +5 +3 +4 +3 +2 +2 +2 +7 +14 +3 +6 +7 +17 +2 +2 +15 +14 +16 +4 +6 +7 +13 +6 +4 +5 +6 +16 +3 +3 +28 +3 +6 +15 +3 +9 +2 +4 +6 +3 +3 +22 +4 +12 +6 +7 +2 +5 +4 +10 +3 +16 +6 +9 +2 +5 +12 +7 +5 +5 +5 +5 +2 +11 +9 +17 +4 +3 +11 +7 +3 +5 +15 +4 +3 +4 +211 +8 +7 +5 +4 +7 +6 +7 +6 +3 +6 +5 +6 +5 +3 +4 +4 +26 +4 +6 +10 +4 +4 +3 +2 +3 +3 +4 +5 +9 +3 +9 +4 +4 +5 +5 +8 +2 +4 +2 +3 +8 +4 +11 +19 +5 +8 +6 +3 +5 +6 +12 +3 +2 +4 +16 +12 +3 +4 +4 +8 +6 +5 +6 +6 +219 +8 +222 +6 +16 +3 +13 +19 +5 +4 +3 +11 +6 +10 +4 +7 +7 +12 +5 +3 +3 +5 +6 +10 +3 +8 +2 +5 +4 +7 +2 +4 +4 +2 +12 +9 +6 +4 +2 +40 +2 +4 +10 +4 +223 +4 +2 +20 +6 +7 +24 +5 +4 +5 +2 +20 +16 +6 +5 +13 +2 +3 +3 +19 +3 +2 +4 +5 +6 +7 +11 +12 +5 +6 +7 +7 +3 +5 +3 +5 +3 +14 +3 +4 +4 +2 +11 +1 +7 +3 +9 +6 +11 +12 +5 +8 +6 +221 +4 +2 +12 +4 +3 +15 +4 +5 +226 +7 +218 +7 +5 +4 +5 +18 +4 +5 +9 +4 +4 +2 +9 +18 +18 +9 +5 +6 +6 +3 +3 +7 +3 +5 +4 +4 +4 +12 +3 +6 +31 +5 +4 +7 +3 +6 +5 +6 +5 +11 +2 +2 +11 +11 +6 +7 +5 +8 +7 +10 +5 +23 +7 +4 +3 +5 +34 +2 +5 +23 +7 +3 +6 +8 +4 +4 +4 +2 +5 +3 +8 +5 +4 +8 +25 +2 +3 +17 +8 +3 +4 +8 +7 +3 +15 +6 +5 +7 +21 +9 +5 +6 +6 +5 +3 +2 +3 +10 +3 +6 +3 +14 +7 +4 +4 +8 +7 +8 +2 +6 +12 +4 +213 +6 +5 +21 +8 +2 +5 +23 +3 +11 +2 +3 +6 +25 +2 +3 +6 +7 +6 +6 +4 +4 +6 +3 +17 +9 +7 +6 +4 +3 +10 +7 +2 +3 +3 +3 +11 +8 +3 +7 +6 +4 +14 +36 +3 +4 +3 +3 +22 +13 +21 +4 +2 +7 +4 +4 +17 +15 +3 +7 +11 +2 +4 +7 +6 +209 +6 +3 +2 +2 +24 +4 +9 +4 +3 +3 +3 +29 +2 +2 +4 +3 +3 +5 +4 +6 +3 +3 +2 +4 diff --git a/vendor/github.com/beorn7/perks/quantile/stream.go b/vendor/github.com/beorn7/perks/quantile/stream.go new file mode 100644 index 0000000000..d7d14f8eb6 --- /dev/null +++ b/vendor/github.com/beorn7/perks/quantile/stream.go @@ -0,0 +1,316 @@ +// Package quantile computes approximate quantiles over an unbounded data +// stream within low memory and CPU bounds. +// +// A small amount of accuracy is traded to achieve the above properties. +// +// Multiple streams can be merged before calling Query to generate a single set +// of results. This is meaningful when the streams represent the same type of +// data. See Merge and Samples. +// +// For more detailed information about the algorithm used, see: +// +// Effective Computation of Biased Quantiles over Data Streams +// +// http://www.cs.rutgers.edu/~muthu/bquant.pdf +package quantile + +import ( + "math" + "sort" +) + +// Sample holds an observed value and meta information for compression. JSON +// tags have been added for convenience. +type Sample struct { + Value float64 `json:",string"` + Width float64 `json:",string"` + Delta float64 `json:",string"` +} + +// Samples represents a slice of samples. It implements sort.Interface. +type Samples []Sample + +func (a Samples) Len() int { return len(a) } +func (a Samples) Less(i, j int) bool { return a[i].Value < a[j].Value } +func (a Samples) Swap(i, j int) { a[i], a[j] = a[j], a[i] } + +type invariant func(s *stream, r float64) float64 + +// NewLowBiased returns an initialized Stream for low-biased quantiles +// (e.g. 0.01, 0.1, 0.5) where the needed quantiles are not known a priori, but +// error guarantees can still be given even for the lower ranks of the data +// distribution. +// +// The provided epsilon is a relative error, i.e. the true quantile of a value +// returned by a query is guaranteed to be within (1±Epsilon)*Quantile. +// +// See http://www.cs.rutgers.edu/~muthu/bquant.pdf for time, space, and error +// properties. +func NewLowBiased(epsilon float64) *Stream { + ƒ := func(s *stream, r float64) float64 { + return 2 * epsilon * r + } + return newStream(ƒ) +} + +// NewHighBiased returns an initialized Stream for high-biased quantiles +// (e.g. 0.01, 0.1, 0.5) where the needed quantiles are not known a priori, but +// error guarantees can still be given even for the higher ranks of the data +// distribution. +// +// The provided epsilon is a relative error, i.e. the true quantile of a value +// returned by a query is guaranteed to be within 1-(1±Epsilon)*(1-Quantile). +// +// See http://www.cs.rutgers.edu/~muthu/bquant.pdf for time, space, and error +// properties. +func NewHighBiased(epsilon float64) *Stream { + ƒ := func(s *stream, r float64) float64 { + return 2 * epsilon * (s.n - r) + } + return newStream(ƒ) +} + +// NewTargeted returns an initialized Stream concerned with a particular set of +// quantile values that are supplied a priori. Knowing these a priori reduces +// space and computation time. The targets map maps the desired quantiles to +// their absolute errors, i.e. the true quantile of a value returned by a query +// is guaranteed to be within (Quantile±Epsilon). +// +// See http://www.cs.rutgers.edu/~muthu/bquant.pdf for time, space, and error properties. +func NewTargeted(targetMap map[float64]float64) *Stream { + // Convert map to slice to avoid slow iterations on a map. + // ƒ is called on the hot path, so converting the map to a slice + // beforehand results in significant CPU savings. + targets := targetMapToSlice(targetMap) + + ƒ := func(s *stream, r float64) float64 { + var m = math.MaxFloat64 + var f float64 + for _, t := range targets { + if t.quantile*s.n <= r { + f = (2 * t.epsilon * r) / t.quantile + } else { + f = (2 * t.epsilon * (s.n - r)) / (1 - t.quantile) + } + if f < m { + m = f + } + } + return m + } + return newStream(ƒ) +} + +type target struct { + quantile float64 + epsilon float64 +} + +func targetMapToSlice(targetMap map[float64]float64) []target { + targets := make([]target, 0, len(targetMap)) + + for quantile, epsilon := range targetMap { + t := target{ + quantile: quantile, + epsilon: epsilon, + } + targets = append(targets, t) + } + + return targets +} + +// Stream computes quantiles for a stream of float64s. It is not thread-safe by +// design. Take care when using across multiple goroutines. +type Stream struct { + *stream + b Samples + sorted bool +} + +func newStream(ƒ invariant) *Stream { + x := &stream{ƒ: ƒ} + return &Stream{x, make(Samples, 0, 500), true} +} + +// Insert inserts v into the stream. +func (s *Stream) Insert(v float64) { + s.insert(Sample{Value: v, Width: 1}) +} + +func (s *Stream) insert(sample Sample) { + s.b = append(s.b, sample) + s.sorted = false + if len(s.b) == cap(s.b) { + s.flush() + } +} + +// Query returns the computed qth percentiles value. If s was created with +// NewTargeted, and q is not in the set of quantiles provided a priori, Query +// will return an unspecified result. +func (s *Stream) Query(q float64) float64 { + if !s.flushed() { + // Fast path when there hasn't been enough data for a flush; + // this also yields better accuracy for small sets of data. + l := len(s.b) + if l == 0 { + return 0 + } + i := int(math.Ceil(float64(l) * q)) + if i > 0 { + i -= 1 + } + s.maybeSort() + return s.b[i].Value + } + s.flush() + return s.stream.query(q) +} + +// Merge merges samples into the underlying streams samples. This is handy when +// merging multiple streams from separate threads, database shards, etc. +// +// ATTENTION: This method is broken and does not yield correct results. The +// underlying algorithm is not capable of merging streams correctly. +func (s *Stream) Merge(samples Samples) { + sort.Sort(samples) + s.stream.merge(samples) +} + +// Reset reinitializes and clears the list reusing the samples buffer memory. +func (s *Stream) Reset() { + s.stream.reset() + s.b = s.b[:0] +} + +// Samples returns stream samples held by s. +func (s *Stream) Samples() Samples { + if !s.flushed() { + return s.b + } + s.flush() + return s.stream.samples() +} + +// Count returns the total number of samples observed in the stream +// since initialization. +func (s *Stream) Count() int { + return len(s.b) + s.stream.count() +} + +func (s *Stream) flush() { + s.maybeSort() + s.stream.merge(s.b) + s.b = s.b[:0] +} + +func (s *Stream) maybeSort() { + if !s.sorted { + s.sorted = true + sort.Sort(s.b) + } +} + +func (s *Stream) flushed() bool { + return len(s.stream.l) > 0 +} + +type stream struct { + n float64 + l []Sample + ƒ invariant +} + +func (s *stream) reset() { + s.l = s.l[:0] + s.n = 0 +} + +func (s *stream) insert(v float64) { + s.merge(Samples{{v, 1, 0}}) +} + +func (s *stream) merge(samples Samples) { + // TODO(beorn7): This tries to merge not only individual samples, but + // whole summaries. The paper doesn't mention merging summaries at + // all. Unittests show that the merging is inaccurate. Find out how to + // do merges properly. + var r float64 + i := 0 + for _, sample := range samples { + for ; i < len(s.l); i++ { + c := s.l[i] + if c.Value > sample.Value { + // Insert at position i. + s.l = append(s.l, Sample{}) + copy(s.l[i+1:], s.l[i:]) + s.l[i] = Sample{ + sample.Value, + sample.Width, + math.Max(sample.Delta, math.Floor(s.ƒ(s, r))-1), + // TODO(beorn7): How to calculate delta correctly? + } + i++ + goto inserted + } + r += c.Width + } + s.l = append(s.l, Sample{sample.Value, sample.Width, 0}) + i++ + inserted: + s.n += sample.Width + r += sample.Width + } + s.compress() +} + +func (s *stream) count() int { + return int(s.n) +} + +func (s *stream) query(q float64) float64 { + t := math.Ceil(q * s.n) + t += math.Ceil(s.ƒ(s, t) / 2) + p := s.l[0] + var r float64 + for _, c := range s.l[1:] { + r += p.Width + if r+c.Width+c.Delta > t { + return p.Value + } + p = c + } + return p.Value +} + +func (s *stream) compress() { + if len(s.l) < 2 { + return + } + x := s.l[len(s.l)-1] + xi := len(s.l) - 1 + r := s.n - 1 - x.Width + + for i := len(s.l) - 2; i >= 0; i-- { + c := s.l[i] + if c.Width+x.Width+x.Delta <= s.ƒ(s, r) { + x.Width += c.Width + s.l[xi] = x + // Remove element at i. + copy(s.l[i:], s.l[i+1:]) + s.l = s.l[:len(s.l)-1] + xi -= 1 + } else { + x = c + xi = i + } + r -= c.Width + } +} + +func (s *stream) samples() Samples { + samples := make(Samples, len(s.l)) + copy(samples, s.l) + return samples +} diff --git a/vendor/github.com/cespare/xxhash/v2/LICENSE.txt b/vendor/github.com/cespare/xxhash/v2/LICENSE.txt new file mode 100644 index 0000000000..24b53065f4 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/LICENSE.txt @@ -0,0 +1,22 @@ +Copyright (c) 2016 Caleb Spare + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/github.com/cespare/xxhash/v2/README.md b/vendor/github.com/cespare/xxhash/v2/README.md new file mode 100644 index 0000000000..8bf0e5b781 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/README.md @@ -0,0 +1,72 @@ +# xxhash + +[![Go Reference](https://pkg.go.dev/badge/github.com/cespare/xxhash/v2.svg)](https://pkg.go.dev/github.com/cespare/xxhash/v2) +[![Test](https://github.com/cespare/xxhash/actions/workflows/test.yml/badge.svg)](https://github.com/cespare/xxhash/actions/workflows/test.yml) + +xxhash is a Go implementation of the 64-bit [xxHash] algorithm, XXH64. This is a +high-quality hashing algorithm that is much faster than anything in the Go +standard library. + +This package provides a straightforward API: + +``` +func Sum64(b []byte) uint64 +func Sum64String(s string) uint64 +type Digest struct{ ... } + func New() *Digest +``` + +The `Digest` type implements hash.Hash64. Its key methods are: + +``` +func (*Digest) Write([]byte) (int, error) +func (*Digest) WriteString(string) (int, error) +func (*Digest) Sum64() uint64 +``` + +The package is written with optimized pure Go and also contains even faster +assembly implementations for amd64 and arm64. If desired, the `purego` build tag +opts into using the Go code even on those architectures. + +[xxHash]: http://cyan4973.github.io/xxHash/ + +## Compatibility + +This package is in a module and the latest code is in version 2 of the module. +You need a version of Go with at least "minimal module compatibility" to use +github.com/cespare/xxhash/v2: + +* 1.9.7+ for Go 1.9 +* 1.10.3+ for Go 1.10 +* Go 1.11 or later + +I recommend using the latest release of Go. + +## Benchmarks + +Here are some quick benchmarks comparing the pure-Go and assembly +implementations of Sum64. + +| input size | purego | asm | +| ---------- | --------- | --------- | +| 4 B | 1.3 GB/s | 1.2 GB/s | +| 16 B | 2.9 GB/s | 3.5 GB/s | +| 100 B | 6.9 GB/s | 8.1 GB/s | +| 4 KB | 11.7 GB/s | 16.7 GB/s | +| 10 MB | 12.0 GB/s | 17.3 GB/s | + +These numbers were generated on Ubuntu 20.04 with an Intel Xeon Platinum 8252C +CPU using the following commands under Go 1.19.2: + +``` +benchstat <(go test -tags purego -benchtime 500ms -count 15 -bench 'Sum64$') +benchstat <(go test -benchtime 500ms -count 15 -bench 'Sum64$') +``` + +## Projects using this package + +- [InfluxDB](https://github.com/influxdata/influxdb) +- [Prometheus](https://github.com/prometheus/prometheus) +- [VictoriaMetrics](https://github.com/VictoriaMetrics/VictoriaMetrics) +- [FreeCache](https://github.com/coocood/freecache) +- [FastCache](https://github.com/VictoriaMetrics/fastcache) diff --git a/vendor/github.com/cespare/xxhash/v2/testall.sh b/vendor/github.com/cespare/xxhash/v2/testall.sh new file mode 100644 index 0000000000..94b9c44398 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/testall.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -eu -o pipefail + +# Small convenience script for running the tests with various combinations of +# arch/tags. This assumes we're running on amd64 and have qemu available. + +go test ./... +go test -tags purego ./... +GOARCH=arm64 go test +GOARCH=arm64 go test -tags purego diff --git a/vendor/github.com/cespare/xxhash/v2/xxhash.go b/vendor/github.com/cespare/xxhash/v2/xxhash.go new file mode 100644 index 0000000000..a9e0d45c9d --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/xxhash.go @@ -0,0 +1,228 @@ +// Package xxhash implements the 64-bit variant of xxHash (XXH64) as described +// at http://cyan4973.github.io/xxHash/. +package xxhash + +import ( + "encoding/binary" + "errors" + "math/bits" +) + +const ( + prime1 uint64 = 11400714785074694791 + prime2 uint64 = 14029467366897019727 + prime3 uint64 = 1609587929392839161 + prime4 uint64 = 9650029242287828579 + prime5 uint64 = 2870177450012600261 +) + +// Store the primes in an array as well. +// +// The consts are used when possible in Go code to avoid MOVs but we need a +// contiguous array of the assembly code. +var primes = [...]uint64{prime1, prime2, prime3, prime4, prime5} + +// Digest implements hash.Hash64. +type Digest struct { + v1 uint64 + v2 uint64 + v3 uint64 + v4 uint64 + total uint64 + mem [32]byte + n int // how much of mem is used +} + +// New creates a new Digest that computes the 64-bit xxHash algorithm. +func New() *Digest { + var d Digest + d.Reset() + return &d +} + +// Reset clears the Digest's state so that it can be reused. +func (d *Digest) Reset() { + d.v1 = primes[0] + prime2 + d.v2 = prime2 + d.v3 = 0 + d.v4 = -primes[0] + d.total = 0 + d.n = 0 +} + +// Size always returns 8 bytes. +func (d *Digest) Size() int { return 8 } + +// BlockSize always returns 32 bytes. +func (d *Digest) BlockSize() int { return 32 } + +// Write adds more data to d. It always returns len(b), nil. +func (d *Digest) Write(b []byte) (n int, err error) { + n = len(b) + d.total += uint64(n) + + memleft := d.mem[d.n&(len(d.mem)-1):] + + if d.n+n < 32 { + // This new data doesn't even fill the current block. + copy(memleft, b) + d.n += n + return + } + + if d.n > 0 { + // Finish off the partial block. + c := copy(memleft, b) + d.v1 = round(d.v1, u64(d.mem[0:8])) + d.v2 = round(d.v2, u64(d.mem[8:16])) + d.v3 = round(d.v3, u64(d.mem[16:24])) + d.v4 = round(d.v4, u64(d.mem[24:32])) + b = b[c:] + d.n = 0 + } + + if len(b) >= 32 { + // One or more full blocks left. + nw := writeBlocks(d, b) + b = b[nw:] + } + + // Store any remaining partial block. + copy(d.mem[:], b) + d.n = len(b) + + return +} + +// Sum appends the current hash to b and returns the resulting slice. +func (d *Digest) Sum(b []byte) []byte { + s := d.Sum64() + return append( + b, + byte(s>>56), + byte(s>>48), + byte(s>>40), + byte(s>>32), + byte(s>>24), + byte(s>>16), + byte(s>>8), + byte(s), + ) +} + +// Sum64 returns the current hash. +func (d *Digest) Sum64() uint64 { + var h uint64 + + if d.total >= 32 { + v1, v2, v3, v4 := d.v1, d.v2, d.v3, d.v4 + h = rol1(v1) + rol7(v2) + rol12(v3) + rol18(v4) + h = mergeRound(h, v1) + h = mergeRound(h, v2) + h = mergeRound(h, v3) + h = mergeRound(h, v4) + } else { + h = d.v3 + prime5 + } + + h += d.total + + b := d.mem[:d.n&(len(d.mem)-1)] + for ; len(b) >= 8; b = b[8:] { + k1 := round(0, u64(b[:8])) + h ^= k1 + h = rol27(h)*prime1 + prime4 + } + if len(b) >= 4 { + h ^= uint64(u32(b[:4])) * prime1 + h = rol23(h)*prime2 + prime3 + b = b[4:] + } + for ; len(b) > 0; b = b[1:] { + h ^= uint64(b[0]) * prime5 + h = rol11(h) * prime1 + } + + h ^= h >> 33 + h *= prime2 + h ^= h >> 29 + h *= prime3 + h ^= h >> 32 + + return h +} + +const ( + magic = "xxh\x06" + marshaledSize = len(magic) + 8*5 + 32 +) + +// MarshalBinary implements the encoding.BinaryMarshaler interface. +func (d *Digest) MarshalBinary() ([]byte, error) { + b := make([]byte, 0, marshaledSize) + b = append(b, magic...) + b = appendUint64(b, d.v1) + b = appendUint64(b, d.v2) + b = appendUint64(b, d.v3) + b = appendUint64(b, d.v4) + b = appendUint64(b, d.total) + b = append(b, d.mem[:d.n]...) + b = b[:len(b)+len(d.mem)-d.n] + return b, nil +} + +// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface. +func (d *Digest) UnmarshalBinary(b []byte) error { + if len(b) < len(magic) || string(b[:len(magic)]) != magic { + return errors.New("xxhash: invalid hash state identifier") + } + if len(b) != marshaledSize { + return errors.New("xxhash: invalid hash state size") + } + b = b[len(magic):] + b, d.v1 = consumeUint64(b) + b, d.v2 = consumeUint64(b) + b, d.v3 = consumeUint64(b) + b, d.v4 = consumeUint64(b) + b, d.total = consumeUint64(b) + copy(d.mem[:], b) + d.n = int(d.total % uint64(len(d.mem))) + return nil +} + +func appendUint64(b []byte, x uint64) []byte { + var a [8]byte + binary.LittleEndian.PutUint64(a[:], x) + return append(b, a[:]...) +} + +func consumeUint64(b []byte) ([]byte, uint64) { + x := u64(b) + return b[8:], x +} + +func u64(b []byte) uint64 { return binary.LittleEndian.Uint64(b) } +func u32(b []byte) uint32 { return binary.LittleEndian.Uint32(b) } + +func round(acc, input uint64) uint64 { + acc += input * prime2 + acc = rol31(acc) + acc *= prime1 + return acc +} + +func mergeRound(acc, val uint64) uint64 { + val = round(0, val) + acc ^= val + acc = acc*prime1 + prime4 + return acc +} + +func rol1(x uint64) uint64 { return bits.RotateLeft64(x, 1) } +func rol7(x uint64) uint64 { return bits.RotateLeft64(x, 7) } +func rol11(x uint64) uint64 { return bits.RotateLeft64(x, 11) } +func rol12(x uint64) uint64 { return bits.RotateLeft64(x, 12) } +func rol18(x uint64) uint64 { return bits.RotateLeft64(x, 18) } +func rol23(x uint64) uint64 { return bits.RotateLeft64(x, 23) } +func rol27(x uint64) uint64 { return bits.RotateLeft64(x, 27) } +func rol31(x uint64) uint64 { return bits.RotateLeft64(x, 31) } diff --git a/vendor/github.com/cespare/xxhash/v2/xxhash_amd64.s b/vendor/github.com/cespare/xxhash/v2/xxhash_amd64.s new file mode 100644 index 0000000000..3e8b132579 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/xxhash_amd64.s @@ -0,0 +1,209 @@ +//go:build !appengine && gc && !purego +// +build !appengine +// +build gc +// +build !purego + +#include "textflag.h" + +// Registers: +#define h AX +#define d AX +#define p SI // pointer to advance through b +#define n DX +#define end BX // loop end +#define v1 R8 +#define v2 R9 +#define v3 R10 +#define v4 R11 +#define x R12 +#define prime1 R13 +#define prime2 R14 +#define prime4 DI + +#define round(acc, x) \ + IMULQ prime2, x \ + ADDQ x, acc \ + ROLQ $31, acc \ + IMULQ prime1, acc + +// round0 performs the operation x = round(0, x). +#define round0(x) \ + IMULQ prime2, x \ + ROLQ $31, x \ + IMULQ prime1, x + +// mergeRound applies a merge round on the two registers acc and x. +// It assumes that prime1, prime2, and prime4 have been loaded. +#define mergeRound(acc, x) \ + round0(x) \ + XORQ x, acc \ + IMULQ prime1, acc \ + ADDQ prime4, acc + +// blockLoop processes as many 32-byte blocks as possible, +// updating v1, v2, v3, and v4. It assumes that there is at least one block +// to process. +#define blockLoop() \ +loop: \ + MOVQ +0(p), x \ + round(v1, x) \ + MOVQ +8(p), x \ + round(v2, x) \ + MOVQ +16(p), x \ + round(v3, x) \ + MOVQ +24(p), x \ + round(v4, x) \ + ADDQ $32, p \ + CMPQ p, end \ + JLE loop + +// func Sum64(b []byte) uint64 +TEXT ·Sum64(SB), NOSPLIT|NOFRAME, $0-32 + // Load fixed primes. + MOVQ ·primes+0(SB), prime1 + MOVQ ·primes+8(SB), prime2 + MOVQ ·primes+24(SB), prime4 + + // Load slice. + MOVQ b_base+0(FP), p + MOVQ b_len+8(FP), n + LEAQ (p)(n*1), end + + // The first loop limit will be len(b)-32. + SUBQ $32, end + + // Check whether we have at least one block. + CMPQ n, $32 + JLT noBlocks + + // Set up initial state (v1, v2, v3, v4). + MOVQ prime1, v1 + ADDQ prime2, v1 + MOVQ prime2, v2 + XORQ v3, v3 + XORQ v4, v4 + SUBQ prime1, v4 + + blockLoop() + + MOVQ v1, h + ROLQ $1, h + MOVQ v2, x + ROLQ $7, x + ADDQ x, h + MOVQ v3, x + ROLQ $12, x + ADDQ x, h + MOVQ v4, x + ROLQ $18, x + ADDQ x, h + + mergeRound(h, v1) + mergeRound(h, v2) + mergeRound(h, v3) + mergeRound(h, v4) + + JMP afterBlocks + +noBlocks: + MOVQ ·primes+32(SB), h + +afterBlocks: + ADDQ n, h + + ADDQ $24, end + CMPQ p, end + JG try4 + +loop8: + MOVQ (p), x + ADDQ $8, p + round0(x) + XORQ x, h + ROLQ $27, h + IMULQ prime1, h + ADDQ prime4, h + + CMPQ p, end + JLE loop8 + +try4: + ADDQ $4, end + CMPQ p, end + JG try1 + + MOVL (p), x + ADDQ $4, p + IMULQ prime1, x + XORQ x, h + + ROLQ $23, h + IMULQ prime2, h + ADDQ ·primes+16(SB), h + +try1: + ADDQ $4, end + CMPQ p, end + JGE finalize + +loop1: + MOVBQZX (p), x + ADDQ $1, p + IMULQ ·primes+32(SB), x + XORQ x, h + ROLQ $11, h + IMULQ prime1, h + + CMPQ p, end + JL loop1 + +finalize: + MOVQ h, x + SHRQ $33, x + XORQ x, h + IMULQ prime2, h + MOVQ h, x + SHRQ $29, x + XORQ x, h + IMULQ ·primes+16(SB), h + MOVQ h, x + SHRQ $32, x + XORQ x, h + + MOVQ h, ret+24(FP) + RET + +// func writeBlocks(d *Digest, b []byte) int +TEXT ·writeBlocks(SB), NOSPLIT|NOFRAME, $0-40 + // Load fixed primes needed for round. + MOVQ ·primes+0(SB), prime1 + MOVQ ·primes+8(SB), prime2 + + // Load slice. + MOVQ b_base+8(FP), p + MOVQ b_len+16(FP), n + LEAQ (p)(n*1), end + SUBQ $32, end + + // Load vN from d. + MOVQ s+0(FP), d + MOVQ 0(d), v1 + MOVQ 8(d), v2 + MOVQ 16(d), v3 + MOVQ 24(d), v4 + + // We don't need to check the loop condition here; this function is + // always called with at least one block of data to process. + blockLoop() + + // Copy vN back to d. + MOVQ v1, 0(d) + MOVQ v2, 8(d) + MOVQ v3, 16(d) + MOVQ v4, 24(d) + + // The number of bytes written is p minus the old base pointer. + SUBQ b_base+8(FP), p + MOVQ p, ret+32(FP) + + RET diff --git a/vendor/github.com/cespare/xxhash/v2/xxhash_arm64.s b/vendor/github.com/cespare/xxhash/v2/xxhash_arm64.s new file mode 100644 index 0000000000..7e3145a221 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/xxhash_arm64.s @@ -0,0 +1,183 @@ +//go:build !appengine && gc && !purego +// +build !appengine +// +build gc +// +build !purego + +#include "textflag.h" + +// Registers: +#define digest R1 +#define h R2 // return value +#define p R3 // input pointer +#define n R4 // input length +#define nblocks R5 // n / 32 +#define prime1 R7 +#define prime2 R8 +#define prime3 R9 +#define prime4 R10 +#define prime5 R11 +#define v1 R12 +#define v2 R13 +#define v3 R14 +#define v4 R15 +#define x1 R20 +#define x2 R21 +#define x3 R22 +#define x4 R23 + +#define round(acc, x) \ + MADD prime2, acc, x, acc \ + ROR $64-31, acc \ + MUL prime1, acc + +// round0 performs the operation x = round(0, x). +#define round0(x) \ + MUL prime2, x \ + ROR $64-31, x \ + MUL prime1, x + +#define mergeRound(acc, x) \ + round0(x) \ + EOR x, acc \ + MADD acc, prime4, prime1, acc + +// blockLoop processes as many 32-byte blocks as possible, +// updating v1, v2, v3, and v4. It assumes that n >= 32. +#define blockLoop() \ + LSR $5, n, nblocks \ + PCALIGN $16 \ + loop: \ + LDP.P 16(p), (x1, x2) \ + LDP.P 16(p), (x3, x4) \ + round(v1, x1) \ + round(v2, x2) \ + round(v3, x3) \ + round(v4, x4) \ + SUB $1, nblocks \ + CBNZ nblocks, loop + +// func Sum64(b []byte) uint64 +TEXT ·Sum64(SB), NOSPLIT|NOFRAME, $0-32 + LDP b_base+0(FP), (p, n) + + LDP ·primes+0(SB), (prime1, prime2) + LDP ·primes+16(SB), (prime3, prime4) + MOVD ·primes+32(SB), prime5 + + CMP $32, n + CSEL LT, prime5, ZR, h // if n < 32 { h = prime5 } else { h = 0 } + BLT afterLoop + + ADD prime1, prime2, v1 + MOVD prime2, v2 + MOVD $0, v3 + NEG prime1, v4 + + blockLoop() + + ROR $64-1, v1, x1 + ROR $64-7, v2, x2 + ADD x1, x2 + ROR $64-12, v3, x3 + ROR $64-18, v4, x4 + ADD x3, x4 + ADD x2, x4, h + + mergeRound(h, v1) + mergeRound(h, v2) + mergeRound(h, v3) + mergeRound(h, v4) + +afterLoop: + ADD n, h + + TBZ $4, n, try8 + LDP.P 16(p), (x1, x2) + + round0(x1) + + // NOTE: here and below, sequencing the EOR after the ROR (using a + // rotated register) is worth a small but measurable speedup for small + // inputs. + ROR $64-27, h + EOR x1 @> 64-27, h, h + MADD h, prime4, prime1, h + + round0(x2) + ROR $64-27, h + EOR x2 @> 64-27, h, h + MADD h, prime4, prime1, h + +try8: + TBZ $3, n, try4 + MOVD.P 8(p), x1 + + round0(x1) + ROR $64-27, h + EOR x1 @> 64-27, h, h + MADD h, prime4, prime1, h + +try4: + TBZ $2, n, try2 + MOVWU.P 4(p), x2 + + MUL prime1, x2 + ROR $64-23, h + EOR x2 @> 64-23, h, h + MADD h, prime3, prime2, h + +try2: + TBZ $1, n, try1 + MOVHU.P 2(p), x3 + AND $255, x3, x1 + LSR $8, x3, x2 + + MUL prime5, x1 + ROR $64-11, h + EOR x1 @> 64-11, h, h + MUL prime1, h + + MUL prime5, x2 + ROR $64-11, h + EOR x2 @> 64-11, h, h + MUL prime1, h + +try1: + TBZ $0, n, finalize + MOVBU (p), x4 + + MUL prime5, x4 + ROR $64-11, h + EOR x4 @> 64-11, h, h + MUL prime1, h + +finalize: + EOR h >> 33, h + MUL prime2, h + EOR h >> 29, h + MUL prime3, h + EOR h >> 32, h + + MOVD h, ret+24(FP) + RET + +// func writeBlocks(d *Digest, b []byte) int +TEXT ·writeBlocks(SB), NOSPLIT|NOFRAME, $0-40 + LDP ·primes+0(SB), (prime1, prime2) + + // Load state. Assume v[1-4] are stored contiguously. + MOVD d+0(FP), digest + LDP 0(digest), (v1, v2) + LDP 16(digest), (v3, v4) + + LDP b_base+8(FP), (p, n) + + blockLoop() + + // Store updated state. + STP (v1, v2), 0(digest) + STP (v3, v4), 16(digest) + + BIC $31, n + MOVD n, ret+32(FP) + RET diff --git a/vendor/github.com/cespare/xxhash/v2/xxhash_asm.go b/vendor/github.com/cespare/xxhash/v2/xxhash_asm.go new file mode 100644 index 0000000000..9216e0a40c --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/xxhash_asm.go @@ -0,0 +1,15 @@ +//go:build (amd64 || arm64) && !appengine && gc && !purego +// +build amd64 arm64 +// +build !appengine +// +build gc +// +build !purego + +package xxhash + +// Sum64 computes the 64-bit xxHash digest of b. +// +//go:noescape +func Sum64(b []byte) uint64 + +//go:noescape +func writeBlocks(d *Digest, b []byte) int diff --git a/vendor/github.com/cespare/xxhash/v2/xxhash_other.go b/vendor/github.com/cespare/xxhash/v2/xxhash_other.go new file mode 100644 index 0000000000..26df13bba4 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/xxhash_other.go @@ -0,0 +1,76 @@ +//go:build (!amd64 && !arm64) || appengine || !gc || purego +// +build !amd64,!arm64 appengine !gc purego + +package xxhash + +// Sum64 computes the 64-bit xxHash digest of b. +func Sum64(b []byte) uint64 { + // A simpler version would be + // d := New() + // d.Write(b) + // return d.Sum64() + // but this is faster, particularly for small inputs. + + n := len(b) + var h uint64 + + if n >= 32 { + v1 := primes[0] + prime2 + v2 := prime2 + v3 := uint64(0) + v4 := -primes[0] + for len(b) >= 32 { + v1 = round(v1, u64(b[0:8:len(b)])) + v2 = round(v2, u64(b[8:16:len(b)])) + v3 = round(v3, u64(b[16:24:len(b)])) + v4 = round(v4, u64(b[24:32:len(b)])) + b = b[32:len(b):len(b)] + } + h = rol1(v1) + rol7(v2) + rol12(v3) + rol18(v4) + h = mergeRound(h, v1) + h = mergeRound(h, v2) + h = mergeRound(h, v3) + h = mergeRound(h, v4) + } else { + h = prime5 + } + + h += uint64(n) + + for ; len(b) >= 8; b = b[8:] { + k1 := round(0, u64(b[:8])) + h ^= k1 + h = rol27(h)*prime1 + prime4 + } + if len(b) >= 4 { + h ^= uint64(u32(b[:4])) * prime1 + h = rol23(h)*prime2 + prime3 + b = b[4:] + } + for ; len(b) > 0; b = b[1:] { + h ^= uint64(b[0]) * prime5 + h = rol11(h) * prime1 + } + + h ^= h >> 33 + h *= prime2 + h ^= h >> 29 + h *= prime3 + h ^= h >> 32 + + return h +} + +func writeBlocks(d *Digest, b []byte) int { + v1, v2, v3, v4 := d.v1, d.v2, d.v3, d.v4 + n := len(b) + for len(b) >= 32 { + v1 = round(v1, u64(b[0:8:len(b)])) + v2 = round(v2, u64(b[8:16:len(b)])) + v3 = round(v3, u64(b[16:24:len(b)])) + v4 = round(v4, u64(b[24:32:len(b)])) + b = b[32:len(b):len(b)] + } + d.v1, d.v2, d.v3, d.v4 = v1, v2, v3, v4 + return n - len(b) +} diff --git a/vendor/github.com/cespare/xxhash/v2/xxhash_safe.go b/vendor/github.com/cespare/xxhash/v2/xxhash_safe.go new file mode 100644 index 0000000000..e86f1b5fd8 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/xxhash_safe.go @@ -0,0 +1,16 @@ +//go:build appengine +// +build appengine + +// This file contains the safe implementations of otherwise unsafe-using code. + +package xxhash + +// Sum64String computes the 64-bit xxHash digest of s. +func Sum64String(s string) uint64 { + return Sum64([]byte(s)) +} + +// WriteString adds more data to d. It always returns len(s), nil. +func (d *Digest) WriteString(s string) (n int, err error) { + return d.Write([]byte(s)) +} diff --git a/vendor/github.com/cespare/xxhash/v2/xxhash_unsafe.go b/vendor/github.com/cespare/xxhash/v2/xxhash_unsafe.go new file mode 100644 index 0000000000..1c1638fd88 --- /dev/null +++ b/vendor/github.com/cespare/xxhash/v2/xxhash_unsafe.go @@ -0,0 +1,58 @@ +//go:build !appengine +// +build !appengine + +// This file encapsulates usage of unsafe. +// xxhash_safe.go contains the safe implementations. + +package xxhash + +import ( + "unsafe" +) + +// In the future it's possible that compiler optimizations will make these +// XxxString functions unnecessary by realizing that calls such as +// Sum64([]byte(s)) don't need to copy s. See https://go.dev/issue/2205. +// If that happens, even if we keep these functions they can be replaced with +// the trivial safe code. + +// NOTE: The usual way of doing an unsafe string-to-[]byte conversion is: +// +// var b []byte +// bh := (*reflect.SliceHeader)(unsafe.Pointer(&b)) +// bh.Data = (*reflect.StringHeader)(unsafe.Pointer(&s)).Data +// bh.Len = len(s) +// bh.Cap = len(s) +// +// Unfortunately, as of Go 1.15.3 the inliner's cost model assigns a high enough +// weight to this sequence of expressions that any function that uses it will +// not be inlined. Instead, the functions below use a different unsafe +// conversion designed to minimize the inliner weight and allow both to be +// inlined. There is also a test (TestInlining) which verifies that these are +// inlined. +// +// See https://github.com/golang/go/issues/42739 for discussion. + +// Sum64String computes the 64-bit xxHash digest of s. +// It may be faster than Sum64([]byte(s)) by avoiding a copy. +func Sum64String(s string) uint64 { + b := *(*[]byte)(unsafe.Pointer(&sliceHeader{s, len(s)})) + return Sum64(b) +} + +// WriteString adds more data to d. It always returns len(s), nil. +// It may be faster than Write([]byte(s)) by avoiding a copy. +func (d *Digest) WriteString(s string) (n int, err error) { + d.Write(*(*[]byte)(unsafe.Pointer(&sliceHeader{s, len(s)}))) + // d.Write always returns len(s), nil. + // Ignoring the return output and returning these fixed values buys a + // savings of 6 in the inliner's cost model. + return len(s), nil +} + +// sliceHeader is similar to reflect.SliceHeader, but it assumes that the layout +// of the first two words is the same as the layout of a string. +type sliceHeader struct { + s string + cap int +} diff --git a/vendor/github.com/containerd/cgroups/v3/LICENSE b/vendor/github.com/containerd/cgroups/LICENSE similarity index 100% rename from vendor/github.com/containerd/cgroups/v3/LICENSE rename to vendor/github.com/containerd/cgroups/LICENSE diff --git a/vendor/github.com/containerd/cgroups/stats/v1/doc.go b/vendor/github.com/containerd/cgroups/stats/v1/doc.go new file mode 100644 index 0000000000..23f3cdd4b3 --- /dev/null +++ b/vendor/github.com/containerd/cgroups/stats/v1/doc.go @@ -0,0 +1,17 @@ +/* + Copyright The containerd Authors. + + 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. +*/ + +package v1 diff --git a/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go new file mode 100644 index 0000000000..6d2d41770b --- /dev/null +++ b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.go @@ -0,0 +1,6125 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: github.com/containerd/cgroups/stats/v1/metrics.proto + +package v1 + +import ( + fmt "fmt" + _ "github.com/gogo/protobuf/gogoproto" + proto "github.com/gogo/protobuf/proto" + io "io" + math "math" + math_bits "math/bits" + reflect "reflect" + strings "strings" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +type Metrics struct { + Hugetlb []*HugetlbStat `protobuf:"bytes,1,rep,name=hugetlb,proto3" json:"hugetlb,omitempty"` + Pids *PidsStat `protobuf:"bytes,2,opt,name=pids,proto3" json:"pids,omitempty"` + CPU *CPUStat `protobuf:"bytes,3,opt,name=cpu,proto3" json:"cpu,omitempty"` + Memory *MemoryStat `protobuf:"bytes,4,opt,name=memory,proto3" json:"memory,omitempty"` + Blkio *BlkIOStat `protobuf:"bytes,5,opt,name=blkio,proto3" json:"blkio,omitempty"` + Rdma *RdmaStat `protobuf:"bytes,6,opt,name=rdma,proto3" json:"rdma,omitempty"` + Network []*NetworkStat `protobuf:"bytes,7,rep,name=network,proto3" json:"network,omitempty"` + CgroupStats *CgroupStats `protobuf:"bytes,8,opt,name=cgroup_stats,json=cgroupStats,proto3" json:"cgroup_stats,omitempty"` + MemoryOomControl *MemoryOomControl `protobuf:"bytes,9,opt,name=memory_oom_control,json=memoryOomControl,proto3" json:"memory_oom_control,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Metrics) Reset() { *m = Metrics{} } +func (*Metrics) ProtoMessage() {} +func (*Metrics) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{0} +} +func (m *Metrics) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Metrics) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Metrics.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Metrics) XXX_Merge(src proto.Message) { + xxx_messageInfo_Metrics.Merge(m, src) +} +func (m *Metrics) XXX_Size() int { + return m.Size() +} +func (m *Metrics) XXX_DiscardUnknown() { + xxx_messageInfo_Metrics.DiscardUnknown(m) +} + +var xxx_messageInfo_Metrics proto.InternalMessageInfo + +type HugetlbStat struct { + Usage uint64 `protobuf:"varint,1,opt,name=usage,proto3" json:"usage,omitempty"` + Max uint64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` + Failcnt uint64 `protobuf:"varint,3,opt,name=failcnt,proto3" json:"failcnt,omitempty"` + Pagesize string `protobuf:"bytes,4,opt,name=pagesize,proto3" json:"pagesize,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *HugetlbStat) Reset() { *m = HugetlbStat{} } +func (*HugetlbStat) ProtoMessage() {} +func (*HugetlbStat) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{1} +} +func (m *HugetlbStat) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *HugetlbStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_HugetlbStat.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *HugetlbStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_HugetlbStat.Merge(m, src) +} +func (m *HugetlbStat) XXX_Size() int { + return m.Size() +} +func (m *HugetlbStat) XXX_DiscardUnknown() { + xxx_messageInfo_HugetlbStat.DiscardUnknown(m) +} + +var xxx_messageInfo_HugetlbStat proto.InternalMessageInfo + +type PidsStat struct { + Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` + Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *PidsStat) Reset() { *m = PidsStat{} } +func (*PidsStat) ProtoMessage() {} +func (*PidsStat) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{2} +} +func (m *PidsStat) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *PidsStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_PidsStat.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *PidsStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_PidsStat.Merge(m, src) +} +func (m *PidsStat) XXX_Size() int { + return m.Size() +} +func (m *PidsStat) XXX_DiscardUnknown() { + xxx_messageInfo_PidsStat.DiscardUnknown(m) +} + +var xxx_messageInfo_PidsStat proto.InternalMessageInfo + +type CPUStat struct { + Usage *CPUUsage `protobuf:"bytes,1,opt,name=usage,proto3" json:"usage,omitempty"` + Throttling *Throttle `protobuf:"bytes,2,opt,name=throttling,proto3" json:"throttling,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CPUStat) Reset() { *m = CPUStat{} } +func (*CPUStat) ProtoMessage() {} +func (*CPUStat) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{3} +} +func (m *CPUStat) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CPUStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CPUStat.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CPUStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_CPUStat.Merge(m, src) +} +func (m *CPUStat) XXX_Size() int { + return m.Size() +} +func (m *CPUStat) XXX_DiscardUnknown() { + xxx_messageInfo_CPUStat.DiscardUnknown(m) +} + +var xxx_messageInfo_CPUStat proto.InternalMessageInfo + +type CPUUsage struct { + // values in nanoseconds + Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` + Kernel uint64 `protobuf:"varint,2,opt,name=kernel,proto3" json:"kernel,omitempty"` + User uint64 `protobuf:"varint,3,opt,name=user,proto3" json:"user,omitempty"` + PerCPU []uint64 `protobuf:"varint,4,rep,packed,name=per_cpu,json=perCpu,proto3" json:"per_cpu,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CPUUsage) Reset() { *m = CPUUsage{} } +func (*CPUUsage) ProtoMessage() {} +func (*CPUUsage) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{4} +} +func (m *CPUUsage) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CPUUsage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CPUUsage.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CPUUsage) XXX_Merge(src proto.Message) { + xxx_messageInfo_CPUUsage.Merge(m, src) +} +func (m *CPUUsage) XXX_Size() int { + return m.Size() +} +func (m *CPUUsage) XXX_DiscardUnknown() { + xxx_messageInfo_CPUUsage.DiscardUnknown(m) +} + +var xxx_messageInfo_CPUUsage proto.InternalMessageInfo + +type Throttle struct { + Periods uint64 `protobuf:"varint,1,opt,name=periods,proto3" json:"periods,omitempty"` + ThrottledPeriods uint64 `protobuf:"varint,2,opt,name=throttled_periods,json=throttledPeriods,proto3" json:"throttled_periods,omitempty"` + ThrottledTime uint64 `protobuf:"varint,3,opt,name=throttled_time,json=throttledTime,proto3" json:"throttled_time,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *Throttle) Reset() { *m = Throttle{} } +func (*Throttle) ProtoMessage() {} +func (*Throttle) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{5} +} +func (m *Throttle) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Throttle) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_Throttle.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *Throttle) XXX_Merge(src proto.Message) { + xxx_messageInfo_Throttle.Merge(m, src) +} +func (m *Throttle) XXX_Size() int { + return m.Size() +} +func (m *Throttle) XXX_DiscardUnknown() { + xxx_messageInfo_Throttle.DiscardUnknown(m) +} + +var xxx_messageInfo_Throttle proto.InternalMessageInfo + +type MemoryStat struct { + Cache uint64 `protobuf:"varint,1,opt,name=cache,proto3" json:"cache,omitempty"` + RSS uint64 `protobuf:"varint,2,opt,name=rss,proto3" json:"rss,omitempty"` + RSSHuge uint64 `protobuf:"varint,3,opt,name=rss_huge,json=rssHuge,proto3" json:"rss_huge,omitempty"` + MappedFile uint64 `protobuf:"varint,4,opt,name=mapped_file,json=mappedFile,proto3" json:"mapped_file,omitempty"` + Dirty uint64 `protobuf:"varint,5,opt,name=dirty,proto3" json:"dirty,omitempty"` + Writeback uint64 `protobuf:"varint,6,opt,name=writeback,proto3" json:"writeback,omitempty"` + PgPgIn uint64 `protobuf:"varint,7,opt,name=pg_pg_in,json=pgPgIn,proto3" json:"pg_pg_in,omitempty"` + PgPgOut uint64 `protobuf:"varint,8,opt,name=pg_pg_out,json=pgPgOut,proto3" json:"pg_pg_out,omitempty"` + PgFault uint64 `protobuf:"varint,9,opt,name=pg_fault,json=pgFault,proto3" json:"pg_fault,omitempty"` + PgMajFault uint64 `protobuf:"varint,10,opt,name=pg_maj_fault,json=pgMajFault,proto3" json:"pg_maj_fault,omitempty"` + InactiveAnon uint64 `protobuf:"varint,11,opt,name=inactive_anon,json=inactiveAnon,proto3" json:"inactive_anon,omitempty"` + ActiveAnon uint64 `protobuf:"varint,12,opt,name=active_anon,json=activeAnon,proto3" json:"active_anon,omitempty"` + InactiveFile uint64 `protobuf:"varint,13,opt,name=inactive_file,json=inactiveFile,proto3" json:"inactive_file,omitempty"` + ActiveFile uint64 `protobuf:"varint,14,opt,name=active_file,json=activeFile,proto3" json:"active_file,omitempty"` + Unevictable uint64 `protobuf:"varint,15,opt,name=unevictable,proto3" json:"unevictable,omitempty"` + HierarchicalMemoryLimit uint64 `protobuf:"varint,16,opt,name=hierarchical_memory_limit,json=hierarchicalMemoryLimit,proto3" json:"hierarchical_memory_limit,omitempty"` + HierarchicalSwapLimit uint64 `protobuf:"varint,17,opt,name=hierarchical_swap_limit,json=hierarchicalSwapLimit,proto3" json:"hierarchical_swap_limit,omitempty"` + TotalCache uint64 `protobuf:"varint,18,opt,name=total_cache,json=totalCache,proto3" json:"total_cache,omitempty"` + TotalRSS uint64 `protobuf:"varint,19,opt,name=total_rss,json=totalRss,proto3" json:"total_rss,omitempty"` + TotalRSSHuge uint64 `protobuf:"varint,20,opt,name=total_rss_huge,json=totalRssHuge,proto3" json:"total_rss_huge,omitempty"` + TotalMappedFile uint64 `protobuf:"varint,21,opt,name=total_mapped_file,json=totalMappedFile,proto3" json:"total_mapped_file,omitempty"` + TotalDirty uint64 `protobuf:"varint,22,opt,name=total_dirty,json=totalDirty,proto3" json:"total_dirty,omitempty"` + TotalWriteback uint64 `protobuf:"varint,23,opt,name=total_writeback,json=totalWriteback,proto3" json:"total_writeback,omitempty"` + TotalPgPgIn uint64 `protobuf:"varint,24,opt,name=total_pg_pg_in,json=totalPgPgIn,proto3" json:"total_pg_pg_in,omitempty"` + TotalPgPgOut uint64 `protobuf:"varint,25,opt,name=total_pg_pg_out,json=totalPgPgOut,proto3" json:"total_pg_pg_out,omitempty"` + TotalPgFault uint64 `protobuf:"varint,26,opt,name=total_pg_fault,json=totalPgFault,proto3" json:"total_pg_fault,omitempty"` + TotalPgMajFault uint64 `protobuf:"varint,27,opt,name=total_pg_maj_fault,json=totalPgMajFault,proto3" json:"total_pg_maj_fault,omitempty"` + TotalInactiveAnon uint64 `protobuf:"varint,28,opt,name=total_inactive_anon,json=totalInactiveAnon,proto3" json:"total_inactive_anon,omitempty"` + TotalActiveAnon uint64 `protobuf:"varint,29,opt,name=total_active_anon,json=totalActiveAnon,proto3" json:"total_active_anon,omitempty"` + TotalInactiveFile uint64 `protobuf:"varint,30,opt,name=total_inactive_file,json=totalInactiveFile,proto3" json:"total_inactive_file,omitempty"` + TotalActiveFile uint64 `protobuf:"varint,31,opt,name=total_active_file,json=totalActiveFile,proto3" json:"total_active_file,omitempty"` + TotalUnevictable uint64 `protobuf:"varint,32,opt,name=total_unevictable,json=totalUnevictable,proto3" json:"total_unevictable,omitempty"` + Usage *MemoryEntry `protobuf:"bytes,33,opt,name=usage,proto3" json:"usage,omitempty"` + Swap *MemoryEntry `protobuf:"bytes,34,opt,name=swap,proto3" json:"swap,omitempty"` + Kernel *MemoryEntry `protobuf:"bytes,35,opt,name=kernel,proto3" json:"kernel,omitempty"` + KernelTCP *MemoryEntry `protobuf:"bytes,36,opt,name=kernel_tcp,json=kernelTcp,proto3" json:"kernel_tcp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemoryStat) Reset() { *m = MemoryStat{} } +func (*MemoryStat) ProtoMessage() {} +func (*MemoryStat) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{6} +} +func (m *MemoryStat) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MemoryStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MemoryStat.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MemoryStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemoryStat.Merge(m, src) +} +func (m *MemoryStat) XXX_Size() int { + return m.Size() +} +func (m *MemoryStat) XXX_DiscardUnknown() { + xxx_messageInfo_MemoryStat.DiscardUnknown(m) +} + +var xxx_messageInfo_MemoryStat proto.InternalMessageInfo + +type MemoryEntry struct { + Limit uint64 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` + Usage uint64 `protobuf:"varint,2,opt,name=usage,proto3" json:"usage,omitempty"` + Max uint64 `protobuf:"varint,3,opt,name=max,proto3" json:"max,omitempty"` + Failcnt uint64 `protobuf:"varint,4,opt,name=failcnt,proto3" json:"failcnt,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemoryEntry) Reset() { *m = MemoryEntry{} } +func (*MemoryEntry) ProtoMessage() {} +func (*MemoryEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{7} +} +func (m *MemoryEntry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MemoryEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MemoryEntry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MemoryEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemoryEntry.Merge(m, src) +} +func (m *MemoryEntry) XXX_Size() int { + return m.Size() +} +func (m *MemoryEntry) XXX_DiscardUnknown() { + xxx_messageInfo_MemoryEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_MemoryEntry proto.InternalMessageInfo + +type MemoryOomControl struct { + OomKillDisable uint64 `protobuf:"varint,1,opt,name=oom_kill_disable,json=oomKillDisable,proto3" json:"oom_kill_disable,omitempty"` + UnderOom uint64 `protobuf:"varint,2,opt,name=under_oom,json=underOom,proto3" json:"under_oom,omitempty"` + OomKill uint64 `protobuf:"varint,3,opt,name=oom_kill,json=oomKill,proto3" json:"oom_kill,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MemoryOomControl) Reset() { *m = MemoryOomControl{} } +func (*MemoryOomControl) ProtoMessage() {} +func (*MemoryOomControl) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{8} +} +func (m *MemoryOomControl) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MemoryOomControl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MemoryOomControl.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MemoryOomControl) XXX_Merge(src proto.Message) { + xxx_messageInfo_MemoryOomControl.Merge(m, src) +} +func (m *MemoryOomControl) XXX_Size() int { + return m.Size() +} +func (m *MemoryOomControl) XXX_DiscardUnknown() { + xxx_messageInfo_MemoryOomControl.DiscardUnknown(m) +} + +var xxx_messageInfo_MemoryOomControl proto.InternalMessageInfo + +type BlkIOStat struct { + IoServiceBytesRecursive []*BlkIOEntry `protobuf:"bytes,1,rep,name=io_service_bytes_recursive,json=ioServiceBytesRecursive,proto3" json:"io_service_bytes_recursive,omitempty"` + IoServicedRecursive []*BlkIOEntry `protobuf:"bytes,2,rep,name=io_serviced_recursive,json=ioServicedRecursive,proto3" json:"io_serviced_recursive,omitempty"` + IoQueuedRecursive []*BlkIOEntry `protobuf:"bytes,3,rep,name=io_queued_recursive,json=ioQueuedRecursive,proto3" json:"io_queued_recursive,omitempty"` + IoServiceTimeRecursive []*BlkIOEntry `protobuf:"bytes,4,rep,name=io_service_time_recursive,json=ioServiceTimeRecursive,proto3" json:"io_service_time_recursive,omitempty"` + IoWaitTimeRecursive []*BlkIOEntry `protobuf:"bytes,5,rep,name=io_wait_time_recursive,json=ioWaitTimeRecursive,proto3" json:"io_wait_time_recursive,omitempty"` + IoMergedRecursive []*BlkIOEntry `protobuf:"bytes,6,rep,name=io_merged_recursive,json=ioMergedRecursive,proto3" json:"io_merged_recursive,omitempty"` + IoTimeRecursive []*BlkIOEntry `protobuf:"bytes,7,rep,name=io_time_recursive,json=ioTimeRecursive,proto3" json:"io_time_recursive,omitempty"` + SectorsRecursive []*BlkIOEntry `protobuf:"bytes,8,rep,name=sectors_recursive,json=sectorsRecursive,proto3" json:"sectors_recursive,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlkIOStat) Reset() { *m = BlkIOStat{} } +func (*BlkIOStat) ProtoMessage() {} +func (*BlkIOStat) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{9} +} +func (m *BlkIOStat) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BlkIOStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BlkIOStat.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BlkIOStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlkIOStat.Merge(m, src) +} +func (m *BlkIOStat) XXX_Size() int { + return m.Size() +} +func (m *BlkIOStat) XXX_DiscardUnknown() { + xxx_messageInfo_BlkIOStat.DiscardUnknown(m) +} + +var xxx_messageInfo_BlkIOStat proto.InternalMessageInfo + +type BlkIOEntry struct { + Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"` + Device string `protobuf:"bytes,2,opt,name=device,proto3" json:"device,omitempty"` + Major uint64 `protobuf:"varint,3,opt,name=major,proto3" json:"major,omitempty"` + Minor uint64 `protobuf:"varint,4,opt,name=minor,proto3" json:"minor,omitempty"` + Value uint64 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlkIOEntry) Reset() { *m = BlkIOEntry{} } +func (*BlkIOEntry) ProtoMessage() {} +func (*BlkIOEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{10} +} +func (m *BlkIOEntry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *BlkIOEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_BlkIOEntry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *BlkIOEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlkIOEntry.Merge(m, src) +} +func (m *BlkIOEntry) XXX_Size() int { + return m.Size() +} +func (m *BlkIOEntry) XXX_DiscardUnknown() { + xxx_messageInfo_BlkIOEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_BlkIOEntry proto.InternalMessageInfo + +type RdmaStat struct { + Current []*RdmaEntry `protobuf:"bytes,1,rep,name=current,proto3" json:"current,omitempty"` + Limit []*RdmaEntry `protobuf:"bytes,2,rep,name=limit,proto3" json:"limit,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RdmaStat) Reset() { *m = RdmaStat{} } +func (*RdmaStat) ProtoMessage() {} +func (*RdmaStat) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{11} +} +func (m *RdmaStat) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RdmaStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RdmaStat.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RdmaStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_RdmaStat.Merge(m, src) +} +func (m *RdmaStat) XXX_Size() int { + return m.Size() +} +func (m *RdmaStat) XXX_DiscardUnknown() { + xxx_messageInfo_RdmaStat.DiscardUnknown(m) +} + +var xxx_messageInfo_RdmaStat proto.InternalMessageInfo + +type RdmaEntry struct { + Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"` + HcaHandles uint32 `protobuf:"varint,2,opt,name=hca_handles,json=hcaHandles,proto3" json:"hca_handles,omitempty"` + HcaObjects uint32 `protobuf:"varint,3,opt,name=hca_objects,json=hcaObjects,proto3" json:"hca_objects,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RdmaEntry) Reset() { *m = RdmaEntry{} } +func (*RdmaEntry) ProtoMessage() {} +func (*RdmaEntry) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{12} +} +func (m *RdmaEntry) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *RdmaEntry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_RdmaEntry.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *RdmaEntry) XXX_Merge(src proto.Message) { + xxx_messageInfo_RdmaEntry.Merge(m, src) +} +func (m *RdmaEntry) XXX_Size() int { + return m.Size() +} +func (m *RdmaEntry) XXX_DiscardUnknown() { + xxx_messageInfo_RdmaEntry.DiscardUnknown(m) +} + +var xxx_messageInfo_RdmaEntry proto.InternalMessageInfo + +type NetworkStat struct { + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + RxBytes uint64 `protobuf:"varint,2,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"` + RxPackets uint64 `protobuf:"varint,3,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"` + RxErrors uint64 `protobuf:"varint,4,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"` + RxDropped uint64 `protobuf:"varint,5,opt,name=rx_dropped,json=rxDropped,proto3" json:"rx_dropped,omitempty"` + TxBytes uint64 `protobuf:"varint,6,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"` + TxPackets uint64 `protobuf:"varint,7,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"` + TxErrors uint64 `protobuf:"varint,8,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"` + TxDropped uint64 `protobuf:"varint,9,opt,name=tx_dropped,json=txDropped,proto3" json:"tx_dropped,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *NetworkStat) Reset() { *m = NetworkStat{} } +func (*NetworkStat) ProtoMessage() {} +func (*NetworkStat) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{13} +} +func (m *NetworkStat) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *NetworkStat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_NetworkStat.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *NetworkStat) XXX_Merge(src proto.Message) { + xxx_messageInfo_NetworkStat.Merge(m, src) +} +func (m *NetworkStat) XXX_Size() int { + return m.Size() +} +func (m *NetworkStat) XXX_DiscardUnknown() { + xxx_messageInfo_NetworkStat.DiscardUnknown(m) +} + +var xxx_messageInfo_NetworkStat proto.InternalMessageInfo + +// CgroupStats exports per-cgroup statistics. +type CgroupStats struct { + // number of tasks sleeping + NrSleeping uint64 `protobuf:"varint,1,opt,name=nr_sleeping,json=nrSleeping,proto3" json:"nr_sleeping,omitempty"` + // number of tasks running + NrRunning uint64 `protobuf:"varint,2,opt,name=nr_running,json=nrRunning,proto3" json:"nr_running,omitempty"` + // number of tasks in stopped state + NrStopped uint64 `protobuf:"varint,3,opt,name=nr_stopped,json=nrStopped,proto3" json:"nr_stopped,omitempty"` + // number of tasks in uninterruptible state + NrUninterruptible uint64 `protobuf:"varint,4,opt,name=nr_uninterruptible,json=nrUninterruptible,proto3" json:"nr_uninterruptible,omitempty"` + // number of tasks waiting on IO + NrIoWait uint64 `protobuf:"varint,5,opt,name=nr_io_wait,json=nrIoWait,proto3" json:"nr_io_wait,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CgroupStats) Reset() { *m = CgroupStats{} } +func (*CgroupStats) ProtoMessage() {} +func (*CgroupStats) Descriptor() ([]byte, []int) { + return fileDescriptor_a17b2d87c332bfaa, []int{14} +} +func (m *CgroupStats) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *CgroupStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_CgroupStats.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *CgroupStats) XXX_Merge(src proto.Message) { + xxx_messageInfo_CgroupStats.Merge(m, src) +} +func (m *CgroupStats) XXX_Size() int { + return m.Size() +} +func (m *CgroupStats) XXX_DiscardUnknown() { + xxx_messageInfo_CgroupStats.DiscardUnknown(m) +} + +var xxx_messageInfo_CgroupStats proto.InternalMessageInfo + +func init() { + proto.RegisterType((*Metrics)(nil), "io.containerd.cgroups.v1.Metrics") + proto.RegisterType((*HugetlbStat)(nil), "io.containerd.cgroups.v1.HugetlbStat") + proto.RegisterType((*PidsStat)(nil), "io.containerd.cgroups.v1.PidsStat") + proto.RegisterType((*CPUStat)(nil), "io.containerd.cgroups.v1.CPUStat") + proto.RegisterType((*CPUUsage)(nil), "io.containerd.cgroups.v1.CPUUsage") + proto.RegisterType((*Throttle)(nil), "io.containerd.cgroups.v1.Throttle") + proto.RegisterType((*MemoryStat)(nil), "io.containerd.cgroups.v1.MemoryStat") + proto.RegisterType((*MemoryEntry)(nil), "io.containerd.cgroups.v1.MemoryEntry") + proto.RegisterType((*MemoryOomControl)(nil), "io.containerd.cgroups.v1.MemoryOomControl") + proto.RegisterType((*BlkIOStat)(nil), "io.containerd.cgroups.v1.BlkIOStat") + proto.RegisterType((*BlkIOEntry)(nil), "io.containerd.cgroups.v1.BlkIOEntry") + proto.RegisterType((*RdmaStat)(nil), "io.containerd.cgroups.v1.RdmaStat") + proto.RegisterType((*RdmaEntry)(nil), "io.containerd.cgroups.v1.RdmaEntry") + proto.RegisterType((*NetworkStat)(nil), "io.containerd.cgroups.v1.NetworkStat") + proto.RegisterType((*CgroupStats)(nil), "io.containerd.cgroups.v1.CgroupStats") +} + +func init() { + proto.RegisterFile("github.com/containerd/cgroups/stats/v1/metrics.proto", fileDescriptor_a17b2d87c332bfaa) +} + +var fileDescriptor_a17b2d87c332bfaa = []byte{ + // 1749 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0xcd, 0x72, 0xe3, 0xc6, + 0x11, 0x36, 0x45, 0x48, 0x24, 0x9a, 0x92, 0x56, 0x9a, 0xfd, 0x83, 0xe4, 0xb5, 0x28, 0x53, 0xbb, + 0x89, 0xe2, 0xad, 0x48, 0x65, 0x27, 0xb5, 0x95, 0x75, 0xec, 0x4a, 0x59, 0x5a, 0xbb, 0x76, 0xcb, + 0x51, 0x44, 0x83, 0x52, 0xd9, 0x39, 0xa1, 0x40, 0x70, 0x16, 0x9c, 0x15, 0x80, 0x81, 0x07, 0x03, + 0x89, 0xca, 0x29, 0x87, 0x54, 0xe5, 0x94, 0x07, 0xca, 0x1b, 0xf8, 0x98, 0x4b, 0x52, 0xc9, 0x45, + 0x15, 0xf3, 0x49, 0x52, 0x33, 0x3d, 0xf8, 0xa1, 0xbc, 0x5a, 0x85, 0x37, 0x76, 0xcf, 0xd7, 0x5f, + 0xf7, 0x34, 0xbe, 0x19, 0x34, 0x08, 0xbf, 0x0e, 0x99, 0x1c, 0xe7, 0xc3, 0xbd, 0x80, 0xc7, 0xfb, + 0x01, 0x4f, 0xa4, 0xcf, 0x12, 0x2a, 0x46, 0xfb, 0x41, 0x28, 0x78, 0x9e, 0x66, 0xfb, 0x99, 0xf4, + 0x65, 0xb6, 0x7f, 0xfe, 0xf1, 0x7e, 0x4c, 0xa5, 0x60, 0x41, 0xb6, 0x97, 0x0a, 0x2e, 0x39, 0x71, + 0x18, 0xdf, 0xab, 0xd0, 0x7b, 0x06, 0xbd, 0x77, 0xfe, 0xf1, 0xe6, 0xbd, 0x90, 0x87, 0x5c, 0x83, + 0xf6, 0xd5, 0x2f, 0xc4, 0xf7, 0xfe, 0x65, 0x41, 0xeb, 0x08, 0x19, 0xc8, 0xef, 0xa0, 0x35, 0xce, + 0x43, 0x2a, 0xa3, 0xa1, 0xd3, 0xd8, 0x6e, 0xee, 0x76, 0x3e, 0x79, 0xb2, 0x77, 0x13, 0xdb, 0xde, + 0x4b, 0x04, 0x0e, 0xa4, 0x2f, 0xdd, 0x22, 0x8a, 0x3c, 0x03, 0x2b, 0x65, 0xa3, 0xcc, 0x59, 0xd8, + 0x6e, 0xec, 0x76, 0x3e, 0xe9, 0xdd, 0x1c, 0xdd, 0x67, 0xa3, 0x4c, 0x87, 0x6a, 0x3c, 0xf9, 0x0c, + 0x9a, 0x41, 0x9a, 0x3b, 0x4d, 0x1d, 0xf6, 0xe1, 0xcd, 0x61, 0x87, 0xfd, 0x53, 0x15, 0x75, 0xd0, + 0x9a, 0x5e, 0x75, 0x9b, 0x87, 0xfd, 0x53, 0x57, 0x85, 0x91, 0xcf, 0x60, 0x29, 0xa6, 0x31, 0x17, + 0x97, 0x8e, 0xa5, 0x09, 0x1e, 0xdf, 0x4c, 0x70, 0xa4, 0x71, 0x3a, 0xb3, 0x89, 0x21, 0xcf, 0x61, + 0x71, 0x18, 0x9d, 0x31, 0xee, 0x2c, 0xea, 0xe0, 0x9d, 0x9b, 0x83, 0x0f, 0xa2, 0xb3, 0x57, 0xc7, + 0x3a, 0x16, 0x23, 0xd4, 0x76, 0xc5, 0x28, 0xf6, 0x9d, 0xa5, 0xdb, 0xb6, 0xeb, 0x8e, 0x62, 0x1f, + 0xb7, 0xab, 0xf0, 0xaa, 0xcf, 0x09, 0x95, 0x17, 0x5c, 0x9c, 0x39, 0xad, 0xdb, 0xfa, 0xfc, 0x07, + 0x04, 0x62, 0x9f, 0x4d, 0x14, 0x79, 0x09, 0xcb, 0x08, 0xf1, 0xb4, 0x0a, 0x9c, 0xb6, 0x2e, 0xe0, + 0x1d, 0x2c, 0x87, 0xfa, 0xa7, 0x22, 0xc9, 0xdc, 0x4e, 0x50, 0x19, 0xe4, 0x3b, 0x20, 0xd8, 0x07, + 0x8f, 0xf3, 0xd8, 0x53, 0xc1, 0x82, 0x47, 0x8e, 0xad, 0xf9, 0x3e, 0xba, 0xad, 0x8f, 0xc7, 0x3c, + 0x3e, 0xc4, 0x08, 0x77, 0x2d, 0xbe, 0xe6, 0xe9, 0x9d, 0x41, 0xa7, 0xa6, 0x11, 0x72, 0x0f, 0x16, + 0xf3, 0xcc, 0x0f, 0xa9, 0xd3, 0xd8, 0x6e, 0xec, 0x5a, 0x2e, 0x1a, 0x64, 0x0d, 0x9a, 0xb1, 0x3f, + 0xd1, 0x7a, 0xb1, 0x5c, 0xf5, 0x93, 0x38, 0xd0, 0x7a, 0xed, 0xb3, 0x28, 0x48, 0xa4, 0x96, 0x83, + 0xe5, 0x16, 0x26, 0xd9, 0x84, 0x76, 0xea, 0x87, 0x34, 0x63, 0x7f, 0xa2, 0xfa, 0x41, 0xdb, 0x6e, + 0x69, 0xf7, 0x3e, 0x85, 0x76, 0x21, 0x29, 0xc5, 0x10, 0xe4, 0x42, 0xd0, 0x44, 0x9a, 0x5c, 0x85, + 0xa9, 0x6a, 0x88, 0x58, 0xcc, 0xa4, 0xc9, 0x87, 0x46, 0xef, 0xaf, 0x0d, 0x68, 0x19, 0x61, 0x91, + 0xdf, 0xd4, 0xab, 0x7c, 0xe7, 0x23, 0x3d, 0xec, 0x9f, 0x9e, 0x2a, 0x64, 0xb1, 0x93, 0x03, 0x00, + 0x39, 0x16, 0x5c, 0xca, 0x88, 0x25, 0xe1, 0xed, 0x07, 0xe0, 0x04, 0xb1, 0xd4, 0xad, 0x45, 0xf5, + 0xbe, 0x87, 0x76, 0x41, 0xab, 0x6a, 0x95, 0x5c, 0xfa, 0x51, 0xd1, 0x2f, 0x6d, 0x90, 0x07, 0xb0, + 0x74, 0x46, 0x45, 0x42, 0x23, 0xb3, 0x05, 0x63, 0x11, 0x02, 0x56, 0x9e, 0x51, 0x61, 0x5a, 0xa6, + 0x7f, 0x93, 0x1d, 0x68, 0xa5, 0x54, 0x78, 0xea, 0x60, 0x59, 0xdb, 0xcd, 0x5d, 0xeb, 0x00, 0xa6, + 0x57, 0xdd, 0xa5, 0x3e, 0x15, 0xea, 0xe0, 0x2c, 0xa5, 0x54, 0x1c, 0xa6, 0x79, 0x6f, 0x02, 0xed, + 0xa2, 0x14, 0xd5, 0xb8, 0x94, 0x0a, 0xc6, 0x47, 0x59, 0xd1, 0x38, 0x63, 0x92, 0xa7, 0xb0, 0x6e, + 0xca, 0xa4, 0x23, 0xaf, 0xc0, 0x60, 0x05, 0x6b, 0xe5, 0x42, 0xdf, 0x80, 0x9f, 0xc0, 0x6a, 0x05, + 0x96, 0x2c, 0xa6, 0xa6, 0xaa, 0x95, 0xd2, 0x7b, 0xc2, 0x62, 0xda, 0xfb, 0x4f, 0x07, 0xa0, 0x3a, + 0x8e, 0x6a, 0xbf, 0x81, 0x1f, 0x8c, 0x4b, 0x7d, 0x68, 0x83, 0x6c, 0x40, 0x53, 0x64, 0x26, 0x15, + 0x9e, 0x7a, 0x77, 0x30, 0x70, 0x95, 0x8f, 0xfc, 0x0c, 0xda, 0x22, 0xcb, 0x3c, 0x75, 0xf5, 0x60, + 0x82, 0x83, 0xce, 0xf4, 0xaa, 0xdb, 0x72, 0x07, 0x03, 0x25, 0x3b, 0xb7, 0x25, 0xb2, 0x4c, 0xfd, + 0x20, 0x5d, 0xe8, 0xc4, 0x7e, 0x9a, 0xd2, 0x91, 0xf7, 0x9a, 0x45, 0xa8, 0x1c, 0xcb, 0x05, 0x74, + 0x7d, 0xc5, 0x22, 0xdd, 0xe9, 0x11, 0x13, 0xf2, 0x52, 0x5f, 0x00, 0x96, 0x8b, 0x06, 0x79, 0x04, + 0xf6, 0x85, 0x60, 0x92, 0x0e, 0xfd, 0xe0, 0x4c, 0x1f, 0x70, 0xcb, 0xad, 0x1c, 0xc4, 0x81, 0x76, + 0x1a, 0x7a, 0x69, 0xe8, 0xb1, 0xc4, 0x69, 0xe1, 0x93, 0x48, 0xc3, 0x7e, 0xf8, 0x2a, 0x21, 0x9b, + 0x60, 0xe3, 0x0a, 0xcf, 0xa5, 0x3e, 0x97, 0xaa, 0x8d, 0x61, 0x3f, 0x3c, 0xce, 0x25, 0xd9, 0xd0, + 0x51, 0xaf, 0xfd, 0x3c, 0x92, 0xfa, 0x88, 0xe9, 0xa5, 0xaf, 0x94, 0x49, 0xb6, 0x61, 0x39, 0x0d, + 0xbd, 0xd8, 0x7f, 0x63, 0x96, 0x01, 0xcb, 0x4c, 0xc3, 0x23, 0xff, 0x0d, 0x22, 0x76, 0x60, 0x85, + 0x25, 0x7e, 0x20, 0xd9, 0x39, 0xf5, 0xfc, 0x84, 0x27, 0x4e, 0x47, 0x43, 0x96, 0x0b, 0xe7, 0x17, + 0x09, 0x4f, 0xd4, 0x66, 0xeb, 0x90, 0x65, 0x64, 0xa9, 0x01, 0xea, 0x2c, 0xba, 0x1f, 0x2b, 0xb3, + 0x2c, 0xba, 0x23, 0x15, 0x8b, 0x86, 0xac, 0xd6, 0x59, 0x34, 0x60, 0x1b, 0x3a, 0x79, 0x42, 0xcf, + 0x59, 0x20, 0xfd, 0x61, 0x44, 0x9d, 0x3b, 0x1a, 0x50, 0x77, 0x91, 0x4f, 0x61, 0x63, 0xcc, 0xa8, + 0xf0, 0x45, 0x30, 0x66, 0x81, 0x1f, 0x79, 0xe6, 0x92, 0xc1, 0xe3, 0xb7, 0xa6, 0xf1, 0x0f, 0xeb, + 0x00, 0x54, 0xc2, 0xef, 0xd5, 0x32, 0x79, 0x06, 0x33, 0x4b, 0x5e, 0x76, 0xe1, 0xa7, 0x26, 0x72, + 0x5d, 0x47, 0xde, 0xaf, 0x2f, 0x0f, 0x2e, 0xfc, 0x14, 0xe3, 0xba, 0xd0, 0xd1, 0xa7, 0xc4, 0x43, + 0x21, 0x11, 0x2c, 0x5b, 0xbb, 0x0e, 0xb5, 0x9a, 0x7e, 0x01, 0x36, 0x02, 0x94, 0xa6, 0xee, 0x6a, + 0xcd, 0x2c, 0x4f, 0xaf, 0xba, 0xed, 0x13, 0xe5, 0x54, 0xc2, 0x6a, 0xeb, 0x65, 0x37, 0xcb, 0xc8, + 0x33, 0x58, 0x2d, 0xa1, 0xa8, 0xb1, 0x7b, 0x1a, 0xbf, 0x36, 0xbd, 0xea, 0x2e, 0x17, 0x78, 0x2d, + 0xb4, 0xe5, 0x22, 0x46, 0xab, 0xed, 0x23, 0x58, 0xc7, 0xb8, 0xba, 0xe6, 0xee, 0xeb, 0x4a, 0xee, + 0xe8, 0x85, 0xa3, 0x4a, 0x78, 0x65, 0xbd, 0x28, 0xbf, 0x07, 0xb5, 0x7a, 0x5f, 0x68, 0x0d, 0xfe, + 0x1c, 0x30, 0xc6, 0xab, 0x94, 0xf8, 0x50, 0x83, 0xb0, 0xb6, 0x6f, 0x4b, 0x39, 0xee, 0x14, 0xd5, + 0x96, 0xa2, 0x74, 0xf0, 0x91, 0x68, 0x6f, 0x1f, 0x95, 0xf9, 0xa4, 0x60, 0xab, 0xf4, 0xb9, 0x81, + 0x0f, 0xbf, 0x44, 0x29, 0x91, 0x3e, 0xae, 0x71, 0xa1, 0x16, 0x37, 0x67, 0x50, 0xa8, 0xc6, 0xa7, + 0x40, 0x4a, 0x54, 0xa5, 0xda, 0xf7, 0x6b, 0x1b, 0xed, 0x57, 0xd2, 0xdd, 0x83, 0xbb, 0x08, 0x9e, + 0x15, 0xf0, 0x23, 0x8d, 0xc6, 0x7e, 0xbd, 0xaa, 0xab, 0xb8, 0x6c, 0x62, 0x1d, 0xfd, 0x41, 0x8d, + 0xfb, 0x8b, 0x0a, 0xfb, 0x53, 0x6e, 0xdd, 0xf2, 0xad, 0xb7, 0x70, 0xeb, 0xa6, 0x5f, 0xe7, 0xd6, + 0xe8, 0xee, 0x4f, 0xb8, 0x35, 0xf6, 0x69, 0x81, 0xad, 0x8b, 0x7d, 0xdb, 0x5c, 0x7b, 0x6a, 0xe1, + 0xb4, 0xa6, 0xf8, 0xdf, 0x16, 0xaf, 0x8e, 0x0f, 0x6f, 0x7b, 0x19, 0xa3, 0xd6, 0xbf, 0x4c, 0xa4, + 0xb8, 0x2c, 0xde, 0x1e, 0xcf, 0xc1, 0x52, 0x2a, 0x77, 0x7a, 0xf3, 0xc4, 0xea, 0x10, 0xf2, 0x79, + 0xf9, 0x4a, 0xd8, 0x99, 0x27, 0xb8, 0x78, 0x73, 0x0c, 0x00, 0xf0, 0x97, 0x27, 0x83, 0xd4, 0x79, + 0x3c, 0x07, 0xc5, 0xc1, 0xca, 0xf4, 0xaa, 0x6b, 0x7f, 0xad, 0x83, 0x4f, 0x0e, 0xfb, 0xae, 0x8d, + 0x3c, 0x27, 0x41, 0xda, 0xa3, 0xd0, 0xa9, 0x01, 0xab, 0xf7, 0x6e, 0xa3, 0xf6, 0xde, 0xad, 0x26, + 0x82, 0x85, 0xb7, 0x4c, 0x04, 0xcd, 0xb7, 0x4e, 0x04, 0xd6, 0xcc, 0x44, 0xd0, 0x93, 0xb0, 0x76, + 0x7d, 0x10, 0x21, 0xbb, 0xb0, 0xa6, 0x26, 0x99, 0x33, 0x16, 0xa9, 0x73, 0x95, 0xe9, 0x47, 0x86, + 0x69, 0x57, 0x39, 0x8f, 0xbf, 0x66, 0x51, 0xf4, 0x02, 0xbd, 0xe4, 0x7d, 0xb0, 0xf3, 0x64, 0x44, + 0x85, 0x9a, 0x7c, 0x4c, 0x0d, 0x6d, 0xed, 0x38, 0xe6, 0xb1, 0xba, 0xaa, 0x0b, 0x9a, 0x62, 0x0e, + 0x31, 0xe1, 0xbd, 0x7f, 0x2e, 0x82, 0x5d, 0x8e, 0x82, 0xc4, 0x87, 0x4d, 0xc6, 0xbd, 0x8c, 0x8a, + 0x73, 0x16, 0x50, 0x6f, 0x78, 0x29, 0x69, 0xe6, 0x09, 0x1a, 0xe4, 0x22, 0x63, 0xe7, 0xd4, 0x8c, + 0xd1, 0x8f, 0x6f, 0x99, 0x29, 0xf1, 0x89, 0x3c, 0x64, 0x7c, 0x80, 0x34, 0x07, 0x8a, 0xc5, 0x2d, + 0x48, 0xc8, 0x77, 0x70, 0xbf, 0x4a, 0x31, 0xaa, 0xb1, 0x2f, 0xcc, 0xc1, 0x7e, 0xb7, 0x64, 0x1f, + 0x55, 0xcc, 0x27, 0x70, 0x97, 0x71, 0xef, 0xfb, 0x9c, 0xe6, 0x33, 0xbc, 0xcd, 0x39, 0x78, 0xd7, + 0x19, 0xff, 0x46, 0xc7, 0x57, 0xac, 0x1e, 0x6c, 0xd4, 0x5a, 0xa2, 0x26, 0x80, 0x1a, 0xb7, 0x35, + 0x07, 0xf7, 0x83, 0xb2, 0x66, 0x35, 0x31, 0x54, 0x09, 0xfe, 0x08, 0x0f, 0x18, 0xf7, 0x2e, 0x7c, + 0x26, 0xaf, 0xb3, 0x2f, 0xce, 0xd7, 0x91, 0x6f, 0x7d, 0x26, 0x67, 0xa9, 0xb1, 0x23, 0x31, 0x15, + 0xe1, 0x4c, 0x47, 0x96, 0xe6, 0xeb, 0xc8, 0x91, 0x8e, 0xaf, 0x58, 0xfb, 0xb0, 0xce, 0xf8, 0xf5, + 0x5a, 0x5b, 0x73, 0x70, 0xde, 0x61, 0x7c, 0xb6, 0xce, 0x6f, 0x60, 0x3d, 0xa3, 0x81, 0xe4, 0xa2, + 0xae, 0xb6, 0xf6, 0x1c, 0x8c, 0x6b, 0x26, 0xbc, 0xa4, 0xec, 0x9d, 0x03, 0x54, 0xeb, 0x64, 0x15, + 0x16, 0x78, 0xaa, 0x4f, 0x8e, 0xed, 0x2e, 0xf0, 0x54, 0x4d, 0x9e, 0x23, 0x75, 0xd9, 0xe1, 0x71, + 0xb5, 0x5d, 0x63, 0xa9, 0x53, 0x1c, 0xfb, 0x6f, 0x78, 0x31, 0x7a, 0xa2, 0xa1, 0xbd, 0x2c, 0xe1, + 0xc2, 0x9c, 0x58, 0x34, 0x94, 0xf7, 0xdc, 0x8f, 0x72, 0x5a, 0x4c, 0x5a, 0xda, 0xe8, 0xfd, 0xa5, + 0x01, 0xed, 0xe2, 0x03, 0x89, 0x7c, 0x5e, 0x1f, 0xde, 0x9b, 0xef, 0xfe, 0x1e, 0x53, 0x41, 0xb8, + 0x99, 0x72, 0xc2, 0x7f, 0x5e, 0x4d, 0xf8, 0xff, 0x77, 0xb0, 0xf9, 0x0c, 0xa0, 0x60, 0x97, 0xbe, + 0xda, 0x6e, 0x1b, 0x33, 0xbb, 0xed, 0x42, 0x67, 0x1c, 0xf8, 0xde, 0xd8, 0x4f, 0x46, 0x11, 0xc5, + 0xb9, 0x74, 0xc5, 0x85, 0x71, 0xe0, 0xbf, 0x44, 0x4f, 0x01, 0xe0, 0xc3, 0x37, 0x34, 0x90, 0x99, + 0x6e, 0x0a, 0x02, 0x8e, 0xd1, 0xd3, 0xfb, 0xdb, 0x02, 0x74, 0x6a, 0xdf, 0x74, 0x6a, 0x72, 0x4f, + 0xfc, 0xb8, 0xc8, 0xa3, 0x7f, 0xab, 0xcb, 0x47, 0x4c, 0xf0, 0x2e, 0x31, 0x17, 0x53, 0x4b, 0x4c, + 0xf4, 0xa5, 0x40, 0x3e, 0x00, 0x10, 0x13, 0x2f, 0xf5, 0x83, 0x33, 0x6a, 0xe8, 0x2d, 0xd7, 0x16, + 0x93, 0x3e, 0x3a, 0xd4, 0x9d, 0x26, 0x26, 0x1e, 0x15, 0x82, 0x8b, 0xcc, 0xf4, 0xbe, 0x2d, 0x26, + 0x5f, 0x6a, 0xdb, 0xc4, 0x8e, 0x04, 0x57, 0x13, 0x88, 0x79, 0x06, 0xb6, 0x98, 0xbc, 0x40, 0x87, + 0xca, 0x2a, 0x8b, 0xac, 0x38, 0xf0, 0xb6, 0x64, 0x95, 0x55, 0x56, 0x59, 0x71, 0xe0, 0xb5, 0x65, + 0x3d, 0xab, 0x2c, 0xb3, 0xe2, 0xcc, 0xdb, 0x96, 0xb5, 0xac, 0xb2, 0xca, 0x6a, 0x17, 0xb1, 0x26, + 0x6b, 0xef, 0xef, 0x0d, 0xe8, 0xd4, 0xbe, 0x4e, 0x55, 0x03, 0x13, 0xe1, 0x65, 0x11, 0xa5, 0xa9, + 0xfa, 0x90, 0xc2, 0xab, 0x1b, 0x12, 0x31, 0x30, 0x1e, 0xc5, 0x97, 0x08, 0x4f, 0xe4, 0x49, 0x52, + 0x7c, 0x68, 0x59, 0xae, 0x9d, 0x08, 0x17, 0x1d, 0x66, 0x39, 0x93, 0x98, 0xae, 0x59, 0x2c, 0x0f, + 0xd0, 0x41, 0x7e, 0x09, 0x24, 0x11, 0x5e, 0x9e, 0xb0, 0x44, 0x52, 0x21, 0xf2, 0x54, 0xb2, 0x61, + 0xf9, 0x51, 0xb0, 0x9e, 0x88, 0xd3, 0xd9, 0x05, 0xf2, 0x48, 0xb3, 0x99, 0xcb, 0xc6, 0xb4, 0xac, + 0x9d, 0x88, 0x57, 0xfa, 0xe6, 0x38, 0x70, 0x7e, 0xf8, 0x71, 0xeb, 0xbd, 0x7f, 0xff, 0xb8, 0xf5, + 0xde, 0x9f, 0xa7, 0x5b, 0x8d, 0x1f, 0xa6, 0x5b, 0x8d, 0x7f, 0x4c, 0xb7, 0x1a, 0xff, 0x9d, 0x6e, + 0x35, 0x86, 0x4b, 0xfa, 0xcf, 0x95, 0x5f, 0xfd, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x4e, 0x24, + 0x22, 0xc4, 0x11, 0x00, 0x00, +} + +func (m *Metrics) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Metrics) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Metrics) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.MemoryOomControl != nil { + { + size, err := m.MemoryOomControl.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x4a + } + if m.CgroupStats != nil { + { + size, err := m.CgroupStats.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + if len(m.Network) > 0 { + for iNdEx := len(m.Network) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Network[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + } + if m.Rdma != nil { + { + size, err := m.Rdma.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + if m.Blkio != nil { + { + size, err := m.Blkio.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + if m.Memory != nil { + { + size, err := m.Memory.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + if m.CPU != nil { + { + size, err := m.CPU.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if m.Pids != nil { + { + size, err := m.Pids.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Hugetlb) > 0 { + for iNdEx := len(m.Hugetlb) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Hugetlb[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *HugetlbStat) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *HugetlbStat) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *HugetlbStat) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.Pagesize) > 0 { + i -= len(m.Pagesize) + copy(dAtA[i:], m.Pagesize) + i = encodeVarintMetrics(dAtA, i, uint64(len(m.Pagesize))) + i-- + dAtA[i] = 0x22 + } + if m.Failcnt != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Failcnt)) + i-- + dAtA[i] = 0x18 + } + if m.Max != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Max)) + i-- + dAtA[i] = 0x10 + } + if m.Usage != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Usage)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *PidsStat) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PidsStat) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *PidsStat) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Limit != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Limit)) + i-- + dAtA[i] = 0x10 + } + if m.Current != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Current)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *CPUStat) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CPUStat) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CPUStat) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Throttling != nil { + { + size, err := m.Throttling.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if m.Usage != nil { + { + size, err := m.Usage.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CPUUsage) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CPUUsage) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CPUUsage) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.PerCPU) > 0 { + dAtA11 := make([]byte, len(m.PerCPU)*10) + var j10 int + for _, num := range m.PerCPU { + for num >= 1<<7 { + dAtA11[j10] = uint8(uint64(num)&0x7f | 0x80) + num >>= 7 + j10++ + } + dAtA11[j10] = uint8(num) + j10++ + } + i -= j10 + copy(dAtA[i:], dAtA11[:j10]) + i = encodeVarintMetrics(dAtA, i, uint64(j10)) + i-- + dAtA[i] = 0x22 + } + if m.User != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.User)) + i-- + dAtA[i] = 0x18 + } + if m.Kernel != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Kernel)) + i-- + dAtA[i] = 0x10 + } + if m.Total != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Total)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Throttle) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Throttle) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Throttle) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.ThrottledTime != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.ThrottledTime)) + i-- + dAtA[i] = 0x18 + } + if m.ThrottledPeriods != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.ThrottledPeriods)) + i-- + dAtA[i] = 0x10 + } + if m.Periods != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Periods)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MemoryStat) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MemoryStat) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MemoryStat) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.KernelTCP != nil { + { + size, err := m.KernelTCP.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0xa2 + } + if m.Kernel != nil { + { + size, err := m.Kernel.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x9a + } + if m.Swap != nil { + { + size, err := m.Swap.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x92 + } + if m.Usage != nil { + { + size, err := m.Usage.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x8a + } + if m.TotalUnevictable != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalUnevictable)) + i-- + dAtA[i] = 0x2 + i-- + dAtA[i] = 0x80 + } + if m.TotalActiveFile != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalActiveFile)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xf8 + } + if m.TotalInactiveFile != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalInactiveFile)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xf0 + } + if m.TotalActiveAnon != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalActiveAnon)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe8 + } + if m.TotalInactiveAnon != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalInactiveAnon)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe0 + } + if m.TotalPgMajFault != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgMajFault)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd8 + } + if m.TotalPgFault != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgFault)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xd0 + } + if m.TotalPgPgOut != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgPgOut)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc8 + } + if m.TotalPgPgIn != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalPgPgIn)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xc0 + } + if m.TotalWriteback != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalWriteback)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb8 + } + if m.TotalDirty != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalDirty)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb0 + } + if m.TotalMappedFile != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalMappedFile)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if m.TotalRSSHuge != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalRSSHuge)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } + if m.TotalRSS != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalRSS)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x98 + } + if m.TotalCache != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TotalCache)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x90 + } + if m.HierarchicalSwapLimit != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.HierarchicalSwapLimit)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x88 + } + if m.HierarchicalMemoryLimit != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.HierarchicalMemoryLimit)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x80 + } + if m.Unevictable != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Unevictable)) + i-- + dAtA[i] = 0x78 + } + if m.ActiveFile != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.ActiveFile)) + i-- + dAtA[i] = 0x70 + } + if m.InactiveFile != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.InactiveFile)) + i-- + dAtA[i] = 0x68 + } + if m.ActiveAnon != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.ActiveAnon)) + i-- + dAtA[i] = 0x60 + } + if m.InactiveAnon != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.InactiveAnon)) + i-- + dAtA[i] = 0x58 + } + if m.PgMajFault != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.PgMajFault)) + i-- + dAtA[i] = 0x50 + } + if m.PgFault != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.PgFault)) + i-- + dAtA[i] = 0x48 + } + if m.PgPgOut != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.PgPgOut)) + i-- + dAtA[i] = 0x40 + } + if m.PgPgIn != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.PgPgIn)) + i-- + dAtA[i] = 0x38 + } + if m.Writeback != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Writeback)) + i-- + dAtA[i] = 0x30 + } + if m.Dirty != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Dirty)) + i-- + dAtA[i] = 0x28 + } + if m.MappedFile != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.MappedFile)) + i-- + dAtA[i] = 0x20 + } + if m.RSSHuge != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.RSSHuge)) + i-- + dAtA[i] = 0x18 + } + if m.RSS != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.RSS)) + i-- + dAtA[i] = 0x10 + } + if m.Cache != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Cache)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MemoryEntry) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MemoryEntry) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MemoryEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Failcnt != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Failcnt)) + i-- + dAtA[i] = 0x20 + } + if m.Max != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Max)) + i-- + dAtA[i] = 0x18 + } + if m.Usage != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Usage)) + i-- + dAtA[i] = 0x10 + } + if m.Limit != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Limit)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *MemoryOomControl) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *MemoryOomControl) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MemoryOomControl) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.OomKill != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.OomKill)) + i-- + dAtA[i] = 0x18 + } + if m.UnderOom != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.UnderOom)) + i-- + dAtA[i] = 0x10 + } + if m.OomKillDisable != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.OomKillDisable)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *BlkIOStat) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlkIOStat) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BlkIOStat) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.SectorsRecursive) > 0 { + for iNdEx := len(m.SectorsRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.SectorsRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + } + } + if len(m.IoTimeRecursive) > 0 { + for iNdEx := len(m.IoTimeRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IoTimeRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x3a + } + } + if len(m.IoMergedRecursive) > 0 { + for iNdEx := len(m.IoMergedRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IoMergedRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x32 + } + } + if len(m.IoWaitTimeRecursive) > 0 { + for iNdEx := len(m.IoWaitTimeRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IoWaitTimeRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } + } + if len(m.IoServiceTimeRecursive) > 0 { + for iNdEx := len(m.IoServiceTimeRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IoServiceTimeRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x22 + } + } + if len(m.IoQueuedRecursive) > 0 { + for iNdEx := len(m.IoQueuedRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IoQueuedRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + } + if len(m.IoServicedRecursive) > 0 { + for iNdEx := len(m.IoServicedRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IoServicedRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.IoServiceBytesRecursive) > 0 { + for iNdEx := len(m.IoServiceBytesRecursive) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.IoServiceBytesRecursive[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *BlkIOEntry) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *BlkIOEntry) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *BlkIOEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.Value != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Value)) + i-- + dAtA[i] = 0x28 + } + if m.Minor != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Minor)) + i-- + dAtA[i] = 0x20 + } + if m.Major != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.Major)) + i-- + dAtA[i] = 0x18 + } + if len(m.Device) > 0 { + i -= len(m.Device) + copy(dAtA[i:], m.Device) + i = encodeVarintMetrics(dAtA, i, uint64(len(m.Device))) + i-- + dAtA[i] = 0x12 + } + if len(m.Op) > 0 { + i -= len(m.Op) + copy(dAtA[i:], m.Op) + i = encodeVarintMetrics(dAtA, i, uint64(len(m.Op))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RdmaStat) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RdmaStat) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RdmaStat) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if len(m.Limit) > 0 { + for iNdEx := len(m.Limit) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Limit[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.Current) > 0 { + for iNdEx := len(m.Current) - 1; iNdEx >= 0; iNdEx-- { + { + size, err := m.Current[iNdEx].MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintMetrics(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *RdmaEntry) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RdmaEntry) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *RdmaEntry) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.HcaObjects != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.HcaObjects)) + i-- + dAtA[i] = 0x18 + } + if m.HcaHandles != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.HcaHandles)) + i-- + dAtA[i] = 0x10 + } + if len(m.Device) > 0 { + i -= len(m.Device) + copy(dAtA[i:], m.Device) + i = encodeVarintMetrics(dAtA, i, uint64(len(m.Device))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *NetworkStat) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *NetworkStat) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *NetworkStat) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.TxDropped != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TxDropped)) + i-- + dAtA[i] = 0x48 + } + if m.TxErrors != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TxErrors)) + i-- + dAtA[i] = 0x40 + } + if m.TxPackets != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TxPackets)) + i-- + dAtA[i] = 0x38 + } + if m.TxBytes != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.TxBytes)) + i-- + dAtA[i] = 0x30 + } + if m.RxDropped != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.RxDropped)) + i-- + dAtA[i] = 0x28 + } + if m.RxErrors != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.RxErrors)) + i-- + dAtA[i] = 0x20 + } + if m.RxPackets != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.RxPackets)) + i-- + dAtA[i] = 0x18 + } + if m.RxBytes != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.RxBytes)) + i-- + dAtA[i] = 0x10 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = encodeVarintMetrics(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CgroupStats) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CgroupStats) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *CgroupStats) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.XXX_unrecognized != nil { + i -= len(m.XXX_unrecognized) + copy(dAtA[i:], m.XXX_unrecognized) + } + if m.NrIoWait != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.NrIoWait)) + i-- + dAtA[i] = 0x28 + } + if m.NrUninterruptible != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.NrUninterruptible)) + i-- + dAtA[i] = 0x20 + } + if m.NrStopped != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.NrStopped)) + i-- + dAtA[i] = 0x18 + } + if m.NrRunning != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.NrRunning)) + i-- + dAtA[i] = 0x10 + } + if m.NrSleeping != 0 { + i = encodeVarintMetrics(dAtA, i, uint64(m.NrSleeping)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func encodeVarintMetrics(dAtA []byte, offset int, v uint64) int { + offset -= sovMetrics(v) + base := offset + for v >= 1<<7 { + dAtA[offset] = uint8(v&0x7f | 0x80) + v >>= 7 + offset++ + } + dAtA[offset] = uint8(v) + return base +} +func (m *Metrics) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Hugetlb) > 0 { + for _, e := range m.Hugetlb { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if m.Pids != nil { + l = m.Pids.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.CPU != nil { + l = m.CPU.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.Memory != nil { + l = m.Memory.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.Blkio != nil { + l = m.Blkio.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.Rdma != nil { + l = m.Rdma.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if len(m.Network) > 0 { + for _, e := range m.Network { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if m.CgroupStats != nil { + l = m.CgroupStats.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.MemoryOomControl != nil { + l = m.MemoryOomControl.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *HugetlbStat) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Usage != 0 { + n += 1 + sovMetrics(uint64(m.Usage)) + } + if m.Max != 0 { + n += 1 + sovMetrics(uint64(m.Max)) + } + if m.Failcnt != 0 { + n += 1 + sovMetrics(uint64(m.Failcnt)) + } + l = len(m.Pagesize) + if l > 0 { + n += 1 + l + sovMetrics(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *PidsStat) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Current != 0 { + n += 1 + sovMetrics(uint64(m.Current)) + } + if m.Limit != 0 { + n += 1 + sovMetrics(uint64(m.Limit)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *CPUStat) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Usage != nil { + l = m.Usage.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.Throttling != nil { + l = m.Throttling.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *CPUUsage) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Total != 0 { + n += 1 + sovMetrics(uint64(m.Total)) + } + if m.Kernel != 0 { + n += 1 + sovMetrics(uint64(m.Kernel)) + } + if m.User != 0 { + n += 1 + sovMetrics(uint64(m.User)) + } + if len(m.PerCPU) > 0 { + l = 0 + for _, e := range m.PerCPU { + l += sovMetrics(uint64(e)) + } + n += 1 + sovMetrics(uint64(l)) + l + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *Throttle) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Periods != 0 { + n += 1 + sovMetrics(uint64(m.Periods)) + } + if m.ThrottledPeriods != 0 { + n += 1 + sovMetrics(uint64(m.ThrottledPeriods)) + } + if m.ThrottledTime != 0 { + n += 1 + sovMetrics(uint64(m.ThrottledTime)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MemoryStat) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Cache != 0 { + n += 1 + sovMetrics(uint64(m.Cache)) + } + if m.RSS != 0 { + n += 1 + sovMetrics(uint64(m.RSS)) + } + if m.RSSHuge != 0 { + n += 1 + sovMetrics(uint64(m.RSSHuge)) + } + if m.MappedFile != 0 { + n += 1 + sovMetrics(uint64(m.MappedFile)) + } + if m.Dirty != 0 { + n += 1 + sovMetrics(uint64(m.Dirty)) + } + if m.Writeback != 0 { + n += 1 + sovMetrics(uint64(m.Writeback)) + } + if m.PgPgIn != 0 { + n += 1 + sovMetrics(uint64(m.PgPgIn)) + } + if m.PgPgOut != 0 { + n += 1 + sovMetrics(uint64(m.PgPgOut)) + } + if m.PgFault != 0 { + n += 1 + sovMetrics(uint64(m.PgFault)) + } + if m.PgMajFault != 0 { + n += 1 + sovMetrics(uint64(m.PgMajFault)) + } + if m.InactiveAnon != 0 { + n += 1 + sovMetrics(uint64(m.InactiveAnon)) + } + if m.ActiveAnon != 0 { + n += 1 + sovMetrics(uint64(m.ActiveAnon)) + } + if m.InactiveFile != 0 { + n += 1 + sovMetrics(uint64(m.InactiveFile)) + } + if m.ActiveFile != 0 { + n += 1 + sovMetrics(uint64(m.ActiveFile)) + } + if m.Unevictable != 0 { + n += 1 + sovMetrics(uint64(m.Unevictable)) + } + if m.HierarchicalMemoryLimit != 0 { + n += 2 + sovMetrics(uint64(m.HierarchicalMemoryLimit)) + } + if m.HierarchicalSwapLimit != 0 { + n += 2 + sovMetrics(uint64(m.HierarchicalSwapLimit)) + } + if m.TotalCache != 0 { + n += 2 + sovMetrics(uint64(m.TotalCache)) + } + if m.TotalRSS != 0 { + n += 2 + sovMetrics(uint64(m.TotalRSS)) + } + if m.TotalRSSHuge != 0 { + n += 2 + sovMetrics(uint64(m.TotalRSSHuge)) + } + if m.TotalMappedFile != 0 { + n += 2 + sovMetrics(uint64(m.TotalMappedFile)) + } + if m.TotalDirty != 0 { + n += 2 + sovMetrics(uint64(m.TotalDirty)) + } + if m.TotalWriteback != 0 { + n += 2 + sovMetrics(uint64(m.TotalWriteback)) + } + if m.TotalPgPgIn != 0 { + n += 2 + sovMetrics(uint64(m.TotalPgPgIn)) + } + if m.TotalPgPgOut != 0 { + n += 2 + sovMetrics(uint64(m.TotalPgPgOut)) + } + if m.TotalPgFault != 0 { + n += 2 + sovMetrics(uint64(m.TotalPgFault)) + } + if m.TotalPgMajFault != 0 { + n += 2 + sovMetrics(uint64(m.TotalPgMajFault)) + } + if m.TotalInactiveAnon != 0 { + n += 2 + sovMetrics(uint64(m.TotalInactiveAnon)) + } + if m.TotalActiveAnon != 0 { + n += 2 + sovMetrics(uint64(m.TotalActiveAnon)) + } + if m.TotalInactiveFile != 0 { + n += 2 + sovMetrics(uint64(m.TotalInactiveFile)) + } + if m.TotalActiveFile != 0 { + n += 2 + sovMetrics(uint64(m.TotalActiveFile)) + } + if m.TotalUnevictable != 0 { + n += 2 + sovMetrics(uint64(m.TotalUnevictable)) + } + if m.Usage != nil { + l = m.Usage.Size() + n += 2 + l + sovMetrics(uint64(l)) + } + if m.Swap != nil { + l = m.Swap.Size() + n += 2 + l + sovMetrics(uint64(l)) + } + if m.Kernel != nil { + l = m.Kernel.Size() + n += 2 + l + sovMetrics(uint64(l)) + } + if m.KernelTCP != nil { + l = m.KernelTCP.Size() + n += 2 + l + sovMetrics(uint64(l)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MemoryEntry) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.Limit != 0 { + n += 1 + sovMetrics(uint64(m.Limit)) + } + if m.Usage != 0 { + n += 1 + sovMetrics(uint64(m.Usage)) + } + if m.Max != 0 { + n += 1 + sovMetrics(uint64(m.Max)) + } + if m.Failcnt != 0 { + n += 1 + sovMetrics(uint64(m.Failcnt)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *MemoryOomControl) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.OomKillDisable != 0 { + n += 1 + sovMetrics(uint64(m.OomKillDisable)) + } + if m.UnderOom != 0 { + n += 1 + sovMetrics(uint64(m.UnderOom)) + } + if m.OomKill != 0 { + n += 1 + sovMetrics(uint64(m.OomKill)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *BlkIOStat) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.IoServiceBytesRecursive) > 0 { + for _, e := range m.IoServiceBytesRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.IoServicedRecursive) > 0 { + for _, e := range m.IoServicedRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.IoQueuedRecursive) > 0 { + for _, e := range m.IoQueuedRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.IoServiceTimeRecursive) > 0 { + for _, e := range m.IoServiceTimeRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.IoWaitTimeRecursive) > 0 { + for _, e := range m.IoWaitTimeRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.IoMergedRecursive) > 0 { + for _, e := range m.IoMergedRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.IoTimeRecursive) > 0 { + for _, e := range m.IoTimeRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.SectorsRecursive) > 0 { + for _, e := range m.SectorsRecursive { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *BlkIOEntry) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Op) + if l > 0 { + n += 1 + l + sovMetrics(uint64(l)) + } + l = len(m.Device) + if l > 0 { + n += 1 + l + sovMetrics(uint64(l)) + } + if m.Major != 0 { + n += 1 + sovMetrics(uint64(m.Major)) + } + if m.Minor != 0 { + n += 1 + sovMetrics(uint64(m.Minor)) + } + if m.Value != 0 { + n += 1 + sovMetrics(uint64(m.Value)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *RdmaStat) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Current) > 0 { + for _, e := range m.Current { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if len(m.Limit) > 0 { + for _, e := range m.Limit { + l = e.Size() + n += 1 + l + sovMetrics(uint64(l)) + } + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *RdmaEntry) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Device) + if l > 0 { + n += 1 + l + sovMetrics(uint64(l)) + } + if m.HcaHandles != 0 { + n += 1 + sovMetrics(uint64(m.HcaHandles)) + } + if m.HcaObjects != 0 { + n += 1 + sovMetrics(uint64(m.HcaObjects)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *NetworkStat) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + sovMetrics(uint64(l)) + } + if m.RxBytes != 0 { + n += 1 + sovMetrics(uint64(m.RxBytes)) + } + if m.RxPackets != 0 { + n += 1 + sovMetrics(uint64(m.RxPackets)) + } + if m.RxErrors != 0 { + n += 1 + sovMetrics(uint64(m.RxErrors)) + } + if m.RxDropped != 0 { + n += 1 + sovMetrics(uint64(m.RxDropped)) + } + if m.TxBytes != 0 { + n += 1 + sovMetrics(uint64(m.TxBytes)) + } + if m.TxPackets != 0 { + n += 1 + sovMetrics(uint64(m.TxPackets)) + } + if m.TxErrors != 0 { + n += 1 + sovMetrics(uint64(m.TxErrors)) + } + if m.TxDropped != 0 { + n += 1 + sovMetrics(uint64(m.TxDropped)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func (m *CgroupStats) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.NrSleeping != 0 { + n += 1 + sovMetrics(uint64(m.NrSleeping)) + } + if m.NrRunning != 0 { + n += 1 + sovMetrics(uint64(m.NrRunning)) + } + if m.NrStopped != 0 { + n += 1 + sovMetrics(uint64(m.NrStopped)) + } + if m.NrUninterruptible != 0 { + n += 1 + sovMetrics(uint64(m.NrUninterruptible)) + } + if m.NrIoWait != 0 { + n += 1 + sovMetrics(uint64(m.NrIoWait)) + } + if m.XXX_unrecognized != nil { + n += len(m.XXX_unrecognized) + } + return n +} + +func sovMetrics(x uint64) (n int) { + return (math_bits.Len64(x|1) + 6) / 7 +} +func sozMetrics(x uint64) (n int) { + return sovMetrics(uint64((x << 1) ^ uint64((int64(x) >> 63)))) +} +func (this *Metrics) String() string { + if this == nil { + return "nil" + } + repeatedStringForHugetlb := "[]*HugetlbStat{" + for _, f := range this.Hugetlb { + repeatedStringForHugetlb += strings.Replace(f.String(), "HugetlbStat", "HugetlbStat", 1) + "," + } + repeatedStringForHugetlb += "}" + repeatedStringForNetwork := "[]*NetworkStat{" + for _, f := range this.Network { + repeatedStringForNetwork += strings.Replace(f.String(), "NetworkStat", "NetworkStat", 1) + "," + } + repeatedStringForNetwork += "}" + s := strings.Join([]string{`&Metrics{`, + `Hugetlb:` + repeatedStringForHugetlb + `,`, + `Pids:` + strings.Replace(this.Pids.String(), "PidsStat", "PidsStat", 1) + `,`, + `CPU:` + strings.Replace(this.CPU.String(), "CPUStat", "CPUStat", 1) + `,`, + `Memory:` + strings.Replace(this.Memory.String(), "MemoryStat", "MemoryStat", 1) + `,`, + `Blkio:` + strings.Replace(this.Blkio.String(), "BlkIOStat", "BlkIOStat", 1) + `,`, + `Rdma:` + strings.Replace(this.Rdma.String(), "RdmaStat", "RdmaStat", 1) + `,`, + `Network:` + repeatedStringForNetwork + `,`, + `CgroupStats:` + strings.Replace(this.CgroupStats.String(), "CgroupStats", "CgroupStats", 1) + `,`, + `MemoryOomControl:` + strings.Replace(this.MemoryOomControl.String(), "MemoryOomControl", "MemoryOomControl", 1) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *HugetlbStat) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&HugetlbStat{`, + `Usage:` + fmt.Sprintf("%v", this.Usage) + `,`, + `Max:` + fmt.Sprintf("%v", this.Max) + `,`, + `Failcnt:` + fmt.Sprintf("%v", this.Failcnt) + `,`, + `Pagesize:` + fmt.Sprintf("%v", this.Pagesize) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *PidsStat) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&PidsStat{`, + `Current:` + fmt.Sprintf("%v", this.Current) + `,`, + `Limit:` + fmt.Sprintf("%v", this.Limit) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *CPUStat) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CPUStat{`, + `Usage:` + strings.Replace(this.Usage.String(), "CPUUsage", "CPUUsage", 1) + `,`, + `Throttling:` + strings.Replace(this.Throttling.String(), "Throttle", "Throttle", 1) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *CPUUsage) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CPUUsage{`, + `Total:` + fmt.Sprintf("%v", this.Total) + `,`, + `Kernel:` + fmt.Sprintf("%v", this.Kernel) + `,`, + `User:` + fmt.Sprintf("%v", this.User) + `,`, + `PerCPU:` + fmt.Sprintf("%v", this.PerCPU) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *Throttle) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Throttle{`, + `Periods:` + fmt.Sprintf("%v", this.Periods) + `,`, + `ThrottledPeriods:` + fmt.Sprintf("%v", this.ThrottledPeriods) + `,`, + `ThrottledTime:` + fmt.Sprintf("%v", this.ThrottledTime) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *MemoryStat) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&MemoryStat{`, + `Cache:` + fmt.Sprintf("%v", this.Cache) + `,`, + `RSS:` + fmt.Sprintf("%v", this.RSS) + `,`, + `RSSHuge:` + fmt.Sprintf("%v", this.RSSHuge) + `,`, + `MappedFile:` + fmt.Sprintf("%v", this.MappedFile) + `,`, + `Dirty:` + fmt.Sprintf("%v", this.Dirty) + `,`, + `Writeback:` + fmt.Sprintf("%v", this.Writeback) + `,`, + `PgPgIn:` + fmt.Sprintf("%v", this.PgPgIn) + `,`, + `PgPgOut:` + fmt.Sprintf("%v", this.PgPgOut) + `,`, + `PgFault:` + fmt.Sprintf("%v", this.PgFault) + `,`, + `PgMajFault:` + fmt.Sprintf("%v", this.PgMajFault) + `,`, + `InactiveAnon:` + fmt.Sprintf("%v", this.InactiveAnon) + `,`, + `ActiveAnon:` + fmt.Sprintf("%v", this.ActiveAnon) + `,`, + `InactiveFile:` + fmt.Sprintf("%v", this.InactiveFile) + `,`, + `ActiveFile:` + fmt.Sprintf("%v", this.ActiveFile) + `,`, + `Unevictable:` + fmt.Sprintf("%v", this.Unevictable) + `,`, + `HierarchicalMemoryLimit:` + fmt.Sprintf("%v", this.HierarchicalMemoryLimit) + `,`, + `HierarchicalSwapLimit:` + fmt.Sprintf("%v", this.HierarchicalSwapLimit) + `,`, + `TotalCache:` + fmt.Sprintf("%v", this.TotalCache) + `,`, + `TotalRSS:` + fmt.Sprintf("%v", this.TotalRSS) + `,`, + `TotalRSSHuge:` + fmt.Sprintf("%v", this.TotalRSSHuge) + `,`, + `TotalMappedFile:` + fmt.Sprintf("%v", this.TotalMappedFile) + `,`, + `TotalDirty:` + fmt.Sprintf("%v", this.TotalDirty) + `,`, + `TotalWriteback:` + fmt.Sprintf("%v", this.TotalWriteback) + `,`, + `TotalPgPgIn:` + fmt.Sprintf("%v", this.TotalPgPgIn) + `,`, + `TotalPgPgOut:` + fmt.Sprintf("%v", this.TotalPgPgOut) + `,`, + `TotalPgFault:` + fmt.Sprintf("%v", this.TotalPgFault) + `,`, + `TotalPgMajFault:` + fmt.Sprintf("%v", this.TotalPgMajFault) + `,`, + `TotalInactiveAnon:` + fmt.Sprintf("%v", this.TotalInactiveAnon) + `,`, + `TotalActiveAnon:` + fmt.Sprintf("%v", this.TotalActiveAnon) + `,`, + `TotalInactiveFile:` + fmt.Sprintf("%v", this.TotalInactiveFile) + `,`, + `TotalActiveFile:` + fmt.Sprintf("%v", this.TotalActiveFile) + `,`, + `TotalUnevictable:` + fmt.Sprintf("%v", this.TotalUnevictable) + `,`, + `Usage:` + strings.Replace(this.Usage.String(), "MemoryEntry", "MemoryEntry", 1) + `,`, + `Swap:` + strings.Replace(this.Swap.String(), "MemoryEntry", "MemoryEntry", 1) + `,`, + `Kernel:` + strings.Replace(this.Kernel.String(), "MemoryEntry", "MemoryEntry", 1) + `,`, + `KernelTCP:` + strings.Replace(this.KernelTCP.String(), "MemoryEntry", "MemoryEntry", 1) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *MemoryEntry) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&MemoryEntry{`, + `Limit:` + fmt.Sprintf("%v", this.Limit) + `,`, + `Usage:` + fmt.Sprintf("%v", this.Usage) + `,`, + `Max:` + fmt.Sprintf("%v", this.Max) + `,`, + `Failcnt:` + fmt.Sprintf("%v", this.Failcnt) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *MemoryOomControl) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&MemoryOomControl{`, + `OomKillDisable:` + fmt.Sprintf("%v", this.OomKillDisable) + `,`, + `UnderOom:` + fmt.Sprintf("%v", this.UnderOom) + `,`, + `OomKill:` + fmt.Sprintf("%v", this.OomKill) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *BlkIOStat) String() string { + if this == nil { + return "nil" + } + repeatedStringForIoServiceBytesRecursive := "[]*BlkIOEntry{" + for _, f := range this.IoServiceBytesRecursive { + repeatedStringForIoServiceBytesRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForIoServiceBytesRecursive += "}" + repeatedStringForIoServicedRecursive := "[]*BlkIOEntry{" + for _, f := range this.IoServicedRecursive { + repeatedStringForIoServicedRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForIoServicedRecursive += "}" + repeatedStringForIoQueuedRecursive := "[]*BlkIOEntry{" + for _, f := range this.IoQueuedRecursive { + repeatedStringForIoQueuedRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForIoQueuedRecursive += "}" + repeatedStringForIoServiceTimeRecursive := "[]*BlkIOEntry{" + for _, f := range this.IoServiceTimeRecursive { + repeatedStringForIoServiceTimeRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForIoServiceTimeRecursive += "}" + repeatedStringForIoWaitTimeRecursive := "[]*BlkIOEntry{" + for _, f := range this.IoWaitTimeRecursive { + repeatedStringForIoWaitTimeRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForIoWaitTimeRecursive += "}" + repeatedStringForIoMergedRecursive := "[]*BlkIOEntry{" + for _, f := range this.IoMergedRecursive { + repeatedStringForIoMergedRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForIoMergedRecursive += "}" + repeatedStringForIoTimeRecursive := "[]*BlkIOEntry{" + for _, f := range this.IoTimeRecursive { + repeatedStringForIoTimeRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForIoTimeRecursive += "}" + repeatedStringForSectorsRecursive := "[]*BlkIOEntry{" + for _, f := range this.SectorsRecursive { + repeatedStringForSectorsRecursive += strings.Replace(f.String(), "BlkIOEntry", "BlkIOEntry", 1) + "," + } + repeatedStringForSectorsRecursive += "}" + s := strings.Join([]string{`&BlkIOStat{`, + `IoServiceBytesRecursive:` + repeatedStringForIoServiceBytesRecursive + `,`, + `IoServicedRecursive:` + repeatedStringForIoServicedRecursive + `,`, + `IoQueuedRecursive:` + repeatedStringForIoQueuedRecursive + `,`, + `IoServiceTimeRecursive:` + repeatedStringForIoServiceTimeRecursive + `,`, + `IoWaitTimeRecursive:` + repeatedStringForIoWaitTimeRecursive + `,`, + `IoMergedRecursive:` + repeatedStringForIoMergedRecursive + `,`, + `IoTimeRecursive:` + repeatedStringForIoTimeRecursive + `,`, + `SectorsRecursive:` + repeatedStringForSectorsRecursive + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *BlkIOEntry) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&BlkIOEntry{`, + `Op:` + fmt.Sprintf("%v", this.Op) + `,`, + `Device:` + fmt.Sprintf("%v", this.Device) + `,`, + `Major:` + fmt.Sprintf("%v", this.Major) + `,`, + `Minor:` + fmt.Sprintf("%v", this.Minor) + `,`, + `Value:` + fmt.Sprintf("%v", this.Value) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *RdmaStat) String() string { + if this == nil { + return "nil" + } + repeatedStringForCurrent := "[]*RdmaEntry{" + for _, f := range this.Current { + repeatedStringForCurrent += strings.Replace(f.String(), "RdmaEntry", "RdmaEntry", 1) + "," + } + repeatedStringForCurrent += "}" + repeatedStringForLimit := "[]*RdmaEntry{" + for _, f := range this.Limit { + repeatedStringForLimit += strings.Replace(f.String(), "RdmaEntry", "RdmaEntry", 1) + "," + } + repeatedStringForLimit += "}" + s := strings.Join([]string{`&RdmaStat{`, + `Current:` + repeatedStringForCurrent + `,`, + `Limit:` + repeatedStringForLimit + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *RdmaEntry) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&RdmaEntry{`, + `Device:` + fmt.Sprintf("%v", this.Device) + `,`, + `HcaHandles:` + fmt.Sprintf("%v", this.HcaHandles) + `,`, + `HcaObjects:` + fmt.Sprintf("%v", this.HcaObjects) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *NetworkStat) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&NetworkStat{`, + `Name:` + fmt.Sprintf("%v", this.Name) + `,`, + `RxBytes:` + fmt.Sprintf("%v", this.RxBytes) + `,`, + `RxPackets:` + fmt.Sprintf("%v", this.RxPackets) + `,`, + `RxErrors:` + fmt.Sprintf("%v", this.RxErrors) + `,`, + `RxDropped:` + fmt.Sprintf("%v", this.RxDropped) + `,`, + `TxBytes:` + fmt.Sprintf("%v", this.TxBytes) + `,`, + `TxPackets:` + fmt.Sprintf("%v", this.TxPackets) + `,`, + `TxErrors:` + fmt.Sprintf("%v", this.TxErrors) + `,`, + `TxDropped:` + fmt.Sprintf("%v", this.TxDropped) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func (this *CgroupStats) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&CgroupStats{`, + `NrSleeping:` + fmt.Sprintf("%v", this.NrSleeping) + `,`, + `NrRunning:` + fmt.Sprintf("%v", this.NrRunning) + `,`, + `NrStopped:` + fmt.Sprintf("%v", this.NrStopped) + `,`, + `NrUninterruptible:` + fmt.Sprintf("%v", this.NrUninterruptible) + `,`, + `NrIoWait:` + fmt.Sprintf("%v", this.NrIoWait) + `,`, + `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, + `}`, + }, "") + return s +} +func valueToStringMetrics(v interface{}) string { + rv := reflect.ValueOf(v) + if rv.IsNil() { + return "nil" + } + pv := reflect.Indirect(rv).Interface() + return fmt.Sprintf("*%v", pv) +} +func (m *Metrics) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Metrics: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Metrics: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hugetlb", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Hugetlb = append(m.Hugetlb, &HugetlbStat{}) + if err := m.Hugetlb[len(m.Hugetlb)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pids", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Pids == nil { + m.Pids = &PidsStat{} + } + if err := m.Pids.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CPU", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CPU == nil { + m.CPU = &CPUStat{} + } + if err := m.CPU.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Memory", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Memory == nil { + m.Memory = &MemoryStat{} + } + if err := m.Memory.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Blkio", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Blkio == nil { + m.Blkio = &BlkIOStat{} + } + if err := m.Blkio.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Rdma", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Rdma == nil { + m.Rdma = &RdmaStat{} + } + if err := m.Rdma.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Network", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Network = append(m.Network, &NetworkStat{}) + if err := m.Network[len(m.Network)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CgroupStats", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CgroupStats == nil { + m.CgroupStats = &CgroupStats{} + } + if err := m.CgroupStats.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 9: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MemoryOomControl", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MemoryOomControl == nil { + m.MemoryOomControl = &MemoryOomControl{} + } + if err := m.MemoryOomControl.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *HugetlbStat) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: HugetlbStat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: HugetlbStat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) + } + m.Usage = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Usage |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Max", wireType) + } + m.Max = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Max |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Failcnt", wireType) + } + m.Failcnt = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Failcnt |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Pagesize", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Pagesize = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PidsStat) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PidsStat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PidsStat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + m.Current = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Current |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) + } + m.Limit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Limit |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CPUStat) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CPUStat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CPUStat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Usage == nil { + m.Usage = &CPUUsage{} + } + if err := m.Usage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Throttling", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Throttling == nil { + m.Throttling = &Throttle{} + } + if err := m.Throttling.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CPUUsage) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CPUUsage: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CPUUsage: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Total", wireType) + } + m.Total = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Total |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Kernel", wireType) + } + m.Kernel = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Kernel |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field User", wireType) + } + m.User = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.User |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType == 0 { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PerCPU = append(m.PerCPU, v) + } else if wireType == 2 { + var packedLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + packedLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if packedLen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + packedLen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var elementCount int + var count int + for _, integer := range dAtA[iNdEx:postIndex] { + if integer < 128 { + count++ + } + } + elementCount = count + if elementCount != 0 && len(m.PerCPU) == 0 { + m.PerCPU = make([]uint64, 0, elementCount) + } + for iNdEx < postIndex { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.PerCPU = append(m.PerCPU, v) + } + } else { + return fmt.Errorf("proto: wrong wireType = %d for field PerCPU", wireType) + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Throttle) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Throttle: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Throttle: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Periods", wireType) + } + m.Periods = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Periods |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ThrottledPeriods", wireType) + } + m.ThrottledPeriods = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ThrottledPeriods |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ThrottledTime", wireType) + } + m.ThrottledTime = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ThrottledTime |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MemoryStat) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MemoryStat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MemoryStat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Cache", wireType) + } + m.Cache = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Cache |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RSS", wireType) + } + m.RSS = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RSS |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RSSHuge", wireType) + } + m.RSSHuge = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RSSHuge |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MappedFile", wireType) + } + m.MappedFile = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MappedFile |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Dirty", wireType) + } + m.Dirty = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Dirty |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Writeback", wireType) + } + m.Writeback = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Writeback |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PgPgIn", wireType) + } + m.PgPgIn = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PgPgIn |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PgPgOut", wireType) + } + m.PgPgOut = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PgPgOut |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PgFault", wireType) + } + m.PgFault = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PgFault |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PgMajFault", wireType) + } + m.PgMajFault = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PgMajFault |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 11: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InactiveAnon", wireType) + } + m.InactiveAnon = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InactiveAnon |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 12: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveAnon", wireType) + } + m.ActiveAnon = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ActiveAnon |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 13: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field InactiveFile", wireType) + } + m.InactiveFile = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.InactiveFile |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 14: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ActiveFile", wireType) + } + m.ActiveFile = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ActiveFile |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 15: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Unevictable", wireType) + } + m.Unevictable = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Unevictable |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 16: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HierarchicalMemoryLimit", wireType) + } + m.HierarchicalMemoryLimit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HierarchicalMemoryLimit |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 17: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HierarchicalSwapLimit", wireType) + } + m.HierarchicalSwapLimit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HierarchicalSwapLimit |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 18: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalCache", wireType) + } + m.TotalCache = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalCache |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 19: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalRSS", wireType) + } + m.TotalRSS = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalRSS |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalRSSHuge", wireType) + } + m.TotalRSSHuge = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalRSSHuge |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalMappedFile", wireType) + } + m.TotalMappedFile = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalMappedFile |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 22: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalDirty", wireType) + } + m.TotalDirty = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalDirty |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 23: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalWriteback", wireType) + } + m.TotalWriteback = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalWriteback |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 24: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalPgPgIn", wireType) + } + m.TotalPgPgIn = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalPgPgIn |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 25: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalPgPgOut", wireType) + } + m.TotalPgPgOut = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalPgPgOut |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 26: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalPgFault", wireType) + } + m.TotalPgFault = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalPgFault |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 27: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalPgMajFault", wireType) + } + m.TotalPgMajFault = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalPgMajFault |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 28: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalInactiveAnon", wireType) + } + m.TotalInactiveAnon = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalInactiveAnon |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 29: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalActiveAnon", wireType) + } + m.TotalActiveAnon = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalActiveAnon |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 30: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalInactiveFile", wireType) + } + m.TotalInactiveFile = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalInactiveFile |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 31: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalActiveFile", wireType) + } + m.TotalActiveFile = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalActiveFile |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 32: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TotalUnevictable", wireType) + } + m.TotalUnevictable = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TotalUnevictable |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 33: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Usage == nil { + m.Usage = &MemoryEntry{} + } + if err := m.Usage.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 34: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Swap", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Swap == nil { + m.Swap = &MemoryEntry{} + } + if err := m.Swap.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 35: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Kernel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Kernel == nil { + m.Kernel = &MemoryEntry{} + } + if err := m.Kernel.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 36: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field KernelTCP", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.KernelTCP == nil { + m.KernelTCP = &MemoryEntry{} + } + if err := m.KernelTCP.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MemoryEntry) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MemoryEntry: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MemoryEntry: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) + } + m.Limit = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Limit |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Usage", wireType) + } + m.Usage = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Usage |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Max", wireType) + } + m.Max = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Max |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Failcnt", wireType) + } + m.Failcnt = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Failcnt |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MemoryOomControl) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: MemoryOomControl: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MemoryOomControl: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OomKillDisable", wireType) + } + m.OomKillDisable = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OomKillDisable |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field UnderOom", wireType) + } + m.UnderOom = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.UnderOom |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OomKill", wireType) + } + m.OomKill = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OomKill |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlkIOStat) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlkIOStat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlkIOStat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IoServiceBytesRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IoServiceBytesRecursive = append(m.IoServiceBytesRecursive, &BlkIOEntry{}) + if err := m.IoServiceBytesRecursive[len(m.IoServiceBytesRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IoServicedRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IoServicedRecursive = append(m.IoServicedRecursive, &BlkIOEntry{}) + if err := m.IoServicedRecursive[len(m.IoServicedRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IoQueuedRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IoQueuedRecursive = append(m.IoQueuedRecursive, &BlkIOEntry{}) + if err := m.IoQueuedRecursive[len(m.IoQueuedRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IoServiceTimeRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IoServiceTimeRecursive = append(m.IoServiceTimeRecursive, &BlkIOEntry{}) + if err := m.IoServiceTimeRecursive[len(m.IoServiceTimeRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IoWaitTimeRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IoWaitTimeRecursive = append(m.IoWaitTimeRecursive, &BlkIOEntry{}) + if err := m.IoWaitTimeRecursive[len(m.IoWaitTimeRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IoMergedRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IoMergedRecursive = append(m.IoMergedRecursive, &BlkIOEntry{}) + if err := m.IoMergedRecursive[len(m.IoMergedRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field IoTimeRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.IoTimeRecursive = append(m.IoTimeRecursive, &BlkIOEntry{}) + if err := m.IoTimeRecursive[len(m.IoTimeRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SectorsRecursive", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.SectorsRecursive = append(m.SectorsRecursive, &BlkIOEntry{}) + if err := m.SectorsRecursive[len(m.SectorsRecursive)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BlkIOEntry) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BlkIOEntry: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BlkIOEntry: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Op", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Op = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Device = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Major", wireType) + } + m.Major = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Major |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Minor", wireType) + } + m.Minor = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Minor |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + m.Value = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Value |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RdmaStat) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RdmaStat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RdmaStat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Current", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Current = append(m.Current, &RdmaEntry{}) + if err := m.Current[len(m.Current)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Limit", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Limit = append(m.Limit, &RdmaEntry{}) + if err := m.Limit[len(m.Limit)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RdmaEntry) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RdmaEntry: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RdmaEntry: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Device", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Device = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HcaHandles", wireType) + } + m.HcaHandles = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HcaHandles |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field HcaObjects", wireType) + } + m.HcaObjects = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.HcaObjects |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *NetworkStat) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: NetworkStat: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: NetworkStat: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthMetrics + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthMetrics + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxBytes", wireType) + } + m.RxBytes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxBytes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxPackets", wireType) + } + m.RxPackets = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxPackets |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxErrors", wireType) + } + m.RxErrors = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxErrors |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RxDropped", wireType) + } + m.RxDropped = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RxDropped |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxBytes", wireType) + } + m.TxBytes = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TxBytes |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxPackets", wireType) + } + m.TxPackets = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TxPackets |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxErrors", wireType) + } + m.TxErrors = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TxErrors |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 9: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TxDropped", wireType) + } + m.TxDropped = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TxDropped |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CgroupStats) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CgroupStats: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CgroupStats: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NrSleeping", wireType) + } + m.NrSleeping = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NrSleeping |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NrRunning", wireType) + } + m.NrRunning = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NrRunning |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NrStopped", wireType) + } + m.NrStopped = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NrStopped |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NrUninterruptible", wireType) + } + m.NrUninterruptible = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NrUninterruptible |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NrIoWait", wireType) + } + m.NrIoWait = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowMetrics + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.NrIoWait |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipMetrics(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthMetrics + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func skipMetrics(dAtA []byte) (n int, err error) { + l := len(dAtA) + iNdEx := 0 + depth := 0 + for iNdEx < l { + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowMetrics + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + wireType := int(wire & 0x7) + switch wireType { + case 0: + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowMetrics + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + iNdEx++ + if dAtA[iNdEx-1] < 0x80 { + break + } + } + case 1: + iNdEx += 8 + case 2: + var length int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return 0, ErrIntOverflowMetrics + } + if iNdEx >= l { + return 0, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + length |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if length < 0 { + return 0, ErrInvalidLengthMetrics + } + iNdEx += length + case 3: + depth++ + case 4: + if depth == 0 { + return 0, ErrUnexpectedEndOfGroupMetrics + } + depth-- + case 5: + iNdEx += 4 + default: + return 0, fmt.Errorf("proto: illegal wireType %d", wireType) + } + if iNdEx < 0 { + return 0, ErrInvalidLengthMetrics + } + if depth == 0 { + return iNdEx, nil + } + } + return 0, io.ErrUnexpectedEOF +} + +var ( + ErrInvalidLengthMetrics = fmt.Errorf("proto: negative length found during unmarshaling") + ErrIntOverflowMetrics = fmt.Errorf("proto: integer overflow") + ErrUnexpectedEndOfGroupMetrics = fmt.Errorf("proto: unexpected end of group") +) diff --git a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.pb.txt b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt similarity index 97% rename from vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.pb.txt rename to vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt index 7e4313ea58..e476cea641 100644 --- a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.pb.txt +++ b/vendor/github.com/containerd/cgroups/stats/v1/metrics.pb.txt @@ -1,6 +1,7 @@ file { - name: "github.com/containerd/cgroups/cgroup1/stats/metrics.proto" + name: "github.com/containerd/cgroups/stats/v1/metrics.proto" package: "io.containerd.cgroups.v1" + dependency: "gogoproto/gogo.proto" message_type { name: "Metrics" field { @@ -25,6 +26,9 @@ file { label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: ".io.containerd.cgroups.v1.CPUStat" + options { + 65004: "CPU" + } json_name: "cpu" } field { @@ -171,6 +175,9 @@ file { number: 4 label: LABEL_REPEATED type: TYPE_UINT64 + options { + 65004: "PerCPU" + } json_name: "perCpu" } } @@ -212,6 +219,9 @@ file { number: 2 label: LABEL_OPTIONAL type: TYPE_UINT64 + options { + 65004: "RSS" + } json_name: "rss" } field { @@ -219,6 +229,9 @@ file { number: 3 label: LABEL_OPTIONAL type: TYPE_UINT64 + options { + 65004: "RSSHuge" + } json_name: "rssHuge" } field { @@ -331,6 +344,9 @@ file { number: 19 label: LABEL_OPTIONAL type: TYPE_UINT64 + options { + 65004: "TotalRSS" + } json_name: "totalRss" } field { @@ -338,6 +354,9 @@ file { number: 20 label: LABEL_OPTIONAL type: TYPE_UINT64 + options { + 65004: "TotalRSSHuge" + } json_name: "totalRssHuge" } field { @@ -454,6 +473,9 @@ file { label: LABEL_OPTIONAL type: TYPE_MESSAGE type_name: ".io.containerd.cgroups.v1.MemoryEntry" + options { + 65004: "KernelTCP" + } json_name: "kernelTcp" } } @@ -764,8 +786,5 @@ file { json_name: "nrIoWait" } } - options { - go_package: "github.com/containerd/cgroups/cgroup1/stats" - } syntax: "proto3" } diff --git a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.proto b/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto similarity index 87% rename from vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.proto rename to vendor/github.com/containerd/cgroups/stats/v1/metrics.proto index e6e4444b1b..b3f6cc37d8 100644 --- a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.proto +++ b/vendor/github.com/containerd/cgroups/stats/v1/metrics.proto @@ -2,12 +2,12 @@ syntax = "proto3"; package io.containerd.cgroups.v1; -option go_package = "github.com/containerd/cgroups/cgroup1/stats"; +import "gogoproto/gogo.proto"; message Metrics { repeated HugetlbStat hugetlb = 1; PidsStat pids = 2; - CPUStat cpu = 3; + CPUStat cpu = 3 [(gogoproto.customname) = "CPU"]; MemoryStat memory = 4; BlkIOStat blkio = 5; RdmaStat rdma = 6; @@ -38,7 +38,7 @@ message CPUUsage { uint64 total = 1; uint64 kernel = 2; uint64 user = 3; - repeated uint64 per_cpu = 4; + repeated uint64 per_cpu = 4 [(gogoproto.customname) = "PerCPU"]; } @@ -50,8 +50,8 @@ message Throttle { message MemoryStat { uint64 cache = 1; - uint64 rss = 2; - uint64 rss_huge = 3; + uint64 rss = 2 [(gogoproto.customname) = "RSS"]; + uint64 rss_huge = 3 [(gogoproto.customname) = "RSSHuge"]; uint64 mapped_file = 4; uint64 dirty = 5; uint64 writeback = 6; @@ -67,8 +67,8 @@ message MemoryStat { uint64 hierarchical_memory_limit = 16; uint64 hierarchical_swap_limit = 17; uint64 total_cache = 18; - uint64 total_rss = 19; - uint64 total_rss_huge = 20; + uint64 total_rss = 19 [(gogoproto.customname) = "TotalRSS"]; + uint64 total_rss_huge = 20 [(gogoproto.customname) = "TotalRSSHuge"]; uint64 total_mapped_file = 21; uint64 total_dirty = 22; uint64 total_writeback = 23; @@ -84,7 +84,7 @@ message MemoryStat { MemoryEntry usage = 33; MemoryEntry swap = 34; MemoryEntry kernel = 35; - MemoryEntry kernel_tcp = 36; + MemoryEntry kernel_tcp = 36 [(gogoproto.customname) = "KernelTCP"]; } diff --git a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/doc.go b/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/doc.go deleted file mode 100644 index e51e12f800..0000000000 --- a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/doc.go +++ /dev/null @@ -1,17 +0,0 @@ -/* - Copyright The containerd Authors. - - 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. -*/ - -package stats diff --git a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.pb.go b/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.pb.go deleted file mode 100644 index 75206889ba..0000000000 --- a/vendor/github.com/containerd/cgroups/v3/cgroup1/stats/metrics.pb.go +++ /dev/null @@ -1,1959 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.5 -// source: github.com/containerd/cgroups/cgroup1/stats/metrics.proto - -package stats - -import ( - 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 Metrics struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Hugetlb []*HugetlbStat `protobuf:"bytes,1,rep,name=hugetlb,proto3" json:"hugetlb,omitempty"` - Pids *PidsStat `protobuf:"bytes,2,opt,name=pids,proto3" json:"pids,omitempty"` - CPU *CPUStat `protobuf:"bytes,3,opt,name=cpu,proto3" json:"cpu,omitempty"` - Memory *MemoryStat `protobuf:"bytes,4,opt,name=memory,proto3" json:"memory,omitempty"` - Blkio *BlkIOStat `protobuf:"bytes,5,opt,name=blkio,proto3" json:"blkio,omitempty"` - Rdma *RdmaStat `protobuf:"bytes,6,opt,name=rdma,proto3" json:"rdma,omitempty"` - Network []*NetworkStat `protobuf:"bytes,7,rep,name=network,proto3" json:"network,omitempty"` - CgroupStats *CgroupStats `protobuf:"bytes,8,opt,name=cgroup_stats,json=cgroupStats,proto3" json:"cgroup_stats,omitempty"` - MemoryOomControl *MemoryOomControl `protobuf:"bytes,9,opt,name=memory_oom_control,json=memoryOomControl,proto3" json:"memory_oom_control,omitempty"` -} - -func (x *Metrics) Reset() { - *x = Metrics{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Metrics) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Metrics) ProtoMessage() {} - -func (x *Metrics) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_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 Metrics.ProtoReflect.Descriptor instead. -func (*Metrics) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{0} -} - -func (x *Metrics) GetHugetlb() []*HugetlbStat { - if x != nil { - return x.Hugetlb - } - return nil -} - -func (x *Metrics) GetPids() *PidsStat { - if x != nil { - return x.Pids - } - return nil -} - -func (x *Metrics) GetCPU() *CPUStat { - if x != nil { - return x.CPU - } - return nil -} - -func (x *Metrics) GetMemory() *MemoryStat { - if x != nil { - return x.Memory - } - return nil -} - -func (x *Metrics) GetBlkio() *BlkIOStat { - if x != nil { - return x.Blkio - } - return nil -} - -func (x *Metrics) GetRdma() *RdmaStat { - if x != nil { - return x.Rdma - } - return nil -} - -func (x *Metrics) GetNetwork() []*NetworkStat { - if x != nil { - return x.Network - } - return nil -} - -func (x *Metrics) GetCgroupStats() *CgroupStats { - if x != nil { - return x.CgroupStats - } - return nil -} - -func (x *Metrics) GetMemoryOomControl() *MemoryOomControl { - if x != nil { - return x.MemoryOomControl - } - return nil -} - -type HugetlbStat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Usage uint64 `protobuf:"varint,1,opt,name=usage,proto3" json:"usage,omitempty"` - Max uint64 `protobuf:"varint,2,opt,name=max,proto3" json:"max,omitempty"` - Failcnt uint64 `protobuf:"varint,3,opt,name=failcnt,proto3" json:"failcnt,omitempty"` - Pagesize string `protobuf:"bytes,4,opt,name=pagesize,proto3" json:"pagesize,omitempty"` -} - -func (x *HugetlbStat) Reset() { - *x = HugetlbStat{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HugetlbStat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HugetlbStat) ProtoMessage() {} - -func (x *HugetlbStat) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_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 HugetlbStat.ProtoReflect.Descriptor instead. -func (*HugetlbStat) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{1} -} - -func (x *HugetlbStat) GetUsage() uint64 { - if x != nil { - return x.Usage - } - return 0 -} - -func (x *HugetlbStat) GetMax() uint64 { - if x != nil { - return x.Max - } - return 0 -} - -func (x *HugetlbStat) GetFailcnt() uint64 { - if x != nil { - return x.Failcnt - } - return 0 -} - -func (x *HugetlbStat) GetPagesize() string { - if x != nil { - return x.Pagesize - } - return "" -} - -type PidsStat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Current uint64 `protobuf:"varint,1,opt,name=current,proto3" json:"current,omitempty"` - Limit uint64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` -} - -func (x *PidsStat) Reset() { - *x = PidsStat{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PidsStat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PidsStat) ProtoMessage() {} - -func (x *PidsStat) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_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 PidsStat.ProtoReflect.Descriptor instead. -func (*PidsStat) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{2} -} - -func (x *PidsStat) GetCurrent() uint64 { - if x != nil { - return x.Current - } - return 0 -} - -func (x *PidsStat) GetLimit() uint64 { - if x != nil { - return x.Limit - } - return 0 -} - -type CPUStat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Usage *CPUUsage `protobuf:"bytes,1,opt,name=usage,proto3" json:"usage,omitempty"` - Throttling *Throttle `protobuf:"bytes,2,opt,name=throttling,proto3" json:"throttling,omitempty"` -} - -func (x *CPUStat) Reset() { - *x = CPUStat{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CPUStat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CPUStat) ProtoMessage() {} - -func (x *CPUStat) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_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 CPUStat.ProtoReflect.Descriptor instead. -func (*CPUStat) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{3} -} - -func (x *CPUStat) GetUsage() *CPUUsage { - if x != nil { - return x.Usage - } - return nil -} - -func (x *CPUStat) GetThrottling() *Throttle { - if x != nil { - return x.Throttling - } - return nil -} - -type CPUUsage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // values in nanoseconds - Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` - Kernel uint64 `protobuf:"varint,2,opt,name=kernel,proto3" json:"kernel,omitempty"` - User uint64 `protobuf:"varint,3,opt,name=user,proto3" json:"user,omitempty"` - PerCPU []uint64 `protobuf:"varint,4,rep,packed,name=per_cpu,json=perCpu,proto3" json:"per_cpu,omitempty"` -} - -func (x *CPUUsage) Reset() { - *x = CPUUsage{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CPUUsage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CPUUsage) ProtoMessage() {} - -func (x *CPUUsage) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CPUUsage.ProtoReflect.Descriptor instead. -func (*CPUUsage) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{4} -} - -func (x *CPUUsage) GetTotal() uint64 { - if x != nil { - return x.Total - } - return 0 -} - -func (x *CPUUsage) GetKernel() uint64 { - if x != nil { - return x.Kernel - } - return 0 -} - -func (x *CPUUsage) GetUser() uint64 { - if x != nil { - return x.User - } - return 0 -} - -func (x *CPUUsage) GetPerCPU() []uint64 { - if x != nil { - return x.PerCPU - } - return nil -} - -type Throttle struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Periods uint64 `protobuf:"varint,1,opt,name=periods,proto3" json:"periods,omitempty"` - ThrottledPeriods uint64 `protobuf:"varint,2,opt,name=throttled_periods,json=throttledPeriods,proto3" json:"throttled_periods,omitempty"` - ThrottledTime uint64 `protobuf:"varint,3,opt,name=throttled_time,json=throttledTime,proto3" json:"throttled_time,omitempty"` -} - -func (x *Throttle) Reset() { - *x = Throttle{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Throttle) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Throttle) ProtoMessage() {} - -func (x *Throttle) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Throttle.ProtoReflect.Descriptor instead. -func (*Throttle) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{5} -} - -func (x *Throttle) GetPeriods() uint64 { - if x != nil { - return x.Periods - } - return 0 -} - -func (x *Throttle) GetThrottledPeriods() uint64 { - if x != nil { - return x.ThrottledPeriods - } - return 0 -} - -func (x *Throttle) GetThrottledTime() uint64 { - if x != nil { - return x.ThrottledTime - } - return 0 -} - -type MemoryStat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Cache uint64 `protobuf:"varint,1,opt,name=cache,proto3" json:"cache,omitempty"` - RSS uint64 `protobuf:"varint,2,opt,name=rss,proto3" json:"rss,omitempty"` - RSSHuge uint64 `protobuf:"varint,3,opt,name=rss_huge,json=rssHuge,proto3" json:"rss_huge,omitempty"` - MappedFile uint64 `protobuf:"varint,4,opt,name=mapped_file,json=mappedFile,proto3" json:"mapped_file,omitempty"` - Dirty uint64 `protobuf:"varint,5,opt,name=dirty,proto3" json:"dirty,omitempty"` - Writeback uint64 `protobuf:"varint,6,opt,name=writeback,proto3" json:"writeback,omitempty"` - PgPgIn uint64 `protobuf:"varint,7,opt,name=pg_pg_in,json=pgPgIn,proto3" json:"pg_pg_in,omitempty"` - PgPgOut uint64 `protobuf:"varint,8,opt,name=pg_pg_out,json=pgPgOut,proto3" json:"pg_pg_out,omitempty"` - PgFault uint64 `protobuf:"varint,9,opt,name=pg_fault,json=pgFault,proto3" json:"pg_fault,omitempty"` - PgMajFault uint64 `protobuf:"varint,10,opt,name=pg_maj_fault,json=pgMajFault,proto3" json:"pg_maj_fault,omitempty"` - InactiveAnon uint64 `protobuf:"varint,11,opt,name=inactive_anon,json=inactiveAnon,proto3" json:"inactive_anon,omitempty"` - ActiveAnon uint64 `protobuf:"varint,12,opt,name=active_anon,json=activeAnon,proto3" json:"active_anon,omitempty"` - InactiveFile uint64 `protobuf:"varint,13,opt,name=inactive_file,json=inactiveFile,proto3" json:"inactive_file,omitempty"` - ActiveFile uint64 `protobuf:"varint,14,opt,name=active_file,json=activeFile,proto3" json:"active_file,omitempty"` - Unevictable uint64 `protobuf:"varint,15,opt,name=unevictable,proto3" json:"unevictable,omitempty"` - HierarchicalMemoryLimit uint64 `protobuf:"varint,16,opt,name=hierarchical_memory_limit,json=hierarchicalMemoryLimit,proto3" json:"hierarchical_memory_limit,omitempty"` - HierarchicalSwapLimit uint64 `protobuf:"varint,17,opt,name=hierarchical_swap_limit,json=hierarchicalSwapLimit,proto3" json:"hierarchical_swap_limit,omitempty"` - TotalCache uint64 `protobuf:"varint,18,opt,name=total_cache,json=totalCache,proto3" json:"total_cache,omitempty"` - TotalRSS uint64 `protobuf:"varint,19,opt,name=total_rss,json=totalRss,proto3" json:"total_rss,omitempty"` - TotalRSSHuge uint64 `protobuf:"varint,20,opt,name=total_rss_huge,json=totalRssHuge,proto3" json:"total_rss_huge,omitempty"` - TotalMappedFile uint64 `protobuf:"varint,21,opt,name=total_mapped_file,json=totalMappedFile,proto3" json:"total_mapped_file,omitempty"` - TotalDirty uint64 `protobuf:"varint,22,opt,name=total_dirty,json=totalDirty,proto3" json:"total_dirty,omitempty"` - TotalWriteback uint64 `protobuf:"varint,23,opt,name=total_writeback,json=totalWriteback,proto3" json:"total_writeback,omitempty"` - TotalPgPgIn uint64 `protobuf:"varint,24,opt,name=total_pg_pg_in,json=totalPgPgIn,proto3" json:"total_pg_pg_in,omitempty"` - TotalPgPgOut uint64 `protobuf:"varint,25,opt,name=total_pg_pg_out,json=totalPgPgOut,proto3" json:"total_pg_pg_out,omitempty"` - TotalPgFault uint64 `protobuf:"varint,26,opt,name=total_pg_fault,json=totalPgFault,proto3" json:"total_pg_fault,omitempty"` - TotalPgMajFault uint64 `protobuf:"varint,27,opt,name=total_pg_maj_fault,json=totalPgMajFault,proto3" json:"total_pg_maj_fault,omitempty"` - TotalInactiveAnon uint64 `protobuf:"varint,28,opt,name=total_inactive_anon,json=totalInactiveAnon,proto3" json:"total_inactive_anon,omitempty"` - TotalActiveAnon uint64 `protobuf:"varint,29,opt,name=total_active_anon,json=totalActiveAnon,proto3" json:"total_active_anon,omitempty"` - TotalInactiveFile uint64 `protobuf:"varint,30,opt,name=total_inactive_file,json=totalInactiveFile,proto3" json:"total_inactive_file,omitempty"` - TotalActiveFile uint64 `protobuf:"varint,31,opt,name=total_active_file,json=totalActiveFile,proto3" json:"total_active_file,omitempty"` - TotalUnevictable uint64 `protobuf:"varint,32,opt,name=total_unevictable,json=totalUnevictable,proto3" json:"total_unevictable,omitempty"` - Usage *MemoryEntry `protobuf:"bytes,33,opt,name=usage,proto3" json:"usage,omitempty"` - Swap *MemoryEntry `protobuf:"bytes,34,opt,name=swap,proto3" json:"swap,omitempty"` - Kernel *MemoryEntry `protobuf:"bytes,35,opt,name=kernel,proto3" json:"kernel,omitempty"` - KernelTCP *MemoryEntry `protobuf:"bytes,36,opt,name=kernel_tcp,json=kernelTcp,proto3" json:"kernel_tcp,omitempty"` -} - -func (x *MemoryStat) Reset() { - *x = MemoryStat{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MemoryStat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MemoryStat) ProtoMessage() {} - -func (x *MemoryStat) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[6] - 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 MemoryStat.ProtoReflect.Descriptor instead. -func (*MemoryStat) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{6} -} - -func (x *MemoryStat) GetCache() uint64 { - if x != nil { - return x.Cache - } - return 0 -} - -func (x *MemoryStat) GetRSS() uint64 { - if x != nil { - return x.RSS - } - return 0 -} - -func (x *MemoryStat) GetRSSHuge() uint64 { - if x != nil { - return x.RSSHuge - } - return 0 -} - -func (x *MemoryStat) GetMappedFile() uint64 { - if x != nil { - return x.MappedFile - } - return 0 -} - -func (x *MemoryStat) GetDirty() uint64 { - if x != nil { - return x.Dirty - } - return 0 -} - -func (x *MemoryStat) GetWriteback() uint64 { - if x != nil { - return x.Writeback - } - return 0 -} - -func (x *MemoryStat) GetPgPgIn() uint64 { - if x != nil { - return x.PgPgIn - } - return 0 -} - -func (x *MemoryStat) GetPgPgOut() uint64 { - if x != nil { - return x.PgPgOut - } - return 0 -} - -func (x *MemoryStat) GetPgFault() uint64 { - if x != nil { - return x.PgFault - } - return 0 -} - -func (x *MemoryStat) GetPgMajFault() uint64 { - if x != nil { - return x.PgMajFault - } - return 0 -} - -func (x *MemoryStat) GetInactiveAnon() uint64 { - if x != nil { - return x.InactiveAnon - } - return 0 -} - -func (x *MemoryStat) GetActiveAnon() uint64 { - if x != nil { - return x.ActiveAnon - } - return 0 -} - -func (x *MemoryStat) GetInactiveFile() uint64 { - if x != nil { - return x.InactiveFile - } - return 0 -} - -func (x *MemoryStat) GetActiveFile() uint64 { - if x != nil { - return x.ActiveFile - } - return 0 -} - -func (x *MemoryStat) GetUnevictable() uint64 { - if x != nil { - return x.Unevictable - } - return 0 -} - -func (x *MemoryStat) GetHierarchicalMemoryLimit() uint64 { - if x != nil { - return x.HierarchicalMemoryLimit - } - return 0 -} - -func (x *MemoryStat) GetHierarchicalSwapLimit() uint64 { - if x != nil { - return x.HierarchicalSwapLimit - } - return 0 -} - -func (x *MemoryStat) GetTotalCache() uint64 { - if x != nil { - return x.TotalCache - } - return 0 -} - -func (x *MemoryStat) GetTotalRSS() uint64 { - if x != nil { - return x.TotalRSS - } - return 0 -} - -func (x *MemoryStat) GetTotalRSSHuge() uint64 { - if x != nil { - return x.TotalRSSHuge - } - return 0 -} - -func (x *MemoryStat) GetTotalMappedFile() uint64 { - if x != nil { - return x.TotalMappedFile - } - return 0 -} - -func (x *MemoryStat) GetTotalDirty() uint64 { - if x != nil { - return x.TotalDirty - } - return 0 -} - -func (x *MemoryStat) GetTotalWriteback() uint64 { - if x != nil { - return x.TotalWriteback - } - return 0 -} - -func (x *MemoryStat) GetTotalPgPgIn() uint64 { - if x != nil { - return x.TotalPgPgIn - } - return 0 -} - -func (x *MemoryStat) GetTotalPgPgOut() uint64 { - if x != nil { - return x.TotalPgPgOut - } - return 0 -} - -func (x *MemoryStat) GetTotalPgFault() uint64 { - if x != nil { - return x.TotalPgFault - } - return 0 -} - -func (x *MemoryStat) GetTotalPgMajFault() uint64 { - if x != nil { - return x.TotalPgMajFault - } - return 0 -} - -func (x *MemoryStat) GetTotalInactiveAnon() uint64 { - if x != nil { - return x.TotalInactiveAnon - } - return 0 -} - -func (x *MemoryStat) GetTotalActiveAnon() uint64 { - if x != nil { - return x.TotalActiveAnon - } - return 0 -} - -func (x *MemoryStat) GetTotalInactiveFile() uint64 { - if x != nil { - return x.TotalInactiveFile - } - return 0 -} - -func (x *MemoryStat) GetTotalActiveFile() uint64 { - if x != nil { - return x.TotalActiveFile - } - return 0 -} - -func (x *MemoryStat) GetTotalUnevictable() uint64 { - if x != nil { - return x.TotalUnevictable - } - return 0 -} - -func (x *MemoryStat) GetUsage() *MemoryEntry { - if x != nil { - return x.Usage - } - return nil -} - -func (x *MemoryStat) GetSwap() *MemoryEntry { - if x != nil { - return x.Swap - } - return nil -} - -func (x *MemoryStat) GetKernel() *MemoryEntry { - if x != nil { - return x.Kernel - } - return nil -} - -func (x *MemoryStat) GetKernelTCP() *MemoryEntry { - if x != nil { - return x.KernelTCP - } - return nil -} - -type MemoryEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Limit uint64 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` - Usage uint64 `protobuf:"varint,2,opt,name=usage,proto3" json:"usage,omitempty"` - Max uint64 `protobuf:"varint,3,opt,name=max,proto3" json:"max,omitempty"` - Failcnt uint64 `protobuf:"varint,4,opt,name=failcnt,proto3" json:"failcnt,omitempty"` -} - -func (x *MemoryEntry) Reset() { - *x = MemoryEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MemoryEntry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MemoryEntry) ProtoMessage() {} - -func (x *MemoryEntry) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[7] - 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 MemoryEntry.ProtoReflect.Descriptor instead. -func (*MemoryEntry) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{7} -} - -func (x *MemoryEntry) GetLimit() uint64 { - if x != nil { - return x.Limit - } - return 0 -} - -func (x *MemoryEntry) GetUsage() uint64 { - if x != nil { - return x.Usage - } - return 0 -} - -func (x *MemoryEntry) GetMax() uint64 { - if x != nil { - return x.Max - } - return 0 -} - -func (x *MemoryEntry) GetFailcnt() uint64 { - if x != nil { - return x.Failcnt - } - return 0 -} - -type MemoryOomControl struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OomKillDisable uint64 `protobuf:"varint,1,opt,name=oom_kill_disable,json=oomKillDisable,proto3" json:"oom_kill_disable,omitempty"` - UnderOom uint64 `protobuf:"varint,2,opt,name=under_oom,json=underOom,proto3" json:"under_oom,omitempty"` - OomKill uint64 `protobuf:"varint,3,opt,name=oom_kill,json=oomKill,proto3" json:"oom_kill,omitempty"` -} - -func (x *MemoryOomControl) Reset() { - *x = MemoryOomControl{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MemoryOomControl) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MemoryOomControl) ProtoMessage() {} - -func (x *MemoryOomControl) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[8] - 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 MemoryOomControl.ProtoReflect.Descriptor instead. -func (*MemoryOomControl) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{8} -} - -func (x *MemoryOomControl) GetOomKillDisable() uint64 { - if x != nil { - return x.OomKillDisable - } - return 0 -} - -func (x *MemoryOomControl) GetUnderOom() uint64 { - if x != nil { - return x.UnderOom - } - return 0 -} - -func (x *MemoryOomControl) GetOomKill() uint64 { - if x != nil { - return x.OomKill - } - return 0 -} - -type BlkIOStat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IoServiceBytesRecursive []*BlkIOEntry `protobuf:"bytes,1,rep,name=io_service_bytes_recursive,json=ioServiceBytesRecursive,proto3" json:"io_service_bytes_recursive,omitempty"` - IoServicedRecursive []*BlkIOEntry `protobuf:"bytes,2,rep,name=io_serviced_recursive,json=ioServicedRecursive,proto3" json:"io_serviced_recursive,omitempty"` - IoQueuedRecursive []*BlkIOEntry `protobuf:"bytes,3,rep,name=io_queued_recursive,json=ioQueuedRecursive,proto3" json:"io_queued_recursive,omitempty"` - IoServiceTimeRecursive []*BlkIOEntry `protobuf:"bytes,4,rep,name=io_service_time_recursive,json=ioServiceTimeRecursive,proto3" json:"io_service_time_recursive,omitempty"` - IoWaitTimeRecursive []*BlkIOEntry `protobuf:"bytes,5,rep,name=io_wait_time_recursive,json=ioWaitTimeRecursive,proto3" json:"io_wait_time_recursive,omitempty"` - IoMergedRecursive []*BlkIOEntry `protobuf:"bytes,6,rep,name=io_merged_recursive,json=ioMergedRecursive,proto3" json:"io_merged_recursive,omitempty"` - IoTimeRecursive []*BlkIOEntry `protobuf:"bytes,7,rep,name=io_time_recursive,json=ioTimeRecursive,proto3" json:"io_time_recursive,omitempty"` - SectorsRecursive []*BlkIOEntry `protobuf:"bytes,8,rep,name=sectors_recursive,json=sectorsRecursive,proto3" json:"sectors_recursive,omitempty"` -} - -func (x *BlkIOStat) Reset() { - *x = BlkIOStat{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BlkIOStat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlkIOStat) ProtoMessage() {} - -func (x *BlkIOStat) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[9] - 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 BlkIOStat.ProtoReflect.Descriptor instead. -func (*BlkIOStat) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{9} -} - -func (x *BlkIOStat) GetIoServiceBytesRecursive() []*BlkIOEntry { - if x != nil { - return x.IoServiceBytesRecursive - } - return nil -} - -func (x *BlkIOStat) GetIoServicedRecursive() []*BlkIOEntry { - if x != nil { - return x.IoServicedRecursive - } - return nil -} - -func (x *BlkIOStat) GetIoQueuedRecursive() []*BlkIOEntry { - if x != nil { - return x.IoQueuedRecursive - } - return nil -} - -func (x *BlkIOStat) GetIoServiceTimeRecursive() []*BlkIOEntry { - if x != nil { - return x.IoServiceTimeRecursive - } - return nil -} - -func (x *BlkIOStat) GetIoWaitTimeRecursive() []*BlkIOEntry { - if x != nil { - return x.IoWaitTimeRecursive - } - return nil -} - -func (x *BlkIOStat) GetIoMergedRecursive() []*BlkIOEntry { - if x != nil { - return x.IoMergedRecursive - } - return nil -} - -func (x *BlkIOStat) GetIoTimeRecursive() []*BlkIOEntry { - if x != nil { - return x.IoTimeRecursive - } - return nil -} - -func (x *BlkIOStat) GetSectorsRecursive() []*BlkIOEntry { - if x != nil { - return x.SectorsRecursive - } - return nil -} - -type BlkIOEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"` - Device string `protobuf:"bytes,2,opt,name=device,proto3" json:"device,omitempty"` - Major uint64 `protobuf:"varint,3,opt,name=major,proto3" json:"major,omitempty"` - Minor uint64 `protobuf:"varint,4,opt,name=minor,proto3" json:"minor,omitempty"` - Value uint64 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"` -} - -func (x *BlkIOEntry) Reset() { - *x = BlkIOEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BlkIOEntry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlkIOEntry) ProtoMessage() {} - -func (x *BlkIOEntry) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BlkIOEntry.ProtoReflect.Descriptor instead. -func (*BlkIOEntry) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{10} -} - -func (x *BlkIOEntry) GetOp() string { - if x != nil { - return x.Op - } - return "" -} - -func (x *BlkIOEntry) GetDevice() string { - if x != nil { - return x.Device - } - return "" -} - -func (x *BlkIOEntry) GetMajor() uint64 { - if x != nil { - return x.Major - } - return 0 -} - -func (x *BlkIOEntry) GetMinor() uint64 { - if x != nil { - return x.Minor - } - return 0 -} - -func (x *BlkIOEntry) GetValue() uint64 { - if x != nil { - return x.Value - } - return 0 -} - -type RdmaStat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Current []*RdmaEntry `protobuf:"bytes,1,rep,name=current,proto3" json:"current,omitempty"` - Limit []*RdmaEntry `protobuf:"bytes,2,rep,name=limit,proto3" json:"limit,omitempty"` -} - -func (x *RdmaStat) Reset() { - *x = RdmaStat{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RdmaStat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RdmaStat) ProtoMessage() {} - -func (x *RdmaStat) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RdmaStat.ProtoReflect.Descriptor instead. -func (*RdmaStat) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{11} -} - -func (x *RdmaStat) GetCurrent() []*RdmaEntry { - if x != nil { - return x.Current - } - return nil -} - -func (x *RdmaStat) GetLimit() []*RdmaEntry { - if x != nil { - return x.Limit - } - return nil -} - -type RdmaEntry struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"` - HcaHandles uint32 `protobuf:"varint,2,opt,name=hca_handles,json=hcaHandles,proto3" json:"hca_handles,omitempty"` - HcaObjects uint32 `protobuf:"varint,3,opt,name=hca_objects,json=hcaObjects,proto3" json:"hca_objects,omitempty"` -} - -func (x *RdmaEntry) Reset() { - *x = RdmaEntry{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RdmaEntry) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RdmaEntry) ProtoMessage() {} - -func (x *RdmaEntry) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[12] - 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 RdmaEntry.ProtoReflect.Descriptor instead. -func (*RdmaEntry) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{12} -} - -func (x *RdmaEntry) GetDevice() string { - if x != nil { - return x.Device - } - return "" -} - -func (x *RdmaEntry) GetHcaHandles() uint32 { - if x != nil { - return x.HcaHandles - } - return 0 -} - -func (x *RdmaEntry) GetHcaObjects() uint32 { - if x != nil { - return x.HcaObjects - } - return 0 -} - -type NetworkStat struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - RxBytes uint64 `protobuf:"varint,2,opt,name=rx_bytes,json=rxBytes,proto3" json:"rx_bytes,omitempty"` - RxPackets uint64 `protobuf:"varint,3,opt,name=rx_packets,json=rxPackets,proto3" json:"rx_packets,omitempty"` - RxErrors uint64 `protobuf:"varint,4,opt,name=rx_errors,json=rxErrors,proto3" json:"rx_errors,omitempty"` - RxDropped uint64 `protobuf:"varint,5,opt,name=rx_dropped,json=rxDropped,proto3" json:"rx_dropped,omitempty"` - TxBytes uint64 `protobuf:"varint,6,opt,name=tx_bytes,json=txBytes,proto3" json:"tx_bytes,omitempty"` - TxPackets uint64 `protobuf:"varint,7,opt,name=tx_packets,json=txPackets,proto3" json:"tx_packets,omitempty"` - TxErrors uint64 `protobuf:"varint,8,opt,name=tx_errors,json=txErrors,proto3" json:"tx_errors,omitempty"` - TxDropped uint64 `protobuf:"varint,9,opt,name=tx_dropped,json=txDropped,proto3" json:"tx_dropped,omitempty"` -} - -func (x *NetworkStat) Reset() { - *x = NetworkStat{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkStat) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkStat) ProtoMessage() {} - -func (x *NetworkStat) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[13] - 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 NetworkStat.ProtoReflect.Descriptor instead. -func (*NetworkStat) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{13} -} - -func (x *NetworkStat) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *NetworkStat) GetRxBytes() uint64 { - if x != nil { - return x.RxBytes - } - return 0 -} - -func (x *NetworkStat) GetRxPackets() uint64 { - if x != nil { - return x.RxPackets - } - return 0 -} - -func (x *NetworkStat) GetRxErrors() uint64 { - if x != nil { - return x.RxErrors - } - return 0 -} - -func (x *NetworkStat) GetRxDropped() uint64 { - if x != nil { - return x.RxDropped - } - return 0 -} - -func (x *NetworkStat) GetTxBytes() uint64 { - if x != nil { - return x.TxBytes - } - return 0 -} - -func (x *NetworkStat) GetTxPackets() uint64 { - if x != nil { - return x.TxPackets - } - return 0 -} - -func (x *NetworkStat) GetTxErrors() uint64 { - if x != nil { - return x.TxErrors - } - return 0 -} - -func (x *NetworkStat) GetTxDropped() uint64 { - if x != nil { - return x.TxDropped - } - return 0 -} - -// CgroupStats exports per-cgroup statistics. -type CgroupStats struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // number of tasks sleeping - NrSleeping uint64 `protobuf:"varint,1,opt,name=nr_sleeping,json=nrSleeping,proto3" json:"nr_sleeping,omitempty"` - // number of tasks running - NrRunning uint64 `protobuf:"varint,2,opt,name=nr_running,json=nrRunning,proto3" json:"nr_running,omitempty"` - // number of tasks in stopped state - NrStopped uint64 `protobuf:"varint,3,opt,name=nr_stopped,json=nrStopped,proto3" json:"nr_stopped,omitempty"` - // number of tasks in uninterruptible state - NrUninterruptible uint64 `protobuf:"varint,4,opt,name=nr_uninterruptible,json=nrUninterruptible,proto3" json:"nr_uninterruptible,omitempty"` - // number of tasks waiting on IO - NrIoWait uint64 `protobuf:"varint,5,opt,name=nr_io_wait,json=nrIoWait,proto3" json:"nr_io_wait,omitempty"` -} - -func (x *CgroupStats) Reset() { - *x = CgroupStats{} - if protoimpl.UnsafeEnabled { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CgroupStats) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CgroupStats) ProtoMessage() {} - -func (x *CgroupStats) ProtoReflect() protoreflect.Message { - mi := &file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CgroupStats.ProtoReflect.Descriptor instead. -func (*CgroupStats) Descriptor() ([]byte, []int) { - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP(), []int{14} -} - -func (x *CgroupStats) GetNrSleeping() uint64 { - if x != nil { - return x.NrSleeping - } - return 0 -} - -func (x *CgroupStats) GetNrRunning() uint64 { - if x != nil { - return x.NrRunning - } - return 0 -} - -func (x *CgroupStats) GetNrStopped() uint64 { - if x != nil { - return x.NrStopped - } - return 0 -} - -func (x *CgroupStats) GetNrUninterruptible() uint64 { - if x != nil { - return x.NrUninterruptible - } - return 0 -} - -func (x *CgroupStats) GetNrIoWait() uint64 { - if x != nil { - return x.NrIoWait - } - return 0 -} - -var File_github_com_containerd_cgroups_cgroup1_stats_metrics_proto protoreflect.FileDescriptor - -var file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDesc = []byte{ - 0x0a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x6d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x69, 0x6f, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x73, 0x2e, 0x76, 0x31, 0x22, 0xcd, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x68, 0x75, 0x67, 0x65, 0x74, 0x6c, 0x62, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x75, - 0x67, 0x65, 0x74, 0x6c, 0x62, 0x53, 0x74, 0x61, 0x74, 0x52, 0x07, 0x68, 0x75, 0x67, 0x65, 0x74, - 0x6c, 0x62, 0x12, 0x36, 0x0a, 0x04, 0x70, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, - 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x64, 0x73, - 0x53, 0x74, 0x61, 0x74, 0x52, 0x04, 0x70, 0x69, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x03, 0x63, 0x70, - 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x50, 0x55, 0x53, 0x74, 0x61, 0x74, 0x52, 0x03, 0x63, 0x70, 0x75, 0x12, - 0x3c, 0x0a, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x53, 0x74, 0x61, 0x74, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x39, 0x0a, - 0x05, 0x62, 0x6c, 0x6b, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, - 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x53, 0x74, 0x61, - 0x74, 0x52, 0x05, 0x62, 0x6c, 0x6b, 0x69, 0x6f, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x64, 0x6d, 0x61, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x64, 0x6d, 0x61, 0x53, 0x74, 0x61, 0x74, 0x52, 0x04, 0x72, 0x64, 0x6d, 0x61, - 0x12, 0x3f, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x48, 0x0a, 0x0c, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0b, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x58, 0x0a, 0x12, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6f, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4f, 0x6f, 0x6d, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x22, 0x6b, 0x0a, 0x0b, 0x48, 0x75, 0x67, 0x65, 0x74, 0x6c, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x18, 0x0a, 0x07, - 0x66, 0x61, 0x69, 0x6c, 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x66, - 0x61, 0x69, 0x6c, 0x63, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x73, 0x69, - 0x7a, 0x65, 0x22, 0x3a, 0x0a, 0x08, 0x50, 0x69, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x87, - 0x01, 0x0a, 0x07, 0x43, 0x50, 0x55, 0x53, 0x74, 0x61, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x75, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x50, 0x55, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x75, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, - 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x52, 0x0a, 0x74, 0x68, - 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x65, 0x0a, 0x08, 0x43, 0x50, 0x55, 0x55, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x6b, 0x65, - 0x72, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6b, 0x65, 0x72, 0x6e, - 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x70, - 0x75, 0x18, 0x04, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x70, 0x65, 0x72, 0x43, 0x70, 0x75, 0x22, - 0x78, 0x0a, 0x08, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, - 0x65, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x74, 0x68, 0x72, 0x6f, - 0x74, 0x74, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x94, 0x0b, 0x0a, 0x0a, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x61, 0x63, 0x68, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x61, 0x63, 0x68, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x72, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x72, 0x73, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x72, 0x73, 0x73, 0x5f, 0x68, 0x75, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x72, 0x73, 0x73, 0x48, 0x75, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, - 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x64, 0x69, 0x72, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x64, 0x69, 0x72, - 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, - 0x12, 0x18, 0x0a, 0x08, 0x70, 0x67, 0x5f, 0x70, 0x67, 0x5f, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x06, 0x70, 0x67, 0x50, 0x67, 0x49, 0x6e, 0x12, 0x1a, 0x0a, 0x09, 0x70, 0x67, - 0x5f, 0x70, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, - 0x67, 0x50, 0x67, 0x4f, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x67, 0x5f, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x67, 0x46, 0x61, 0x75, 0x6c, - 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x70, 0x67, 0x5f, 0x6d, 0x61, 0x6a, 0x5f, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x67, 0x4d, 0x61, 0x6a, 0x46, 0x61, - 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x61, 0x6e, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x6e, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0c, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x65, 0x76, 0x69, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x75, 0x6e, 0x65, 0x76, 0x69, 0x63, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x69, 0x63, 0x61, - 0x6c, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x69, 0x63, - 0x61, 0x6c, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x36, 0x0a, - 0x17, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x77, - 0x61, 0x70, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, - 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x53, 0x77, 0x61, 0x70, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, - 0x61, 0x63, 0x68, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x43, 0x61, 0x63, 0x68, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x72, 0x73, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x52, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x73, 0x73, - 0x5f, 0x68, 0x75, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x52, 0x73, 0x73, 0x48, 0x75, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x61, 0x70, 0x70, 0x65, - 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, - 0x69, 0x72, 0x74, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x44, 0x69, 0x72, 0x74, 0x79, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x17, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x62, 0x61, 0x63, 0x6b, 0x12, - 0x23, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x67, 0x5f, 0x70, 0x67, 0x5f, 0x69, - 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x67, - 0x50, 0x67, 0x49, 0x6e, 0x12, 0x25, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x67, - 0x5f, 0x70, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x67, 0x50, 0x67, 0x4f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x67, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x1a, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x67, 0x46, 0x61, 0x75, 0x6c, - 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x67, 0x5f, 0x6d, 0x61, - 0x6a, 0x5f, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x67, 0x4d, 0x61, 0x6a, 0x46, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x2e, - 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x2a, - 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x61, - 0x6e, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x75, 0x6e, 0x65, 0x76, 0x69, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x6e, 0x65, 0x76, 0x69, 0x63, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x21, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x39, 0x0a, 0x04, 0x73, 0x77, 0x61, 0x70, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x73, 0x77, 0x61, 0x70, 0x12, 0x3d, 0x0a, 0x06, 0x6b, - 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x69, 0x6f, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x0a, 0x6b, 0x65, - 0x72, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x63, 0x70, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x54, 0x63, 0x70, - 0x22, 0x65, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, - 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x61, 0x78, 0x12, 0x18, 0x0a, - 0x07, 0x66, 0x61, 0x69, 0x6c, 0x63, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, - 0x66, 0x61, 0x69, 0x6c, 0x63, 0x6e, 0x74, 0x22, 0x74, 0x0a, 0x10, 0x4d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x4f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x6f, - 0x6f, 0x6d, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x6f, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6f, - 0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x4f, - 0x6f, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x6f, 0x6d, 0x5f, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6f, 0x6f, 0x6d, 0x4b, 0x69, 0x6c, 0x6c, 0x22, 0xd5, 0x05, - 0x0a, 0x09, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x53, 0x74, 0x61, 0x74, 0x12, 0x61, 0x0a, 0x1a, 0x69, - 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x17, 0x69, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x58, - 0x0a, 0x15, 0x69, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x5f, 0x72, 0x65, - 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x13, 0x69, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x52, - 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x54, 0x0a, 0x13, 0x69, 0x6f, 0x5f, 0x71, - 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x69, 0x6f, 0x51, - 0x75, 0x65, 0x75, 0x65, 0x64, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x5f, - 0x0a, 0x19, 0x69, 0x6f, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, - 0x49, 0x4f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x69, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, - 0x59, 0x0a, 0x16, 0x69, 0x6f, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x69, 0x6f, 0x57, 0x61, 0x69, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x12, 0x54, 0x0a, 0x13, 0x69, 0x6f, - 0x5f, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, - 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x69, - 0x6f, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x64, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, - 0x12, 0x50, 0x0a, 0x11, 0x69, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, - 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x69, 0x6f, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0f, 0x69, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, - 0x76, 0x65, 0x12, 0x51, 0x0a, 0x11, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x5f, 0x72, 0x65, - 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x69, 0x6f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x10, 0x73, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x63, 0x75, - 0x72, 0x73, 0x69, 0x76, 0x65, 0x22, 0x76, 0x0a, 0x0a, 0x42, 0x6c, 0x6b, 0x49, 0x4f, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, - 0x61, 0x6a, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6d, 0x61, 0x6a, 0x6f, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x01, - 0x0a, 0x08, 0x52, 0x64, 0x6d, 0x61, 0x53, 0x74, 0x61, 0x74, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x64, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x07, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x69, 0x6f, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, 0x2e, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x64, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x22, 0x65, 0x0a, 0x09, 0x52, 0x64, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x63, 0x61, - 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x68, 0x63, 0x61, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x63, - 0x61, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x68, 0x63, 0x61, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x8d, 0x02, 0x0a, 0x0b, - 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x08, 0x72, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x07, 0x72, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x78, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x5f, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x78, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x64, 0x72, 0x6f, - 0x70, 0x70, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x78, 0x44, 0x72, - 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, - 0x1b, 0x0a, 0x09, 0x74, 0x78, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x74, 0x78, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, - 0x74, 0x78, 0x5f, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x74, 0x78, 0x44, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x0b, - 0x43, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, - 0x72, 0x5f, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0a, 0x6e, 0x72, 0x53, 0x6c, 0x65, 0x65, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, - 0x6e, 0x72, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x6e, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, - 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x6e, 0x72, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x72, - 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6e, 0x72, 0x55, 0x6e, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x72, 0x75, 0x70, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x6e, 0x72, 0x5f, - 0x69, 0x6f, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, - 0x72, 0x49, 0x6f, 0x57, 0x61, 0x69, 0x74, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x64, - 0x2f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x31, - 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescOnce sync.Once - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescData = file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDesc -) - -func file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescGZIP() []byte { - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescOnce.Do(func() { - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescData = protoimpl.X.CompressGZIP(file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescData) - }) - return file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDescData -} - -var file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes = make([]protoimpl.MessageInfo, 15) -var file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_goTypes = []interface{}{ - (*Metrics)(nil), // 0: io.containerd.cgroups.v1.Metrics - (*HugetlbStat)(nil), // 1: io.containerd.cgroups.v1.HugetlbStat - (*PidsStat)(nil), // 2: io.containerd.cgroups.v1.PidsStat - (*CPUStat)(nil), // 3: io.containerd.cgroups.v1.CPUStat - (*CPUUsage)(nil), // 4: io.containerd.cgroups.v1.CPUUsage - (*Throttle)(nil), // 5: io.containerd.cgroups.v1.Throttle - (*MemoryStat)(nil), // 6: io.containerd.cgroups.v1.MemoryStat - (*MemoryEntry)(nil), // 7: io.containerd.cgroups.v1.MemoryEntry - (*MemoryOomControl)(nil), // 8: io.containerd.cgroups.v1.MemoryOomControl - (*BlkIOStat)(nil), // 9: io.containerd.cgroups.v1.BlkIOStat - (*BlkIOEntry)(nil), // 10: io.containerd.cgroups.v1.BlkIOEntry - (*RdmaStat)(nil), // 11: io.containerd.cgroups.v1.RdmaStat - (*RdmaEntry)(nil), // 12: io.containerd.cgroups.v1.RdmaEntry - (*NetworkStat)(nil), // 13: io.containerd.cgroups.v1.NetworkStat - (*CgroupStats)(nil), // 14: io.containerd.cgroups.v1.CgroupStats -} -var file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_depIdxs = []int32{ - 1, // 0: io.containerd.cgroups.v1.Metrics.hugetlb:type_name -> io.containerd.cgroups.v1.HugetlbStat - 2, // 1: io.containerd.cgroups.v1.Metrics.pids:type_name -> io.containerd.cgroups.v1.PidsStat - 3, // 2: io.containerd.cgroups.v1.Metrics.cpu:type_name -> io.containerd.cgroups.v1.CPUStat - 6, // 3: io.containerd.cgroups.v1.Metrics.memory:type_name -> io.containerd.cgroups.v1.MemoryStat - 9, // 4: io.containerd.cgroups.v1.Metrics.blkio:type_name -> io.containerd.cgroups.v1.BlkIOStat - 11, // 5: io.containerd.cgroups.v1.Metrics.rdma:type_name -> io.containerd.cgroups.v1.RdmaStat - 13, // 6: io.containerd.cgroups.v1.Metrics.network:type_name -> io.containerd.cgroups.v1.NetworkStat - 14, // 7: io.containerd.cgroups.v1.Metrics.cgroup_stats:type_name -> io.containerd.cgroups.v1.CgroupStats - 8, // 8: io.containerd.cgroups.v1.Metrics.memory_oom_control:type_name -> io.containerd.cgroups.v1.MemoryOomControl - 4, // 9: io.containerd.cgroups.v1.CPUStat.usage:type_name -> io.containerd.cgroups.v1.CPUUsage - 5, // 10: io.containerd.cgroups.v1.CPUStat.throttling:type_name -> io.containerd.cgroups.v1.Throttle - 7, // 11: io.containerd.cgroups.v1.MemoryStat.usage:type_name -> io.containerd.cgroups.v1.MemoryEntry - 7, // 12: io.containerd.cgroups.v1.MemoryStat.swap:type_name -> io.containerd.cgroups.v1.MemoryEntry - 7, // 13: io.containerd.cgroups.v1.MemoryStat.kernel:type_name -> io.containerd.cgroups.v1.MemoryEntry - 7, // 14: io.containerd.cgroups.v1.MemoryStat.kernel_tcp:type_name -> io.containerd.cgroups.v1.MemoryEntry - 10, // 15: io.containerd.cgroups.v1.BlkIOStat.io_service_bytes_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 10, // 16: io.containerd.cgroups.v1.BlkIOStat.io_serviced_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 10, // 17: io.containerd.cgroups.v1.BlkIOStat.io_queued_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 10, // 18: io.containerd.cgroups.v1.BlkIOStat.io_service_time_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 10, // 19: io.containerd.cgroups.v1.BlkIOStat.io_wait_time_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 10, // 20: io.containerd.cgroups.v1.BlkIOStat.io_merged_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 10, // 21: io.containerd.cgroups.v1.BlkIOStat.io_time_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 10, // 22: io.containerd.cgroups.v1.BlkIOStat.sectors_recursive:type_name -> io.containerd.cgroups.v1.BlkIOEntry - 12, // 23: io.containerd.cgroups.v1.RdmaStat.current:type_name -> io.containerd.cgroups.v1.RdmaEntry - 12, // 24: io.containerd.cgroups.v1.RdmaStat.limit:type_name -> io.containerd.cgroups.v1.RdmaEntry - 25, // [25:25] is the sub-list for method output_type - 25, // [25:25] is the sub-list for method input_type - 25, // [25:25] is the sub-list for extension type_name - 25, // [25:25] is the sub-list for extension extendee - 0, // [0:25] is the sub-list for field type_name -} - -func init() { file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_init() } -func file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_init() { - if File_github_com_containerd_cgroups_cgroup1_stats_metrics_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Metrics); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HugetlbStat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PidsStat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CPUStat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CPUUsage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Throttle); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemoryStat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemoryEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MemoryOomControl); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlkIOStat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlkIOEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RdmaStat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RdmaEntry); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkStat); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CgroupStats); 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_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDesc, - NumEnums: 0, - NumMessages: 15, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_goTypes, - DependencyIndexes: file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_depIdxs, - MessageInfos: file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_msgTypes, - }.Build() - File_github_com_containerd_cgroups_cgroup1_stats_metrics_proto = out.File - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_rawDesc = nil - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_goTypes = nil - file_github_com_containerd_cgroups_cgroup1_stats_metrics_proto_depIdxs = nil -} diff --git a/vendor/github.com/containerd/containerd/LICENSE b/vendor/github.com/containerd/containerd/LICENSE deleted file mode 100644 index 584149b6ee..0000000000 --- a/vendor/github.com/containerd/containerd/LICENSE +++ /dev/null @@ -1,191 +0,0 @@ - - Apache License - Version 2.0, January 2004 - https://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright The containerd Authors - - 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 - - https://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. diff --git a/vendor/github.com/containerd/containerd/errdefs/errors.go b/vendor/github.com/containerd/containerd/errdefs/errors.go deleted file mode 100644 index 8762255970..0000000000 --- a/vendor/github.com/containerd/containerd/errdefs/errors.go +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright The containerd Authors. - - 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. -*/ - -// Package errdefs defines the common errors used throughout containerd -// packages. -// -// Use with fmt.Errorf to add context to an error. -// -// To detect an error class, use the IsXXX functions to tell whether an error -// is of a certain type. -// -// The functions ToGRPC and FromGRPC can be used to map server-side and -// client-side errors to the correct types. -package errdefs - -import ( - "context" - "errors" -) - -// Definitions of common error types used throughout containerd. All containerd -// errors returned by most packages will map into one of these errors classes. -// Packages should return errors of these types when they want to instruct a -// client to take a particular action. -// -// For the most part, we just try to provide local grpc errors. Most conditions -// map very well to those defined by grpc. -var ( - ErrUnknown = errors.New("unknown") // used internally to represent a missed mapping. - ErrInvalidArgument = errors.New("invalid argument") - ErrNotFound = errors.New("not found") - ErrAlreadyExists = errors.New("already exists") - ErrFailedPrecondition = errors.New("failed precondition") - ErrUnavailable = errors.New("unavailable") - ErrNotImplemented = errors.New("not implemented") // represents not supported and unimplemented -) - -// IsInvalidArgument returns true if the error is due to an invalid argument -func IsInvalidArgument(err error) bool { - return errors.Is(err, ErrInvalidArgument) -} - -// IsNotFound returns true if the error is due to a missing object -func IsNotFound(err error) bool { - return errors.Is(err, ErrNotFound) -} - -// IsAlreadyExists returns true if the error is due to an already existing -// metadata item -func IsAlreadyExists(err error) bool { - return errors.Is(err, ErrAlreadyExists) -} - -// IsFailedPrecondition returns true if an operation could not proceed to the -// lack of a particular condition -func IsFailedPrecondition(err error) bool { - return errors.Is(err, ErrFailedPrecondition) -} - -// IsUnavailable returns true if the error is due to a resource being unavailable -func IsUnavailable(err error) bool { - return errors.Is(err, ErrUnavailable) -} - -// IsNotImplemented returns true if the error is due to not being implemented -func IsNotImplemented(err error) bool { - return errors.Is(err, ErrNotImplemented) -} - -// IsCanceled returns true if the error is due to `context.Canceled`. -func IsCanceled(err error) bool { - return errors.Is(err, context.Canceled) -} - -// IsDeadlineExceeded returns true if the error is due to -// `context.DeadlineExceeded`. -func IsDeadlineExceeded(err error) bool { - return errors.Is(err, context.DeadlineExceeded) -} diff --git a/vendor/github.com/containerd/containerd/errdefs/grpc.go b/vendor/github.com/containerd/containerd/errdefs/grpc.go deleted file mode 100644 index 7a9b33e05a..0000000000 --- a/vendor/github.com/containerd/containerd/errdefs/grpc.go +++ /dev/null @@ -1,147 +0,0 @@ -/* - Copyright The containerd Authors. - - 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. -*/ - -package errdefs - -import ( - "context" - "fmt" - "strings" - - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -// ToGRPC will attempt to map the backend containerd error into a grpc error, -// using the original error message as a description. -// -// Further information may be extracted from certain errors depending on their -// type. -// -// If the error is unmapped, the original error will be returned to be handled -// by the regular grpc error handling stack. -func ToGRPC(err error) error { - if err == nil { - return nil - } - - if isGRPCError(err) { - // error has already been mapped to grpc - return err - } - - switch { - case IsInvalidArgument(err): - return status.Errorf(codes.InvalidArgument, err.Error()) - case IsNotFound(err): - return status.Errorf(codes.NotFound, err.Error()) - case IsAlreadyExists(err): - return status.Errorf(codes.AlreadyExists, err.Error()) - case IsFailedPrecondition(err): - return status.Errorf(codes.FailedPrecondition, err.Error()) - case IsUnavailable(err): - return status.Errorf(codes.Unavailable, err.Error()) - case IsNotImplemented(err): - return status.Errorf(codes.Unimplemented, err.Error()) - case IsCanceled(err): - return status.Errorf(codes.Canceled, err.Error()) - case IsDeadlineExceeded(err): - return status.Errorf(codes.DeadlineExceeded, err.Error()) - } - - return err -} - -// ToGRPCf maps the error to grpc error codes, assembling the formatting string -// and combining it with the target error string. -// -// This is equivalent to errdefs.ToGRPC(fmt.Errorf("%s: %w", fmt.Sprintf(format, args...), err)) -func ToGRPCf(err error, format string, args ...interface{}) error { - return ToGRPC(fmt.Errorf("%s: %w", fmt.Sprintf(format, args...), err)) -} - -// FromGRPC returns the underlying error from a grpc service based on the grpc error code -func FromGRPC(err error) error { - if err == nil { - return nil - } - - var cls error // divide these into error classes, becomes the cause - - switch code(err) { - case codes.InvalidArgument: - cls = ErrInvalidArgument - case codes.AlreadyExists: - cls = ErrAlreadyExists - case codes.NotFound: - cls = ErrNotFound - case codes.Unavailable: - cls = ErrUnavailable - case codes.FailedPrecondition: - cls = ErrFailedPrecondition - case codes.Unimplemented: - cls = ErrNotImplemented - case codes.Canceled: - cls = context.Canceled - case codes.DeadlineExceeded: - cls = context.DeadlineExceeded - default: - cls = ErrUnknown - } - - msg := rebaseMessage(cls, err) - if msg != "" { - err = fmt.Errorf("%s: %w", msg, cls) - } else { - err = cls - } - - return err -} - -// rebaseMessage removes the repeats for an error at the end of an error -// string. This will happen when taking an error over grpc then remapping it. -// -// Effectively, we just remove the string of cls from the end of err if it -// appears there. -func rebaseMessage(cls error, err error) string { - desc := errDesc(err) - clss := cls.Error() - if desc == clss { - return "" - } - - return strings.TrimSuffix(desc, ": "+clss) -} - -func isGRPCError(err error) bool { - _, ok := status.FromError(err) - return ok -} - -func code(err error) codes.Code { - if s, ok := status.FromError(err); ok { - return s.Code() - } - return codes.Unknown -} - -func errDesc(err error) string { - if s, ok := status.FromError(err); ok { - return s.Message() - } - return err.Error() -} diff --git a/vendor/github.com/containers/image/v5/copy/blob.go b/vendor/github.com/containers/image/v5/copy/blob.go index 8d5580d7cb..cfac3e6d58 100644 --- a/vendor/github.com/containers/image/v5/copy/blob.go +++ b/vendor/github.com/containers/image/v5/copy/blob.go @@ -43,7 +43,7 @@ func (ic *imageCopier) copyBlobFromStream(ctx context.Context, srcReader io.Read stream.reader = bar.ProxyReader(stream.reader) // === Decrypt the stream, if required. - decryptionStep, err := ic.blobPipelineDecryptionStep(&stream, srcInfo) + decryptionStep, err := ic.c.blobPipelineDecryptionStep(&stream, srcInfo) if err != nil { return types.BlobInfo{}, err } @@ -78,17 +78,17 @@ func (ic *imageCopier) copyBlobFromStream(ctx context.Context, srcReader io.Read // Before relaxing this, see the original pull request’s review if there are other reasons to reject this. return types.BlobInfo{}, errors.New("Unable to support both decryption and encryption in the same copy") } - encryptionStep, err := ic.blobPipelineEncryptionStep(&stream, toEncrypt, srcInfo, decryptionStep) + encryptionStep, err := ic.c.blobPipelineEncryptionStep(&stream, toEncrypt, srcInfo, decryptionStep) if err != nil { return types.BlobInfo{}, err } - // === Report progress using the ic.c.options.Progress channel, if required. - if ic.c.options.Progress != nil && ic.c.options.ProgressInterval > 0 { + // === Report progress using the ic.c.progress channel, if required. + if ic.c.progress != nil && ic.c.progressInterval > 0 { progressReader := newProgressReader( stream.reader, - ic.c.options.Progress, - ic.c.options.ProgressInterval, + ic.c.progress, + ic.c.progressInterval, srcInfo, ) defer progressReader.reportDone() @@ -104,11 +104,12 @@ func (ic *imageCopier) copyBlobFromStream(ctx context.Context, srcReader io.Read if !isConfig { options.LayerIndex = &layerIndex } - destBlob, err := ic.c.dest.PutBlobWithOptions(ctx, &errorAnnotationReader{stream.reader}, stream.info, options) + uploadedInfo, err := ic.c.dest.PutBlobWithOptions(ctx, &errorAnnotationReader{stream.reader}, stream.info, options) if err != nil { return types.BlobInfo{}, fmt.Errorf("writing blob: %w", err) } - uploadedInfo := updatedBlobInfoFromUpload(stream.info, destBlob) + + uploadedInfo.Annotations = stream.info.Annotations compressionStep.updateCompressionEdits(&uploadedInfo.CompressionOperation, &uploadedInfo.CompressionAlgorithm, &uploadedInfo.Annotations) decryptionStep.updateCryptoOperation(&uploadedInfo.CryptoOperation) @@ -168,20 +169,3 @@ func (r errorAnnotationReader) Read(b []byte) (n int, err error) { } return n, err } - -// updatedBlobInfoFromUpload returns inputInfo updated with uploadedBlob which was created based on inputInfo. -func updatedBlobInfoFromUpload(inputInfo types.BlobInfo, uploadedBlob private.UploadedBlob) types.BlobInfo { - // The transport is only tasked with dealing with the raw blob, and possibly computing Digest/Size. - // Handling of compression, encryption, and the related MIME types and the like are all the responsibility - // of the generic code in this package. - return types.BlobInfo{ - Digest: uploadedBlob.Digest, - Size: uploadedBlob.Size, - URLs: nil, // This _must_ be cleared if Digest changes; clear it in other cases as well, to preserve previous behavior. - Annotations: inputInfo.Annotations, - MediaType: inputInfo.MediaType, // Mostly irrelevant, MediaType is updated based on Compression/Crypto. - CompressionOperation: inputInfo.CompressionOperation, // Expected to be unset, and only updated by copyBlobFromStream. - CompressionAlgorithm: inputInfo.CompressionAlgorithm, // Expected to be unset, and only updated by copyBlobFromStream. - CryptoOperation: inputInfo.CryptoOperation, // Expected to be unset, and only updated by copyBlobFromStream. - } -} diff --git a/vendor/github.com/containers/image/v5/copy/compression.go b/vendor/github.com/containers/image/v5/copy/compression.go index a42e3b67ab..ff0e7945dd 100644 --- a/vendor/github.com/containers/image/v5/copy/compression.go +++ b/vendor/github.com/containers/image/v5/copy/compression.go @@ -6,30 +6,10 @@ import ( "io" internalblobinfocache "github.com/containers/image/v5/internal/blobinfocache" - "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/pkg/compression" compressiontypes "github.com/containers/image/v5/pkg/compression/types" "github.com/containers/image/v5/types" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" "github.com/sirupsen/logrus" - "golang.org/x/exp/maps" -) - -var ( - // defaultCompressionFormat is used if the destination transport requests - // compression, and the user does not explicitly instruct us to use an algorithm. - defaultCompressionFormat = &compression.Gzip - - // compressionBufferSize is the buffer size used to compress a blob - compressionBufferSize = 1048576 - - // expectedCompressionFormats is used to check if a blob with a specified media type is compressed - // using the algorithm that the media type says it should be compressed with - expectedCompressionFormats = map[string]*compressiontypes.Algorithm{ - imgspecv1.MediaTypeImageLayerGzip: &compression.Gzip, - imgspecv1.MediaTypeImageLayerZstd: &compression.Zstd, - manifest.DockerV2Schema2LayerMediaType: &compression.Gzip, - } ) // bpDetectCompressionStepData contains data that the copy pipeline needs about the “detect compression” step. @@ -129,13 +109,13 @@ func (ic *imageCopier) bpcCompressUncompressed(stream *sourceStream, detected bp if ic.c.dest.DesiredLayerCompression() == types.Compress && !detected.isCompressed { logrus.Debugf("Compressing blob on the fly") var uploadedAlgorithm *compressiontypes.Algorithm - if ic.compressionFormat != nil { - uploadedAlgorithm = ic.compressionFormat + if ic.c.compressionFormat != nil { + uploadedAlgorithm = ic.c.compressionFormat } else { uploadedAlgorithm = defaultCompressionFormat } - reader, annotations := ic.compressedStream(stream.reader, *uploadedAlgorithm) + reader, annotations := ic.c.compressedStream(stream.reader, *uploadedAlgorithm) // Note: reader must be closed on all return paths. stream.reader = reader stream.info = types.BlobInfo{ // FIXME? Should we preserve more data in src.info? @@ -157,7 +137,7 @@ func (ic *imageCopier) bpcCompressUncompressed(stream *sourceStream, detected bp // bpcRecompressCompressed checks if we should be recompressing a compressed input to another format, and returns a *bpCompressionStepData if so. func (ic *imageCopier) bpcRecompressCompressed(stream *sourceStream, detected bpDetectCompressionStepData) (*bpCompressionStepData, error) { if ic.c.dest.DesiredLayerCompression() == types.Compress && detected.isCompressed && - ic.compressionFormat != nil && ic.compressionFormat.Name() != detected.format.Name() { + ic.c.compressionFormat != nil && ic.c.compressionFormat.Name() != detected.format.Name() { // When the blob is compressed, but the desired format is different, it first needs to be decompressed and finally // re-compressed using the desired format. logrus.Debugf("Blob will be converted") @@ -173,20 +153,20 @@ func (ic *imageCopier) bpcRecompressCompressed(stream *sourceStream, detected bp } }() - recompressed, annotations := ic.compressedStream(decompressed, *ic.compressionFormat) + recompressed, annotations := ic.c.compressedStream(decompressed, *ic.c.compressionFormat) // Note: recompressed must be closed on all return paths. stream.reader = recompressed - stream.info = types.BlobInfo{ // FIXME? Should we preserve more data in src.info? Notably the current approach correctly removes zstd:chunked metadata annotations. + stream.info = types.BlobInfo{ // FIXME? Should we preserve more data in src.info? Digest: "", Size: -1, } succeeded = true return &bpCompressionStepData{ operation: types.PreserveOriginal, - uploadedAlgorithm: ic.compressionFormat, + uploadedAlgorithm: ic.c.compressionFormat, uploadedAnnotations: annotations, srcCompressorName: detected.srcCompressorName, - uploadedCompressorName: ic.compressionFormat.Name(), + uploadedCompressorName: ic.c.compressionFormat.Name(), closers: []io.Closer{decompressed, recompressed}, }, nil } @@ -203,7 +183,7 @@ func (ic *imageCopier) bpcDecompressCompressed(stream *sourceStream, detected bp } // Note: s must be closed on all return paths. stream.reader = s - stream.info = types.BlobInfo{ // FIXME? Should we preserve more data in src.info? Notably the current approach correctly removes zstd:chunked metadata annotations. + stream.info = types.BlobInfo{ // FIXME? Should we preserve more data in src.info? Digest: "", Size: -1, } @@ -219,9 +199,7 @@ func (ic *imageCopier) bpcDecompressCompressed(stream *sourceStream, detected bp } // bpcPreserveOriginal returns a *bpCompressionStepData for not changing the original blob. -// This does not change the sourceStream parameter; we include it for symmetry with other -// pipeline steps. -func (ic *imageCopier) bpcPreserveOriginal(_ *sourceStream, detected bpDetectCompressionStepData, +func (ic *imageCopier) bpcPreserveOriginal(stream *sourceStream, detected bpDetectCompressionStepData, layerCompressionChangeSupported bool) *bpCompressionStepData { logrus.Debugf("Using original blob without modification") // Remember if the original blob was compressed, and if so how, so that if @@ -254,11 +232,13 @@ func (d *bpCompressionStepData) updateCompressionEdits(operation *types.LayerCom if *annotations == nil { *annotations = map[string]string{} } - maps.Copy(*annotations, d.uploadedAnnotations) + for k, v := range d.uploadedAnnotations { + (*annotations)[k] = v + } } // recordValidatedBlobData updates b.blobInfoCache with data about the created uploadedInfo adnd the original srcInfo. -// This must ONLY be called if all data has been validated by OUR code, and is not coming from third parties. +// This must ONLY be called if all data has been validated by OUR code, and is not comming from third parties. func (d *bpCompressionStepData) recordValidatedDigestData(c *copier, uploadedInfo types.BlobInfo, srcInfo types.BlobInfo, encryptionStep *bpEncryptionStepData, decryptionStep *bpDecryptionStepData) error { // Don’t record any associations that involve encrypted data. This is a bit crude, @@ -284,24 +264,10 @@ func (d *bpCompressionStepData) recordValidatedDigestData(c *copier, uploadedInf } } if d.uploadedCompressorName != "" && d.uploadedCompressorName != internalblobinfocache.UnknownCompression { - if d.uploadedCompressorName != compressiontypes.ZstdChunkedAlgorithmName { - // HACK: Don’t record zstd:chunked algorithms. - // There is already a similar hack in internal/imagedestination/impl/helpers.BlobMatchesRequiredCompression, - // and that one prevents reusing zstd:chunked blobs, so recording the algorithm here would be mostly harmless. - // - // We skip that here anyway to work around the inability of blobPipelineDetectCompressionStep to differentiate - // between zstd and zstd:chunked; so we could, in varying situations over time, call RecordDigestCompressorName - // with the same digest and both ZstdAlgorithmName and ZstdChunkedAlgorithmName , which causes warnings about - // inconsistent data to be logged. - c.blobInfoCache.RecordDigestCompressorName(uploadedInfo.Digest, d.uploadedCompressorName) - } + c.blobInfoCache.RecordDigestCompressorName(uploadedInfo.Digest, d.uploadedCompressorName) } - if srcInfo.Digest != "" && srcInfo.Digest != uploadedInfo.Digest && - d.srcCompressorName != "" && d.srcCompressorName != internalblobinfocache.UnknownCompression { - if d.srcCompressorName != compressiontypes.ZstdChunkedAlgorithmName { - // HACK: Don’t record zstd:chunked algorithms, see above. - c.blobInfoCache.RecordDigestCompressorName(srcInfo.Digest, d.srcCompressorName) - } + if srcInfo.Digest != "" && d.srcCompressorName != "" && d.srcCompressorName != internalblobinfocache.UnknownCompression { + c.blobInfoCache.RecordDigestCompressorName(srcInfo.Digest, d.srcCompressorName) } return nil } @@ -332,24 +298,24 @@ func doCompression(dest io.Writer, src io.Reader, metadata map[string]string, co } // compressGoroutine reads all input from src and writes its compressed equivalent to dest. -func (ic *imageCopier) compressGoroutine(dest *io.PipeWriter, src io.Reader, metadata map[string]string, compressionFormat compressiontypes.Algorithm) { +func (c *copier) compressGoroutine(dest *io.PipeWriter, src io.Reader, metadata map[string]string, compressionFormat compressiontypes.Algorithm) { err := errors.New("Internal error: unexpected panic in compressGoroutine") defer func() { // Note that this is not the same as {defer dest.CloseWithError(err)}; we need err to be evaluated lazily. _ = dest.CloseWithError(err) // CloseWithError(nil) is equivalent to Close(), always returns nil }() - err = doCompression(dest, src, metadata, compressionFormat, ic.compressionLevel) + err = doCompression(dest, src, metadata, compressionFormat, c.compressionLevel) } // compressedStream returns a stream the input reader compressed using format, and a metadata map. // The caller must close the returned reader. // AFTER the stream is consumed, metadata will be updated with annotations to use on the data. -func (ic *imageCopier) compressedStream(reader io.Reader, algorithm compressiontypes.Algorithm) (io.ReadCloser, map[string]string) { +func (c *copier) compressedStream(reader io.Reader, algorithm compressiontypes.Algorithm) (io.ReadCloser, map[string]string) { pipeReader, pipeWriter := io.Pipe() annotations := map[string]string{} // If this fails while writing data, it will do pipeWriter.CloseWithError(); if it fails otherwise, // e.g. because we have exited and due to pipeReader.Close() above further writing to the pipe has failed, // we don’t care. - go ic.compressGoroutine(pipeWriter, reader, annotations, algorithm) // Closes pipeWriter + go c.compressGoroutine(pipeWriter, reader, annotations, algorithm) // Closes pipeWriter return pipeReader, annotations } diff --git a/vendor/github.com/containers/image/v5/copy/copy.go b/vendor/github.com/containers/image/v5/copy/copy.go index ad1453fcbc..6758d4de13 100644 --- a/vendor/github.com/containers/image/v5/copy/copy.go +++ b/vendor/github.com/containers/image/v5/copy/copy.go @@ -1,11 +1,15 @@ package copy import ( + "bytes" "context" "errors" "fmt" "io" "os" + "reflect" + "strings" + "sync" "time" "github.com/containers/image/v5/docker/reference" @@ -13,19 +17,20 @@ import ( "github.com/containers/image/v5/internal/image" "github.com/containers/image/v5/internal/imagedestination" "github.com/containers/image/v5/internal/imagesource" - internalManifest "github.com/containers/image/v5/internal/manifest" + "github.com/containers/image/v5/internal/pkg/platform" "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/pkg/blobinfocache" - compression "github.com/containers/image/v5/pkg/compression/types" + "github.com/containers/image/v5/pkg/compression" + compressiontypes "github.com/containers/image/v5/pkg/compression/types" "github.com/containers/image/v5/signature" - "github.com/containers/image/v5/signature/signer" "github.com/containers/image/v5/transports" "github.com/containers/image/v5/types" encconfig "github.com/containers/ocicrypt/config" digest "github.com/opencontainers/go-digest" + imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" + "github.com/vbauerster/mpb/v7" "golang.org/x/sync/semaphore" "golang.org/x/term" ) @@ -37,8 +42,52 @@ var ( // maxParallelDownloads is used to limit the maximum number of parallel // downloads. Let's follow Firefox by limiting it to 6. maxParallelDownloads = uint(6) + + // defaultCompressionFormat is used if the destination transport requests + // compression, and the user does not explicitly instruct us to use an algorithm. + defaultCompressionFormat = &compression.Gzip ) +// compressionBufferSize is the buffer size used to compress a blob +var compressionBufferSize = 1048576 + +// expectedCompressionFormats is used to check if a blob with a specified media type is compressed +// using the algorithm that the media type says it should be compressed with +var expectedCompressionFormats = map[string]*compressiontypes.Algorithm{ + imgspecv1.MediaTypeImageLayerGzip: &compression.Gzip, + imgspecv1.MediaTypeImageLayerZstd: &compression.Zstd, + manifest.DockerV2Schema2LayerMediaType: &compression.Gzip, +} + +// copier allows us to keep track of diffID values for blobs, and other +// data shared across one or more images in a possible manifest list. +type copier struct { + dest private.ImageDestination + rawSource private.ImageSource + reportWriter io.Writer + progressOutput io.Writer + progressInterval time.Duration + progress chan types.ProgressProperties + blobInfoCache internalblobinfocache.BlobInfoCache2 + compressionFormat *compressiontypes.Algorithm // Compression algorithm to use, if the user explicitly requested one, or nil. + compressionLevel *int + ociDecryptConfig *encconfig.DecryptConfig + ociEncryptConfig *encconfig.EncryptConfig + concurrentBlobCopiesSemaphore *semaphore.Weighted // Limits the amount of concurrently copied blobs + downloadForeignLayers bool +} + +// imageCopier tracks state specific to a single image (possibly an item of a manifest list) +type imageCopier struct { + c *copier + manifestUpdates *types.ManifestUpdateOptions + src *image.SourcedImage + diffIDsAreNeeded bool + cannotModifyManifestReason string // The reason the manifest cannot be modified, or an empty string if it can + canSubstituteBlobs bool + ociEncryptLayers *[]int +} + const ( // CopySystemImage is the default value which, when set in // Options.ImageListSelection, indicates that the caller expects only one @@ -72,36 +121,29 @@ type ImageListSelection int // Options allows supplying non-default configuration modifying the behavior of CopyImage. type Options struct { - RemoveSignatures bool // Remove any pre-existing signatures. Signers and SignBy… will still add a new signature. - // Signers to use to add signatures during the copy. - // Callers are still responsible for closing these Signer objects; they can be reused for multiple copy.Image operations in a row. - Signers []*signer.Signer + RemoveSignatures bool // Remove any pre-existing signatures. SignBy will still add a new signature. SignBy string // If non-empty, asks for a signature to be added during the copy, and specifies a key ID, as accepted by signature.NewGPGSigningMechanism().SignDockerManifest(), - SignPassphrase string // Passphrase to use when signing with the key ID from `SignBy`. + SignPassphrase string // Passphare to use when signing with the key ID from `SignBy`. SignBySigstorePrivateKeyFile string // If non-empty, asks for a signature to be added during the copy, using a sigstore private key file at the provided path. - SignSigstorePrivateKeyPassphrase []byte // Passphrase to use when signing with `SignBySigstorePrivateKeyFile`. + SignSigstorePrivateKeyPassphrase []byte // Passphare to use when signing with `SignBySigstorePrivateKeyFile`. SignIdentity reference.Named // Identify to use when signing, defaults to the docker reference of the destination - - ReportWriter io.Writer - SourceCtx *types.SystemContext - DestinationCtx *types.SystemContext - ProgressInterval time.Duration // time to wait between reports to signal the progress channel - Progress chan types.ProgressProperties // Reported to when ProgressInterval has arrived for a single artifact+offset. + ReportWriter io.Writer + SourceCtx *types.SystemContext + DestinationCtx *types.SystemContext + ProgressInterval time.Duration // time to wait between reports to signal the progress channel + Progress chan types.ProgressProperties // Reported to when ProgressInterval has arrived for a single artifact+offset. // Preserve digests, and fail if we cannot. PreserveDigests bool - // manifest MIME type of image set by user. "" is default and means use the autodetection to the manifest MIME type + // manifest MIME type of image set by user. "" is default and means use the autodetection to the the manifest MIME type ForceManifestMIMEType string ImageListSelection ImageListSelection // set to either CopySystemImage (the default), CopyAllImages, or CopySpecificImages to control which instances we copy when the source reference is a list; ignored if the source reference is not a list Instances []digest.Digest // if ImageListSelection is CopySpecificImages, copy only these instances and the list itself - // Give priority to pulling gzip images if multiple images are present when configured to OptionalBoolTrue, - // prefers the best compression if this is configured as OptionalBoolFalse. Choose automatically (and the choice may change over time) - // if this is set to OptionalBoolUndefined (which is the default behavior, and recommended for most callers). - // This only affects CopySystemImage. - PreferGzipInstances types.OptionalBool // If OciEncryptConfig is non-nil, it indicates that an image should be encrypted. // The encryption options is derived from the construction of EncryptConfig object. + // Note: During initial encryption process of a layer, the resultant digest is not known + // during creation, so newDigestingReader has to be set with validateDigest = false OciEncryptConfig *encconfig.EncryptConfig // OciEncryptLayers represents the list of layers to encrypt. // If nil, don't encrypt any layers. @@ -127,58 +169,27 @@ type Options struct { // Download layer contents with "nondistributable" media types ("foreign" layers) and translate the layer media type // to not indicate "nondistributable". DownloadForeignLayers bool - - // Contains slice of OptionCompressionVariant, where copy will ensure that for each platform - // in the manifest list, a variant with the requested compression will exist. - // Invalid when copying a non-multi-architecture image. That will probably - // change in the future. - EnsureCompressionVariantsExist []OptionCompressionVariant - // ForceCompressionFormat ensures that the compression algorithm set in - // DestinationCtx.CompressionFormat is used exclusively, and blobs of other - // compression algorithms are not reused. - ForceCompressionFormat bool } -// OptionCompressionVariant allows to supply information about -// selected compression algorithm and compression level by the -// end-user. Refer to EnsureCompressionVariantsExist to know -// more about its usage. -type OptionCompressionVariant struct { - Algorithm compression.Algorithm - Level *int // Only used when we are creating a new image instance using the specified algorithm, not when the image already contains such an instance -} - -// copier allows us to keep track of diffID values for blobs, and other -// data shared across one or more images in a possible manifest list. -// The owner must call close() when done. -type copier struct { - policyContext *signature.PolicyContext - dest private.ImageDestination - rawSource private.ImageSource - options *Options // never nil - - reportWriter io.Writer - progressOutput io.Writer - - unparsedToplevel *image.UnparsedImage // for rawSource - blobInfoCache internalblobinfocache.BlobInfoCache2 - concurrentBlobCopiesSemaphore *semaphore.Weighted // Limits the amount of concurrently copied blobs - signers []*signer.Signer // Signers to use to create new signatures for the image - signersToClose []*signer.Signer // Signers that should be closed when this copier is destroyed. -} - -// Internal function to validate `requireCompressionFormatMatch` for copySingleImageOptions -func shouldRequireCompressionFormatMatch(options *Options) (bool, error) { - if options.ForceCompressionFormat && (options.DestinationCtx == nil || options.DestinationCtx.CompressionFormat == nil) { - return false, fmt.Errorf("cannot use ForceCompressionFormat with undefined default compression format") +// validateImageListSelection returns an error if the passed-in value is not one that we recognize as a valid ImageListSelection value +func validateImageListSelection(selection ImageListSelection) error { + switch selection { + case CopySystemImage, CopyAllImages, CopySpecificImages: + return nil + default: + return fmt.Errorf("Invalid value for options.ImageListSelection: %d", selection) } - return options.ForceCompressionFormat, nil } // Image copies image from srcRef to destRef, using policyContext to validate // source image admissibility. It returns the manifest which was written to // the new copy of the image. func Image(ctx context.Context, policyContext *signature.PolicyContext, destRef, srcRef types.ImageReference, options *Options) (copiedManifest []byte, retErr error) { + // NOTE this function uses an output parameter for the error return value. + // Setting this and returning is the ideal way to return an error. + // + // the defers in this routine will wrap the error return with its own errors + // which can be valuable context in the middle of a multi-streamed copy. if options == nil { options = &Options{} } @@ -232,29 +243,26 @@ func Image(ctx context.Context, policyContext *signature.PolicyContext, destRef, } c := &copier{ - policyContext: policyContext, - dest: dest, - rawSource: rawSource, - options: options, - - reportWriter: reportWriter, - progressOutput: progressOutput, - - unparsedToplevel: image.UnparsedInstance(rawSource, nil), + dest: dest, + rawSource: rawSource, + reportWriter: reportWriter, + progressOutput: progressOutput, + progressInterval: options.ProgressInterval, + progress: options.Progress, // FIXME? The cache is used for sources and destinations equally, but we only have a SourceCtx and DestinationCtx. - // For now, use DestinationCtx (because blob reuse changes the behavior of the destination side more). - // Conceptually the cache settings should be in copy.Options instead. - blobInfoCache: internalblobinfocache.FromBlobInfoCache(blobinfocache.DefaultCache(options.DestinationCtx)), + // For now, use DestinationCtx (because blob reuse changes the behavior of the destination side more); eventually + // we might want to add a separate CommonCtx — or would that be too confusing? + blobInfoCache: internalblobinfocache.FromBlobInfoCache(blobinfocache.DefaultCache(options.DestinationCtx)), + ociDecryptConfig: options.OciDecryptConfig, + ociEncryptConfig: options.OciEncryptConfig, + downloadForeignLayers: options.DownloadForeignLayers, } - defer c.close() - c.blobInfoCache.Open() - defer c.blobInfoCache.Close() // Set the concurrentBlobCopiesSemaphore if we can copy layers in parallel. if dest.HasThreadSafePutBlob() && rawSource.HasThreadSafeGetBlob() { - c.concurrentBlobCopiesSemaphore = c.options.ConcurrentBlobCopiesSemaphore + c.concurrentBlobCopiesSemaphore = options.ConcurrentBlobCopiesSemaphore if c.concurrentBlobCopiesSemaphore == nil { - max := c.options.MaxParallelDownloads + max := options.MaxParallelDownloads if max == 0 { max = maxParallelDownloads } @@ -262,127 +270,614 @@ func Image(ctx context.Context, policyContext *signature.PolicyContext, destRef, } } else { c.concurrentBlobCopiesSemaphore = semaphore.NewWeighted(int64(1)) - if c.options.ConcurrentBlobCopiesSemaphore != nil { - if err := c.options.ConcurrentBlobCopiesSemaphore.Acquire(ctx, 1); err != nil { + if options.ConcurrentBlobCopiesSemaphore != nil { + if err := options.ConcurrentBlobCopiesSemaphore.Acquire(ctx, 1); err != nil { return nil, fmt.Errorf("acquiring semaphore for concurrent blob copies: %w", err) } - defer c.options.ConcurrentBlobCopiesSemaphore.Release(1) + defer options.ConcurrentBlobCopiesSemaphore.Release(1) } } - if err := c.setupSigners(); err != nil { - return nil, err + if options.DestinationCtx != nil { + // Note that compressionFormat and compressionLevel can be nil. + c.compressionFormat = options.DestinationCtx.CompressionFormat + c.compressionLevel = options.DestinationCtx.CompressionLevel } - multiImage, err := isMultiImage(ctx, c.unparsedToplevel) + unparsedToplevel := image.UnparsedInstance(rawSource, nil) + multiImage, err := isMultiImage(ctx, unparsedToplevel) if err != nil { return nil, fmt.Errorf("determining manifest MIME type for %s: %w", transports.ImageName(srcRef), err) } if !multiImage { - if len(options.EnsureCompressionVariantsExist) > 0 { - return nil, fmt.Errorf("EnsureCompressionVariantsExist is not implemented when not creating a multi-architecture image") - } - requireCompressionFormatMatch, err := shouldRequireCompressionFormatMatch(options) - if err != nil { - return nil, err - } // The simple case: just copy a single image. - single, err := c.copySingleImage(ctx, c.unparsedToplevel, nil, copySingleImageOptions{requireCompressionFormatMatch: requireCompressionFormatMatch}) - if err != nil { - return nil, err - } - copiedManifest = single.manifest - } else if c.options.ImageListSelection == CopySystemImage { - if len(options.EnsureCompressionVariantsExist) > 0 { - return nil, fmt.Errorf("EnsureCompressionVariantsExist is not implemented when not creating a multi-architecture image") - } - requireCompressionFormatMatch, err := shouldRequireCompressionFormatMatch(options) - if err != nil { + if copiedManifest, _, _, err = c.copyOneImage(ctx, policyContext, options, unparsedToplevel, unparsedToplevel, nil); err != nil { return nil, err } + } else if options.ImageListSelection == CopySystemImage { // This is a manifest list, and we weren't asked to copy multiple images. Choose a single image that // matches the current system to copy, and copy it. - mfest, manifestType, err := c.unparsedToplevel.Manifest(ctx) + mfest, manifestType, err := unparsedToplevel.Manifest(ctx) if err != nil { return nil, fmt.Errorf("reading manifest for %s: %w", transports.ImageName(srcRef), err) } - manifestList, err := internalManifest.ListFromBlob(mfest, manifestType) + manifestList, err := manifest.ListFromBlob(mfest, manifestType) if err != nil { return nil, fmt.Errorf("parsing primary manifest as list for %s: %w", transports.ImageName(srcRef), err) } - instanceDigest, err := manifestList.ChooseInstanceByCompression(c.options.SourceCtx, c.options.PreferGzipInstances) // try to pick one that matches c.options.SourceCtx + instanceDigest, err := manifestList.ChooseInstance(options.SourceCtx) // try to pick one that matches options.SourceCtx if err != nil { return nil, fmt.Errorf("choosing an image from manifest list %s: %w", transports.ImageName(srcRef), err) } logrus.Debugf("Source is a manifest list; copying (only) instance %s for current system", instanceDigest) unparsedInstance := image.UnparsedInstance(rawSource, &instanceDigest) - single, err := c.copySingleImage(ctx, unparsedInstance, nil, copySingleImageOptions{requireCompressionFormatMatch: requireCompressionFormatMatch}) - if err != nil { + + if copiedManifest, _, _, err = c.copyOneImage(ctx, policyContext, options, unparsedToplevel, unparsedInstance, nil); err != nil { return nil, fmt.Errorf("copying system image from manifest list: %w", err) } - copiedManifest = single.manifest - } else { /* c.options.ImageListSelection == CopyAllImages or c.options.ImageListSelection == CopySpecificImages, */ + } else { /* options.ImageListSelection == CopyAllImages or options.ImageListSelection == CopySpecificImages, */ // If we were asked to copy multiple images and can't, that's an error. if !supportsMultipleImages(c.dest) { return nil, fmt.Errorf("copying multiple images: destination transport %q does not support copying multiple images as a group", destRef.Transport().Name()) } // Copy some or all of the images. - switch c.options.ImageListSelection { + switch options.ImageListSelection { case CopyAllImages: logrus.Debugf("Source is a manifest list; copying all instances") case CopySpecificImages: logrus.Debugf("Source is a manifest list; copying some instances") } - if copiedManifest, err = c.copyMultipleImages(ctx); err != nil { + if copiedManifest, err = c.copyMultipleImages(ctx, policyContext, options, unparsedToplevel); err != nil { return nil, err } } - if err := c.dest.Commit(ctx, c.unparsedToplevel); err != nil { + if err := c.dest.Commit(ctx, unparsedToplevel); err != nil { return nil, fmt.Errorf("committing the finished image: %w", err) } return copiedManifest, nil } +// Checks if the destination supports accepting multiple images by checking if it can support +// manifest types that are lists of other manifests. +func supportsMultipleImages(dest types.ImageDestination) bool { + mtypes := dest.SupportedManifestMIMETypes() + if len(mtypes) == 0 { + // Anything goes! + return true + } + for _, mtype := range mtypes { + if manifest.MIMETypeIsMultiImage(mtype) { + return true + } + } + return false +} + +// compareImageDestinationManifestEqual compares the `src` and `dest` image manifests (reading the manifest from the +// (possibly remote) destination). Returning true and the destination's manifest, type and digest if they compare equal. +func compareImageDestinationManifestEqual(ctx context.Context, options *Options, src *image.SourcedImage, targetInstance *digest.Digest, dest types.ImageDestination) (bool, []byte, string, digest.Digest, error) { + srcManifestDigest, err := manifest.Digest(src.ManifestBlob) + if err != nil { + return false, nil, "", "", fmt.Errorf("calculating manifest digest: %w", err) + } + + destImageSource, err := dest.Reference().NewImageSource(ctx, options.DestinationCtx) + if err != nil { + logrus.Debugf("Unable to create destination image %s source: %v", dest.Reference(), err) + return false, nil, "", "", nil + } + + destManifest, destManifestType, err := destImageSource.GetManifest(ctx, targetInstance) + if err != nil { + logrus.Debugf("Unable to get destination image %s/%s manifest: %v", destImageSource, targetInstance, err) + return false, nil, "", "", nil + } + + destManifestDigest, err := manifest.Digest(destManifest) + if err != nil { + return false, nil, "", "", fmt.Errorf("calculating manifest digest: %w", err) + } + + logrus.Debugf("Comparing source and destination manifest digests: %v vs. %v", srcManifestDigest, destManifestDigest) + if srcManifestDigest != destManifestDigest { + return false, nil, "", "", nil + } + + // Destination and source manifests, types and digests should all be equivalent + return true, destManifest, destManifestType, destManifestDigest, nil +} + +// copyMultipleImages copies some or all of an image list's instances, using +// policyContext to validate source image admissibility. +func (c *copier) copyMultipleImages(ctx context.Context, policyContext *signature.PolicyContext, options *Options, unparsedToplevel *image.UnparsedImage) (copiedManifest []byte, retErr error) { + // Parse the list and get a copy of the original value after it's re-encoded. + manifestList, manifestType, err := unparsedToplevel.Manifest(ctx) + if err != nil { + return nil, fmt.Errorf("reading manifest list: %w", err) + } + originalList, err := manifest.ListFromBlob(manifestList, manifestType) + if err != nil { + return nil, fmt.Errorf("parsing manifest list %q: %w", string(manifestList), err) + } + updatedList := originalList.Clone() + + sigs, err := c.sourceSignatures(ctx, unparsedToplevel, options, + "Getting image list signatures", + "Checking if image list destination supports signatures") + if err != nil { + return nil, err + } + + // If the destination is a digested reference, make a note of that, determine what digest value we're + // expecting, and check that the source manifest matches it. + destIsDigestedReference := false + if named := c.dest.Reference().DockerReference(); named != nil { + if digested, ok := named.(reference.Digested); ok { + destIsDigestedReference = true + matches, err := manifest.MatchesDigest(manifestList, digested.Digest()) + if err != nil { + return nil, fmt.Errorf("computing digest of source image's manifest: %w", err) + } + if !matches { + return nil, errors.New("Digest of source image's manifest would not match destination reference") + } + } + } + + // Determine if we're allowed to modify the manifest list. + // If we can, set to the empty string. If we can't, set to the reason why. + // Compare, and perhaps keep in sync with, the version in copyOneImage. + cannotModifyManifestListReason := "" + if len(sigs) > 0 { + cannotModifyManifestListReason = "Would invalidate signatures" + } + if destIsDigestedReference { + cannotModifyManifestListReason = "Destination specifies a digest" + } + if options.PreserveDigests { + cannotModifyManifestListReason = "Instructed to preserve digests" + } + + // Determine if we'll need to convert the manifest list to a different format. + forceListMIMEType := options.ForceManifestMIMEType + switch forceListMIMEType { + case manifest.DockerV2Schema1MediaType, manifest.DockerV2Schema1SignedMediaType, manifest.DockerV2Schema2MediaType: + forceListMIMEType = manifest.DockerV2ListMediaType + case imgspecv1.MediaTypeImageManifest: + forceListMIMEType = imgspecv1.MediaTypeImageIndex + } + selectedListType, otherManifestMIMETypeCandidates, err := c.determineListConversion(manifestType, c.dest.SupportedManifestMIMETypes(), forceListMIMEType) + if err != nil { + return nil, fmt.Errorf("determining manifest list type to write to destination: %w", err) + } + if selectedListType != originalList.MIMEType() { + if cannotModifyManifestListReason != "" { + return nil, fmt.Errorf("Manifest list must be converted to type %q to be written to destination, but we cannot modify it: %q", selectedListType, cannotModifyManifestListReason) + } + } + + // Copy each image, or just the ones we want to copy, in turn. + instanceDigests := updatedList.Instances() + imagesToCopy := len(instanceDigests) + if options.ImageListSelection == CopySpecificImages { + imagesToCopy = len(options.Instances) + } + c.Printf("Copying %d of %d images in list\n", imagesToCopy, len(instanceDigests)) + updates := make([]manifest.ListUpdate, len(instanceDigests)) + instancesCopied := 0 + for i, instanceDigest := range instanceDigests { + if options.ImageListSelection == CopySpecificImages { + skip := true + for _, instance := range options.Instances { + if instance == instanceDigest { + skip = false + break + } + } + if skip { + update, err := updatedList.Instance(instanceDigest) + if err != nil { + return nil, err + } + logrus.Debugf("Skipping instance %s (%d/%d)", instanceDigest, i+1, len(instanceDigests)) + // Record the digest/size/type of the manifest that we didn't copy. + updates[i] = update + continue + } + } + logrus.Debugf("Copying instance %s (%d/%d)", instanceDigest, i+1, len(instanceDigests)) + c.Printf("Copying image %s (%d/%d)\n", instanceDigest, instancesCopied+1, imagesToCopy) + unparsedInstance := image.UnparsedInstance(c.rawSource, &instanceDigest) + updatedManifest, updatedManifestType, updatedManifestDigest, err := c.copyOneImage(ctx, policyContext, options, unparsedToplevel, unparsedInstance, &instanceDigest) + if err != nil { + return nil, fmt.Errorf("copying image %d/%d from manifest list: %w", instancesCopied+1, imagesToCopy, err) + } + instancesCopied++ + // Record the result of a possible conversion here. + update := manifest.ListUpdate{ + Digest: updatedManifestDigest, + Size: int64(len(updatedManifest)), + MediaType: updatedManifestType, + } + updates[i] = update + } + + // Now reset the digest/size/types of the manifests in the list to account for any conversions that we made. + if err = updatedList.UpdateInstances(updates); err != nil { + return nil, fmt.Errorf("updating manifest list: %w", err) + } + + // Iterate through supported list types, preferred format first. + c.Printf("Writing manifest list to image destination\n") + var errs []string + for _, thisListType := range append([]string{selectedListType}, otherManifestMIMETypeCandidates...) { + attemptedList := updatedList + + logrus.Debugf("Trying to use manifest list type %s…", thisListType) + + // Perform the list conversion, if we need one. + if thisListType != updatedList.MIMEType() { + attemptedList, err = updatedList.ConvertToMIMEType(thisListType) + if err != nil { + return nil, fmt.Errorf("converting manifest list to list with MIME type %q: %w", thisListType, err) + } + } + + // Check if the updates or a type conversion meaningfully changed the list of images + // by serializing them both so that we can compare them. + attemptedManifestList, err := attemptedList.Serialize() + if err != nil { + return nil, fmt.Errorf("encoding updated manifest list (%q: %#v): %w", updatedList.MIMEType(), updatedList.Instances(), err) + } + originalManifestList, err := originalList.Serialize() + if err != nil { + return nil, fmt.Errorf("encoding original manifest list for comparison (%q: %#v): %w", originalList.MIMEType(), originalList.Instances(), err) + } + + // If we can't just use the original value, but we have to change it, flag an error. + if !bytes.Equal(attemptedManifestList, originalManifestList) { + if cannotModifyManifestListReason != "" { + return nil, fmt.Errorf("Manifest list must be converted to type %q to be written to destination, but we cannot modify it: %q", thisListType, cannotModifyManifestListReason) + } + logrus.Debugf("Manifest list has been updated") + } else { + // We can just use the original value, so use it instead of the one we just rebuilt, so that we don't change the digest. + attemptedManifestList = manifestList + } + + // Save the manifest list. + err = c.dest.PutManifest(ctx, attemptedManifestList, nil) + if err != nil { + logrus.Debugf("Upload of manifest list type %s failed: %v", thisListType, err) + errs = append(errs, fmt.Sprintf("%s(%v)", thisListType, err)) + continue + } + errs = nil + manifestList = attemptedManifestList + break + } + if errs != nil { + return nil, fmt.Errorf("Uploading manifest list failed, attempted the following formats: %s", strings.Join(errs, ", ")) + } + + // Sign the manifest list. + if options.SignBy != "" { + newSig, err := c.createSignature(manifestList, options.SignBy, options.SignPassphrase, options.SignIdentity) + if err != nil { + return nil, err + } + sigs = append(sigs, newSig) + } + if options.SignBySigstorePrivateKeyFile != "" { + newSig, err := c.createSigstoreSignature(manifestList, options.SignBySigstorePrivateKeyFile, options.SignSigstorePrivateKeyPassphrase, options.SignIdentity) + if err != nil { + return nil, err + } + sigs = append(sigs, newSig) + } + + c.Printf("Storing list signatures\n") + if err := c.dest.PutSignaturesWithFormat(ctx, sigs, nil); err != nil { + return nil, fmt.Errorf("writing signatures: %w", err) + } + + return manifestList, nil +} + +// copyOneImage copies a single (non-manifest-list) image unparsedImage, using policyContext to validate +// source image admissibility. +func (c *copier) copyOneImage(ctx context.Context, policyContext *signature.PolicyContext, options *Options, unparsedToplevel, unparsedImage *image.UnparsedImage, targetInstance *digest.Digest) (retManifest []byte, retManifestType string, retManifestDigest digest.Digest, retErr error) { + // The caller is handling manifest lists; this could happen only if a manifest list contains a manifest list. + // Make sure we fail cleanly in such cases. + multiImage, err := isMultiImage(ctx, unparsedImage) + if err != nil { + // FIXME FIXME: How to name a reference for the sub-image? + return nil, "", "", fmt.Errorf("determining manifest MIME type for %s: %w", transports.ImageName(unparsedImage.Reference()), err) + } + if multiImage { + return nil, "", "", fmt.Errorf("Unexpectedly received a manifest list instead of a manifest for a single image") + } + + // Please keep this policy check BEFORE reading any other information about the image. + // (The multiImage check above only matches the MIME type, which we have received anyway. + // Actual parsing of anything should be deferred.) + if allowed, err := policyContext.IsRunningImageAllowed(ctx, unparsedImage); !allowed || err != nil { // Be paranoid and fail if either return value indicates so. + return nil, "", "", fmt.Errorf("Source image rejected: %w", err) + } + src, err := image.FromUnparsedImage(ctx, options.SourceCtx, unparsedImage) + if err != nil { + return nil, "", "", fmt.Errorf("initializing image from source %s: %w", transports.ImageName(c.rawSource.Reference()), err) + } + + // If the destination is a digested reference, make a note of that, determine what digest value we're + // expecting, and check that the source manifest matches it. If the source manifest doesn't, but it's + // one item from a manifest list that matches it, accept that as a match. + destIsDigestedReference := false + if named := c.dest.Reference().DockerReference(); named != nil { + if digested, ok := named.(reference.Digested); ok { + destIsDigestedReference = true + matches, err := manifest.MatchesDigest(src.ManifestBlob, digested.Digest()) + if err != nil { + return nil, "", "", fmt.Errorf("computing digest of source image's manifest: %w", err) + } + if !matches { + manifestList, _, err := unparsedToplevel.Manifest(ctx) + if err != nil { + return nil, "", "", fmt.Errorf("reading manifest from source image: %w", err) + } + matches, err = manifest.MatchesDigest(manifestList, digested.Digest()) + if err != nil { + return nil, "", "", fmt.Errorf("computing digest of source image's manifest: %w", err) + } + if !matches { + return nil, "", "", errors.New("Digest of source image's manifest would not match destination reference") + } + } + } + } + + if err := checkImageDestinationForCurrentRuntime(ctx, options.DestinationCtx, src, c.dest); err != nil { + return nil, "", "", err + } + + sigs, err := c.sourceSignatures(ctx, src, options, + "Getting image source signatures", + "Checking if image destination supports signatures") + if err != nil { + return nil, "", "", err + } + + // Determine if we're allowed to modify the manifest. + // If we can, set to the empty string. If we can't, set to the reason why. + // Compare, and perhaps keep in sync with, the version in copyMultipleImages. + cannotModifyManifestReason := "" + if len(sigs) > 0 { + cannotModifyManifestReason = "Would invalidate signatures" + } + if destIsDigestedReference { + cannotModifyManifestReason = "Destination specifies a digest" + } + if options.PreserveDigests { + cannotModifyManifestReason = "Instructed to preserve digests" + } + + ic := imageCopier{ + c: c, + manifestUpdates: &types.ManifestUpdateOptions{InformationOnly: types.ManifestUpdateInformation{Destination: c.dest}}, + src: src, + // diffIDsAreNeeded is computed later + cannotModifyManifestReason: cannotModifyManifestReason, + ociEncryptLayers: options.OciEncryptLayers, + } + // Decide whether we can substitute blobs with semantic equivalents: + // - Don’t do that if we can’t modify the manifest at all + // - Ensure _this_ copy sees exactly the intended data when either processing a signed image or signing it. + // This may be too conservative, but for now, better safe than sorry, _especially_ on the SignBy path: + // The signature makes the content non-repudiable, so it very much matters that the signature is made over exactly what the user intended. + // We do intend the RecordDigestUncompressedPair calls to only work with reliable data, but at least there’s a risk + // that the compressed version coming from a third party may be designed to attack some other decompressor implementation, + // and we would reuse and sign it. + ic.canSubstituteBlobs = ic.cannotModifyManifestReason == "" && options.SignBy == "" && options.SignBySigstorePrivateKeyFile == "" + + if err := ic.updateEmbeddedDockerReference(); err != nil { + return nil, "", "", err + } + + destRequiresOciEncryption := (isEncrypted(src) && ic.c.ociDecryptConfig != nil) || options.OciEncryptLayers != nil + + manifestConversionPlan, err := determineManifestConversion(determineManifestConversionInputs{ + srcMIMEType: ic.src.ManifestMIMEType, + destSupportedManifestMIMETypes: ic.c.dest.SupportedManifestMIMETypes(), + forceManifestMIMEType: options.ForceManifestMIMEType, + requiresOCIEncryption: destRequiresOciEncryption, + cannotModifyManifestReason: ic.cannotModifyManifestReason, + }) + if err != nil { + return nil, "", "", err + } + // We set up this part of ic.manifestUpdates quite early, not just around the + // code that calls copyUpdatedConfigAndManifest, so that other parts of the copy code + // (e.g. the UpdatedImageNeedsLayerDiffIDs check just below) can make decisions based + // on the expected destination format. + if manifestConversionPlan.preferredMIMETypeNeedsConversion { + ic.manifestUpdates.ManifestMIMEType = manifestConversionPlan.preferredMIMEType + } + + // If src.UpdatedImageNeedsLayerDiffIDs(ic.manifestUpdates) will be true, it needs to be true by the time we get here. + ic.diffIDsAreNeeded = src.UpdatedImageNeedsLayerDiffIDs(*ic.manifestUpdates) + + // If enabled, fetch and compare the destination's manifest. And as an optimization skip updating the destination iff equal + if options.OptimizeDestinationImageAlreadyExists { + shouldUpdateSigs := len(sigs) > 0 || options.SignBy != "" || options.SignBySigstorePrivateKeyFile != "" // TODO: Consider allowing signatures updates only and skipping the image's layers/manifest copy if possible + noPendingManifestUpdates := ic.noPendingManifestUpdates() + + logrus.Debugf("Checking if we can skip copying: has signatures=%t, OCI encryption=%t, no manifest updates=%t", shouldUpdateSigs, destRequiresOciEncryption, noPendingManifestUpdates) + if !shouldUpdateSigs && !destRequiresOciEncryption && noPendingManifestUpdates { + isSrcDestManifestEqual, retManifest, retManifestType, retManifestDigest, err := compareImageDestinationManifestEqual(ctx, options, src, targetInstance, c.dest) + if err != nil { + logrus.Warnf("Failed to compare destination image manifest: %v", err) + return nil, "", "", err + } + + if isSrcDestManifestEqual { + c.Printf("Skipping: image already present at destination\n") + return retManifest, retManifestType, retManifestDigest, nil + } + } + } + + if err := ic.copyLayers(ctx); err != nil { + return nil, "", "", err + } + + // With docker/distribution registries we do not know whether the registry accepts schema2 or schema1 only; + // and at least with the OpenShift registry "acceptschema2" option, there is no way to detect the support + // without actually trying to upload something and getting a types.ManifestTypeRejectedError. + // So, try the preferred manifest MIME type with possibly-updated blob digests, media types, and sizes if + // we're altering how they're compressed. If the process succeeds, fine… + manifestBytes, retManifestDigest, err := ic.copyUpdatedConfigAndManifest(ctx, targetInstance) + retManifestType = manifestConversionPlan.preferredMIMEType + if err != nil { + logrus.Debugf("Writing manifest using preferred type %s failed: %v", manifestConversionPlan.preferredMIMEType, err) + // … if it fails, and the failure is either because the manifest is rejected by the registry, or + // because we failed to create a manifest of the specified type because the specific manifest type + // doesn't support the type of compression we're trying to use (e.g. docker v2s2 and zstd), we may + // have other options available that could still succeed. + var manifestTypeRejectedError types.ManifestTypeRejectedError + var manifestLayerCompressionIncompatibilityError manifest.ManifestLayerCompressionIncompatibilityError + isManifestRejected := errors.As(err, &manifestTypeRejectedError) + isCompressionIncompatible := errors.As(err, &manifestLayerCompressionIncompatibilityError) + if (!isManifestRejected && !isCompressionIncompatible) || len(manifestConversionPlan.otherMIMETypeCandidates) == 0 { + // We don’t have other options. + // In principle the code below would handle this as well, but the resulting error message is fairly ugly. + // Don’t bother the user with MIME types if we have no choice. + return nil, "", "", err + } + // If the original MIME type is acceptable, determineManifestConversion always uses it as manifestConversionPlan.preferredMIMEType. + // So if we are here, we will definitely be trying to convert the manifest. + // With ic.cannotModifyManifestReason != "", that would just be a string of repeated failures for the same reason, + // so let’s bail out early and with a better error message. + if ic.cannotModifyManifestReason != "" { + return nil, "", "", fmt.Errorf("writing manifest failed and we cannot try conversions: %q: %w", cannotModifyManifestReason, err) + } + + // errs is a list of errors when trying various manifest types. Also serves as an "upload succeeded" flag when set to nil. + errs := []string{fmt.Sprintf("%s(%v)", manifestConversionPlan.preferredMIMEType, err)} + for _, manifestMIMEType := range manifestConversionPlan.otherMIMETypeCandidates { + logrus.Debugf("Trying to use manifest type %s…", manifestMIMEType) + ic.manifestUpdates.ManifestMIMEType = manifestMIMEType + attemptedManifest, attemptedManifestDigest, err := ic.copyUpdatedConfigAndManifest(ctx, targetInstance) + if err != nil { + logrus.Debugf("Upload of manifest type %s failed: %v", manifestMIMEType, err) + errs = append(errs, fmt.Sprintf("%s(%v)", manifestMIMEType, err)) + continue + } + + // We have successfully uploaded a manifest. + manifestBytes = attemptedManifest + retManifestDigest = attemptedManifestDigest + retManifestType = manifestMIMEType + errs = nil // Mark this as a success so that we don't abort below. + break + } + if errs != nil { + return nil, "", "", fmt.Errorf("Uploading manifest failed, attempted the following formats: %s", strings.Join(errs, ", ")) + } + } + if targetInstance != nil { + targetInstance = &retManifestDigest + } + + if options.SignBy != "" { + newSig, err := c.createSignature(manifestBytes, options.SignBy, options.SignPassphrase, options.SignIdentity) + if err != nil { + return nil, "", "", err + } + sigs = append(sigs, newSig) + } + if options.SignBySigstorePrivateKeyFile != "" { + newSig, err := c.createSigstoreSignature(manifestBytes, options.SignBySigstorePrivateKeyFile, options.SignSigstorePrivateKeyPassphrase, options.SignIdentity) + if err != nil { + return nil, "", "", err + } + sigs = append(sigs, newSig) + } + + c.Printf("Storing signatures\n") + if err := c.dest.PutSignaturesWithFormat(ctx, sigs, targetInstance); err != nil { + return nil, "", "", fmt.Errorf("writing signatures: %w", err) + } + + return manifestBytes, retManifestType, retManifestDigest, nil +} + // Printf writes a formatted string to c.reportWriter. // Note that the method name Printf is not entirely arbitrary: (go tool vet) // has a built-in list of functions/methods (whatever object they are for) // which have their format strings checked; for other names we would have // to pass a parameter to every (go tool vet) invocation. -func (c *copier) Printf(format string, a ...any) { +func (c *copier) Printf(format string, a ...interface{}) { fmt.Fprintf(c.reportWriter, format, a...) } -// close tears down state owned by copier. -func (c *copier) close() { - for i, s := range c.signersToClose { - if err := s.Close(); err != nil { - logrus.Warnf("Error closing per-copy signer %d: %v", i+1, err) +// checkImageDestinationForCurrentRuntime enforces dest.MustMatchRuntimeOS, if necessary. +func checkImageDestinationForCurrentRuntime(ctx context.Context, sys *types.SystemContext, src types.Image, dest types.ImageDestination) error { + if dest.MustMatchRuntimeOS() { + c, err := src.OCIConfig(ctx) + if err != nil { + return fmt.Errorf("parsing image configuration: %w", err) + } + wantedPlatforms, err := platform.WantedPlatforms(sys) + if err != nil { + return fmt.Errorf("getting current platform information %#v: %w", sys, err) + } + + options := newOrderedSet() + match := false + for _, wantedPlatform := range wantedPlatforms { + // Waiting for https://github.com/opencontainers/image-spec/pull/777 : + // This currently can’t use image.MatchesPlatform because we don’t know what to use + // for image.Variant. + if wantedPlatform.OS == c.OS && wantedPlatform.Architecture == c.Architecture { + match = true + break + } + options.append(fmt.Sprintf("%s+%s", wantedPlatform.OS, wantedPlatform.Architecture)) + } + if !match { + logrus.Infof("Image operating system mismatch: image uses OS %q+architecture %q, expecting one of %q", + c.OS, c.Architecture, strings.Join(options.list, ", ")) } } + return nil } -// validateImageListSelection returns an error if the passed-in value is not one that we recognize as a valid ImageListSelection value -func validateImageListSelection(selection ImageListSelection) error { - switch selection { - case CopySystemImage, CopyAllImages, CopySpecificImages: - return nil - default: - return fmt.Errorf("Invalid value for options.ImageListSelection: %d", selection) +// updateEmbeddedDockerReference handles the Docker reference embedded in Docker schema1 manifests. +func (ic *imageCopier) updateEmbeddedDockerReference() error { + if ic.c.dest.IgnoresEmbeddedDockerReference() { + return nil // Destination would prefer us not to update the embedded reference. + } + destRef := ic.c.dest.Reference().DockerReference() + if destRef == nil { + return nil // Destination does not care about Docker references + } + if !ic.src.EmbeddedDockerReferenceConflicts(destRef) { + return nil // No reference embedded in the manifest, or it matches destRef already. } -} -// Checks if the destination supports accepting multiple images by checking if it can support -// manifest types that are lists of other manifests. -func supportsMultipleImages(dest types.ImageDestination) bool { - mtypes := dest.SupportedManifestMIMETypes() - if len(mtypes) == 0 { - // Anything goes! - return true + if ic.cannotModifyManifestReason != "" { + return fmt.Errorf("Copying a schema1 image with an embedded Docker reference to %s (Docker reference %s) would change the manifest, which we cannot do: %q", + transports.ImageName(ic.c.dest.Reference()), destRef.String(), ic.cannotModifyManifestReason) } - return slices.ContainsFunc(mtypes, manifest.MIMETypeIsMultiImage) + ic.manifestUpdates.EmbeddedDockerReference = destRef + return nil +} + +func (ic *imageCopier) noPendingManifestUpdates() bool { + return reflect.DeepEqual(*ic.manifestUpdates, types.ManifestUpdateOptions{InformationOnly: ic.manifestUpdates.InformationOnly}) } // isTTY returns true if the io.Writer is a file and a tty. @@ -392,3 +887,458 @@ func isTTY(w io.Writer) bool { } return false } + +// copyLayers copies layers from ic.src/ic.c.rawSource to dest, using and updating ic.manifestUpdates if necessary and ic.cannotModifyManifestReason == "". +func (ic *imageCopier) copyLayers(ctx context.Context) error { + srcInfos := ic.src.LayerInfos() + numLayers := len(srcInfos) + updatedSrcInfos, err := ic.src.LayerInfosForCopy(ctx) + if err != nil { + return err + } + srcInfosUpdated := false + // If we only need to check authorization, no updates required. + if updatedSrcInfos != nil && !reflect.DeepEqual(srcInfos, updatedSrcInfos) { + if ic.cannotModifyManifestReason != "" { + return fmt.Errorf("Copying this image would require changing layer representation, which we cannot do: %q", ic.cannotModifyManifestReason) + } + srcInfos = updatedSrcInfos + srcInfosUpdated = true + } + + type copyLayerData struct { + destInfo types.BlobInfo + diffID digest.Digest + err error + } + + // The manifest is used to extract the information whether a given + // layer is empty. + man, err := manifest.FromBlob(ic.src.ManifestBlob, ic.src.ManifestMIMEType) + if err != nil { + return err + } + manifestLayerInfos := man.LayerInfos() + + // copyGroup is used to determine if all layers are copied + copyGroup := sync.WaitGroup{} + + data := make([]copyLayerData, numLayers) + copyLayerHelper := func(index int, srcLayer types.BlobInfo, toEncrypt bool, pool *mpb.Progress, srcRef reference.Named) { + defer ic.c.concurrentBlobCopiesSemaphore.Release(1) + defer copyGroup.Done() + cld := copyLayerData{} + if !ic.c.downloadForeignLayers && ic.c.dest.AcceptsForeignLayerURLs() && len(srcLayer.URLs) != 0 { + // DiffIDs are, currently, needed only when converting from schema1. + // In which case src.LayerInfos will not have URLs because schema1 + // does not support them. + if ic.diffIDsAreNeeded { + cld.err = errors.New("getting DiffID for foreign layers is unimplemented") + } else { + cld.destInfo = srcLayer + logrus.Debugf("Skipping foreign layer %q copy to %s", cld.destInfo.Digest, ic.c.dest.Reference().Transport().Name()) + } + } else { + cld.destInfo, cld.diffID, cld.err = ic.copyLayer(ctx, srcLayer, toEncrypt, pool, index, srcRef, manifestLayerInfos[index].EmptyLayer) + } + data[index] = cld + } + + // Create layer Encryption map + encLayerBitmap := map[int]bool{} + var encryptAll bool + if ic.ociEncryptLayers != nil { + encryptAll = len(*ic.ociEncryptLayers) == 0 + totalLayers := len(srcInfos) + for _, l := range *ic.ociEncryptLayers { + // if layer is negative, it is reverse indexed. + encLayerBitmap[(totalLayers+l)%totalLayers] = true + } + + if encryptAll { + for i := 0; i < len(srcInfos); i++ { + encLayerBitmap[i] = true + } + } + } + + if err := func() error { // A scope for defer + progressPool := ic.c.newProgressPool() + defer progressPool.Wait() + + // Ensure we wait for all layers to be copied. progressPool.Wait() must not be called while any of the copyLayerHelpers interact with the progressPool. + defer copyGroup.Wait() + + for i, srcLayer := range srcInfos { + err = ic.c.concurrentBlobCopiesSemaphore.Acquire(ctx, 1) + if err != nil { + // This can only fail with ctx.Err(), so no need to blame acquiring the semaphore. + return fmt.Errorf("copying layer: %w", err) + } + copyGroup.Add(1) + go copyLayerHelper(i, srcLayer, encLayerBitmap[i], progressPool, ic.c.rawSource.Reference().DockerReference()) + } + + // A call to copyGroup.Wait() is done at this point by the defer above. + return nil + }(); err != nil { + return err + } + + destInfos := make([]types.BlobInfo, numLayers) + diffIDs := make([]digest.Digest, numLayers) + for i, cld := range data { + if cld.err != nil { + return cld.err + } + destInfos[i] = cld.destInfo + diffIDs[i] = cld.diffID + } + + // WARNING: If you are adding new reasons to change ic.manifestUpdates, also update the + // OptimizeDestinationImageAlreadyExists short-circuit conditions + ic.manifestUpdates.InformationOnly.LayerInfos = destInfos + if ic.diffIDsAreNeeded { + ic.manifestUpdates.InformationOnly.LayerDiffIDs = diffIDs + } + if srcInfosUpdated || layerDigestsDiffer(srcInfos, destInfos) { + ic.manifestUpdates.LayerInfos = destInfos + } + return nil +} + +// layerDigestsDiffer returns true iff the digests in a and b differ (ignoring sizes and possible other fields) +func layerDigestsDiffer(a, b []types.BlobInfo) bool { + if len(a) != len(b) { + return true + } + for i := range a { + if a[i].Digest != b[i].Digest { + return true + } + } + return false +} + +// copyUpdatedConfigAndManifest updates the image per ic.manifestUpdates, if necessary, +// stores the resulting config and manifest to the destination, and returns the stored manifest +// and its digest. +func (ic *imageCopier) copyUpdatedConfigAndManifest(ctx context.Context, instanceDigest *digest.Digest) ([]byte, digest.Digest, error) { + var pendingImage types.Image = ic.src + if !ic.noPendingManifestUpdates() { + if ic.cannotModifyManifestReason != "" { + return nil, "", fmt.Errorf("Internal error: copy needs an updated manifest but that was known to be forbidden: %q", ic.cannotModifyManifestReason) + } + if !ic.diffIDsAreNeeded && ic.src.UpdatedImageNeedsLayerDiffIDs(*ic.manifestUpdates) { + // We have set ic.diffIDsAreNeeded based on the preferred MIME type returned by determineManifestConversion. + // So, this can only happen if we are trying to upload using one of the other MIME type candidates. + // Because UpdatedImageNeedsLayerDiffIDs is true only when converting from s1 to s2, this case should only arise + // when ic.c.dest.SupportedManifestMIMETypes() includes both s1 and s2, the upload using s1 failed, and we are now trying s2. + // Supposedly s2-only registries do not exist or are extremely rare, so failing with this error message is good enough for now. + // If handling such registries turns out to be necessary, we could compute ic.diffIDsAreNeeded based on the full list of manifest MIME type candidates. + return nil, "", fmt.Errorf("Can not convert image to %s, preparing DiffIDs for this case is not supported", ic.manifestUpdates.ManifestMIMEType) + } + pi, err := ic.src.UpdatedImage(ctx, *ic.manifestUpdates) + if err != nil { + return nil, "", fmt.Errorf("creating an updated image manifest: %w", err) + } + pendingImage = pi + } + man, _, err := pendingImage.Manifest(ctx) + if err != nil { + return nil, "", fmt.Errorf("reading manifest: %w", err) + } + + if err := ic.copyConfig(ctx, pendingImage); err != nil { + return nil, "", err + } + + ic.c.Printf("Writing manifest to image destination\n") + manifestDigest, err := manifest.Digest(man) + if err != nil { + return nil, "", err + } + if instanceDigest != nil { + instanceDigest = &manifestDigest + } + if err := ic.c.dest.PutManifest(ctx, man, instanceDigest); err != nil { + logrus.Debugf("Error %v while writing manifest %q", err, string(man)) + return nil, "", fmt.Errorf("writing manifest: %w", err) + } + return man, manifestDigest, nil +} + +// copyConfig copies config.json, if any, from src to dest. +func (ic *imageCopier) copyConfig(ctx context.Context, src types.Image) error { + srcInfo := src.ConfigInfo() + if srcInfo.Digest != "" { + if err := ic.c.concurrentBlobCopiesSemaphore.Acquire(ctx, 1); err != nil { + // This can only fail with ctx.Err(), so no need to blame acquiring the semaphore. + return fmt.Errorf("copying config: %w", err) + } + defer ic.c.concurrentBlobCopiesSemaphore.Release(1) + + destInfo, err := func() (types.BlobInfo, error) { // A scope for defer + progressPool := ic.c.newProgressPool() + defer progressPool.Wait() + bar := ic.c.createProgressBar(progressPool, false, srcInfo, "config", "done") + defer bar.Abort(false) + ic.c.printCopyInfo("config", srcInfo) + + configBlob, err := src.ConfigBlob(ctx) + if err != nil { + return types.BlobInfo{}, fmt.Errorf("reading config blob %s: %w", srcInfo.Digest, err) + } + + destInfo, err := ic.copyBlobFromStream(ctx, bytes.NewReader(configBlob), srcInfo, nil, true, false, bar, -1, false) + if err != nil { + return types.BlobInfo{}, err + } + + bar.mark100PercentComplete() + return destInfo, nil + }() + if err != nil { + return err + } + if destInfo.Digest != srcInfo.Digest { + return fmt.Errorf("Internal error: copying uncompressed config blob %s changed digest to %s", srcInfo.Digest, destInfo.Digest) + } + } + return nil +} + +// diffIDResult contains both a digest value and an error from diffIDComputationGoroutine. +// We could also send the error through the pipeReader, but this more cleanly separates the copying of the layer and the DiffID computation. +type diffIDResult struct { + digest digest.Digest + err error +} + +// copyLayer copies a layer with srcInfo (with known Digest and Annotations and possibly known Size) in src to dest, perhaps (de/re/)compressing it, +// and returns a complete blobInfo of the copied layer, and a value for LayerDiffIDs if diffIDIsNeeded +// srcRef can be used as an additional hint to the destination during checking whether a layer can be reused but srcRef can be nil. +func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, toEncrypt bool, pool *mpb.Progress, layerIndex int, srcRef reference.Named, emptyLayer bool) (types.BlobInfo, digest.Digest, error) { + // If the srcInfo doesn't contain compression information, try to compute it from the + // MediaType, which was either read from a manifest by way of LayerInfos() or constructed + // by LayerInfosForCopy(), if it was supplied at all. If we succeed in copying the blob, + // the BlobInfo we return will be passed to UpdatedImage() and then to UpdateLayerInfos(), + // which uses the compression information to compute the updated MediaType values. + // (Sadly UpdatedImage() is documented to not update MediaTypes from + // ManifestUpdateOptions.LayerInfos[].MediaType, so we are doing it indirectly.) + // + // This MIME type → compression mapping belongs in manifest-specific code in our manifest + // package (but we should preferably replace/change UpdatedImage instead of productizing + // this workaround). + if srcInfo.CompressionAlgorithm == nil { + switch srcInfo.MediaType { + case manifest.DockerV2Schema2LayerMediaType, imgspecv1.MediaTypeImageLayerGzip: + srcInfo.CompressionAlgorithm = &compression.Gzip + case imgspecv1.MediaTypeImageLayerZstd: + srcInfo.CompressionAlgorithm = &compression.Zstd + } + } + + ic.c.printCopyInfo("blob", srcInfo) + + cachedDiffID := ic.c.blobInfoCache.UncompressedDigest(srcInfo.Digest) // May be "" + diffIDIsNeeded := ic.diffIDsAreNeeded && cachedDiffID == "" + // When encrypting to decrypting, only use the simple code path. We might be able to optimize more + // (e.g. if we know the DiffID of an encrypted compressed layer, it might not be necessary to pull, decrypt and decompress again), + // but it’s not trivially safe to do such things, so until someone takes the effort to make a comprehensive argument, let’s not. + encryptingOrDecrypting := toEncrypt || (isOciEncrypted(srcInfo.MediaType) && ic.c.ociDecryptConfig != nil) + canAvoidProcessingCompleteLayer := !diffIDIsNeeded && !encryptingOrDecrypting + + // Don’t read the layer from the source if we already have the blob, and optimizations are acceptable. + if canAvoidProcessingCompleteLayer { + canChangeLayerCompression := ic.src.CanChangeLayerCompression(srcInfo.MediaType) + logrus.Debugf("Checking if we can reuse blob %s: general substitution = %v, compression for MIME type %q = %v", + srcInfo.Digest, ic.canSubstituteBlobs, srcInfo.MediaType, canChangeLayerCompression) + canSubstitute := ic.canSubstituteBlobs && ic.src.CanChangeLayerCompression(srcInfo.MediaType) + // TODO: at this point we don't know whether or not a blob we end up reusing is compressed using an algorithm + // that is acceptable for use on layers in the manifest that we'll be writing later, so if we end up reusing + // a blob that's compressed with e.g. zstd, but we're only allowed to write a v2s2 manifest, this will cause + // a failure when we eventually try to update the manifest with the digest and MIME type of the reused blob. + // Fixing that will probably require passing more information to TryReusingBlob() than the current version of + // the ImageDestination interface lets us pass in. + reused, blobInfo, err := ic.c.dest.TryReusingBlobWithOptions(ctx, srcInfo, private.TryReusingBlobOptions{ + Cache: ic.c.blobInfoCache, + CanSubstitute: canSubstitute, + EmptyLayer: emptyLayer, + LayerIndex: &layerIndex, + SrcRef: srcRef, + }) + if err != nil { + return types.BlobInfo{}, "", fmt.Errorf("trying to reuse blob %s at destination: %w", srcInfo.Digest, err) + } + if reused { + logrus.Debugf("Skipping blob %s (already present):", srcInfo.Digest) + func() { // A scope for defer + bar := ic.c.createProgressBar(pool, false, types.BlobInfo{Digest: blobInfo.Digest, Size: 0}, "blob", "skipped: already exists") + defer bar.Abort(false) + bar.mark100PercentComplete() + }() + + // Throw an event that the layer has been skipped + if ic.c.progress != nil && ic.c.progressInterval > 0 { + ic.c.progress <- types.ProgressProperties{ + Event: types.ProgressEventSkipped, + Artifact: srcInfo, + } + } + + // If the reused blob has the same digest as the one we asked for, but + // the transport didn't/couldn't supply compression info, fill it in based + // on what we know from the srcInfos we were given. + // If the srcInfos came from LayerInfosForCopy(), then UpdatedImage() will + // call UpdateLayerInfos(), which uses this information to compute the + // MediaType value for the updated layer infos, and it the transport + // didn't pass the information along from its input to its output, then + // it can derive the MediaType incorrectly. + if blobInfo.Digest == srcInfo.Digest && blobInfo.CompressionAlgorithm == nil { + blobInfo.CompressionOperation = srcInfo.CompressionOperation + blobInfo.CompressionAlgorithm = srcInfo.CompressionAlgorithm + } + return blobInfo, cachedDiffID, nil + } + } + + // A partial pull is managed by the destination storage, that decides what portions + // of the source file are not known yet and must be fetched. + // Attempt a partial only when the source allows to retrieve a blob partially and + // the destination has support for it. + if canAvoidProcessingCompleteLayer && ic.c.rawSource.SupportsGetBlobAt() && ic.c.dest.SupportsPutBlobPartial() { + if reused, blobInfo := func() (bool, types.BlobInfo) { // A scope for defer + bar := ic.c.createProgressBar(pool, true, srcInfo, "blob", "done") + hideProgressBar := true + defer func() { // Note that this is not the same as defer bar.Abort(hideProgressBar); we need hideProgressBar to be evaluated lazily. + bar.Abort(hideProgressBar) + }() + + proxy := blobChunkAccessorProxy{ + wrapped: ic.c.rawSource, + bar: bar, + } + info, err := ic.c.dest.PutBlobPartial(ctx, &proxy, srcInfo, ic.c.blobInfoCache) + if err == nil { + if srcInfo.Size != -1 { + bar.SetRefill(srcInfo.Size - bar.Current()) + } + bar.mark100PercentComplete() + hideProgressBar = false + logrus.Debugf("Retrieved partial blob %v", srcInfo.Digest) + return true, info + } + logrus.Debugf("Failed to retrieve partial blob: %v", err) + return false, types.BlobInfo{} + }(); reused { + return blobInfo, cachedDiffID, nil + } + } + + // Fallback: copy the layer, computing the diffID if we need to do so + return func() (types.BlobInfo, digest.Digest, error) { // A scope for defer + bar := ic.c.createProgressBar(pool, false, srcInfo, "blob", "done") + defer bar.Abort(false) + + srcStream, srcBlobSize, err := ic.c.rawSource.GetBlob(ctx, srcInfo, ic.c.blobInfoCache) + if err != nil { + return types.BlobInfo{}, "", fmt.Errorf("reading blob %s: %w", srcInfo.Digest, err) + } + defer srcStream.Close() + + blobInfo, diffIDChan, err := ic.copyLayerFromStream(ctx, srcStream, types.BlobInfo{Digest: srcInfo.Digest, Size: srcBlobSize, MediaType: srcInfo.MediaType, Annotations: srcInfo.Annotations}, diffIDIsNeeded, toEncrypt, bar, layerIndex, emptyLayer) + if err != nil { + return types.BlobInfo{}, "", err + } + + diffID := cachedDiffID + if diffIDIsNeeded { + select { + case <-ctx.Done(): + return types.BlobInfo{}, "", ctx.Err() + case diffIDResult := <-diffIDChan: + if diffIDResult.err != nil { + return types.BlobInfo{}, "", fmt.Errorf("computing layer DiffID: %w", diffIDResult.err) + } + logrus.Debugf("Computed DiffID %s for layer %s", diffIDResult.digest, srcInfo.Digest) + // Don’t record any associations that involve encrypted data. This is a bit crude, + // some blob substitutions (replacing pulls of encrypted data with local reuse of known decryption outcomes) + // might be safe, but it’s not trivially obvious, so let’s be conservative for now. + // This crude approach also means we don’t need to record whether a blob is encrypted + // in the blob info cache (which would probably be necessary for any more complex logic), + // and the simplicity is attractive. + if !encryptingOrDecrypting { + // This is safe because we have just computed diffIDResult.Digest ourselves, and in the process + // we have read all of the input blob, so srcInfo.Digest must have been validated by digestingReader. + ic.c.blobInfoCache.RecordDigestUncompressedPair(srcInfo.Digest, diffIDResult.digest) + } + diffID = diffIDResult.digest + } + } + + bar.mark100PercentComplete() + return blobInfo, diffID, nil + }() +} + +// copyLayerFromStream is an implementation detail of copyLayer; mostly providing a separate “defer” scope. +// it copies a blob with srcInfo (with known Digest and Annotations and possibly known Size) from srcStream to dest, +// perhaps (de/re/)compressing the stream, +// and returns a complete blobInfo of the copied blob and perhaps a <-chan diffIDResult if diffIDIsNeeded, to be read by the caller. +func (ic *imageCopier) copyLayerFromStream(ctx context.Context, srcStream io.Reader, srcInfo types.BlobInfo, + diffIDIsNeeded bool, toEncrypt bool, bar *progressBar, layerIndex int, emptyLayer bool) (types.BlobInfo, <-chan diffIDResult, error) { + var getDiffIDRecorder func(compressiontypes.DecompressorFunc) io.Writer // = nil + var diffIDChan chan diffIDResult + + err := errors.New("Internal error: unexpected panic in copyLayer") // For pipeWriter.CloseWithbelow + if diffIDIsNeeded { + diffIDChan = make(chan diffIDResult, 1) // Buffered, so that sending a value after this or our caller has failed and exited does not block. + pipeReader, pipeWriter := io.Pipe() + defer func() { // Note that this is not the same as {defer pipeWriter.CloseWithError(err)}; we need err to be evaluated lazily. + _ = pipeWriter.CloseWithError(err) // CloseWithError(nil) is equivalent to Close(), always returns nil + }() + + getDiffIDRecorder = func(decompressor compressiontypes.DecompressorFunc) io.Writer { + // If this fails, e.g. because we have exited and due to pipeWriter.CloseWithError() above further + // reading from the pipe has failed, we don’t really care. + // We only read from diffIDChan if the rest of the flow has succeeded, and when we do read from it, + // the return value includes an error indication, which we do check. + // + // If this gets never called, pipeReader will not be used anywhere, but pipeWriter will only be + // closed above, so we are happy enough with both pipeReader and pipeWriter to just get collected by GC. + go diffIDComputationGoroutine(diffIDChan, pipeReader, decompressor) // Closes pipeReader + return pipeWriter + } + } + + blobInfo, err := ic.copyBlobFromStream(ctx, srcStream, srcInfo, getDiffIDRecorder, false, toEncrypt, bar, layerIndex, emptyLayer) // Sets err to nil on success + return blobInfo, diffIDChan, err + // We need the defer … pipeWriter.CloseWithError() to happen HERE so that the caller can block on reading from diffIDChan +} + +// diffIDComputationGoroutine reads all input from layerStream, uncompresses using decompressor if necessary, and sends its digest, and status, if any, to dest. +func diffIDComputationGoroutine(dest chan<- diffIDResult, layerStream io.ReadCloser, decompressor compressiontypes.DecompressorFunc) { + result := diffIDResult{ + digest: "", + err: errors.New("Internal error: unexpected panic in diffIDComputationGoroutine"), + } + defer func() { dest <- result }() + defer layerStream.Close() // We do not care to bother the other end of the pipe with other failures; we send them to dest instead. + + result.digest, result.err = computeDiffID(layerStream, decompressor) +} + +// computeDiffID reads all input from layerStream, uncompresses it using decompressor if necessary, and returns its digest. +func computeDiffID(stream io.Reader, decompressor compressiontypes.DecompressorFunc) (digest.Digest, error) { + if decompressor != nil { + s, err := decompressor(stream) + if err != nil { + return "", err + } + defer s.Close() + stream = s + } + + return digest.Canonical.FromReader(stream) +} diff --git a/vendor/github.com/containers/image/v5/copy/encryption.go b/vendor/github.com/containers/image/v5/copy/encryption.go index 1305676d7a..5eae8bfcda 100644 --- a/vendor/github.com/containers/image/v5/copy/encryption.go +++ b/vendor/github.com/containers/image/v5/copy/encryption.go @@ -7,8 +7,6 @@ import ( "github.com/containers/image/v5/types" "github.com/containers/ocicrypt" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/maps" - "golang.org/x/exp/slices" ) // isOciEncrypted returns a bool indicating if a mediatype is encrypted @@ -20,9 +18,12 @@ func isOciEncrypted(mediatype string) bool { // isEncrypted checks if an image is encrypted func isEncrypted(i types.Image) bool { layers := i.LayerInfos() - return slices.ContainsFunc(layers, func(l types.BlobInfo) bool { - return isOciEncrypted(l.MediaType) - }) + for _, l := range layers { + if isOciEncrypted(l.MediaType) { + return true + } + } + return false } // bpDecryptionStepData contains data that the copy pipeline needs about the decryption step. @@ -33,33 +34,30 @@ type bpDecryptionStepData struct { // blobPipelineDecryptionStep updates *stream to decrypt if, it necessary. // srcInfo is only used for error messages. // Returns data for other steps; the caller should eventually use updateCryptoOperation. -func (ic *imageCopier) blobPipelineDecryptionStep(stream *sourceStream, srcInfo types.BlobInfo) (*bpDecryptionStepData, error) { - if !isOciEncrypted(stream.info.MediaType) || ic.c.options.OciDecryptConfig == nil { +func (c *copier) blobPipelineDecryptionStep(stream *sourceStream, srcInfo types.BlobInfo) (*bpDecryptionStepData, error) { + if isOciEncrypted(stream.info.MediaType) && c.ociDecryptConfig != nil { + desc := imgspecv1.Descriptor{ + Annotations: stream.info.Annotations, + } + reader, decryptedDigest, err := ocicrypt.DecryptLayer(c.ociDecryptConfig, stream.reader, desc, false) + if err != nil { + return nil, fmt.Errorf("decrypting layer %s: %w", srcInfo.Digest, err) + } + + stream.reader = reader + stream.info.Digest = decryptedDigest + stream.info.Size = -1 + for k := range stream.info.Annotations { + if strings.HasPrefix(k, "org.opencontainers.image.enc") { + delete(stream.info.Annotations, k) + } + } return &bpDecryptionStepData{ - decrypting: false, + decrypting: true, }, nil } - - if ic.cannotModifyManifestReason != "" { - return nil, fmt.Errorf("layer %s should be decrypted, but we can’t modify the manifest: %s", srcInfo.Digest, ic.cannotModifyManifestReason) - } - - desc := imgspecv1.Descriptor{ - Annotations: stream.info.Annotations, - } - reader, decryptedDigest, err := ocicrypt.DecryptLayer(ic.c.options.OciDecryptConfig, stream.reader, desc, false) - if err != nil { - return nil, fmt.Errorf("decrypting layer %s: %w", srcInfo.Digest, err) - } - - stream.reader = reader - stream.info.Digest = decryptedDigest - stream.info.Size = -1 - maps.DeleteFunc(stream.info.Annotations, func(k string, _ string) bool { - return strings.HasPrefix(k, "org.opencontainers.image.enc") - }) return &bpDecryptionStepData{ - decrypting: true, + decrypting: false, }, nil } @@ -70,7 +68,7 @@ func (d *bpDecryptionStepData) updateCryptoOperation(operation *types.LayerCrypt } } -// bpEncryptionStepData contains data that the copy pipeline needs about the encryption step. +// bpdData contains data that the copy pipeline needs about the encryption step. type bpEncryptionStepData struct { encrypting bool // We are actually encrypting the stream finalizer ocicrypt.EncryptLayerFinalizer @@ -79,39 +77,34 @@ type bpEncryptionStepData struct { // blobPipelineEncryptionStep updates *stream to encrypt if, it required by toEncrypt. // srcInfo is primarily used for error messages. // Returns data for other steps; the caller should eventually call updateCryptoOperationAndAnnotations. -func (ic *imageCopier) blobPipelineEncryptionStep(stream *sourceStream, toEncrypt bool, srcInfo types.BlobInfo, +func (c *copier) blobPipelineEncryptionStep(stream *sourceStream, toEncrypt bool, srcInfo types.BlobInfo, decryptionStep *bpDecryptionStepData) (*bpEncryptionStepData, error) { - if !toEncrypt || isOciEncrypted(srcInfo.MediaType) || ic.c.options.OciEncryptConfig == nil { + if toEncrypt && !isOciEncrypted(srcInfo.MediaType) && c.ociEncryptConfig != nil { + var annotations map[string]string + if !decryptionStep.decrypting { + annotations = srcInfo.Annotations + } + desc := imgspecv1.Descriptor{ + MediaType: srcInfo.MediaType, + Digest: srcInfo.Digest, + Size: srcInfo.Size, + Annotations: annotations, + } + reader, finalizer, err := ocicrypt.EncryptLayer(c.ociEncryptConfig, stream.reader, desc) + if err != nil { + return nil, fmt.Errorf("encrypting blob %s: %w", srcInfo.Digest, err) + } + + stream.reader = reader + stream.info.Digest = "" + stream.info.Size = -1 return &bpEncryptionStepData{ - encrypting: false, + encrypting: true, + finalizer: finalizer, }, nil } - - if ic.cannotModifyManifestReason != "" { - return nil, fmt.Errorf("layer %s should be encrypted, but we can’t modify the manifest: %s", srcInfo.Digest, ic.cannotModifyManifestReason) - } - - var annotations map[string]string - if !decryptionStep.decrypting { - annotations = srcInfo.Annotations - } - desc := imgspecv1.Descriptor{ - MediaType: srcInfo.MediaType, - Digest: srcInfo.Digest, - Size: srcInfo.Size, - Annotations: annotations, - } - reader, finalizer, err := ocicrypt.EncryptLayer(ic.c.options.OciEncryptConfig, stream.reader, desc) - if err != nil { - return nil, fmt.Errorf("encrypting blob %s: %w", srcInfo.Digest, err) - } - - stream.reader = reader - stream.info.Digest = "" - stream.info.Size = -1 return &bpEncryptionStepData{ - encrypting: true, - finalizer: finalizer, + encrypting: false, }, nil } @@ -129,6 +122,8 @@ func (d *bpEncryptionStepData) updateCryptoOperationAndAnnotations(operation *ty if *annotations == nil { *annotations = map[string]string{} } - maps.Copy(*annotations, encryptAnnotations) + for k, v := range encryptAnnotations { + (*annotations)[k] = v + } return nil } diff --git a/vendor/github.com/containers/image/v5/copy/manifest.go b/vendor/github.com/containers/image/v5/copy/manifest.go index 6f01cf5cc3..df12e50c0f 100644 --- a/vendor/github.com/containers/image/v5/copy/manifest.go +++ b/vendor/github.com/containers/image/v5/copy/manifest.go @@ -6,12 +6,9 @@ import ( "fmt" "strings" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/types" - v1 "github.com/opencontainers/image-spec/specs-go/v1" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" ) // preferredManifestMIMETypes lists manifest MIME types in order of our preference, if we can't use the original manifest and need to convert. @@ -19,13 +16,10 @@ import ( // Include v2s1 signed but not v2s1 unsigned, because docker/distribution requires a signature even if the unsigned MIME type is used. var preferredManifestMIMETypes = []string{manifest.DockerV2Schema2MediaType, manifest.DockerV2Schema1SignedMediaType} -// ociEncryptionMIMETypes lists manifest MIME types that are known to support OCI encryption. -var ociEncryptionMIMETypes = []string{v1.MediaTypeImageManifest} - // orderedSet is a list of strings (MIME types or platform descriptors in our case), with each string appearing at most once. type orderedSet struct { list []string - included *set.Set[string] + included map[string]struct{} } // newOrderedSet creates a correctly initialized orderedSet. @@ -33,15 +27,15 @@ type orderedSet struct { func newOrderedSet() *orderedSet { return &orderedSet{ list: []string{}, - included: set.New[string](), + included: map[string]struct{}{}, } } // append adds s to the end of os, only if it is not included already. func (os *orderedSet) append(s string) { - if !os.included.Contains(s) { + if _, ok := os.included[s]; !ok { os.list = append(os.list, s) - os.included.Add(s) + os.included[s] = struct{}{} } } @@ -80,41 +74,17 @@ func determineManifestConversion(in determineManifestConversionInputs) (manifest destSupportedManifestMIMETypes = []string{in.forceManifestMIMEType} } - if len(destSupportedManifestMIMETypes) == 0 { - if !in.requiresOCIEncryption || manifest.MIMETypeSupportsEncryption(srcType) { - return manifestConversionPlan{ // Anything goes; just use the original as is, do not try any conversions. - preferredMIMEType: srcType, - otherMIMETypeCandidates: []string{}, - }, nil - } - destSupportedManifestMIMETypes = ociEncryptionMIMETypes + if len(destSupportedManifestMIMETypes) == 0 && (!in.requiresOCIEncryption || manifest.MIMETypeSupportsEncryption(srcType)) { + return manifestConversionPlan{ // Anything goes; just use the original as is, do not try any conversions. + preferredMIMEType: srcType, + otherMIMETypeCandidates: []string{}, + }, nil } - supportedByDest := set.New[string]() + supportedByDest := map[string]struct{}{} for _, t := range destSupportedManifestMIMETypes { if !in.requiresOCIEncryption || manifest.MIMETypeSupportsEncryption(t) { - supportedByDest.Add(t) - } - } - if supportedByDest.Empty() { - if len(destSupportedManifestMIMETypes) == 0 { // Coverage: This should never happen, empty values were replaced by ociEncryptionMIMETypes - return manifestConversionPlan{}, errors.New("internal error: destSupportedManifestMIMETypes is empty") + supportedByDest[t] = struct{}{} } - // We know, and have verified, that destSupportedManifestMIMETypes is not empty, so encryption must have been involved. - if !in.requiresOCIEncryption { // Coverage: This should never happen, destSupportedManifestMIMETypes was not empty, so we should have filtered for encryption. - return manifestConversionPlan{}, errors.New("internal error: supportedByDest is empty but destSupportedManifestMIMETypes is not, and not encrypting") - } - // destSupportedManifestMIMETypes has three possible origins: - if in.forceManifestMIMEType != "" { // 1. forceManifestType specified - return manifestConversionPlan{}, fmt.Errorf("encryption required together with format %s, which does not support encryption", - in.forceManifestMIMEType) - } - if len(in.destSupportedManifestMIMETypes) == 0 { // 2. destination accepts anything and we have chosen ociEncryptionMIMETypes - // Coverage: This should never happen, ociEncryptionMIMETypes all support encryption - return manifestConversionPlan{}, errors.New("internal error: in.destSupportedManifestMIMETypes is empty but supportedByDest is empty as well") - } - // 3. destination does not support encryption. - return manifestConversionPlan{}, fmt.Errorf("encryption required but the destination only supports MIME types [%s], none of which support encryption", - strings.Join(destSupportedManifestMIMETypes, ", ")) } // destSupportedManifestMIMETypes is a static guess; a particular registry may still only support a subset of the types. @@ -126,7 +96,7 @@ func determineManifestConversion(in determineManifestConversionInputs) (manifest prioritizedTypes := newOrderedSet() // First of all, prefer to keep the original manifest unmodified. - if supportedByDest.Contains(srcType) { + if _, ok := supportedByDest[srcType]; ok { prioritizedTypes.append(srcType) } if in.cannotModifyManifestReason != "" { @@ -143,20 +113,18 @@ func determineManifestConversion(in determineManifestConversionInputs) (manifest // Then use our list of preferred types. for _, t := range preferredManifestMIMETypes { - if supportedByDest.Contains(t) { + if _, ok := supportedByDest[t]; ok { prioritizedTypes.append(t) } } // Finally, try anything else the destination supports. for _, t := range destSupportedManifestMIMETypes { - if supportedByDest.Contains(t) { - prioritizedTypes.append(t) - } + prioritizedTypes.append(t) } logrus.Debugf("Manifest has MIME type %s, ordered candidate list [%s]", srcType, strings.Join(prioritizedTypes.list, ", ")) - if len(prioritizedTypes.list) == 0 { // Coverage: destSupportedManifestMIMETypes and supportedByDest, which is a subset, is not empty (or we would have exited above), so this should never happen. + if len(prioritizedTypes.list) == 0 { // Coverage: destSupportedManifestMIMETypes is not empty (or we would have exited in the “Anything goes” case above), so this should never happen. return manifestConversionPlan{}, errors.New("Internal error: no candidate MIME types") } res := manifestConversionPlan{ @@ -198,8 +166,11 @@ func (c *copier) determineListConversion(currentListMIMEType string, destSupport prioritizedTypes := newOrderedSet() // The first priority is the current type, if it's in the list, since that lets us avoid a // conversion that isn't strictly necessary. - if slices.Contains(destSupportedMIMETypes, currentListMIMEType) { - prioritizedTypes.append(currentListMIMEType) + for _, t := range destSupportedMIMETypes { + if t == currentListMIMEType { + prioritizedTypes.append(currentListMIMEType) + break + } } // Pick out the other list types that we support. for _, t := range destSupportedMIMETypes { diff --git a/vendor/github.com/containers/image/v5/copy/multiple.go b/vendor/github.com/containers/image/v5/copy/multiple.go deleted file mode 100644 index f252e3476f..0000000000 --- a/vendor/github.com/containers/image/v5/copy/multiple.go +++ /dev/null @@ -1,351 +0,0 @@ -package copy - -import ( - "bytes" - "context" - "errors" - "fmt" - "sort" - "strings" - - "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/image" - internalManifest "github.com/containers/image/v5/internal/manifest" - "github.com/containers/image/v5/internal/set" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/compression" - digest "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "github.com/sirupsen/logrus" - "golang.org/x/exp/maps" - "golang.org/x/exp/slices" -) - -type instanceCopyKind int - -const ( - instanceCopyCopy instanceCopyKind = iota - instanceCopyClone -) - -type instanceCopy struct { - op instanceCopyKind - sourceDigest digest.Digest - - // Fields which can be used by callers when operation - // is `instanceCopyCopy` - copyForceCompressionFormat bool - - // Fields which can be used by callers when operation - // is `instanceCopyClone` - cloneCompressionVariant OptionCompressionVariant - clonePlatform *imgspecv1.Platform - cloneAnnotations map[string]string -} - -// internal type only to make imgspecv1.Platform comparable -type platformComparable struct { - architecture string - os string - osVersion string - osFeatures string - variant string -} - -// Converts imgspecv1.Platform to a comparable format. -func platformV1ToPlatformComparable(platform *imgspecv1.Platform) platformComparable { - if platform == nil { - return platformComparable{} - } - osFeatures := slices.Clone(platform.OSFeatures) - sort.Strings(osFeatures) - return platformComparable{architecture: platform.Architecture, - os: platform.OS, - // This is strictly speaking ambiguous, fields of OSFeatures can contain a ','. Probably good enough for now. - osFeatures: strings.Join(osFeatures, ","), - osVersion: platform.OSVersion, - variant: platform.Variant, - } -} - -// platformCompressionMap prepares a mapping of platformComparable -> CompressionAlgorithmNames for given digests -func platformCompressionMap(list internalManifest.List, instanceDigests []digest.Digest) (map[platformComparable]*set.Set[string], error) { - res := make(map[platformComparable]*set.Set[string]) - for _, instanceDigest := range instanceDigests { - instanceDetails, err := list.Instance(instanceDigest) - if err != nil { - return nil, fmt.Errorf("getting details for instance %s: %w", instanceDigest, err) - } - platform := platformV1ToPlatformComparable(instanceDetails.ReadOnly.Platform) - platformSet, ok := res[platform] - if !ok { - platformSet = set.New[string]() - res[platform] = platformSet - } - platformSet.AddSlice(instanceDetails.ReadOnly.CompressionAlgorithmNames) - } - return res, nil -} - -func validateCompressionVariantExists(input []OptionCompressionVariant) error { - for _, option := range input { - _, err := compression.AlgorithmByName(option.Algorithm.Name()) - if err != nil { - return fmt.Errorf("invalid algorithm %q in option.EnsureCompressionVariantsExist: %w", option.Algorithm.Name(), err) - } - } - return nil -} - -// prepareInstanceCopies prepares a list of instances which needs to copied to the manifest list. -func prepareInstanceCopies(list internalManifest.List, instanceDigests []digest.Digest, options *Options) ([]instanceCopy, error) { - res := []instanceCopy{} - if options.ImageListSelection == CopySpecificImages && len(options.EnsureCompressionVariantsExist) > 0 { - // List can already contain compressed instance for a compression selected in `EnsureCompressionVariantsExist` - // It’s unclear what it means when `CopySpecificImages` includes an instance in options.Instances, - // EnsureCompressionVariantsExist asks for an instance with some compression, - // an instance with that compression already exists, but is not included in options.Instances. - // We might define the semantics and implement this in the future. - return res, fmt.Errorf("EnsureCompressionVariantsExist is not implemented for CopySpecificImages") - } - err := validateCompressionVariantExists(options.EnsureCompressionVariantsExist) - if err != nil { - return res, err - } - compressionsByPlatform, err := platformCompressionMap(list, instanceDigests) - if err != nil { - return nil, err - } - for i, instanceDigest := range instanceDigests { - if options.ImageListSelection == CopySpecificImages && - !slices.Contains(options.Instances, instanceDigest) { - logrus.Debugf("Skipping instance %s (%d/%d)", instanceDigest, i+1, len(instanceDigests)) - continue - } - instanceDetails, err := list.Instance(instanceDigest) - if err != nil { - return res, fmt.Errorf("getting details for instance %s: %w", instanceDigest, err) - } - forceCompressionFormat, err := shouldRequireCompressionFormatMatch(options) - if err != nil { - return nil, err - } - res = append(res, instanceCopy{ - op: instanceCopyCopy, - sourceDigest: instanceDigest, - copyForceCompressionFormat: forceCompressionFormat, - }) - platform := platformV1ToPlatformComparable(instanceDetails.ReadOnly.Platform) - compressionList := compressionsByPlatform[platform] - for _, compressionVariant := range options.EnsureCompressionVariantsExist { - if !compressionList.Contains(compressionVariant.Algorithm.Name()) { - res = append(res, instanceCopy{ - op: instanceCopyClone, - sourceDigest: instanceDigest, - cloneCompressionVariant: compressionVariant, - clonePlatform: instanceDetails.ReadOnly.Platform, - cloneAnnotations: maps.Clone(instanceDetails.ReadOnly.Annotations), - }) - // add current compression to the list so that we don’t create duplicate clones - compressionList.Add(compressionVariant.Algorithm.Name()) - } - } - } - return res, nil -} - -// copyMultipleImages copies some or all of an image list's instances, using -// c.policyContext to validate source image admissibility. -func (c *copier) copyMultipleImages(ctx context.Context) (copiedManifest []byte, retErr error) { - // Parse the list and get a copy of the original value after it's re-encoded. - manifestList, manifestType, err := c.unparsedToplevel.Manifest(ctx) - if err != nil { - return nil, fmt.Errorf("reading manifest list: %w", err) - } - originalList, err := internalManifest.ListFromBlob(manifestList, manifestType) - if err != nil { - return nil, fmt.Errorf("parsing manifest list %q: %w", string(manifestList), err) - } - updatedList := originalList.CloneInternal() - - sigs, err := c.sourceSignatures(ctx, c.unparsedToplevel, - "Getting image list signatures", - "Checking if image list destination supports signatures") - if err != nil { - return nil, err - } - - // If the destination is a digested reference, make a note of that, determine what digest value we're - // expecting, and check that the source manifest matches it. - destIsDigestedReference := false - if named := c.dest.Reference().DockerReference(); named != nil { - if digested, ok := named.(reference.Digested); ok { - destIsDigestedReference = true - matches, err := manifest.MatchesDigest(manifestList, digested.Digest()) - if err != nil { - return nil, fmt.Errorf("computing digest of source image's manifest: %w", err) - } - if !matches { - return nil, errors.New("Digest of source image's manifest would not match destination reference") - } - } - } - - // Determine if we're allowed to modify the manifest list. - // If we can, set to the empty string. If we can't, set to the reason why. - // Compare, and perhaps keep in sync with, the version in copySingleImage. - cannotModifyManifestListReason := "" - if len(sigs) > 0 { - cannotModifyManifestListReason = "Would invalidate signatures" - } - if destIsDigestedReference { - cannotModifyManifestListReason = "Destination specifies a digest" - } - if c.options.PreserveDigests { - cannotModifyManifestListReason = "Instructed to preserve digests" - } - - // Determine if we'll need to convert the manifest list to a different format. - forceListMIMEType := c.options.ForceManifestMIMEType - switch forceListMIMEType { - case manifest.DockerV2Schema1MediaType, manifest.DockerV2Schema1SignedMediaType, manifest.DockerV2Schema2MediaType: - forceListMIMEType = manifest.DockerV2ListMediaType - case imgspecv1.MediaTypeImageManifest: - forceListMIMEType = imgspecv1.MediaTypeImageIndex - } - selectedListType, otherManifestMIMETypeCandidates, err := c.determineListConversion(manifestType, c.dest.SupportedManifestMIMETypes(), forceListMIMEType) - if err != nil { - return nil, fmt.Errorf("determining manifest list type to write to destination: %w", err) - } - if selectedListType != originalList.MIMEType() { - if cannotModifyManifestListReason != "" { - return nil, fmt.Errorf("Manifest list must be converted to type %q to be written to destination, but we cannot modify it: %q", selectedListType, cannotModifyManifestListReason) - } - } - - // Copy each image, or just the ones we want to copy, in turn. - instanceDigests := updatedList.Instances() - instanceEdits := []internalManifest.ListEdit{} - instanceCopyList, err := prepareInstanceCopies(updatedList, instanceDigests, c.options) - if err != nil { - return nil, fmt.Errorf("preparing instances for copy: %w", err) - } - c.Printf("Copying %d images generated from %d images in list\n", len(instanceCopyList), len(instanceDigests)) - for i, instance := range instanceCopyList { - // Update instances to be edited by their `ListOperation` and - // populate necessary fields. - switch instance.op { - case instanceCopyCopy: - logrus.Debugf("Copying instance %s (%d/%d)", instance.sourceDigest, i+1, len(instanceCopyList)) - c.Printf("Copying image %s (%d/%d)\n", instance.sourceDigest, i+1, len(instanceCopyList)) - unparsedInstance := image.UnparsedInstance(c.rawSource, &instanceCopyList[i].sourceDigest) - updated, err := c.copySingleImage(ctx, unparsedInstance, &instanceCopyList[i].sourceDigest, copySingleImageOptions{requireCompressionFormatMatch: instance.copyForceCompressionFormat}) - if err != nil { - return nil, fmt.Errorf("copying image %d/%d from manifest list: %w", i+1, len(instanceCopyList), err) - } - // Record the result of a possible conversion here. - instanceEdits = append(instanceEdits, internalManifest.ListEdit{ - ListOperation: internalManifest.ListOpUpdate, - UpdateOldDigest: instance.sourceDigest, - UpdateDigest: updated.manifestDigest, - UpdateSize: int64(len(updated.manifest)), - UpdateCompressionAlgorithms: updated.compressionAlgorithms, - UpdateMediaType: updated.manifestMIMEType}) - case instanceCopyClone: - logrus.Debugf("Replicating instance %s (%d/%d)", instance.sourceDigest, i+1, len(instanceCopyList)) - c.Printf("Replicating image %s (%d/%d)\n", instance.sourceDigest, i+1, len(instanceCopyList)) - unparsedInstance := image.UnparsedInstance(c.rawSource, &instanceCopyList[i].sourceDigest) - updated, err := c.copySingleImage(ctx, unparsedInstance, &instanceCopyList[i].sourceDigest, copySingleImageOptions{ - requireCompressionFormatMatch: true, - compressionFormat: &instance.cloneCompressionVariant.Algorithm, - compressionLevel: instance.cloneCompressionVariant.Level}) - if err != nil { - return nil, fmt.Errorf("replicating image %d/%d from manifest list: %w", i+1, len(instanceCopyList), err) - } - // Record the result of a possible conversion here. - instanceEdits = append(instanceEdits, internalManifest.ListEdit{ - ListOperation: internalManifest.ListOpAdd, - AddDigest: updated.manifestDigest, - AddSize: int64(len(updated.manifest)), - AddMediaType: updated.manifestMIMEType, - AddPlatform: instance.clonePlatform, - AddAnnotations: instance.cloneAnnotations, - AddCompressionAlgorithms: updated.compressionAlgorithms, - }) - default: - return nil, fmt.Errorf("copying image: invalid copy operation %d", instance.op) - } - } - - // Now reset the digest/size/types of the manifests in the list to account for any conversions that we made. - if err = updatedList.EditInstances(instanceEdits); err != nil { - return nil, fmt.Errorf("updating manifest list: %w", err) - } - - // Iterate through supported list types, preferred format first. - c.Printf("Writing manifest list to image destination\n") - var errs []string - for _, thisListType := range append([]string{selectedListType}, otherManifestMIMETypeCandidates...) { - var attemptedList internalManifest.ListPublic = updatedList - - logrus.Debugf("Trying to use manifest list type %s…", thisListType) - - // Perform the list conversion, if we need one. - if thisListType != updatedList.MIMEType() { - attemptedList, err = updatedList.ConvertToMIMEType(thisListType) - if err != nil { - return nil, fmt.Errorf("converting manifest list to list with MIME type %q: %w", thisListType, err) - } - } - - // Check if the updates or a type conversion meaningfully changed the list of images - // by serializing them both so that we can compare them. - attemptedManifestList, err := attemptedList.Serialize() - if err != nil { - return nil, fmt.Errorf("encoding updated manifest list (%q: %#v): %w", updatedList.MIMEType(), updatedList.Instances(), err) - } - originalManifestList, err := originalList.Serialize() - if err != nil { - return nil, fmt.Errorf("encoding original manifest list for comparison (%q: %#v): %w", originalList.MIMEType(), originalList.Instances(), err) - } - - // If we can't just use the original value, but we have to change it, flag an error. - if !bytes.Equal(attemptedManifestList, originalManifestList) { - if cannotModifyManifestListReason != "" { - return nil, fmt.Errorf("Manifest list must be converted to type %q to be written to destination, but we cannot modify it: %q", thisListType, cannotModifyManifestListReason) - } - logrus.Debugf("Manifest list has been updated") - } else { - // We can just use the original value, so use it instead of the one we just rebuilt, so that we don't change the digest. - attemptedManifestList = manifestList - } - - // Save the manifest list. - err = c.dest.PutManifest(ctx, attemptedManifestList, nil) - if err != nil { - logrus.Debugf("Upload of manifest list type %s failed: %v", thisListType, err) - errs = append(errs, fmt.Sprintf("%s(%v)", thisListType, err)) - continue - } - errs = nil - manifestList = attemptedManifestList - break - } - if errs != nil { - return nil, fmt.Errorf("Uploading manifest list failed, attempted the following formats: %s", strings.Join(errs, ", ")) - } - - // Sign the manifest list. - newSigs, err := c.createSignatures(ctx, manifestList, c.options.SignIdentity) - if err != nil { - return nil, err - } - sigs = append(slices.Clone(sigs), newSigs...) - - c.Printf("Storing list signatures\n") - if err := c.dest.PutSignaturesWithFormat(ctx, sigs, nil); err != nil { - return nil, fmt.Errorf("writing signatures: %w", err) - } - - return manifestList, nil -} diff --git a/vendor/github.com/containers/image/v5/copy/progress_bars.go b/vendor/github.com/containers/image/v5/copy/progress_bars.go index ce078234cb..85676f01c6 100644 --- a/vendor/github.com/containers/image/v5/copy/progress_bars.go +++ b/vendor/github.com/containers/image/v5/copy/progress_bars.go @@ -7,8 +7,8 @@ import ( "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/types" - "github.com/vbauerster/mpb/v8" - "github.com/vbauerster/mpb/v8/decor" + "github.com/vbauerster/mpb/v7" + "github.com/vbauerster/mpb/v7/decor" ) // newProgressPool creates a *mpb.Progress. @@ -84,8 +84,6 @@ func (c *copier) createProgressBar(pool *mpb.Progress, partial bool, info types. ), mpb.AppendDecorators( decor.OnComplete(decor.CountersKibiByte("%.1f / %.1f"), ""), - decor.Name(" | "), - decor.OnComplete(decor.EwmaSpeed(decor.SizeB1024(0), "% .1f", 30), ""), ), ) } @@ -96,9 +94,6 @@ func (c *copier) createProgressBar(pool *mpb.Progress, partial bool, info types. mpb.PrependDecorators( decor.OnComplete(decor.Name(prefix), onComplete), ), - mpb.AppendDecorators( - decor.OnComplete(decor.EwmaSpeed(decor.SizeB1024(0), "% .1f", 30), ""), - ), ) } return &progressBar{ @@ -125,7 +120,7 @@ func (bar *progressBar) mark100PercentComplete() { bar.SetCurrent(bar.originalSize) // This triggers the completion condition. } else { // -1 = unknown size - // 0 is somewhat of a special case: Unlike c/image, where 0 is a definite known + // 0 is somewhat of a a special case: Unlike c/image, where 0 is a definite known // size (possible at least in theory), in mpb, zero-sized progress bars are treated // as unknown size, in particular they are not configured to be marked as // complete on bar.Current() reaching bar.total (because that would happen already diff --git a/vendor/github.com/containers/image/v5/copy/sign.go b/vendor/github.com/containers/image/v5/copy/sign.go index 0ec54ded24..6c3d9d62ca 100644 --- a/vendor/github.com/containers/image/v5/copy/sign.go +++ b/vendor/github.com/containers/image/v5/copy/sign.go @@ -7,56 +7,18 @@ import ( "github.com/containers/image/v5/docker/reference" "github.com/containers/image/v5/internal/private" internalsig "github.com/containers/image/v5/internal/signature" - internalSigner "github.com/containers/image/v5/internal/signer" + "github.com/containers/image/v5/signature" "github.com/containers/image/v5/signature/sigstore" - "github.com/containers/image/v5/signature/simplesigning" "github.com/containers/image/v5/transports" ) -// setupSigners initializes c.signers. -func (c *copier) setupSigners() error { - c.signers = append(c.signers, c.options.Signers...) - // c.signersToClose is intentionally not updated with c.options.Signers. - - // We immediately append created signers to c.signers, and we rely on c.close() to clean them up; so we don’t need - // to clean up any created signers on failure. - - if c.options.SignBy != "" { - opts := []simplesigning.Option{ - simplesigning.WithKeyFingerprint(c.options.SignBy), - } - if c.options.SignPassphrase != "" { - opts = append(opts, simplesigning.WithPassphrase(c.options.SignPassphrase)) - } - signer, err := simplesigning.NewSigner(opts...) - if err != nil { - return err - } - c.signers = append(c.signers, signer) - c.signersToClose = append(c.signersToClose, signer) - } - - if c.options.SignBySigstorePrivateKeyFile != "" { - signer, err := sigstore.NewSigner( - sigstore.WithPrivateKeyFile(c.options.SignBySigstorePrivateKeyFile, c.options.SignSigstorePrivateKeyPassphrase), - ) - if err != nil { - return err - } - c.signers = append(c.signers, signer) - c.signersToClose = append(c.signersToClose, signer) - } - - return nil -} - -// sourceSignatures returns signatures from unparsedSource, +// sourceSignatures returns signatures from unparsedSource based on options, // and verifies that they can be used (to avoid copying a large image when we // can tell in advance that it would ultimately fail) -func (c *copier) sourceSignatures(ctx context.Context, unparsed private.UnparsedImage, +func (c *copier) sourceSignatures(ctx context.Context, unparsed private.UnparsedImage, options *Options, gettingSignaturesMessage, checkingDestMessage string) ([]internalsig.Signature, error) { var sigs []internalsig.Signature - if c.options.RemoveSignatures { + if options.RemoveSignatures { sigs = []internalsig.Signature{} } else { c.Printf("%s\n", gettingSignaturesMessage) @@ -75,16 +37,20 @@ func (c *copier) sourceSignatures(ctx context.Context, unparsed private.Unparsed return sigs, nil } -// createSignatures creates signatures for manifest and an optional identity. -func (c *copier) createSignatures(ctx context.Context, manifest []byte, identity reference.Named) ([]internalsig.Signature, error) { - if len(c.signers) == 0 { - // We must exit early here, otherwise copies with no Docker reference wouldn’t be possible. - return nil, nil +// createSignature creates a new signature of manifest using keyIdentity. +func (c *copier) createSignature(manifest []byte, keyIdentity string, passphrase string, identity reference.Named) (internalsig.Signature, error) { + mech, err := signature.NewGPGSigningMechanism() + if err != nil { + return nil, fmt.Errorf("initializing GPG: %w", err) + } + defer mech.Close() + if err := mech.SupportsSigning(); err != nil { + return nil, fmt.Errorf("Signing not supported: %w", err) } if identity != nil { if reference.IsNameOnly(identity) { - return nil, fmt.Errorf("Sign identity must be a fully specified reference %s", identity.String()) + return nil, fmt.Errorf("Sign identity must be a fully specified reference %s", identity) } } else { identity = c.dest.Reference().DockerReference() @@ -93,23 +59,31 @@ func (c *copier) createSignatures(ctx context.Context, manifest []byte, identity } } - res := make([]internalsig.Signature, 0, len(c.signers)) - for signerIndex, signer := range c.signers { - msg := internalSigner.ProgressMessage(signer) - if len(c.signers) == 1 { - c.Printf("Creating signature: %s\n", msg) - } else { - c.Printf("Creating signature %d: %s\n", signerIndex+1, msg) + c.Printf("Signing manifest using simple signing\n") + newSig, err := signature.SignDockerManifestWithOptions(manifest, identity.String(), mech, keyIdentity, &signature.SignOptions{Passphrase: passphrase}) + if err != nil { + return nil, fmt.Errorf("creating signature: %w", err) + } + return internalsig.SimpleSigningFromBlob(newSig), nil +} + +// createSigstoreSignature creates a new sigstore signature of manifest using privateKeyFile and identity. +func (c *copier) createSigstoreSignature(manifest []byte, privateKeyFile string, passphrase []byte, identity reference.Named) (internalsig.Signature, error) { + if identity != nil { + if reference.IsNameOnly(identity) { + return nil, fmt.Errorf("Sign identity must be a fully specified reference %s", identity.String()) } - newSig, err := internalSigner.SignImageManifest(ctx, signer, manifest, identity) - if err != nil { - if len(c.signers) == 1 { - return nil, fmt.Errorf("creating signature: %w", err) - } else { - return nil, fmt.Errorf("creating signature %d: %w", signerIndex, err) - } + } else { + identity = c.dest.Reference().DockerReference() + if identity == nil { + return nil, fmt.Errorf("Cannot determine canonical Docker reference for destination %s", transports.ImageName(c.dest.Reference())) } - res = append(res, newSig) } - return res, nil + + c.Printf("Signing manifest using a sigstore signature\n") + newSig, err := sigstore.SignDockerManifestWithPrivateKeyFileUnstable(manifest, identity, privateKeyFile, passphrase) + if err != nil { + return nil, fmt.Errorf("creating signature: %w", err) + } + return newSig, nil } diff --git a/vendor/github.com/containers/image/v5/copy/single.go b/vendor/github.com/containers/image/v5/copy/single.go deleted file mode 100644 index 67ca43f7bc..0000000000 --- a/vendor/github.com/containers/image/v5/copy/single.go +++ /dev/null @@ -1,907 +0,0 @@ -package copy - -import ( - "bytes" - "context" - "errors" - "fmt" - "io" - "reflect" - "strings" - "sync" - - "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/image" - "github.com/containers/image/v5/internal/pkg/platform" - "github.com/containers/image/v5/internal/private" - "github.com/containers/image/v5/internal/set" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/pkg/compression" - compressiontypes "github.com/containers/image/v5/pkg/compression/types" - "github.com/containers/image/v5/transports" - "github.com/containers/image/v5/types" - digest "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "github.com/sirupsen/logrus" - "github.com/vbauerster/mpb/v8" - "golang.org/x/exp/slices" -) - -// imageCopier tracks state specific to a single image (possibly an item of a manifest list) -type imageCopier struct { - c *copier - manifestUpdates *types.ManifestUpdateOptions - src *image.SourcedImage - diffIDsAreNeeded bool - cannotModifyManifestReason string // The reason the manifest cannot be modified, or an empty string if it can - canSubstituteBlobs bool - compressionFormat *compressiontypes.Algorithm // Compression algorithm to use, if the user explicitly requested one, or nil. - compressionLevel *int - requireCompressionFormatMatch bool -} - -type copySingleImageOptions struct { - requireCompressionFormatMatch bool - compressionFormat *compressiontypes.Algorithm // Compression algorithm to use, if the user explicitly requested one, or nil. - compressionLevel *int -} - -// copySingleImageResult carries data produced by copySingleImage -type copySingleImageResult struct { - manifest []byte - manifestMIMEType string - manifestDigest digest.Digest - compressionAlgorithms []compressiontypes.Algorithm -} - -// copySingleImage copies a single (non-manifest-list) image unparsedImage, using c.policyContext to validate -// source image admissibility. -func (c *copier) copySingleImage(ctx context.Context, unparsedImage *image.UnparsedImage, targetInstance *digest.Digest, opts copySingleImageOptions) (copySingleImageResult, error) { - // The caller is handling manifest lists; this could happen only if a manifest list contains a manifest list. - // Make sure we fail cleanly in such cases. - multiImage, err := isMultiImage(ctx, unparsedImage) - if err != nil { - // FIXME FIXME: How to name a reference for the sub-image? - return copySingleImageResult{}, fmt.Errorf("determining manifest MIME type for %s: %w", transports.ImageName(unparsedImage.Reference()), err) - } - if multiImage { - return copySingleImageResult{}, fmt.Errorf("Unexpectedly received a manifest list instead of a manifest for a single image") - } - - // Please keep this policy check BEFORE reading any other information about the image. - // (The multiImage check above only matches the MIME type, which we have received anyway. - // Actual parsing of anything should be deferred.) - if allowed, err := c.policyContext.IsRunningImageAllowed(ctx, unparsedImage); !allowed || err != nil { // Be paranoid and fail if either return value indicates so. - return copySingleImageResult{}, fmt.Errorf("Source image rejected: %w", err) - } - src, err := image.FromUnparsedImage(ctx, c.options.SourceCtx, unparsedImage) - if err != nil { - return copySingleImageResult{}, fmt.Errorf("initializing image from source %s: %w", transports.ImageName(c.rawSource.Reference()), err) - } - - // If the destination is a digested reference, make a note of that, determine what digest value we're - // expecting, and check that the source manifest matches it. If the source manifest doesn't, but it's - // one item from a manifest list that matches it, accept that as a match. - destIsDigestedReference := false - if named := c.dest.Reference().DockerReference(); named != nil { - if digested, ok := named.(reference.Digested); ok { - destIsDigestedReference = true - matches, err := manifest.MatchesDigest(src.ManifestBlob, digested.Digest()) - if err != nil { - return copySingleImageResult{}, fmt.Errorf("computing digest of source image's manifest: %w", err) - } - if !matches { - manifestList, _, err := c.unparsedToplevel.Manifest(ctx) - if err != nil { - return copySingleImageResult{}, fmt.Errorf("reading manifest from source image: %w", err) - } - matches, err = manifest.MatchesDigest(manifestList, digested.Digest()) - if err != nil { - return copySingleImageResult{}, fmt.Errorf("computing digest of source image's manifest: %w", err) - } - if !matches { - return copySingleImageResult{}, errors.New("Digest of source image's manifest would not match destination reference") - } - } - } - } - - if err := checkImageDestinationForCurrentRuntime(ctx, c.options.DestinationCtx, src, c.dest); err != nil { - return copySingleImageResult{}, err - } - - sigs, err := c.sourceSignatures(ctx, src, - "Getting image source signatures", - "Checking if image destination supports signatures") - if err != nil { - return copySingleImageResult{}, err - } - - // Determine if we're allowed to modify the manifest. - // If we can, set to the empty string. If we can't, set to the reason why. - // Compare, and perhaps keep in sync with, the version in copyMultipleImages. - cannotModifyManifestReason := "" - if len(sigs) > 0 { - cannotModifyManifestReason = "Would invalidate signatures" - } - if destIsDigestedReference { - cannotModifyManifestReason = "Destination specifies a digest" - } - if c.options.PreserveDigests { - cannotModifyManifestReason = "Instructed to preserve digests" - } - - ic := imageCopier{ - c: c, - manifestUpdates: &types.ManifestUpdateOptions{InformationOnly: types.ManifestUpdateInformation{Destination: c.dest}}, - src: src, - // diffIDsAreNeeded is computed later - cannotModifyManifestReason: cannotModifyManifestReason, - requireCompressionFormatMatch: opts.requireCompressionFormatMatch, - } - if opts.compressionFormat != nil { - ic.compressionFormat = opts.compressionFormat - ic.compressionLevel = opts.compressionLevel - } else if c.options.DestinationCtx != nil { - // Note that compressionFormat and compressionLevel can be nil. - ic.compressionFormat = c.options.DestinationCtx.CompressionFormat - ic.compressionLevel = c.options.DestinationCtx.CompressionLevel - } - // Decide whether we can substitute blobs with semantic equivalents: - // - Don’t do that if we can’t modify the manifest at all - // - Ensure _this_ copy sees exactly the intended data when either processing a signed image or signing it. - // This may be too conservative, but for now, better safe than sorry, _especially_ on the len(c.signers) != 0 path: - // The signature makes the content non-repudiable, so it very much matters that the signature is made over exactly what the user intended. - // We do intend the RecordDigestUncompressedPair calls to only work with reliable data, but at least there’s a risk - // that the compressed version coming from a third party may be designed to attack some other decompressor implementation, - // and we would reuse and sign it. - ic.canSubstituteBlobs = ic.cannotModifyManifestReason == "" && len(c.signers) == 0 - - if err := ic.updateEmbeddedDockerReference(); err != nil { - return copySingleImageResult{}, err - } - - destRequiresOciEncryption := (isEncrypted(src) && ic.c.options.OciDecryptConfig == nil) || c.options.OciEncryptLayers != nil - - manifestConversionPlan, err := determineManifestConversion(determineManifestConversionInputs{ - srcMIMEType: ic.src.ManifestMIMEType, - destSupportedManifestMIMETypes: ic.c.dest.SupportedManifestMIMETypes(), - forceManifestMIMEType: c.options.ForceManifestMIMEType, - requiresOCIEncryption: destRequiresOciEncryption, - cannotModifyManifestReason: ic.cannotModifyManifestReason, - }) - if err != nil { - return copySingleImageResult{}, err - } - // We set up this part of ic.manifestUpdates quite early, not just around the - // code that calls copyUpdatedConfigAndManifest, so that other parts of the copy code - // (e.g. the UpdatedImageNeedsLayerDiffIDs check just below) can make decisions based - // on the expected destination format. - if manifestConversionPlan.preferredMIMETypeNeedsConversion { - ic.manifestUpdates.ManifestMIMEType = manifestConversionPlan.preferredMIMEType - } - - // If src.UpdatedImageNeedsLayerDiffIDs(ic.manifestUpdates) will be true, it needs to be true by the time we get here. - ic.diffIDsAreNeeded = src.UpdatedImageNeedsLayerDiffIDs(*ic.manifestUpdates) - - // If enabled, fetch and compare the destination's manifest. And as an optimization skip updating the destination iff equal - if c.options.OptimizeDestinationImageAlreadyExists { - shouldUpdateSigs := len(sigs) > 0 || len(c.signers) != 0 // TODO: Consider allowing signatures updates only and skipping the image's layers/manifest copy if possible - noPendingManifestUpdates := ic.noPendingManifestUpdates() - - logrus.Debugf("Checking if we can skip copying: has signatures=%t, OCI encryption=%t, no manifest updates=%t, compression match required for resuing blobs=%t", shouldUpdateSigs, destRequiresOciEncryption, noPendingManifestUpdates, opts.requireCompressionFormatMatch) - if !shouldUpdateSigs && !destRequiresOciEncryption && noPendingManifestUpdates && !ic.requireCompressionFormatMatch { - matchedResult, err := ic.compareImageDestinationManifestEqual(ctx, targetInstance) - if err != nil { - logrus.Warnf("Failed to compare destination image manifest: %v", err) - return copySingleImageResult{}, err - } - - if matchedResult != nil { - c.Printf("Skipping: image already present at destination\n") - return *matchedResult, nil - } - } - } - - compressionAlgos, err := ic.copyLayers(ctx) - if err != nil { - return copySingleImageResult{}, err - } - - // With docker/distribution registries we do not know whether the registry accepts schema2 or schema1 only; - // and at least with the OpenShift registry "acceptschema2" option, there is no way to detect the support - // without actually trying to upload something and getting a types.ManifestTypeRejectedError. - // So, try the preferred manifest MIME type with possibly-updated blob digests, media types, and sizes if - // we're altering how they're compressed. If the process succeeds, fine… - manifestBytes, manifestDigest, err := ic.copyUpdatedConfigAndManifest(ctx, targetInstance) - wipResult := copySingleImageResult{ - manifest: manifestBytes, - manifestMIMEType: manifestConversionPlan.preferredMIMEType, - manifestDigest: manifestDigest, - } - if err != nil { - logrus.Debugf("Writing manifest using preferred type %s failed: %v", manifestConversionPlan.preferredMIMEType, err) - // … if it fails, and the failure is either because the manifest is rejected by the registry, or - // because we failed to create a manifest of the specified type because the specific manifest type - // doesn't support the type of compression we're trying to use (e.g. docker v2s2 and zstd), we may - // have other options available that could still succeed. - var manifestTypeRejectedError types.ManifestTypeRejectedError - var manifestLayerCompressionIncompatibilityError manifest.ManifestLayerCompressionIncompatibilityError - isManifestRejected := errors.As(err, &manifestTypeRejectedError) - isCompressionIncompatible := errors.As(err, &manifestLayerCompressionIncompatibilityError) - if (!isManifestRejected && !isCompressionIncompatible) || len(manifestConversionPlan.otherMIMETypeCandidates) == 0 { - // We don’t have other options. - // In principle the code below would handle this as well, but the resulting error message is fairly ugly. - // Don’t bother the user with MIME types if we have no choice. - return copySingleImageResult{}, err - } - // If the original MIME type is acceptable, determineManifestConversion always uses it as manifestConversionPlan.preferredMIMEType. - // So if we are here, we will definitely be trying to convert the manifest. - // With ic.cannotModifyManifestReason != "", that would just be a string of repeated failures for the same reason, - // so let’s bail out early and with a better error message. - if ic.cannotModifyManifestReason != "" { - return copySingleImageResult{}, fmt.Errorf("writing manifest failed and we cannot try conversions: %q: %w", cannotModifyManifestReason, err) - } - - // errs is a list of errors when trying various manifest types. Also serves as an "upload succeeded" flag when set to nil. - errs := []string{fmt.Sprintf("%s(%v)", manifestConversionPlan.preferredMIMEType, err)} - for _, manifestMIMEType := range manifestConversionPlan.otherMIMETypeCandidates { - logrus.Debugf("Trying to use manifest type %s…", manifestMIMEType) - ic.manifestUpdates.ManifestMIMEType = manifestMIMEType - attemptedManifest, attemptedManifestDigest, err := ic.copyUpdatedConfigAndManifest(ctx, targetInstance) - if err != nil { - logrus.Debugf("Upload of manifest type %s failed: %v", manifestMIMEType, err) - errs = append(errs, fmt.Sprintf("%s(%v)", manifestMIMEType, err)) - continue - } - - // We have successfully uploaded a manifest. - wipResult = copySingleImageResult{ - manifest: attemptedManifest, - manifestMIMEType: manifestMIMEType, - manifestDigest: attemptedManifestDigest, - } - errs = nil // Mark this as a success so that we don't abort below. - break - } - if errs != nil { - return copySingleImageResult{}, fmt.Errorf("Uploading manifest failed, attempted the following formats: %s", strings.Join(errs, ", ")) - } - } - if targetInstance != nil { - targetInstance = &wipResult.manifestDigest - } - - newSigs, err := c.createSignatures(ctx, wipResult.manifest, c.options.SignIdentity) - if err != nil { - return copySingleImageResult{}, err - } - sigs = append(slices.Clone(sigs), newSigs...) - - if len(sigs) > 0 { - c.Printf("Storing signatures\n") - if err := c.dest.PutSignaturesWithFormat(ctx, sigs, targetInstance); err != nil { - return copySingleImageResult{}, fmt.Errorf("writing signatures: %w", err) - } - } - wipResult.compressionAlgorithms = compressionAlgos - res := wipResult // We are done - return res, nil -} - -// checkImageDestinationForCurrentRuntime enforces dest.MustMatchRuntimeOS, if necessary. -func checkImageDestinationForCurrentRuntime(ctx context.Context, sys *types.SystemContext, src types.Image, dest types.ImageDestination) error { - if dest.MustMatchRuntimeOS() { - c, err := src.OCIConfig(ctx) - if err != nil { - return fmt.Errorf("parsing image configuration: %w", err) - } - wantedPlatforms, err := platform.WantedPlatforms(sys) - if err != nil { - return fmt.Errorf("getting current platform information %#v: %w", sys, err) - } - - options := newOrderedSet() - match := false - for _, wantedPlatform := range wantedPlatforms { - // For a transitional period, this might trigger warnings because the Variant - // field was added to OCI config only recently. If this turns out to be too noisy, - // revert this check to only look for (OS, Architecture). - if platform.MatchesPlatform(c.Platform, wantedPlatform) { - match = true - break - } - options.append(fmt.Sprintf("%s+%s+%q", wantedPlatform.OS, wantedPlatform.Architecture, wantedPlatform.Variant)) - } - if !match { - logrus.Infof("Image operating system mismatch: image uses OS %q+architecture %q+%q, expecting one of %q", - c.OS, c.Architecture, c.Variant, strings.Join(options.list, ", ")) - } - } - return nil -} - -// updateEmbeddedDockerReference handles the Docker reference embedded in Docker schema1 manifests. -func (ic *imageCopier) updateEmbeddedDockerReference() error { - if ic.c.dest.IgnoresEmbeddedDockerReference() { - return nil // Destination would prefer us not to update the embedded reference. - } - destRef := ic.c.dest.Reference().DockerReference() - if destRef == nil { - return nil // Destination does not care about Docker references - } - if !ic.src.EmbeddedDockerReferenceConflicts(destRef) { - return nil // No reference embedded in the manifest, or it matches destRef already. - } - - if ic.cannotModifyManifestReason != "" { - return fmt.Errorf("Copying a schema1 image with an embedded Docker reference to %s (Docker reference %s) would change the manifest, which we cannot do: %q", - transports.ImageName(ic.c.dest.Reference()), destRef.String(), ic.cannotModifyManifestReason) - } - ic.manifestUpdates.EmbeddedDockerReference = destRef - return nil -} - -func (ic *imageCopier) noPendingManifestUpdates() bool { - return reflect.DeepEqual(*ic.manifestUpdates, types.ManifestUpdateOptions{InformationOnly: ic.manifestUpdates.InformationOnly}) -} - -// compareImageDestinationManifestEqual compares the source and destination image manifests (reading the manifest from the -// (possibly remote) destination). If they are equal, it returns a full copySingleImageResult, nil otherwise. -func (ic *imageCopier) compareImageDestinationManifestEqual(ctx context.Context, targetInstance *digest.Digest) (*copySingleImageResult, error) { - srcManifestDigest, err := manifest.Digest(ic.src.ManifestBlob) - if err != nil { - return nil, fmt.Errorf("calculating manifest digest: %w", err) - } - - destImageSource, err := ic.c.dest.Reference().NewImageSource(ctx, ic.c.options.DestinationCtx) - if err != nil { - logrus.Debugf("Unable to create destination image %s source: %v", ic.c.dest.Reference(), err) - return nil, nil - } - defer destImageSource.Close() - - destManifest, destManifestType, err := destImageSource.GetManifest(ctx, targetInstance) - if err != nil { - logrus.Debugf("Unable to get destination image %s/%s manifest: %v", destImageSource, targetInstance, err) - return nil, nil - } - - destManifestDigest, err := manifest.Digest(destManifest) - if err != nil { - return nil, fmt.Errorf("calculating manifest digest: %w", err) - } - - logrus.Debugf("Comparing source and destination manifest digests: %v vs. %v", srcManifestDigest, destManifestDigest) - if srcManifestDigest != destManifestDigest { - return nil, nil - } - - compressionAlgos := set.New[string]() - for _, srcInfo := range ic.src.LayerInfos() { - if c := compressionAlgorithmFromMIMEType(srcInfo); c != nil { - compressionAlgos.Add(c.Name()) - } - } - - algos, err := algorithmsByNames(compressionAlgos.Values()) - if err != nil { - return nil, err - } - - // Destination and source manifests, types and digests should all be equivalent - return ©SingleImageResult{ - manifest: destManifest, - manifestMIMEType: destManifestType, - manifestDigest: srcManifestDigest, - compressionAlgorithms: algos, - }, nil -} - -// copyLayers copies layers from ic.src/ic.c.rawSource to dest, using and updating ic.manifestUpdates if necessary and ic.cannotModifyManifestReason == "". -func (ic *imageCopier) copyLayers(ctx context.Context) ([]compressiontypes.Algorithm, error) { - srcInfos := ic.src.LayerInfos() - numLayers := len(srcInfos) - updatedSrcInfos, err := ic.src.LayerInfosForCopy(ctx) - if err != nil { - return nil, err - } - srcInfosUpdated := false - if updatedSrcInfos != nil && !reflect.DeepEqual(srcInfos, updatedSrcInfos) { - if ic.cannotModifyManifestReason != "" { - return nil, fmt.Errorf("Copying this image would require changing layer representation, which we cannot do: %q", ic.cannotModifyManifestReason) - } - srcInfos = updatedSrcInfos - srcInfosUpdated = true - } - - type copyLayerData struct { - destInfo types.BlobInfo - diffID digest.Digest - err error - } - - // The manifest is used to extract the information whether a given - // layer is empty. - man, err := manifest.FromBlob(ic.src.ManifestBlob, ic.src.ManifestMIMEType) - if err != nil { - return nil, err - } - manifestLayerInfos := man.LayerInfos() - - // copyGroup is used to determine if all layers are copied - copyGroup := sync.WaitGroup{} - - data := make([]copyLayerData, numLayers) - copyLayerHelper := func(index int, srcLayer types.BlobInfo, toEncrypt bool, pool *mpb.Progress, srcRef reference.Named) { - defer ic.c.concurrentBlobCopiesSemaphore.Release(1) - defer copyGroup.Done() - cld := copyLayerData{} - if !ic.c.options.DownloadForeignLayers && ic.c.dest.AcceptsForeignLayerURLs() && len(srcLayer.URLs) != 0 { - // DiffIDs are, currently, needed only when converting from schema1. - // In which case src.LayerInfos will not have URLs because schema1 - // does not support them. - if ic.diffIDsAreNeeded { - cld.err = errors.New("getting DiffID for foreign layers is unimplemented") - } else { - cld.destInfo = srcLayer - logrus.Debugf("Skipping foreign layer %q copy to %s", cld.destInfo.Digest, ic.c.dest.Reference().Transport().Name()) - } - } else { - cld.destInfo, cld.diffID, cld.err = ic.copyLayer(ctx, srcLayer, toEncrypt, pool, index, srcRef, manifestLayerInfos[index].EmptyLayer) - } - data[index] = cld - } - - // Decide which layers to encrypt - layersToEncrypt := set.New[int]() - var encryptAll bool - if ic.c.options.OciEncryptLayers != nil { - encryptAll = len(*ic.c.options.OciEncryptLayers) == 0 - totalLayers := len(srcInfos) - for _, l := range *ic.c.options.OciEncryptLayers { - switch { - case l >= 0 && l < totalLayers: - layersToEncrypt.Add(l) - case l < 0 && l+totalLayers >= 0: // Implies (l + totalLayers) < totalLayers - layersToEncrypt.Add(l + totalLayers) // If l is negative, it is reverse indexed. - default: - return nil, fmt.Errorf("when choosing layers to encrypt, layer index %d out of range (%d layers exist)", l, totalLayers) - } - } - - if encryptAll { - for i := 0; i < len(srcInfos); i++ { - layersToEncrypt.Add(i) - } - } - } - - if err := func() error { // A scope for defer - progressPool := ic.c.newProgressPool() - defer progressPool.Wait() - - // Ensure we wait for all layers to be copied. progressPool.Wait() must not be called while any of the copyLayerHelpers interact with the progressPool. - defer copyGroup.Wait() - - for i, srcLayer := range srcInfos { - err = ic.c.concurrentBlobCopiesSemaphore.Acquire(ctx, 1) - if err != nil { - // This can only fail with ctx.Err(), so no need to blame acquiring the semaphore. - return fmt.Errorf("copying layer: %w", err) - } - copyGroup.Add(1) - go copyLayerHelper(i, srcLayer, layersToEncrypt.Contains(i), progressPool, ic.c.rawSource.Reference().DockerReference()) - } - - // A call to copyGroup.Wait() is done at this point by the defer above. - return nil - }(); err != nil { - return nil, err - } - - compressionAlgos := set.New[string]() - destInfos := make([]types.BlobInfo, numLayers) - diffIDs := make([]digest.Digest, numLayers) - for i, cld := range data { - if cld.err != nil { - return nil, cld.err - } - if cld.destInfo.CompressionAlgorithm != nil { - compressionAlgos.Add(cld.destInfo.CompressionAlgorithm.Name()) - } - destInfos[i] = cld.destInfo - diffIDs[i] = cld.diffID - } - - // WARNING: If you are adding new reasons to change ic.manifestUpdates, also update the - // OptimizeDestinationImageAlreadyExists short-circuit conditions - ic.manifestUpdates.InformationOnly.LayerInfos = destInfos - if ic.diffIDsAreNeeded { - ic.manifestUpdates.InformationOnly.LayerDiffIDs = diffIDs - } - if srcInfosUpdated || layerDigestsDiffer(srcInfos, destInfos) { - ic.manifestUpdates.LayerInfos = destInfos - } - algos, err := algorithmsByNames(compressionAlgos.Values()) - if err != nil { - return nil, err - } - return algos, nil -} - -// layerDigestsDiffer returns true iff the digests in a and b differ (ignoring sizes and possible other fields) -func layerDigestsDiffer(a, b []types.BlobInfo) bool { - return !slices.EqualFunc(a, b, func(a, b types.BlobInfo) bool { - return a.Digest == b.Digest - }) -} - -// copyUpdatedConfigAndManifest updates the image per ic.manifestUpdates, if necessary, -// stores the resulting config and manifest to the destination, and returns the stored manifest -// and its digest. -func (ic *imageCopier) copyUpdatedConfigAndManifest(ctx context.Context, instanceDigest *digest.Digest) ([]byte, digest.Digest, error) { - var pendingImage types.Image = ic.src - if !ic.noPendingManifestUpdates() { - if ic.cannotModifyManifestReason != "" { - return nil, "", fmt.Errorf("Internal error: copy needs an updated manifest but that was known to be forbidden: %q", ic.cannotModifyManifestReason) - } - if !ic.diffIDsAreNeeded && ic.src.UpdatedImageNeedsLayerDiffIDs(*ic.manifestUpdates) { - // We have set ic.diffIDsAreNeeded based on the preferred MIME type returned by determineManifestConversion. - // So, this can only happen if we are trying to upload using one of the other MIME type candidates. - // Because UpdatedImageNeedsLayerDiffIDs is true only when converting from s1 to s2, this case should only arise - // when ic.c.dest.SupportedManifestMIMETypes() includes both s1 and s2, the upload using s1 failed, and we are now trying s2. - // Supposedly s2-only registries do not exist or are extremely rare, so failing with this error message is good enough for now. - // If handling such registries turns out to be necessary, we could compute ic.diffIDsAreNeeded based on the full list of manifest MIME type candidates. - return nil, "", fmt.Errorf("Can not convert image to %s, preparing DiffIDs for this case is not supported", ic.manifestUpdates.ManifestMIMEType) - } - pi, err := ic.src.UpdatedImage(ctx, *ic.manifestUpdates) - if err != nil { - return nil, "", fmt.Errorf("creating an updated image manifest: %w", err) - } - pendingImage = pi - } - man, _, err := pendingImage.Manifest(ctx) - if err != nil { - return nil, "", fmt.Errorf("reading manifest: %w", err) - } - - if err := ic.copyConfig(ctx, pendingImage); err != nil { - return nil, "", err - } - - ic.c.Printf("Writing manifest to image destination\n") - manifestDigest, err := manifest.Digest(man) - if err != nil { - return nil, "", err - } - if instanceDigest != nil { - instanceDigest = &manifestDigest - } - if err := ic.c.dest.PutManifest(ctx, man, instanceDigest); err != nil { - logrus.Debugf("Error %v while writing manifest %q", err, string(man)) - return nil, "", fmt.Errorf("writing manifest: %w", err) - } - return man, manifestDigest, nil -} - -// copyConfig copies config.json, if any, from src to dest. -func (ic *imageCopier) copyConfig(ctx context.Context, src types.Image) error { - srcInfo := src.ConfigInfo() - if srcInfo.Digest != "" { - if err := ic.c.concurrentBlobCopiesSemaphore.Acquire(ctx, 1); err != nil { - // This can only fail with ctx.Err(), so no need to blame acquiring the semaphore. - return fmt.Errorf("copying config: %w", err) - } - defer ic.c.concurrentBlobCopiesSemaphore.Release(1) - - destInfo, err := func() (types.BlobInfo, error) { // A scope for defer - progressPool := ic.c.newProgressPool() - defer progressPool.Wait() - bar := ic.c.createProgressBar(progressPool, false, srcInfo, "config", "done") - defer bar.Abort(false) - ic.c.printCopyInfo("config", srcInfo) - - configBlob, err := src.ConfigBlob(ctx) - if err != nil { - return types.BlobInfo{}, fmt.Errorf("reading config blob %s: %w", srcInfo.Digest, err) - } - - destInfo, err := ic.copyBlobFromStream(ctx, bytes.NewReader(configBlob), srcInfo, nil, true, false, bar, -1, false) - if err != nil { - return types.BlobInfo{}, err - } - - bar.mark100PercentComplete() - return destInfo, nil - }() - if err != nil { - return err - } - if destInfo.Digest != srcInfo.Digest { - return fmt.Errorf("Internal error: copying uncompressed config blob %s changed digest to %s", srcInfo.Digest, destInfo.Digest) - } - } - return nil -} - -// diffIDResult contains both a digest value and an error from diffIDComputationGoroutine. -// We could also send the error through the pipeReader, but this more cleanly separates the copying of the layer and the DiffID computation. -type diffIDResult struct { - digest digest.Digest - err error -} - -func compressionAlgorithmFromMIMEType(srcInfo types.BlobInfo) *compressiontypes.Algorithm { - // This MIME type → compression mapping belongs in manifest-specific code in our manifest - // package (but we should preferably replace/change UpdatedImage instead of productizing - // this workaround). - switch srcInfo.MediaType { - case manifest.DockerV2Schema2LayerMediaType, imgspecv1.MediaTypeImageLayerGzip: - return &compression.Gzip - case imgspecv1.MediaTypeImageLayerZstd: - return &compression.Zstd - } - return nil -} - -// copyLayer copies a layer with srcInfo (with known Digest and Annotations and possibly known Size) in src to dest, perhaps (de/re/)compressing it, -// and returns a complete blobInfo of the copied layer, and a value for LayerDiffIDs if diffIDIsNeeded -// srcRef can be used as an additional hint to the destination during checking whether a layer can be reused but srcRef can be nil. -func (ic *imageCopier) copyLayer(ctx context.Context, srcInfo types.BlobInfo, toEncrypt bool, pool *mpb.Progress, layerIndex int, srcRef reference.Named, emptyLayer bool) (types.BlobInfo, digest.Digest, error) { - // If the srcInfo doesn't contain compression information, try to compute it from the - // MediaType, which was either read from a manifest by way of LayerInfos() or constructed - // by LayerInfosForCopy(), if it was supplied at all. If we succeed in copying the blob, - // the BlobInfo we return will be passed to UpdatedImage() and then to UpdateLayerInfos(), - // which uses the compression information to compute the updated MediaType values. - // (Sadly UpdatedImage() is documented to not update MediaTypes from - // ManifestUpdateOptions.LayerInfos[].MediaType, so we are doing it indirectly.) - if srcInfo.CompressionAlgorithm == nil { - srcInfo.CompressionAlgorithm = compressionAlgorithmFromMIMEType(srcInfo) - } - - ic.c.printCopyInfo("blob", srcInfo) - - diffIDIsNeeded := false - var cachedDiffID digest.Digest = "" - if ic.diffIDsAreNeeded { - cachedDiffID = ic.c.blobInfoCache.UncompressedDigest(srcInfo.Digest) // May be "" - diffIDIsNeeded = cachedDiffID == "" - } - // When encrypting to decrypting, only use the simple code path. We might be able to optimize more - // (e.g. if we know the DiffID of an encrypted compressed layer, it might not be necessary to pull, decrypt and decompress again), - // but it’s not trivially safe to do such things, so until someone takes the effort to make a comprehensive argument, let’s not. - encryptingOrDecrypting := toEncrypt || (isOciEncrypted(srcInfo.MediaType) && ic.c.options.OciDecryptConfig != nil) - canAvoidProcessingCompleteLayer := !diffIDIsNeeded && !encryptingOrDecrypting - - // Don’t read the layer from the source if we already have the blob, and optimizations are acceptable. - if canAvoidProcessingCompleteLayer { - canChangeLayerCompression := ic.src.CanChangeLayerCompression(srcInfo.MediaType) - logrus.Debugf("Checking if we can reuse blob %s: general substitution = %v, compression for MIME type %q = %v", - srcInfo.Digest, ic.canSubstituteBlobs, srcInfo.MediaType, canChangeLayerCompression) - canSubstitute := ic.canSubstituteBlobs && ic.src.CanChangeLayerCompression(srcInfo.MediaType) - // TODO: at this point we don't know whether or not a blob we end up reusing is compressed using an algorithm - // that is acceptable for use on layers in the manifest that we'll be writing later, so if we end up reusing - // a blob that's compressed with e.g. zstd, but we're only allowed to write a v2s2 manifest, this will cause - // a failure when we eventually try to update the manifest with the digest and MIME type of the reused blob. - // Fixing that will probably require passing more information to TryReusingBlob() than the current version of - // the ImageDestination interface lets us pass in. - var requiredCompression *compressiontypes.Algorithm - var originalCompression *compressiontypes.Algorithm - if ic.requireCompressionFormatMatch { - requiredCompression = ic.compressionFormat - originalCompression = srcInfo.CompressionAlgorithm - } - reused, reusedBlob, err := ic.c.dest.TryReusingBlobWithOptions(ctx, srcInfo, private.TryReusingBlobOptions{ - Cache: ic.c.blobInfoCache, - CanSubstitute: canSubstitute, - EmptyLayer: emptyLayer, - LayerIndex: &layerIndex, - SrcRef: srcRef, - RequiredCompression: requiredCompression, - OriginalCompression: originalCompression, - }) - if err != nil { - return types.BlobInfo{}, "", fmt.Errorf("trying to reuse blob %s at destination: %w", srcInfo.Digest, err) - } - if reused { - logrus.Debugf("Skipping blob %s (already present):", srcInfo.Digest) - func() { // A scope for defer - bar := ic.c.createProgressBar(pool, false, types.BlobInfo{Digest: reusedBlob.Digest, Size: 0}, "blob", "skipped: already exists") - defer bar.Abort(false) - bar.mark100PercentComplete() - }() - - // Throw an event that the layer has been skipped - if ic.c.options.Progress != nil && ic.c.options.ProgressInterval > 0 { - ic.c.options.Progress <- types.ProgressProperties{ - Event: types.ProgressEventSkipped, - Artifact: srcInfo, - } - } - - return updatedBlobInfoFromReuse(srcInfo, reusedBlob), cachedDiffID, nil - } - } - - // A partial pull is managed by the destination storage, that decides what portions - // of the source file are not known yet and must be fetched. - // Attempt a partial only when the source allows to retrieve a blob partially and - // the destination has support for it. - if canAvoidProcessingCompleteLayer && ic.c.rawSource.SupportsGetBlobAt() && ic.c.dest.SupportsPutBlobPartial() { - if reused, blobInfo := func() (bool, types.BlobInfo) { // A scope for defer - bar := ic.c.createProgressBar(pool, true, srcInfo, "blob", "done") - hideProgressBar := true - defer func() { // Note that this is not the same as defer bar.Abort(hideProgressBar); we need hideProgressBar to be evaluated lazily. - bar.Abort(hideProgressBar) - }() - - proxy := blobChunkAccessorProxy{ - wrapped: ic.c.rawSource, - bar: bar, - } - uploadedBlob, err := ic.c.dest.PutBlobPartial(ctx, &proxy, srcInfo, ic.c.blobInfoCache) - if err == nil { - if srcInfo.Size != -1 { - refill := srcInfo.Size - bar.Current() - bar.SetCurrent(srcInfo.Size) - bar.SetRefill(refill) - } - bar.mark100PercentComplete() - hideProgressBar = false - logrus.Debugf("Retrieved partial blob %v", srcInfo.Digest) - return true, updatedBlobInfoFromUpload(srcInfo, uploadedBlob) - } - logrus.Debugf("Failed to retrieve partial blob: %v", err) - return false, types.BlobInfo{} - }(); reused { - return blobInfo, cachedDiffID, nil - } - } - - // Fallback: copy the layer, computing the diffID if we need to do so - return func() (types.BlobInfo, digest.Digest, error) { // A scope for defer - bar := ic.c.createProgressBar(pool, false, srcInfo, "blob", "done") - defer bar.Abort(false) - - srcStream, srcBlobSize, err := ic.c.rawSource.GetBlob(ctx, srcInfo, ic.c.blobInfoCache) - if err != nil { - return types.BlobInfo{}, "", fmt.Errorf("reading blob %s: %w", srcInfo.Digest, err) - } - defer srcStream.Close() - - blobInfo, diffIDChan, err := ic.copyLayerFromStream(ctx, srcStream, types.BlobInfo{Digest: srcInfo.Digest, Size: srcBlobSize, MediaType: srcInfo.MediaType, Annotations: srcInfo.Annotations}, diffIDIsNeeded, toEncrypt, bar, layerIndex, emptyLayer) - if err != nil { - return types.BlobInfo{}, "", err - } - - diffID := cachedDiffID - if diffIDIsNeeded { - select { - case <-ctx.Done(): - return types.BlobInfo{}, "", ctx.Err() - case diffIDResult := <-diffIDChan: - if diffIDResult.err != nil { - return types.BlobInfo{}, "", fmt.Errorf("computing layer DiffID: %w", diffIDResult.err) - } - logrus.Debugf("Computed DiffID %s for layer %s", diffIDResult.digest, srcInfo.Digest) - // Don’t record any associations that involve encrypted data. This is a bit crude, - // some blob substitutions (replacing pulls of encrypted data with local reuse of known decryption outcomes) - // might be safe, but it’s not trivially obvious, so let’s be conservative for now. - // This crude approach also means we don’t need to record whether a blob is encrypted - // in the blob info cache (which would probably be necessary for any more complex logic), - // and the simplicity is attractive. - if !encryptingOrDecrypting { - // This is safe because we have just computed diffIDResult.Digest ourselves, and in the process - // we have read all of the input blob, so srcInfo.Digest must have been validated by digestingReader. - ic.c.blobInfoCache.RecordDigestUncompressedPair(srcInfo.Digest, diffIDResult.digest) - } - diffID = diffIDResult.digest - } - } - - bar.mark100PercentComplete() - return blobInfo, diffID, nil - }() -} - -// updatedBlobInfoFromReuse returns inputInfo updated with reusedBlob which was created based on inputInfo. -func updatedBlobInfoFromReuse(inputInfo types.BlobInfo, reusedBlob private.ReusedBlob) types.BlobInfo { - // The transport is only tasked with finding the blob, determining its size if necessary, and returning the right - // compression format if the blob was substituted. - // Handling of compression, encryption, and the related MIME types and the like are all the responsibility - // of the generic code in this package. - res := types.BlobInfo{ - Digest: reusedBlob.Digest, - Size: reusedBlob.Size, - URLs: nil, // This _must_ be cleared if Digest changes; clear it in other cases as well, to preserve previous behavior. - Annotations: inputInfo.Annotations, // FIXME: This should remove zstd:chunked annotations (but those annotations being left with incorrect values should not break pulls) - MediaType: inputInfo.MediaType, // Mostly irrelevant, MediaType is updated based on Compression*/CryptoOperation. - CompressionOperation: reusedBlob.CompressionOperation, - CompressionAlgorithm: reusedBlob.CompressionAlgorithm, - CryptoOperation: inputInfo.CryptoOperation, // Expected to be unset anyway. - } - // The transport is only expected to fill CompressionOperation and CompressionAlgorithm - // if the blob was substituted; otherwise, fill it in based - // on what we know from the srcInfos we were given. - if reusedBlob.Digest == inputInfo.Digest { - res.CompressionOperation = inputInfo.CompressionOperation - res.CompressionAlgorithm = inputInfo.CompressionAlgorithm - } - return res -} - -// copyLayerFromStream is an implementation detail of copyLayer; mostly providing a separate “defer” scope. -// it copies a blob with srcInfo (with known Digest and Annotations and possibly known Size) from srcStream to dest, -// perhaps (de/re/)compressing the stream, -// and returns a complete blobInfo of the copied blob and perhaps a <-chan diffIDResult if diffIDIsNeeded, to be read by the caller. -func (ic *imageCopier) copyLayerFromStream(ctx context.Context, srcStream io.Reader, srcInfo types.BlobInfo, - diffIDIsNeeded bool, toEncrypt bool, bar *progressBar, layerIndex int, emptyLayer bool) (types.BlobInfo, <-chan diffIDResult, error) { - var getDiffIDRecorder func(compressiontypes.DecompressorFunc) io.Writer // = nil - var diffIDChan chan diffIDResult - - err := errors.New("Internal error: unexpected panic in copyLayer") // For pipeWriter.CloseWithbelow - if diffIDIsNeeded { - diffIDChan = make(chan diffIDResult, 1) // Buffered, so that sending a value after this or our caller has failed and exited does not block. - pipeReader, pipeWriter := io.Pipe() - defer func() { // Note that this is not the same as {defer pipeWriter.CloseWithError(err)}; we need err to be evaluated lazily. - _ = pipeWriter.CloseWithError(err) // CloseWithError(nil) is equivalent to Close(), always returns nil - }() - - getDiffIDRecorder = func(decompressor compressiontypes.DecompressorFunc) io.Writer { - // If this fails, e.g. because we have exited and due to pipeWriter.CloseWithError() above further - // reading from the pipe has failed, we don’t really care. - // We only read from diffIDChan if the rest of the flow has succeeded, and when we do read from it, - // the return value includes an error indication, which we do check. - // - // If this gets never called, pipeReader will not be used anywhere, but pipeWriter will only be - // closed above, so we are happy enough with both pipeReader and pipeWriter to just get collected by GC. - go diffIDComputationGoroutine(diffIDChan, pipeReader, decompressor) // Closes pipeReader - return pipeWriter - } - } - - blobInfo, err := ic.copyBlobFromStream(ctx, srcStream, srcInfo, getDiffIDRecorder, false, toEncrypt, bar, layerIndex, emptyLayer) // Sets err to nil on success - return blobInfo, diffIDChan, err - // We need the defer … pipeWriter.CloseWithError() to happen HERE so that the caller can block on reading from diffIDChan -} - -// diffIDComputationGoroutine reads all input from layerStream, uncompresses using decompressor if necessary, and sends its digest, and status, if any, to dest. -func diffIDComputationGoroutine(dest chan<- diffIDResult, layerStream io.ReadCloser, decompressor compressiontypes.DecompressorFunc) { - result := diffIDResult{ - digest: "", - err: errors.New("Internal error: unexpected panic in diffIDComputationGoroutine"), - } - defer func() { dest <- result }() - defer layerStream.Close() // We do not care to bother the other end of the pipe with other failures; we send them to dest instead. - - result.digest, result.err = computeDiffID(layerStream, decompressor) -} - -// computeDiffID reads all input from layerStream, uncompresses it using decompressor if necessary, and returns its digest. -func computeDiffID(stream io.Reader, decompressor compressiontypes.DecompressorFunc) (digest.Digest, error) { - if decompressor != nil { - s, err := decompressor(stream) - if err != nil { - return "", err - } - defer s.Close() - stream = s - } - - return digest.Canonical.FromReader(stream) -} - -// algorithmsByNames returns slice of Algorithms from slice of Algorithm Names -func algorithmsByNames(names []string) ([]compressiontypes.Algorithm, error) { - result := []compressiontypes.Algorithm{} - for _, name := range names { - algo, err := compression.AlgorithmByName(name) - if err != nil { - return nil, err - } - result = append(result, algo) - } - return result, nil -} diff --git a/vendor/github.com/containers/image/v5/directory/directory_dest.go b/vendor/github.com/containers/image/v5/directory/directory_dest.go index 222723a8f5..47a5c17cd5 100644 --- a/vendor/github.com/containers/image/v5/directory/directory_dest.go +++ b/vendor/github.com/containers/image/v5/directory/directory_dest.go @@ -105,7 +105,7 @@ func newImageDestination(sys *types.SystemContext, ref dirReference) (private.Im AcceptsForeignLayerURLs: false, MustMatchRuntimeOS: false, IgnoresEmbeddedDockerReference: false, // N/A, DockerReference() returns nil. - HasThreadSafePutBlob: true, + HasThreadSafePutBlob: false, }), NoPutBlobPartialInitialize: stubs.NoPutBlobPartial(ref), @@ -132,11 +132,11 @@ func (d *dirImageDestination) Close() error { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. -// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. -func (d *dirImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { +// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. +func (d *dirImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { blobFile, err := os.CreateTemp(d.ref.path, "dir-put-blob") if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } succeeded := false explicitClosed := false @@ -153,14 +153,14 @@ func (d *dirImageDestination) PutBlobWithOptions(ctx context.Context, stream io. // TODO: This can take quite some time, and should ideally be cancellable using ctx.Done(). size, err := io.Copy(blobFile, stream) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } blobDigest := digester.Digest() if inputInfo.Size != -1 && size != inputInfo.Size { - return private.UploadedBlob{}, fmt.Errorf("Size mismatch when copying %s, expected %d, got %d", blobDigest, inputInfo.Size, size) + return types.BlobInfo{}, fmt.Errorf("Size mismatch when copying %s, expected %d, got %d", blobDigest, inputInfo.Size, size) } if err := blobFile.Sync(); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } // On POSIX systems, blobFile was created with mode 0600, so we need to make it readable. @@ -169,7 +169,7 @@ func (d *dirImageDestination) PutBlobWithOptions(ctx context.Context, stream io. // always fails on Windows. if runtime.GOOS != "windows" { if err := blobFile.Chmod(0644); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } } @@ -178,33 +178,32 @@ func (d *dirImageDestination) PutBlobWithOptions(ctx context.Context, stream io. blobFile.Close() explicitClosed = true if err := os.Rename(blobFile.Name(), blobPath); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } succeeded = true - return private.UploadedBlob{Digest: blobDigest, Size: size}, nil + return types.BlobInfo{Digest: blobDigest, Size: size}, nil } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (d *dirImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { - if !impl.OriginalBlobMatchesRequiredCompression(options) { - return false, private.ReusedBlob{}, nil - } +func (d *dirImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { if info.Digest == "" { - return false, private.ReusedBlob{}, fmt.Errorf("Can not check for a blob with unknown digest") + return false, types.BlobInfo{}, fmt.Errorf("Can not check for a blob with unknown digest") } blobPath := d.ref.layerPath(info.Digest) finfo, err := os.Stat(blobPath) if err != nil && os.IsNotExist(err) { - return false, private.ReusedBlob{}, nil + return false, types.BlobInfo{}, nil } if err != nil { - return false, private.ReusedBlob{}, err + return false, types.BlobInfo{}, err } - return true, private.ReusedBlob{Digest: info.Digest, Size: finfo.Size()}, nil + return true, types.BlobInfo{Digest: info.Digest, Size: finfo.Size()}, nil } // PutManifest writes manifest to the destination. diff --git a/vendor/github.com/containers/image/v5/directory/directory_src.go b/vendor/github.com/containers/image/v5/directory/directory_src.go index 5fc83bb6f9..98efdedd73 100644 --- a/vendor/github.com/containers/image/v5/directory/directory_src.go +++ b/vendor/github.com/containers/image/v5/directory/directory_src.go @@ -8,9 +8,9 @@ import ( "github.com/containers/image/v5/internal/imagesource/impl" "github.com/containers/image/v5/internal/imagesource/stubs" - "github.com/containers/image/v5/internal/manifest" "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/internal/signature" + "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/types" "github.com/opencontainers/go-digest" ) diff --git a/vendor/github.com/containers/image/v5/directory/directory_transport.go b/vendor/github.com/containers/image/v5/directory/directory_transport.go index 7e3068693d..253ecb2475 100644 --- a/vendor/github.com/containers/image/v5/directory/directory_transport.go +++ b/vendor/github.com/containers/image/v5/directory/directory_transport.go @@ -89,7 +89,7 @@ func (ref dirReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix. func (ref dirReference) StringWithinTransport() string { return ref.path diff --git a/vendor/github.com/containers/image/v5/directory/explicitfilepath/path.go b/vendor/github.com/containers/image/v5/directory/explicitfilepath/path.go index 32ae1ae8a7..b4ff4d08a5 100644 --- a/vendor/github.com/containers/image/v5/directory/explicitfilepath/path.go +++ b/vendor/github.com/containers/image/v5/directory/explicitfilepath/path.go @@ -9,7 +9,7 @@ import ( // ResolvePathToFullyExplicit returns the input path converted to an absolute, no-symlinks, cleaned up path. // To do so, all elements of the input path must exist; as a special case, the final component may be // a non-existent name (but not a symlink pointing to a non-existent name) -// This is intended as a helper for implementations of types.ImageReference.PolicyConfigurationIdentity etc. +// This is intended as a a helper for implementations of types.ImageReference.PolicyConfigurationIdentity etc. func ResolvePathToFullyExplicit(path string) (string, error) { switch _, err := os.Lstat(path); { case err == nil: diff --git a/vendor/github.com/containers/image/v5/docker/archive/dest.go b/vendor/github.com/containers/image/v5/docker/archive/dest.go index 632ee7c493..60521662ed 100644 --- a/vendor/github.com/containers/image/v5/docker/archive/dest.go +++ b/vendor/github.com/containers/image/v5/docker/archive/dest.go @@ -3,6 +3,7 @@ package archive import ( "context" "fmt" + "io" "github.com/containers/image/v5/docker/internal/tarfile" "github.com/containers/image/v5/internal/private" @@ -12,8 +13,8 @@ import ( type archiveImageDestination struct { *tarfile.Destination // Implements most of types.ImageDestination ref archiveReference - writer *Writer // Should be closed if closeWriter - closeWriter bool + archive *tarfile.Writer // Should only be closed if writer != nil + writer io.Closer // May be nil if the archive is shared } func newImageDestination(sys *types.SystemContext, ref archiveReference) (private.ImageDestination, error) { @@ -21,28 +22,29 @@ func newImageDestination(sys *types.SystemContext, ref archiveReference) (privat return nil, fmt.Errorf("Destination reference must not contain a manifest index @%d", ref.sourceIndex) } - var writer *Writer - var closeWriter bool - if ref.writer != nil { - writer = ref.writer - closeWriter = false + var archive *tarfile.Writer + var writer io.Closer + if ref.archiveWriter != nil { + archive = ref.archiveWriter + writer = nil } else { - w, err := NewWriter(sys, ref.path) + fh, err := openArchiveForWriting(ref.path) if err != nil { return nil, err } - writer = w - closeWriter = true + + archive = tarfile.NewWriter(fh) + writer = fh } - tarDest := tarfile.NewDestination(sys, writer.archive, ref.Transport().Name(), ref.ref) + tarDest := tarfile.NewDestination(sys, archive, ref.Transport().Name(), ref.ref) if sys != nil && sys.DockerArchiveAdditionalTags != nil { tarDest.AddRepoTags(sys.DockerArchiveAdditionalTags) } return &archiveImageDestination{ Destination: tarDest, ref: ref, + archive: archive, writer: writer, - closeWriter: closeWriter, }, nil } @@ -54,7 +56,7 @@ func (d *archiveImageDestination) Reference() types.ImageReference { // Close removes resources associated with an initialized ImageDestination, if any. func (d *archiveImageDestination) Close() error { - if d.closeWriter { + if d.writer != nil { return d.writer.Close() } return nil @@ -68,15 +70,8 @@ func (d *archiveImageDestination) Close() error { // - Uploaded data MAY be visible to others before Commit() is called // - Uploaded data MAY be removed or MAY remain around if Close() is called without Commit() (i.e. rollback is allowed but not guaranteed) func (d *archiveImageDestination) Commit(ctx context.Context, unparsedToplevel types.UnparsedImage) error { - d.writer.imageCommitted() - if d.closeWriter { - // We could do this only in .Close(), but failures in .Close() are much more likely to be - // ignored by callers that use defer. So, in single-image destinations, try to complete - // the archive here. - // But if Commit() is never called, let .Close() clean up. - err := d.writer.Close() - d.closeWriter = false - return err + if d.writer != nil { + return d.archive.Close() } return nil } diff --git a/vendor/github.com/containers/image/v5/docker/archive/src.go b/vendor/github.com/containers/image/v5/docker/archive/src.go index c4ab9a8c15..5604a51218 100644 --- a/vendor/github.com/containers/image/v5/docker/archive/src.go +++ b/vendor/github.com/containers/image/v5/docker/archive/src.go @@ -1,6 +1,8 @@ package archive import ( + "context" + "github.com/containers/image/v5/docker/internal/tarfile" "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/types" @@ -13,7 +15,7 @@ type archiveImageSource struct { // newImageSource returns a types.ImageSource for the specified image reference. // The caller must call .Close() on the returned ImageSource. -func newImageSource(sys *types.SystemContext, ref archiveReference) (private.ImageSource, error) { +func newImageSource(ctx context.Context, sys *types.SystemContext, ref archiveReference) (private.ImageSource, error) { var archive *tarfile.Reader var closeArchive bool if ref.archiveReader != nil { diff --git a/vendor/github.com/containers/image/v5/docker/archive/transport.go b/vendor/github.com/containers/image/v5/docker/archive/transport.go index 39e92cac35..9044b340b7 100644 --- a/vendor/github.com/containers/image/v5/docker/archive/transport.go +++ b/vendor/github.com/containers/image/v5/docker/archive/transport.go @@ -53,7 +53,7 @@ type archiveReference struct { // file, not necessarily path precisely). archiveReader *tarfile.Reader // If not nil, must have been created for path - writer *Writer + archiveWriter *tarfile.Writer } // ParseReference converts a string, which should not start with the ImageTransport.Name prefix, into an Docker ImageReference. @@ -62,23 +62,24 @@ func ParseReference(refString string) (types.ImageReference, error) { return nil, fmt.Errorf("docker-archive reference %s isn't of the form [:]", refString) } - path, tagOrIndex, gotTagOrIndex := strings.Cut(refString, ":") + parts := strings.SplitN(refString, ":", 2) + path := parts[0] var nt reference.NamedTagged sourceIndex := -1 - if gotTagOrIndex { + if len(parts) == 2 { // A :tag or :@index was specified. - if len(tagOrIndex) > 0 && tagOrIndex[0] == '@' { - i, err := strconv.Atoi(tagOrIndex[1:]) + if len(parts[1]) > 0 && parts[1][0] == '@' { + i, err := strconv.Atoi(parts[1][1:]) if err != nil { - return nil, fmt.Errorf("Invalid source index %s: %w", tagOrIndex, err) + return nil, fmt.Errorf("Invalid source index %s: %w", parts[1], err) } if i < 0 { return nil, fmt.Errorf("Invalid source index @%d: must not be negative", i) } sourceIndex = i } else { - ref, err := reference.ParseNormalizedNamed(tagOrIndex) + ref, err := reference.ParseNormalizedNamed(parts[1]) if err != nil { return nil, fmt.Errorf("docker-archive parsing reference: %w", err) } @@ -107,7 +108,7 @@ func NewIndexReference(path string, sourceIndex int) (types.ImageReference, erro // newReference returns a docker archive reference for a path, an optional reference or sourceIndex, // and optionally a tarfile.Reader and/or a tarfile.Writer matching path. func newReference(path string, ref reference.NamedTagged, sourceIndex int, - archiveReader *tarfile.Reader, writer *Writer) (types.ImageReference, error) { + archiveReader *tarfile.Reader, archiveWriter *tarfile.Writer) (types.ImageReference, error) { if strings.Contains(path, ":") { return nil, fmt.Errorf("Invalid docker-archive: reference: colon in path %q is not supported", path) } @@ -125,7 +126,7 @@ func newReference(path string, ref reference.NamedTagged, sourceIndex int, ref: ref, sourceIndex: sourceIndex, archiveReader: archiveReader, - writer: writer, + archiveWriter: archiveWriter, }, nil } @@ -136,7 +137,7 @@ func (ref archiveReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix. func (ref archiveReference) StringWithinTransport() string { switch { @@ -190,7 +191,7 @@ func (ref archiveReference) NewImage(ctx context.Context, sys *types.SystemConte // NewImageSource returns a types.ImageSource for this reference. // The caller must call .Close() on the returned ImageSource. func (ref archiveReference) NewImageSource(ctx context.Context, sys *types.SystemContext) (types.ImageSource, error) { - return newImageSource(sys, ref) + return newImageSource(ctx, sys, ref) } // NewImageDestination returns a types.ImageDestination for this reference. diff --git a/vendor/github.com/containers/image/v5/docker/archive/writer.go b/vendor/github.com/containers/image/v5/docker/archive/writer.go index 11f797c007..2d8fafe292 100644 --- a/vendor/github.com/containers/image/v5/docker/archive/writer.go +++ b/vendor/github.com/containers/image/v5/docker/archive/writer.go @@ -5,7 +5,6 @@ import ( "fmt" "io" "os" - "sync" "github.com/containers/image/v5/docker/internal/tarfile" "github.com/containers/image/v5/docker/reference" @@ -14,19 +13,47 @@ import ( // Writer manages a single in-progress Docker archive and allows adding images to it. type Writer struct { - path string // The original, user-specified path; not the maintained temporary file, if any - regularFile bool // path refers to a regular file (e.g. not a pipe) - archive *tarfile.Writer - writer io.Closer - - // The following state can only be accessed with the mutex held. - mutex sync.Mutex - hadCommit bool // At least one successful commit has happened + path string // The original, user-specified path; not the maintained temporary file, if any + archive *tarfile.Writer + writer io.Closer } // NewWriter returns a Writer for path. // The caller should call .Close() on the returned object. func NewWriter(sys *types.SystemContext, path string) (*Writer, error) { + fh, err := openArchiveForWriting(path) + if err != nil { + return nil, err + } + archive := tarfile.NewWriter(fh) + + return &Writer{ + path: path, + archive: archive, + writer: fh, + }, nil +} + +// Close writes all outstanding data about images to the archive, and +// releases state associated with the Writer, if any. +// No more images can be added after this is called. +func (w *Writer) Close() error { + err := w.archive.Close() + if err2 := w.writer.Close(); err2 != nil && err == nil { + err = err2 + } + return err +} + +// NewReference returns an ImageReference that allows adding an image to Writer, +// with an optional reference. +func (w *Writer) NewReference(destinationRef reference.NamedTagged) (types.ImageReference, error) { + return newReference(w.path, destinationRef, -1, nil, w.archive) +} + +// openArchiveForWriting opens path for writing a tar archive, +// making a few sanity checks. +func openArchiveForWriting(path string) (*os.File, error) { // path can be either a pipe or a regular file // in the case of a pipe, we require that we can open it for write // in the case of a regular file, we don't want to overwrite any pre-existing file @@ -42,62 +69,15 @@ func NewWriter(sys *types.SystemContext, path string) (*Writer, error) { fh.Close() } }() - fhStat, err := fh.Stat() if err != nil { return nil, fmt.Errorf("statting file %q: %w", path, err) } - regularFile := fhStat.Mode().IsRegular() - if regularFile && fhStat.Size() != 0 { + + if fhStat.Mode().IsRegular() && fhStat.Size() != 0 { return nil, errors.New("docker-archive doesn't support modifying existing images") } - archive := tarfile.NewWriter(fh) - succeeded = true - return &Writer{ - path: path, - regularFile: regularFile, - archive: archive, - writer: fh, - hadCommit: false, - }, nil -} - -// imageCommitted notifies the Writer that at least one image was successfully committed to the stream. -func (w *Writer) imageCommitted() { - w.mutex.Lock() - defer w.mutex.Unlock() - w.hadCommit = true -} - -// Close writes all outstanding data about images to the archive, and -// releases state associated with the Writer, if any. -// No more images can be added after this is called. -func (w *Writer) Close() error { - err := w.archive.Close() - if err2 := w.writer.Close(); err2 != nil && err == nil { - err = err2 - } - if err == nil && w.regularFile && !w.hadCommit { - // Writing to the destination never had a success; delete the destination if we created it. - // This is done primarily because we don’t implement adding another image to a pre-existing image, so if we - // left a partial archive around (notably because reading from the _source_ has failed), we couldn’t retry without - // the caller manually deleting the partial archive. So, delete it instead. - // - // Archives with at least one successfully created image are left around; they might still be valuable. - // - // Note a corner case: If there _originally_ was an empty file (which is not a valid archive anyway), this deletes it. - // Ideally, if w.regularFile, we should write the full contents to a temporary file and use os.Rename here, only on success. - if err2 := os.Remove(w.path); err2 != nil { - err = err2 - } - } - return err -} - -// NewReference returns an ImageReference that allows adding an image to Writer, -// with an optional reference. -func (w *Writer) NewReference(destinationRef reference.NamedTagged) (types.ImageReference, error) { - return newReference(w.path, destinationRef, -1, nil, w) + return fh, nil } diff --git a/vendor/github.com/containers/image/v5/docker/body_reader.go b/vendor/github.com/containers/image/v5/docker/body_reader.go deleted file mode 100644 index 7d66ef6bc0..0000000000 --- a/vendor/github.com/containers/image/v5/docker/body_reader.go +++ /dev/null @@ -1,253 +0,0 @@ -package docker - -import ( - "context" - "errors" - "fmt" - "io" - "math" - "math/rand" - "net/http" - "net/url" - "strconv" - "strings" - "syscall" - "time" - - "github.com/sirupsen/logrus" -) - -const ( - // bodyReaderMinimumProgress is the minimum progress we consider a good reason to retry - bodyReaderMinimumProgress = 1 * 1024 * 1024 - // bodyReaderMSSinceLastRetry is the minimum time since a last retry we consider a good reason to retry - bodyReaderMSSinceLastRetry = 60 * 1_000 -) - -// bodyReader is an io.ReadCloser returned by dockerImageSource.GetBlob, -// which can transparently resume some (very limited) kinds of aborted connections. -type bodyReader struct { - ctx context.Context - c *dockerClient - path string // path to pass to makeRequest to retry - logURL *url.URL // a string to use in error messages - firstConnectionTime time.Time - - body io.ReadCloser // The currently open connection we use to read data, or nil if there is nothing to read from / close. - lastRetryOffset int64 // -1 if N/A - lastRetryTime time.Time // time.Time{} if N/A - offset int64 // Current offset within the blob - lastSuccessTime time.Time // time.Time{} if N/A -} - -// newBodyReader creates a bodyReader for request path in c. -// firstBody is an already correctly opened body for the blob, returning the full blob from the start. -// If reading from firstBody fails, bodyReader may heuristically decide to resume. -func newBodyReader(ctx context.Context, c *dockerClient, path string, firstBody io.ReadCloser) (io.ReadCloser, error) { - logURL, err := c.resolveRequestURL(path) - if err != nil { - return nil, err - } - res := &bodyReader{ - ctx: ctx, - c: c, - path: path, - logURL: logURL, - firstConnectionTime: time.Now(), - - body: firstBody, - lastRetryOffset: -1, - lastRetryTime: time.Time{}, - offset: 0, - lastSuccessTime: time.Time{}, - } - return res, nil -} - -// parseDecimalInString ensures that s[start:] starts with a non-negative decimal number, and returns that number and the offset after the number. -func parseDecimalInString(s string, start int) (int64, int, error) { - i := start - for i < len(s) && s[i] >= '0' && s[i] <= '9' { - i++ - } - if i == start { - return -1, -1, errors.New("missing decimal number") - } - v, err := strconv.ParseInt(s[start:i], 10, 64) - if err != nil { - return -1, -1, fmt.Errorf("parsing number: %w", err) - } - return v, i, nil -} - -// parseExpectedChar ensures that s[pos] is the expected byte, and returns the offset after it. -func parseExpectedChar(s string, pos int, expected byte) (int, error) { - if pos == len(s) || s[pos] != expected { - return -1, fmt.Errorf("missing expected %q", expected) - } - return pos + 1, nil -} - -// parseContentRange ensures that res contains a Content-Range header with a byte range, and returns (first, last, completeLength) on success. Size can be -1. -func parseContentRange(res *http.Response) (int64, int64, int64, error) { - hdrs := res.Header.Values("Content-Range") - switch len(hdrs) { - case 0: - return -1, -1, -1, errors.New("missing Content-Range: header") - case 1: - break - default: - return -1, -1, -1, fmt.Errorf("ambiguous Content-Range:, %d header values", len(hdrs)) - } - hdr := hdrs[0] - expectedPrefix := "bytes " - if !strings.HasPrefix(hdr, expectedPrefix) { - return -1, -1, -1, fmt.Errorf("invalid Content-Range: %q, missing prefix %q", hdr, expectedPrefix) - } - first, pos, err := parseDecimalInString(hdr, len(expectedPrefix)) - if err != nil { - return -1, -1, -1, fmt.Errorf("invalid Content-Range: %q, parsing first-pos: %w", hdr, err) - } - pos, err = parseExpectedChar(hdr, pos, '-') - if err != nil { - return -1, -1, -1, fmt.Errorf("invalid Content-Range: %q: %w", hdr, err) - } - last, pos, err := parseDecimalInString(hdr, pos) - if err != nil { - return -1, -1, -1, fmt.Errorf("invalid Content-Range: %q, parsing last-pos: %w", hdr, err) - } - pos, err = parseExpectedChar(hdr, pos, '/') - if err != nil { - return -1, -1, -1, fmt.Errorf("invalid Content-Range: %q: %w", hdr, err) - } - completeLength := int64(-1) - if pos < len(hdr) && hdr[pos] == '*' { - pos++ - } else { - completeLength, pos, err = parseDecimalInString(hdr, pos) - if err != nil { - return -1, -1, -1, fmt.Errorf("invalid Content-Range: %q, parsing complete-length: %w", hdr, err) - } - } - if pos < len(hdr) { - return -1, -1, -1, fmt.Errorf("invalid Content-Range: %q, unexpected trailing content", hdr) - } - return first, last, completeLength, nil -} - -// Read implements io.ReadCloser -func (br *bodyReader) Read(p []byte) (int, error) { - if br.body == nil { - return 0, fmt.Errorf("internal error: bodyReader.Read called on a closed object for %s", br.logURL.Redacted()) - } - n, err := br.body.Read(p) - br.offset += int64(n) - switch { - case err == nil || err == io.EOF: - br.lastSuccessTime = time.Now() - return n, err // Unlike the default: case, don’t log anything. - - case errors.Is(err, io.ErrUnexpectedEOF) || errors.Is(err, syscall.ECONNRESET): - originalErr := err - redactedURL := br.logURL.Redacted() - if err := br.errorIfNotReconnecting(originalErr, redactedURL); err != nil { - return n, err - } - - if err := br.body.Close(); err != nil { - logrus.Debugf("Error closing blob body: %v", err) // … and ignore err otherwise - } - br.body = nil - time.Sleep(1*time.Second + time.Duration(rand.Intn(100_000))*time.Microsecond) // Some jitter so that a failure blip doesn’t cause a deterministic stampede - - headers := map[string][]string{ - "Range": {fmt.Sprintf("bytes=%d-", br.offset)}, - } - res, err := br.c.makeRequest(br.ctx, http.MethodGet, br.path, headers, nil, v2Auth, nil) - if err != nil { - return n, fmt.Errorf("%w (while reconnecting: %v)", originalErr, err) - } - consumedBody := false - defer func() { - if !consumedBody { - res.Body.Close() - } - }() - switch res.StatusCode { - case http.StatusPartialContent: // OK - // A client MUST inspect a 206 response's Content-Type and Content-Range field(s) to determine what parts are enclosed and whether additional requests are needed. - // The recipient of an invalid Content-Range MUST NOT attempt to recombine the received content with a stored representation. - first, last, completeLength, err := parseContentRange(res) - if err != nil { - return n, fmt.Errorf("%w (after reconnecting, invalid Content-Range header: %v)", originalErr, err) - } - // We don’t handle responses that start at an unrequested offset, nor responses that terminate before the end of the full blob. - if first != br.offset || (completeLength != -1 && last+1 != completeLength) { - return n, fmt.Errorf("%w (after reconnecting at offset %d, got unexpected Content-Range %d-%d/%d)", originalErr, br.offset, first, last, completeLength) - } - // Continue below - case http.StatusOK: - return n, fmt.Errorf("%w (after reconnecting, server did not process a Range: header, status %d)", originalErr, http.StatusOK) - default: - err := registryHTTPResponseToError(res) - return n, fmt.Errorf("%w (after reconnecting, fetching blob: %v)", originalErr, err) - } - - logrus.Debugf("Successfully reconnected to %s", redactedURL) - consumedBody = true - br.body = res.Body - br.lastRetryOffset = br.offset - br.lastRetryTime = time.Time{} - return n, nil - - default: - logrus.Debugf("Error reading blob body from %s: %#v", br.logURL.Redacted(), err) - return n, err - } -} - -// millisecondsSinceOptional is like currentTime.Sub(tm).Milliseconds, but it returns a floating-point value. -// If tm is time.Time{}, it returns math.NaN() -func millisecondsSinceOptional(currentTime time.Time, tm time.Time) float64 { - if tm == (time.Time{}) { - return math.NaN() - } - return float64(currentTime.Sub(tm).Nanoseconds()) / 1_000_000.0 -} - -// errorIfNotReconnecting makes a heuristic decision whether we should reconnect after err at redactedURL; if so, it returns nil, -// otherwise it returns an appropriate error to return to the caller (possibly augmented with data about the heuristic) -func (br *bodyReader) errorIfNotReconnecting(originalErr error, redactedURL string) error { - currentTime := time.Now() - msSinceFirstConnection := millisecondsSinceOptional(currentTime, br.firstConnectionTime) - msSinceLastRetry := millisecondsSinceOptional(currentTime, br.lastRetryTime) - msSinceLastSuccess := millisecondsSinceOptional(currentTime, br.lastSuccessTime) - logrus.Debugf("Reading blob body from %s failed (%#v), decision inputs: total %d @%.3f ms, last retry %d @%.3f ms, last progress @%.3f ms", - redactedURL, originalErr, br.offset, msSinceFirstConnection, br.lastRetryOffset, msSinceLastRetry, msSinceLastSuccess) - progress := br.offset - br.lastRetryOffset - if progress >= bodyReaderMinimumProgress { - logrus.Infof("Reading blob body from %s failed (%v), reconnecting after %d bytes…", redactedURL, originalErr, progress) - return nil - } - if br.lastRetryTime == (time.Time{}) { - logrus.Infof("Reading blob body from %s failed (%v), reconnecting (first reconnection)…", redactedURL, originalErr) - return nil - } - if msSinceLastRetry >= bodyReaderMSSinceLastRetry { - logrus.Infof("Reading blob body from %s failed (%v), reconnecting after %.3f ms…", redactedURL, originalErr, msSinceLastRetry) - return nil - } - logrus.Debugf("Not reconnecting to %s: insufficient progress %d / time since last retry %.3f ms", redactedURL, progress, msSinceLastRetry) - return fmt.Errorf("(heuristic tuning data: total %d @%.3f ms, last retry %d @%.3f ms, last progress @ %.3f ms): %w", - br.offset, msSinceFirstConnection, br.lastRetryOffset, msSinceLastRetry, msSinceLastSuccess, originalErr) -} - -// Close implements io.ReadCloser -func (br *bodyReader) Close() error { - if br.body == nil { - return nil - } - err := br.body.Close() - br.body = nil - return err -} diff --git a/vendor/github.com/containers/image/v5/docker/daemon/client.go b/vendor/github.com/containers/image/v5/docker/daemon/client.go index 2c245f54f9..323a02fc09 100644 --- a/vendor/github.com/containers/image/v5/docker/daemon/client.go +++ b/vendor/github.com/containers/image/v5/docker/daemon/client.go @@ -21,49 +21,33 @@ func newDockerClient(sys *types.SystemContext) (*dockerclient.Client, error) { host = sys.DockerDaemonHost } - opts := []dockerclient.Opt{ - dockerclient.WithHost(host), - dockerclient.WithVersion(defaultAPIVersion), - } - - // We conditionalize building the TLS configuration only to TLS sockets: - // - // The dockerclient.Client implementation differentiates between - // - Client.proto, which is ~how the connection is establishe (IP / AF_UNIX/Windows) - // - Client.scheme, which is what is sent over the connection (HTTP with/without TLS). - // - // Only Client.proto is set from the URL in dockerclient.WithHost(), - // Client.scheme is detected based on a http.Client.TLSClientConfig presence; - // dockerclient.WithHTTPClient with a client that has TLSClientConfig set - // will, by default, trigger an attempt to use TLS. - // - // So, don’t use WithHTTPClient for unix:// sockets at all. + // Sadly, unix:// sockets don't work transparently with dockerclient.NewClient. + // They work fine with a nil httpClient; with a non-nil httpClient, the transport’s + // TLSClientConfig must be nil (or the client will try using HTTPS over the PF_UNIX socket + // regardless of the values in the *tls.Config), and we would have to call sockets.ConfigureTransport. // - // Similarly, if we want to communicate over plain HTTP on a TCP socket (http://), - // we also should not set TLSClientConfig. We continue to use WithHTTPClient - // with our slightly non-default settings to avoid a behavior change on updates of c/image. + // We don't really want to configure anything for unix:// sockets, so just pass a nil *http.Client. // - // Alternatively we could use dockerclient.WithScheme to drive the TLS/non-TLS logic - // explicitly, but we would still want to set WithHTTPClient (differently) for https:// and http:// ; - // so that would not be any simpler. - serverURL, err := dockerclient.ParseHostURL(host) + // Similarly, if we want to communicate over plain HTTP on a TCP socket, we also need to set + // TLSClientConfig to nil. This can be achieved by using the form `http://` + url, err := dockerclient.ParseHostURL(host) if err != nil { return nil, err } - switch serverURL.Scheme { - case "unix": // Nothing - case "http": - hc := httpConfig() - opts = append(opts, dockerclient.WithHTTPClient(hc)) - default: - hc, err := tlsConfig(sys) - if err != nil { - return nil, err + var httpClient *http.Client + if url.Scheme != "unix" { + if url.Scheme == "http" { + httpClient = httpConfig() + } else { + hc, err := tlsConfig(sys) + if err != nil { + return nil, err + } + httpClient = hc } - opts = append(opts, dockerclient.WithHTTPClient(hc)) } - return dockerclient.NewClientWithOpts(opts...) + return dockerclient.NewClient(host, defaultAPIVersion, httpClient, nil) } func tlsConfig(sys *types.SystemContext) (*http.Client, error) { diff --git a/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go b/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go index 55431db13a..dc4aa70d3a 100644 --- a/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go +++ b/vendor/github.com/containers/image/v5/docker/daemon/daemon_dest.go @@ -2,7 +2,6 @@ package daemon import ( "context" - "encoding/json" "errors" "fmt" "io" @@ -70,7 +69,6 @@ func newImageDestination(ctx context.Context, sys *types.SystemContext, ref daem // imageLoadGoroutine accepts tar stream on reader, sends it to c, and reports error or success by writing to statusChannel func imageLoadGoroutine(ctx context.Context, c *client.Client, reader *io.PipeReader, statusChannel chan<- error) { - defer c.Close() err := errors.New("Internal error: unexpected panic in imageLoadGoroutine") defer func() { logrus.Debugf("docker-daemon: sending done, status %v", err) @@ -86,40 +84,12 @@ func imageLoadGoroutine(ctx context.Context, c *client.Client, reader *io.PipeRe } }() - err = imageLoad(ctx, c, reader) -} - -// imageLoad accepts tar stream on reader and sends it to c -func imageLoad(ctx context.Context, c *client.Client, reader *io.PipeReader) error { resp, err := c.ImageLoad(ctx, reader, true) if err != nil { - return fmt.Errorf("starting a load operation in docker engine: %w", err) + err = fmt.Errorf("saving image to docker engine: %w", err) + return } defer resp.Body.Close() - - // jsonError and jsonMessage are small subsets of docker/docker/pkg/jsonmessage.JSONError and JSONMessage, - // copied here to minimize dependencies. - type jsonError struct { - Message string `json:"message,omitempty"` - } - type jsonMessage struct { - Error *jsonError `json:"errorDetail,omitempty"` - } - - dec := json.NewDecoder(resp.Body) - for { - var msg jsonMessage - if err := dec.Decode(&msg); err != nil { - if err == io.EOF { - break - } - return fmt.Errorf("parsing docker load progress: %w", err) - } - if msg.Error != nil { - return fmt.Errorf("docker engine reported: %s", msg.Error.Message) - } - } - return nil // No error reported = success } // DesiredLayerCompression indicates if layers must be compressed, decompressed or preserved diff --git a/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go b/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go index 10923c278e..b57936654b 100644 --- a/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go +++ b/vendor/github.com/containers/image/v5/docker/daemon/daemon_src.go @@ -28,8 +28,6 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref daemonRef if err != nil { return nil, fmt.Errorf("initializing docker engine client: %w", err) } - defer c.Close() - // Per NewReference(), ref.StringWithinTransport() is either an image ID (config digest), or a !reference.NameOnly() reference. // Either way ImageSave should create a tarball with exactly one image. inputStream, err := c.ImageSave(ctx, []string{ref.StringWithinTransport()}) diff --git a/vendor/github.com/containers/image/v5/docker/daemon/daemon_transport.go b/vendor/github.com/containers/image/v5/docker/daemon/daemon_transport.go index 9eedff7456..31ce167f13 100644 --- a/vendor/github.com/containers/image/v5/docker/daemon/daemon_transport.go +++ b/vendor/github.com/containers/image/v5/docker/daemon/daemon_transport.go @@ -53,7 +53,7 @@ func (t daemonTransport) ValidatePolicyConfigurationScope(scope string) error { // For daemonImageSource, both id and ref are acceptable, ref must not be a NameOnly (interpreted as all tags in that repository by the daemon) // For daemonImageDestination, it must be a ref, which is NamedTagged. // (We could, in principle, also allow storing images without tagging them, and the user would have to refer to them using the docker image ID = config digest. -// Using the config digest requires the caller to parse the manifest themselves, which is very cumbersome; so, for now, we don’t bother.) +// Using the config digest requires the caller to parse the manifest themselves, which is very cumbersome; so, for now, we don’t bother.) type daemonReference struct { id digest.Digest ref reference.Named // !reference.IsNameOnly @@ -118,7 +118,7 @@ func (ref daemonReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix; // instead, see transports.ImageName(). func (ref daemonReference) StringWithinTransport() string { diff --git a/vendor/github.com/containers/image/v5/docker/distribution_error.go b/vendor/github.com/containers/image/v5/docker/distribution_error.go deleted file mode 100644 index 11b42c6e00..0000000000 --- a/vendor/github.com/containers/image/v5/docker/distribution_error.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code below is taken from https://github.com/distribution/distribution/blob/a4d9db5a884b70be0c96dd6a7a9dbef4f2798c51/registry/client/errors.go -// Copyright 2022 github.com/distribution/distribution authors. -// -// 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. - -package docker - -import ( - "encoding/json" - "errors" - "fmt" - "io" - "net/http" - - "github.com/docker/distribution/registry/api/errcode" - dockerChallenge "github.com/docker/distribution/registry/client/auth/challenge" - "golang.org/x/exp/slices" -) - -// errNoErrorsInBody is returned when an HTTP response body parses to an empty -// errcode.Errors slice. -var errNoErrorsInBody = errors.New("no error details found in HTTP response body") - -// unexpectedHTTPStatusError is returned when an unexpected HTTP status is -// returned when making a registry api call. -type unexpectedHTTPStatusError struct { - Status string -} - -func (e *unexpectedHTTPStatusError) Error() string { - return fmt.Sprintf("received unexpected HTTP status: %s", e.Status) -} - -// unexpectedHTTPResponseError is returned when an expected HTTP status code -// is returned, but the content was unexpected and failed to be parsed. -type unexpectedHTTPResponseError struct { - ParseErr error - StatusCode int - Response []byte -} - -func (e *unexpectedHTTPResponseError) Error() string { - return fmt.Sprintf("error parsing HTTP %d response body: %s: %q", e.StatusCode, e.ParseErr.Error(), string(e.Response)) -} - -func parseHTTPErrorResponse(statusCode int, r io.Reader) error { - var errors errcode.Errors - body, err := io.ReadAll(r) - if err != nil { - return err - } - - // For backward compatibility, handle irregularly formatted - // messages that contain a "details" field. - var detailsErr struct { - Details string `json:"details"` - } - err = json.Unmarshal(body, &detailsErr) - if err == nil && detailsErr.Details != "" { - switch statusCode { - case http.StatusUnauthorized: - return errcode.ErrorCodeUnauthorized.WithMessage(detailsErr.Details) - case http.StatusTooManyRequests: - return errcode.ErrorCodeTooManyRequests.WithMessage(detailsErr.Details) - default: - return errcode.ErrorCodeUnknown.WithMessage(detailsErr.Details) - } - } - - if err := json.Unmarshal(body, &errors); err != nil { - return &unexpectedHTTPResponseError{ - ParseErr: err, - StatusCode: statusCode, - Response: body, - } - } - - if len(errors) == 0 { - // If there was no error specified in the body, return - // UnexpectedHTTPResponseError. - return &unexpectedHTTPResponseError{ - ParseErr: errNoErrorsInBody, - StatusCode: statusCode, - Response: body, - } - } - - return errors -} - -func makeErrorList(err error) []error { - if errL, ok := err.(errcode.Errors); ok { - return []error(errL) - } - return []error{err} -} - -func mergeErrors(err1, err2 error) error { - return errcode.Errors(append(slices.Clone(makeErrorList(err1)), makeErrorList(err2)...)) -} - -// handleErrorResponse returns error parsed from HTTP response for an -// unsuccessful HTTP response code (in the range 400 - 499 inclusive). An -// UnexpectedHTTPStatusError returned for response code outside of expected -// range. -func handleErrorResponse(resp *http.Response) error { - if resp.StatusCode >= 400 && resp.StatusCode < 500 { - // Check for OAuth errors within the `WWW-Authenticate` header first - // See https://tools.ietf.org/html/rfc6750#section-3 - for _, c := range dockerChallenge.ResponseChallenges(resp) { - if c.Scheme == "bearer" { - var err errcode.Error - // codes defined at https://tools.ietf.org/html/rfc6750#section-3.1 - switch c.Parameters["error"] { - case "invalid_token": - err.Code = errcode.ErrorCodeUnauthorized - case "insufficient_scope": - err.Code = errcode.ErrorCodeDenied - default: - continue - } - if description := c.Parameters["error_description"]; description != "" { - err.Message = description - } else { - err.Message = err.Code.Message() - } - - return mergeErrors(err, parseHTTPErrorResponse(resp.StatusCode, resp.Body)) - } - } - err := parseHTTPErrorResponse(resp.StatusCode, resp.Body) - if uErr, ok := err.(*unexpectedHTTPResponseError); ok && resp.StatusCode == 401 { - return errcode.ErrorCodeUnauthorized.WithDetail(uErr.Response) - } - return err - } - return &unexpectedHTTPStatusError{Status: resp.Status} -} diff --git a/vendor/github.com/containers/image/v5/docker/docker_client.go b/vendor/github.com/containers/image/v5/docker/docker_client.go index 6ce8f70083..3f20346f38 100644 --- a/vendor/github.com/containers/image/v5/docker/docker_client.go +++ b/vendor/github.com/containers/image/v5/docker/docker_client.go @@ -1,6 +1,7 @@ package docker import ( + "bytes" "context" "crypto/tls" "encoding/json" @@ -18,16 +19,16 @@ import ( "github.com/containers/image/v5/docker/reference" "github.com/containers/image/v5/internal/iolimits" - "github.com/containers/image/v5/internal/set" - "github.com/containers/image/v5/internal/useragent" "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/pkg/docker/config" "github.com/containers/image/v5/pkg/sysregistriesv2" "github.com/containers/image/v5/pkg/tlsclientconfig" "github.com/containers/image/v5/types" + "github.com/containers/image/v5/version" "github.com/containers/storage/pkg/homedir" "github.com/docker/distribution/registry/api/errcode" v2 "github.com/docker/distribution/registry/api/v2" + clientLib "github.com/docker/distribution/registry/client" "github.com/docker/go-connections/tlsconfig" digest "github.com/opencontainers/go-digest" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" @@ -68,6 +69,8 @@ var ( {path: etcDir + "/containers/certs.d", absolute: true}, {path: etcDir + "/docker/certs.d", absolute: true}, } + + defaultUserAgent = "containers/" + version.Version + " (github.com/containers/image)" ) // extensionSignature and extensionSignatureList come from github.com/openshift/origin/pkg/dockerregistry/server/signaturedispatcher.go: @@ -121,15 +124,11 @@ type dockerClient struct { // Private state for detectProperties: detectPropertiesOnce sync.Once // detectPropertiesOnce is used to execute detectProperties() at most once. detectPropertiesError error // detectPropertiesError caches the initial error. - // Private state for logResponseWarnings - reportedWarningsLock sync.Mutex - reportedWarnings *set.Set[string] } type authScope struct { - resourceType string - remoteName string - actions string + remoteName string + actions string } // sendAuth determines whether we need authentication for v2 or v1 endpoint. @@ -164,6 +163,17 @@ func newBearerTokenFromJSONBlob(blob []byte) (*bearerToken, error) { return token, nil } +// this is cloned from docker/go-connections because upstream docker has changed +// it and make deps here fails otherwise. +// We'll drop this once we upgrade to docker 1.13.x deps. +func serverDefault() *tls.Config { + return &tls.Config{ + // Avoid fallback to SSL protocols < TLS1.0 + MinVersion: tls.VersionTLS10, + CipherSuites: tlsconfig.DefaultServerAcceptedCiphers, + } +} + // dockerCertDir returns a path to a directory to be consumed by tlsclientconfig.SetupCertificates() depending on ctx and hostPort. func dockerCertDir(sys *types.SystemContext, hostPort string) (string, error) { if sys != nil && sys.DockerCertPath != "" { @@ -205,7 +215,6 @@ func dockerCertDir(sys *types.SystemContext, hostPort string) (string, error) { // newDockerClientFromRef returns a new dockerClient instance for refHostname (a host a specified in the Docker image reference, not canonicalized to dockerRegistry) // “write” specifies whether the client will be used for "write" access (in particular passed to lookaside.go:toplevelFromSection) // signatureBase is always set in the return value -// The caller must call .Close() on the returned client when done. func newDockerClientFromRef(sys *types.SystemContext, ref dockerReference, registryConfig *registryConfiguration, write bool, actions string) (*dockerClient, error) { auth, err := config.GetCredentialsForRef(sys, ref.ref) if err != nil { @@ -228,7 +237,6 @@ func newDockerClientFromRef(sys *types.SystemContext, ref dockerReference, regis } client.signatureBase = sigBase client.useSigstoreAttachments = registryConfig.useSigstoreAttachments(ref) - client.scope.resourceType = "repository" client.scope.actions = actions client.scope.remoteName = reference.Path(ref.ref) return client, nil @@ -240,15 +248,12 @@ func newDockerClientFromRef(sys *types.SystemContext, ref dockerReference, regis // (e.g., "registry.com[:5000][/some/namespace]/repo"). // Please note that newDockerClient does not set all members of dockerClient // (e.g., username and password); those must be set by callers if necessary. -// The caller must call .Close() on the returned client when done. func newDockerClient(sys *types.SystemContext, registry, reference string) (*dockerClient, error) { hostName := registry if registry == dockerHostname { registry = dockerRegistry } - tlsClientConfig := &tls.Config{ - CipherSuites: tlsconfig.DefaultServerAcceptedCiphers, - } + tlsClientConfig := serverDefault() // It is undefined whether the host[:port] string for dockerHostname should be dockerHostname or dockerRegistry, // because docker/docker does not read the certs.d subdirectory at all in that case. We use the user-visible @@ -278,17 +283,16 @@ func newDockerClient(sys *types.SystemContext, registry, reference string) (*doc } tlsClientConfig.InsecureSkipVerify = skipVerify - userAgent := useragent.DefaultUserAgent + userAgent := defaultUserAgent if sys != nil && sys.DockerRegistryUserAgent != "" { userAgent = sys.DockerRegistryUserAgent } return &dockerClient{ - sys: sys, - registry: registry, - userAgent: userAgent, - tlsClientConfig: tlsClientConfig, - reportedWarnings: set.New[string](), + sys: sys, + registry: registry, + userAgent: userAgent, + tlsClientConfig: tlsClientConfig, }, nil } @@ -299,7 +303,6 @@ func CheckAuth(ctx context.Context, sys *types.SystemContext, username, password if err != nil { return fmt.Errorf("creating new docker client: %w", err) } - defer client.Close() client.auth = types.DockerAuthConfig{ Username: username, Password: password, @@ -310,14 +313,8 @@ func CheckAuth(ctx context.Context, sys *types.SystemContext, username, password return err } defer resp.Body.Close() - if resp.StatusCode != http.StatusOK { - err := registryHTTPResponseToError(resp) - if resp.StatusCode == http.StatusUnauthorized { - err = ErrUnauthorizedForCredentials{Err: err} - } - return err - } - return nil + + return httpResponseToError(resp, "") } // SearchResult holds the information of each matching image @@ -363,18 +360,12 @@ func SearchRegistry(ctx context.Context, sys *types.SystemContext, registry, ima hostname := registry if registry == dockerHostname { hostname = dockerV1Hostname - // A search term of library/foo does not find the library/foo image on the docker.io servers, - // which is surprising - and that Docker is modifying the search term client-side this same way, - // and it seems convenient to do the same thing. - // Read more here: https://github.com/containers/image/pull/2133#issue-1928524334 - image = strings.TrimPrefix(image, "library/") } client, err := newDockerClient(sys, hostname, registry) if err != nil { return nil, fmt.Errorf("creating new docker client: %w", err) } - defer client.Close() client.auth = auth if sys != nil { client.registryToken = sys.DockerBearerRegistryToken @@ -420,7 +411,7 @@ func SearchRegistry(ctx context.Context, sys *types.SystemContext, registry, ima } defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - err := registryHTTPResponseToError(resp) + err := httpResponseToError(resp, "") logrus.Errorf("error getting search results from v2 endpoint %q: %v", registry, err) return nil, fmt.Errorf("couldn't search registry %q: %w", registry, err) } @@ -452,8 +443,8 @@ func SearchRegistry(ctx context.Context, sys *types.SystemContext, registry, ima if link == "" { break } - linkURLPart, _, _ := strings.Cut(link, ";") - linkURL, err := url.Parse(strings.Trim(linkURLPart, "<>")) + linkURLStr := strings.Trim(strings.Split(link, ";")[0], "<>") + linkURL, err := url.Parse(linkURLStr) if err != nil { return searchRes, err } @@ -476,49 +467,12 @@ func (c *dockerClient) makeRequest(ctx context.Context, method, path string, hea return nil, err } - requestURL, err := c.resolveRequestURL(path) - if err != nil { - return nil, err - } - return c.makeRequestToResolvedURL(ctx, method, requestURL, headers, stream, -1, auth, extraScope) -} - -// resolveRequestURL turns a path for c.makeRequest into a full URL. -// Most users should call makeRequest directly, this exists basically to make the URL available for debug logs. -func (c *dockerClient) resolveRequestURL(path string) (*url.URL, error) { urlString := fmt.Sprintf("%s://%s%s", c.scheme, c.registry, path) - res, err := url.Parse(urlString) + url, err := url.Parse(urlString) if err != nil { return nil, err } - return res, nil -} - -// Checks if the auth headers in the response contain an indication of a failed -// authorizdation because of an "insufficient_scope" error. If that's the case, -// returns the required scope to be used for fetching a new token. -func needsRetryWithUpdatedScope(err error, res *http.Response) (bool, *authScope) { - if err == nil && res.StatusCode == http.StatusUnauthorized { - challenges := parseAuthHeader(res.Header) - for _, challenge := range challenges { - if challenge.Scheme == "bearer" { - if errmsg, ok := challenge.Parameters["error"]; ok && errmsg == "insufficient_scope" { - if scope, ok := challenge.Parameters["scope"]; ok && scope != "" { - if newScope, err := parseAuthScope(scope); err == nil { - return true, newScope - } else { - logrus.WithFields(logrus.Fields{ - "error": err, - "scope": scope, - "challenge": challenge, - }).Error("Failed to parse the authentication scope from the given challenge") - } - } - } - } - } - } - return false, nil + return c.makeRequestToResolvedURL(ctx, method, url, headers, stream, -1, auth, extraScope) } // parseRetryAfter determines the delay required by the "Retry-After" header in res and returns it, @@ -534,8 +488,9 @@ func parseRetryAfter(res *http.Response, fallbackDelay time.Duration) time.Durat return time.Duration(num) * time.Second } // Second, check if we have an HTTP date. + // If the delta between the date and now is positive, use it. + // Otherwise, fall back to using the default exponential back off. if t, err := http.ParseTime(after); err == nil { - // If the delta between the date and now is positive, use it. delta := time.Until(t) if delta > 0 { return delta @@ -543,6 +498,7 @@ func parseRetryAfter(res *http.Response, fallbackDelay time.Duration) time.Durat logrus.Debugf("Retry-After date in the past, ignoring it") return fallbackDelay } + // If the header contents are bogus, fall back to using the default exponential back off. logrus.Debugf("Invalid Retry-After format, ignoring it") return fallbackDelay } @@ -552,35 +508,12 @@ func parseRetryAfter(res *http.Response, fallbackDelay time.Duration) time.Durat // makeRequest should generally be preferred. // In case of an HTTP 429 status code in the response, it may automatically retry a few times. // TODO(runcom): too many arguments here, use a struct -func (c *dockerClient) makeRequestToResolvedURL(ctx context.Context, method string, requestURL *url.URL, headers map[string][]string, stream io.Reader, streamLen int64, auth sendAuth, extraScope *authScope) (*http.Response, error) { +func (c *dockerClient) makeRequestToResolvedURL(ctx context.Context, method string, url *url.URL, headers map[string][]string, stream io.Reader, streamLen int64, auth sendAuth, extraScope *authScope) (*http.Response, error) { delay := backoffInitialDelay attempts := 0 for { - res, err := c.makeRequestToResolvedURLOnce(ctx, method, requestURL, headers, stream, streamLen, auth, extraScope) + res, err := c.makeRequestToResolvedURLOnce(ctx, method, url, headers, stream, streamLen, auth, extraScope) attempts++ - - // By default we use pre-defined scopes per operation. In - // certain cases, this can fail when our authentication is - // insufficient, then we might be getting an error back with a - // Www-Authenticate Header indicating an insufficient scope. - // - // Check for that and update the client challenges to retry after - // requesting a new token - // - // We only try this on the first attempt, to not overload an - // already struggling server. - // We also cannot retry with a body (stream != nil) as stream - // was already read - if attempts == 1 && stream == nil && auth != noAuth { - if retry, newScope := needsRetryWithUpdatedScope(err, res); retry { - logrus.Debug("Detected insufficient_scope error, will retry request with updated scope") - // Note: This retry ignores extraScope. That’s, strictly speaking, incorrect, but we don’t currently - // expect the insufficient_scope errors to happen for those callers. If that changes, we can add support - // for more than one extra scope. - res, err = c.makeRequestToResolvedURLOnce(ctx, method, requestURL, headers, stream, streamLen, auth, newScope) - extraScope = newScope - } - } if res == nil || res.StatusCode != http.StatusTooManyRequests || // Only retry on StatusTooManyRequests, success or other failure is returned to caller immediately stream != nil || // We can't retry with a body (which is not restartable in the general case) attempts == backoffNumIterations { @@ -593,14 +526,14 @@ func (c *dockerClient) makeRequestToResolvedURL(ctx context.Context, method stri if delay > backoffMaxDelay { delay = backoffMaxDelay } - logrus.Debugf("Too many requests to %s: sleeping for %f seconds before next attempt", requestURL.Redacted(), delay.Seconds()) + logrus.Debugf("Too many requests to %s: sleeping for %f seconds before next attempt", url.Redacted(), delay.Seconds()) select { case <-ctx.Done(): return nil, ctx.Err() case <-time.After(delay): // Nothing } - delay *= 2 // If the registry does not specify a delay, back off exponentially. + delay = delay * 2 // exponential back off } } @@ -608,8 +541,8 @@ func (c *dockerClient) makeRequestToResolvedURL(ctx context.Context, method stri // streamLen, if not -1, specifies the length of the data expected on stream. // makeRequest should generally be preferred. // Note that no exponential back off is performed when receiving an http 429 status code. -func (c *dockerClient) makeRequestToResolvedURLOnce(ctx context.Context, method string, resolvedURL *url.URL, headers map[string][]string, stream io.Reader, streamLen int64, auth sendAuth, extraScope *authScope) (*http.Response, error) { - req, err := http.NewRequestWithContext(ctx, method, resolvedURL.String(), stream) +func (c *dockerClient) makeRequestToResolvedURLOnce(ctx context.Context, method string, url *url.URL, headers map[string][]string, stream io.Reader, streamLen int64, auth sendAuth, extraScope *authScope) (*http.Response, error) { + req, err := http.NewRequestWithContext(ctx, method, url.String(), stream) if err != nil { return nil, err } @@ -628,81 +561,14 @@ func (c *dockerClient) makeRequestToResolvedURLOnce(ctx context.Context, method return nil, err } } - logrus.Debugf("%s %s", method, resolvedURL.Redacted()) + logrus.Debugf("%s %s", method, url.Redacted()) res, err := c.client.Do(req) if err != nil { return nil, err } - if warnings := res.Header.Values("Warning"); len(warnings) != 0 { - c.logResponseWarnings(res, warnings) - } return res, nil } -// logResponseWarnings logs warningHeaders from res, if any. -func (c *dockerClient) logResponseWarnings(res *http.Response, warningHeaders []string) { - c.reportedWarningsLock.Lock() - defer c.reportedWarningsLock.Unlock() - - for _, header := range warningHeaders { - warningString := parseRegistryWarningHeader(header) - if warningString == "" { - logrus.Debugf("Ignored Warning: header from registry: %q", header) - } else { - if !c.reportedWarnings.Contains(warningString) { - c.reportedWarnings.Add(warningString) - // Note that reportedWarnings is based only on warningString, so that we don’t - // repeat the same warning for every request - but the warning includes the URL; - // so it may not be specific to that URL. - logrus.Warnf("Warning from registry (first encountered at %q): %q", res.Request.URL.Redacted(), warningString) - } else { - logrus.Debugf("Repeated warning from registry at %q: %q", res.Request.URL.Redacted(), warningString) - } - } - } -} - -// parseRegistryWarningHeader parses a Warning: header per RFC 7234, limited to the warning -// values allowed by opencontainers/distribution-spec. -// It returns the warning string if the header has the expected format, or "" otherwise. -func parseRegistryWarningHeader(header string) string { - const expectedPrefix = `299 - "` - const expectedSuffix = `"` - - // warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date ] - // distribution-spec requires warn-code=299, warn-agent="-", warn-date missing - if !strings.HasPrefix(header, expectedPrefix) || !strings.HasSuffix(header, expectedSuffix) { - return "" - } - header = header[len(expectedPrefix) : len(header)-len(expectedSuffix)] - - // ”Recipients that process the value of a quoted-string MUST handle a quoted-pair - // as if it were replaced by the octet following the backslash.”, so let’s do that… - res := strings.Builder{} - afterBackslash := false - for _, c := range []byte(header) { // []byte because escaping is defined in terms of bytes, not Unicode code points - switch { - case c == 0x7F || (c < ' ' && c != '\t'): - return "" // Control characters are forbidden - case afterBackslash: - res.WriteByte(c) - afterBackslash = false - case c == '"': - // This terminates the warn-text and warn-date, forbidden by distribution-spec, follows, - // or completely invalid input. - return "" - case c == '\\': - afterBackslash = true - default: - res.WriteByte(c) - } - } - if afterBackslash { - return "" - } - return res.String() -} - // we're using the challenges from the /v2/ ping response and not the one from the destination // URL in this request because: // @@ -727,18 +593,8 @@ func (c *dockerClient) setupRequestAuth(req *http.Request, extraScope *authScope cacheKey := "" scopes := []authScope{c.scope} if extraScope != nil { - // Using ':' as a separator here is unambiguous because getBearerToken below - // uses the same separator when formatting a remote request (and because - // repository names that we create can't contain colons, and extraScope values - // coming from a server come from `parseAuthScope`, which also splits on colons). - cacheKey = fmt.Sprintf("%s:%s:%s", extraScope.resourceType, extraScope.remoteName, extraScope.actions) - if colonCount := strings.Count(cacheKey, ":"); colonCount != 2 { - return fmt.Errorf( - "Internal error: there must be exactly 2 colons in the cacheKey ('%s') but got %d", - cacheKey, - colonCount, - ) - } + // Using ':' as a separator here is unambiguous because getBearerToken below uses the same separator when formatting a remote request (and because repository names can't contain colons). + cacheKey = fmt.Sprintf("%s:%s", extraScope.remoteName, extraScope.actions) scopes = append(scopes, *extraScope) } var token bearerToken @@ -793,10 +649,9 @@ func (c *dockerClient) getBearerTokenOAuth2(ctx context.Context, challenge chall if service, ok := challenge.Parameters["service"]; ok && service != "" { params.Add("service", service) } - for _, scope := range scopes { - if scope.resourceType != "" && scope.remoteName != "" && scope.actions != "" { - params.Add("scope", fmt.Sprintf("%s:%s:%s", scope.resourceType, scope.remoteName, scope.actions)) + if scope.remoteName != "" && scope.actions != "" { + params.Add("scope", fmt.Sprintf("repository:%s:%s", scope.remoteName, scope.actions)) } } params.Add("grant_type", "refresh_token") @@ -846,8 +701,8 @@ func (c *dockerClient) getBearerToken(ctx context.Context, challenge challenge, } for _, scope := range scopes { - if scope.resourceType != "" && scope.remoteName != "" && scope.actions != "" { - params.Add("scope", fmt.Sprintf("%s:%s:%s", scope.resourceType, scope.remoteName, scope.actions)) + if scope.remoteName != "" && scope.actions != "" { + params.Add("scope", fmt.Sprintf("repository:%s:%s", scope.remoteName, scope.actions)) } } @@ -888,19 +743,19 @@ func (c *dockerClient) detectPropertiesHelper(ctx context.Context) error { c.client = &http.Client{Transport: tr} ping := func(scheme string) error { - pingURL, err := url.Parse(fmt.Sprintf(resolvedPingV2URL, scheme, c.registry)) + url, err := url.Parse(fmt.Sprintf(resolvedPingV2URL, scheme, c.registry)) if err != nil { return err } - resp, err := c.makeRequestToResolvedURL(ctx, http.MethodGet, pingURL, nil, nil, -1, noAuth, nil) + resp, err := c.makeRequestToResolvedURL(ctx, http.MethodGet, url, nil, nil, -1, noAuth, nil) if err != nil { - logrus.Debugf("Ping %s err %s (%#v)", pingURL.Redacted(), err.Error(), err) + logrus.Debugf("Ping %s err %s (%#v)", url.Redacted(), err.Error(), err) return err } defer resp.Body.Close() - logrus.Debugf("Ping %s status %d", pingURL.Redacted(), resp.StatusCode) + logrus.Debugf("Ping %s status %d", url.Redacted(), resp.StatusCode) if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusUnauthorized { - return registryHTTPResponseToError(resp) + return httpResponseToError(resp, "") } c.challenges = parseAuthHeader(resp.Header) c.scheme = scheme @@ -918,17 +773,17 @@ func (c *dockerClient) detectPropertiesHelper(ctx context.Context) error { } // best effort to understand if we're talking to a V1 registry pingV1 := func(scheme string) bool { - pingURL, err := url.Parse(fmt.Sprintf(resolvedPingV1URL, scheme, c.registry)) + url, err := url.Parse(fmt.Sprintf(resolvedPingV1URL, scheme, c.registry)) if err != nil { return false } - resp, err := c.makeRequestToResolvedURL(ctx, http.MethodGet, pingURL, nil, nil, -1, noAuth, nil) + resp, err := c.makeRequestToResolvedURL(ctx, http.MethodGet, url, nil, nil, -1, noAuth, nil) if err != nil { - logrus.Debugf("Ping %s err %s (%#v)", pingURL.Redacted(), err.Error(), err) + logrus.Debugf("Ping %s err %s (%#v)", url.Redacted(), err.Error(), err) return false } defer resp.Body.Close() - logrus.Debugf("Ping %s status %d", pingURL.Redacted(), resp.StatusCode) + logrus.Debugf("Ping %s status %d", url.Redacted(), resp.StatusCode) if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusUnauthorized { return false } @@ -986,14 +841,14 @@ func (c *dockerClient) getExternalBlob(ctx context.Context, urls []string) (io.R return nil, 0, errors.New("internal error: getExternalBlob called with no URLs") } for _, u := range urls { - blobURL, err := url.Parse(u) - if err != nil || (blobURL.Scheme != "http" && blobURL.Scheme != "https") { + url, err := url.Parse(u) + if err != nil || (url.Scheme != "http" && url.Scheme != "https") { continue // unsupported url. skip this url. } // NOTE: we must not authenticate on additional URLs as those // can be abused to leak credentials or tokens. Please // refer to CVE-2020-15157 for more information. - resp, err = c.makeRequestToResolvedURL(ctx, http.MethodGet, blobURL, nil, nil, -1, noAuth, nil) + resp, err = c.makeRequestToResolvedURL(ctx, http.MethodGet, url, nil, nil, -1, noAuth, nil) if err == nil { if resp.StatusCode != http.StatusOK { err = fmt.Errorf("error fetching external blob from %q: %d (%s)", u, resp.StatusCode, http.StatusText(resp.StatusCode)) @@ -1040,23 +895,15 @@ func (c *dockerClient) getBlob(ctx context.Context, ref dockerReference, info ty if err != nil { return nil, 0, err } - if res.StatusCode != http.StatusOK { - err := registryHTTPResponseToError(res) - res.Body.Close() - return nil, 0, fmt.Errorf("fetching blob: %w", err) - } - cache.RecordKnownLocation(ref.Transport(), bicTransportScope(ref), info.Digest, newBICLocationReference(ref)) - blobSize := getBlobSize(res) - - reconnectingReader, err := newBodyReader(ctx, c, path, res.Body) - if err != nil { + if err := httpResponseToError(res, "Error fetching blob"); err != nil { res.Body.Close() return nil, 0, err } - return reconnectingReader, blobSize, nil + cache.RecordKnownLocation(ref.Transport(), bicTransportScope(ref), info.Digest, newBICLocationReference(ref)) + return res.Body, getBlobSize(res), nil } -// getOCIDescriptorContents returns the contents a blob specified by descriptor in ref, which must fit within limit. +// getOCIDescriptorContents returns the contents a blob spcified by descriptor in ref, which must fit within limit. func (c *dockerClient) getOCIDescriptorContents(ctx context.Context, ref dockerReference, desc imgspecv1.Descriptor, maxSize int, cache types.BlobInfoCache) ([]byte, error) { // Note that this copies all kinds of attachments: attestations, and whatever else is there, // not just signatures. We leave the signature consumers to decide based on the MIME type. @@ -1065,7 +912,7 @@ func (c *dockerClient) getOCIDescriptorContents(ctx context.Context, ref dockerR return nil, err } defer reader.Close() - payload, err := iolimits.ReadAtMost(reader, maxSize) + payload, err := iolimits.ReadAtMost(reader, iolimits.MaxSignatureBodySize) if err != nil { return nil, fmt.Errorf("reading blob %s in %s: %w", desc.Digest.String(), ref.ref.Name(), err) } @@ -1074,20 +921,23 @@ func (c *dockerClient) getOCIDescriptorContents(ctx context.Context, ref dockerR // isManifestUnknownError returns true iff err from fetchManifest is a “manifest unknown” error. func isManifestUnknownError(err error) bool { - // docker/distribution, and as defined in the spec - var ec errcode.ErrorCoder - if errors.As(err, &ec) && ec.ErrorCode() == v2.ErrorCodeManifestUnknown { - return true - } - // registry.redhat.io as of October 2022 - var e errcode.Error - if errors.As(err, &e) && e.ErrorCode() == errcode.ErrorCodeUnknown && e.Message == "Not Found" { - return true + var errs errcode.Errors + if errors.As(err, &errs) && len(errs) != 0 { + firstErr := errs[0] + // docker/distribution, and as defined in the spec + var ec errcode.ErrorCoder + if errors.As(firstErr, &ec) && ec.ErrorCode() == v2.ErrorCodeManifestUnknown { + return true + } + // registry.redhat.io as of October 2022 + var e errcode.Error + if errors.As(firstErr, &e) && e.ErrorCode() == errcode.ErrorCodeUnknown && e.Message == "Not Found" { + return true + } } - // opencontainers/distribution-spec does not require the errcode.Error payloads to be used, - // but specifies that the HTTP status must be 404. - var unexpected *unexpectedHTTPResponseError - if errors.As(err, &unexpected) && unexpected.StatusCode == http.StatusNotFound { + // ALSO registry.redhat.io as of October 2022 + var unexpected *clientLib.UnexpectedHTTPResponseError + if errors.As(err, &unexpected) && unexpected.StatusCode == http.StatusNotFound && bytes.Contains(unexpected.Response, []byte("Not found")) { return true } return false @@ -1136,8 +986,9 @@ func (c *dockerClient) getExtensionsSignatures(ctx context.Context, ref dockerRe return nil, err } defer res.Body.Close() + if res.StatusCode != http.StatusOK { - return nil, fmt.Errorf("downloading signatures for %s in %s: %w", manifestDigest, ref.ref.Name(), registryHTTPResponseToError(res)) + return nil, fmt.Errorf("downloading signatures for %s in %s: %w", manifestDigest, ref.ref.Name(), clientLib.HandleErrorResponse(res)) } body, err := iolimits.ReadAtMost(res.Body, iolimits.MaxSignatureListBodySize) @@ -1156,11 +1007,3 @@ func (c *dockerClient) getExtensionsSignatures(ctx context.Context, ref dockerRe func sigstoreAttachmentTag(d digest.Digest) string { return strings.Replace(d.String(), ":", "-", 1) + ".sig" } - -// Close removes resources associated with an initialized dockerClient, if any. -func (c *dockerClient) Close() error { - if c.client != nil { - c.client.CloseIdleConnections() - } - return nil -} diff --git a/vendor/github.com/containers/image/v5/docker/docker_image.go b/vendor/github.com/containers/image/v5/docker/docker_image.go index 93160480ea..3e8dbbee13 100644 --- a/vendor/github.com/containers/image/v5/docker/docker_image.go +++ b/vendor/github.com/containers/image/v5/docker/docker_image.go @@ -68,7 +68,6 @@ func GetRepositoryTags(ctx context.Context, sys *types.SystemContext, ref types. if err != nil { return nil, fmt.Errorf("failed to create client: %w", err) } - defer client.Close() tags := make([]string, 0) @@ -78,8 +77,8 @@ func GetRepositoryTags(ctx context.Context, sys *types.SystemContext, ref types. return nil, err } defer res.Body.Close() - if res.StatusCode != http.StatusOK { - return nil, fmt.Errorf("fetching tags list: %w", registryHTTPResponseToError(res)) + if err := httpResponseToError(res, "fetching tags list"); err != nil { + return nil, err } var tagsHolder struct { @@ -95,8 +94,8 @@ func GetRepositoryTags(ctx context.Context, sys *types.SystemContext, ref types. break } - linkURLPart, _, _ := strings.Cut(link, ";") - linkURL, err := url.Parse(strings.Trim(linkURLPart, "<>")) + linkURLStr := strings.Trim(strings.Split(link, ";")[0], "<>") + linkURL, err := url.Parse(linkURLStr) if err != nil { return tags, err } @@ -123,9 +122,6 @@ func GetDigest(ctx context.Context, sys *types.SystemContext, ref types.ImageRef if !ok { return "", errors.New("ref must be a dockerReference") } - if dr.isUnknownDigest { - return "", fmt.Errorf("docker: reference %q is for unknown digest case; cannot get digest", dr.StringWithinTransport()) - } tagOrDigest, err := dr.tagOrDigest() if err != nil { @@ -140,7 +136,6 @@ func GetDigest(ctx context.Context, sys *types.SystemContext, ref types.ImageRef if err != nil { return "", fmt.Errorf("failed to create client: %w", err) } - defer client.Close() path := fmt.Sprintf(manifestPath, reference.Path(dr.ref), tagOrDigest) headers := map[string][]string{ diff --git a/vendor/github.com/containers/image/v5/docker/docker_image_dest.go b/vendor/github.com/containers/image/v5/docker/docker_image_dest.go index a9a36f0a34..f42ae98856 100644 --- a/vendor/github.com/containers/image/v5/docker/docker_image_dest.go +++ b/vendor/github.com/containers/image/v5/docker/docker_image_dest.go @@ -21,7 +21,6 @@ import ( "github.com/containers/image/v5/internal/iolimits" "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/internal/putblobdigest" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/internal/signature" "github.com/containers/image/v5/internal/streamdigest" "github.com/containers/image/v5/internal/uploadreader" @@ -33,8 +32,6 @@ import ( "github.com/opencontainers/go-digest" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" "github.com/sirupsen/logrus" - "golang.org/x/exp/maps" - "golang.org/x/exp/slices" ) type dockerImageDestination struct { @@ -93,7 +90,7 @@ func (d *dockerImageDestination) Reference() types.ImageReference { // Close removes resources associated with an initialized ImageDestination, if any. func (d *dockerImageDestination) Close() error { - return d.c.Close() + return nil } // SupportsSignatures returns an error (to be displayed to the user) if the destination certainly can't store signatures. @@ -132,16 +129,16 @@ func (c *sizeCounter) Write(p []byte) (n int, err error) { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. -// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. -func (d *dockerImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { +// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. +func (d *dockerImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { // If requested, precompute the blob digest to prevent uploading layers that already exist on the registry. // This functionality is particularly useful when BlobInfoCache has not been populated with compressed digests, // the source blob is uncompressed, and the destination blob is being compressed "on the fly". - if inputInfo.Digest == "" && d.c.sys != nil && d.c.sys.DockerRegistryPushPrecomputeDigests { + if inputInfo.Digest == "" && d.c.sys.DockerRegistryPushPrecomputeDigests { logrus.Debugf("Precomputing digest layer for %s", reference.Path(d.ref.ref)) streamCopy, cleanup, err := streamdigest.ComputeBlobInfo(d.c.sys, stream, &inputInfo) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } defer cleanup() stream = streamCopy @@ -152,10 +149,10 @@ func (d *dockerImageDestination) PutBlobWithOptions(ctx context.Context, stream // Still, we need to check, if only because the "initiate upload" endpoint does not have a documented "blob already exists" return value. haveBlob, reusedInfo, err := d.tryReusingExactBlob(ctx, inputInfo, options.Cache) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } if haveBlob { - return private.UploadedBlob{Digest: reusedInfo.Digest, Size: reusedInfo.Size}, nil + return reusedInfo, nil } } @@ -164,16 +161,16 @@ func (d *dockerImageDestination) PutBlobWithOptions(ctx context.Context, stream logrus.Debugf("Uploading %s", uploadPath) res, err := d.c.makeRequest(ctx, http.MethodPost, uploadPath, nil, nil, v2Auth, nil) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } defer res.Body.Close() if res.StatusCode != http.StatusAccepted { logrus.Debugf("Error initiating layer upload, response %#v", *res) - return private.UploadedBlob{}, fmt.Errorf("initiating layer upload to %s in %s: %w", uploadPath, d.c.registry, registryHTTPResponseToError(res)) + return types.BlobInfo{}, fmt.Errorf("initiating layer upload to %s in %s: %w", uploadPath, d.c.registry, registryHTTPResponseToError(res)) } uploadLocation, err := res.Location() if err != nil { - return private.UploadedBlob{}, fmt.Errorf("determining upload URL: %w", err) + return types.BlobInfo{}, fmt.Errorf("determining upload URL: %w", err) } digester, stream := putblobdigest.DigestIfCanonicalUnknown(stream, inputInfo) @@ -201,7 +198,7 @@ func (d *dockerImageDestination) PutBlobWithOptions(ctx context.Context, stream return uploadLocation, nil }() if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } blobDigest := digester.Digest() @@ -212,17 +209,17 @@ func (d *dockerImageDestination) PutBlobWithOptions(ctx context.Context, stream uploadLocation.RawQuery = locationQuery.Encode() res, err = d.c.makeRequestToResolvedURL(ctx, http.MethodPut, uploadLocation, map[string][]string{"Content-Type": {"application/octet-stream"}}, nil, -1, v2Auth, nil) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } defer res.Body.Close() if res.StatusCode != http.StatusCreated { logrus.Debugf("Error uploading layer, response %#v", *res) - return private.UploadedBlob{}, fmt.Errorf("uploading layer to %s: %w", uploadLocation, registryHTTPResponseToError(res)) + return types.BlobInfo{}, fmt.Errorf("uploading layer to %s: %w", uploadLocation, registryHTTPResponseToError(res)) } logrus.Debugf("Upload of layer %s complete", blobDigest) options.Cache.RecordKnownLocation(d.ref.Transport(), bicTransportScope(d.ref), blobDigest, newBICLocationReference(d.ref)) - return private.UploadedBlob{Digest: blobDigest, Size: sizeCounter.size}, nil + return types.BlobInfo{Digest: blobDigest, Size: sizeCounter.size}, nil } // blobExists returns true iff repo contains a blob with digest, and if so, also its size. @@ -247,7 +244,7 @@ func (d *dockerImageDestination) blobExists(ctx context.Context, repo reference. logrus.Debugf("... not present") return false, -1, nil default: - return false, -1, fmt.Errorf("checking whether a blob %s exists in %s: %w", digest, repo.Name(), registryHTTPResponseToError(res)) + return false, -1, fmt.Errorf("failed to read from destination repository %s: %d (%s)", reference.Path(d.ref.ref), res.StatusCode, http.StatusText(res.StatusCode)) } } @@ -299,101 +296,58 @@ func (d *dockerImageDestination) mountBlob(ctx context.Context, srcRepo referenc // tryReusingExactBlob is a subset of TryReusingBlob which _only_ looks for exactly the specified // blob in the current repository, with no cross-repo reuse or mounting; cache may be updated, it is not read. // The caller must ensure info.Digest is set. -func (d *dockerImageDestination) tryReusingExactBlob(ctx context.Context, info types.BlobInfo, cache blobinfocache.BlobInfoCache2) (bool, private.ReusedBlob, error) { +func (d *dockerImageDestination) tryReusingExactBlob(ctx context.Context, info types.BlobInfo, cache blobinfocache.BlobInfoCache2) (bool, types.BlobInfo, error) { exists, size, err := d.blobExists(ctx, d.ref.ref, info.Digest, nil) if err != nil { - return false, private.ReusedBlob{}, err + return false, types.BlobInfo{}, err } if exists { cache.RecordKnownLocation(d.ref.Transport(), bicTransportScope(d.ref), info.Digest, newBICLocationReference(d.ref)) - return true, private.ReusedBlob{Digest: info.Digest, Size: size}, nil + return true, types.BlobInfo{Digest: info.Digest, MediaType: info.MediaType, Size: size}, nil } - return false, private.ReusedBlob{}, nil + return false, types.BlobInfo{}, nil } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (d *dockerImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { +func (d *dockerImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { if info.Digest == "" { - return false, private.ReusedBlob{}, errors.New("Can not check for a blob with unknown digest") + return false, types.BlobInfo{}, errors.New("Can not check for a blob with unknown digest") } - if impl.OriginalBlobMatchesRequiredCompression(options) { - // First, check whether the blob happens to already exist at the destination. - haveBlob, reusedInfo, err := d.tryReusingExactBlob(ctx, info, options.Cache) - if err != nil { - return false, private.ReusedBlob{}, err - } - if haveBlob { - return true, reusedInfo, nil - } - } else { - requiredCompression := "nil" - if options.OriginalCompression != nil { - requiredCompression = options.OriginalCompression.Name() - } - logrus.Debugf("Ignoring exact blob match case due to compression mismatch ( %s vs %s )", options.RequiredCompression.Name(), requiredCompression) + // First, check whether the blob happens to already exist at the destination. + haveBlob, reusedInfo, err := d.tryReusingExactBlob(ctx, info, options.Cache) + if err != nil { + return false, types.BlobInfo{}, err + } + if haveBlob { + return true, reusedInfo, nil } // Then try reusing blobs from other locations. candidates := options.Cache.CandidateLocations2(d.ref.Transport(), bicTransportScope(d.ref), info.Digest, options.CanSubstitute) for _, candidate := range candidates { - var err error - compressionOperation, compressionAlgorithm, err := blobinfocache.OperationAndAlgorithmForCompressor(candidate.CompressorName) + candidateRepo, err := parseBICLocationReference(candidate.Location) if err != nil { - logrus.Debugf("OperationAndAlgorithmForCompressor Failed: %v", err) + logrus.Debugf("Error parsing BlobInfoCache location reference: %s", err) continue } - var candidateRepo reference.Named - if !candidate.UnknownLocation { - candidateRepo, err = parseBICLocationReference(candidate.Location) - if err != nil { - logrus.Debugf("Error parsing BlobInfoCache location reference: %s", err) - continue - } + if candidate.CompressorName != blobinfocache.Uncompressed { + logrus.Debugf("Trying to reuse cached location %s compressed with %s in %s", candidate.Digest.String(), candidate.CompressorName, candidateRepo.Name()) + } else { + logrus.Debugf("Trying to reuse cached location %s with no compression in %s", candidate.Digest.String(), candidateRepo.Name()) } - if !impl.BlobMatchesRequiredCompression(options, compressionAlgorithm) { - requiredCompression := "nil" - if compressionAlgorithm != nil { - requiredCompression = compressionAlgorithm.Name() - } - if !candidate.UnknownLocation { - logrus.Debugf("Ignoring candidate blob %s as reuse candidate due to compression mismatch ( %s vs %s ) in %s", candidate.Digest.String(), options.RequiredCompression.Name(), requiredCompression, candidateRepo.Name()) - } else { - logrus.Debugf("Ignoring candidate blob %s as reuse candidate due to compression mismatch ( %s vs %s ) with no location match, checking current repo", candidate.Digest.String(), options.RequiredCompression.Name(), requiredCompression) - } + + // Sanity checks: + if reference.Domain(candidateRepo) != reference.Domain(d.ref.ref) { + logrus.Debugf("... Internal error: domain %s does not match destination %s", reference.Domain(candidateRepo), reference.Domain(d.ref.ref)) continue } - if !candidate.UnknownLocation { - if candidate.CompressorName != blobinfocache.Uncompressed { - logrus.Debugf("Trying to reuse blob with cached digest %s compressed with %s in destination repo %s", candidate.Digest.String(), candidate.CompressorName, candidateRepo.Name()) - } else { - logrus.Debugf("Trying to reuse blob with cached digest %s in destination repo %s", candidate.Digest.String(), candidateRepo.Name()) - } - // Sanity checks: - if reference.Domain(candidateRepo) != reference.Domain(d.ref.ref) { - // OCI distribution spec 1.1 allows mounting blobs without specifying the source repo - // (the "from" parameter); in that case we might try to use these candidates as well. - // - // OTOH that would mean we can’t do the “blobExists” check, and if there is no match - // we could get an upload request that we would have to cancel. - logrus.Debugf("... Internal error: domain %s does not match destination %s", reference.Domain(candidateRepo), reference.Domain(d.ref.ref)) - continue - } - } else { - if candidate.CompressorName != blobinfocache.Uncompressed { - logrus.Debugf("Trying to reuse blob with cached digest %s compressed with %s with no location match, checking current repo", candidate.Digest.String(), candidate.CompressorName) - } else { - logrus.Debugf("Trying to reuse blob with cached digest %s in destination repo with no location match, checking current repo", candidate.Digest.String()) - } - // This digest is a known variant of this blob but we don’t - // have a recorded location in this registry, let’s try looking - // for it in the current repo. - candidateRepo = reference.TrimNamed(d.ref.ref) - } if candidateRepo.Name() == d.ref.ref.Name() && candidate.Digest == info.Digest { logrus.Debug("... Already tried the primary destination") continue @@ -404,9 +358,8 @@ func (d *dockerImageDestination) TryReusingBlobWithOptions(ctx context.Context, // Checking candidateRepo, and mounting from it, requires an // expanded token scope. extraScope := &authScope{ - resourceType: "repository", - remoteName: reference.Path(candidateRepo), - actions: "pull", + remoteName: reference.Path(candidateRepo), + actions: "pull", } // This existence check is not, strictly speaking, necessary: We only _really_ need it to get the blob size, and we could record that in the cache instead. // But a "failed" d.mountBlob currently leaves around an unterminated server-side upload, which we would try to cancel. @@ -433,14 +386,16 @@ func (d *dockerImageDestination) TryReusingBlobWithOptions(ctx context.Context, options.Cache.RecordKnownLocation(d.ref.Transport(), bicTransportScope(d.ref), candidate.Digest, newBICLocationReference(d.ref)) - return true, private.ReusedBlob{ - Digest: candidate.Digest, - Size: size, - CompressionOperation: compressionOperation, - CompressionAlgorithm: compressionAlgorithm}, nil + compressionOperation, compressionAlgorithm, err := blobinfocache.OperationAndAlgorithmForCompressor(candidate.CompressorName) + if err != nil { + logrus.Debugf("... Failed: %v", err) + continue + } + + return true, types.BlobInfo{Digest: candidate.Digest, MediaType: info.MediaType, Size: size, CompressionOperation: compressionOperation, CompressionAlgorithm: compressionAlgorithm}, nil } - return false, private.ReusedBlob{}, nil + return false, types.BlobInfo{}, nil } // PutManifest writes manifest to the destination. @@ -451,16 +406,8 @@ func (d *dockerImageDestination) TryReusingBlobWithOptions(ctx context.Context, // If the destination is in principle available, refuses this manifest type (e.g. it does not recognize the schema), // but may accept a different manifest type, the returned error must be an ManifestTypeRejectedError. func (d *dockerImageDestination) PutManifest(ctx context.Context, m []byte, instanceDigest *digest.Digest) error { - var refTail string - // If d.ref.isUnknownDigest=true, then we push without a tag, so get the - // digest that will be used - if d.ref.isUnknownDigest { - digest, err := manifest.Digest(m) - if err != nil { - return err - } - refTail = digest.String() - } else if instanceDigest != nil { + refTail := "" + if instanceDigest != nil { // If the instanceDigest is provided, then use it as the refTail, because the reference, // whether it includes a tag or a digest, refers to the list as a whole, and not this // particular instance. @@ -539,10 +486,15 @@ func successStatus(status int) bool { return status >= 200 && status <= 399 } -// isManifestInvalidError returns true iff err from registryHTTPResponseToError is a “manifest invalid” error. +// isManifestInvalidError returns true iff err from client.HandleErrorResponse is a “manifest invalid” error. func isManifestInvalidError(err error) bool { - var ec errcode.ErrorCoder - if ok := errors.As(err, &ec); !ok { + errors, ok := err.(errcode.Errors) + if !ok || len(errors) == 0 { + return false + } + err = errors[0] + ec, ok := err.(errcode.ErrorCoder) + if !ok { return false } @@ -632,8 +584,8 @@ func (d *dockerImageDestination) putSignaturesToLookaside(signatures []signature // NOTE: Keep this in sync with docs/signature-protocols.md! for i, signature := range signatures { - sigURL := lookasideStorageURL(d.c.signatureBase, manifestDigest, i) - err := d.putOneSignature(sigURL, signature) + url := lookasideStorageURL(d.c.signatureBase, manifestDigest, i) + err := d.putOneSignature(url, signature) if err != nil { return err } @@ -644,8 +596,8 @@ func (d *dockerImageDestination) putSignaturesToLookaside(signatures []signature // is enough for dockerImageSource to stop looking for other signatures, so that // is sufficient. for i := len(signatures); ; i++ { - sigURL := lookasideStorageURL(d.c.signatureBase, manifestDigest, i) - missing, err := d.c.deleteOneSignature(sigURL) + url := lookasideStorageURL(d.c.signatureBase, manifestDigest, i) + missing, err := d.c.deleteOneSignature(url) if err != nil { return err } @@ -657,13 +609,13 @@ func (d *dockerImageDestination) putSignaturesToLookaside(signatures []signature return nil } -// putOneSignature stores sig to sigURL. +// putOneSignature stores sig to url. // NOTE: Keep this in sync with docs/signature-protocols.md! -func (d *dockerImageDestination) putOneSignature(sigURL *url.URL, sig signature.Signature) error { - switch sigURL.Scheme { +func (d *dockerImageDestination) putOneSignature(url *url.URL, sig signature.Signature) error { + switch url.Scheme { case "file": - logrus.Debugf("Writing to %s", sigURL.Path) - err := os.MkdirAll(filepath.Dir(sigURL.Path), 0755) + logrus.Debugf("Writing to %s", url.Path) + err := os.MkdirAll(filepath.Dir(url.Path), 0755) if err != nil { return err } @@ -671,16 +623,16 @@ func (d *dockerImageDestination) putOneSignature(sigURL *url.URL, sig signature. if err != nil { return err } - err = os.WriteFile(sigURL.Path, blob, 0644) + err = os.WriteFile(url.Path, blob, 0644) if err != nil { return err } return nil case "http", "https": - return fmt.Errorf("Writing directly to a %s lookaside %s is not supported. Configure a lookaside-staging: location", sigURL.Scheme, sigURL.Redacted()) + return fmt.Errorf("Writing directly to a %s lookaside %s is not supported. Configure a lookaside-staging: location", url.Scheme, url.Redacted()) default: - return fmt.Errorf("Unsupported scheme when writing signature to %s", sigURL.Redacted()) + return fmt.Errorf("Unsupported scheme when writing signature to %s", url.Redacted()) } } @@ -691,7 +643,7 @@ func (d *dockerImageDestination) putSignaturesToSigstoreAttachments(ctx context. ociManifest, err := d.c.getSigstoreAttachmentManifest(ctx, d.ref, manifestDigest) if err != nil { - return err + return nil } var ociConfig imgspecv1.Image // Most fields empty by default if ociManifest == nil { @@ -715,10 +667,6 @@ func (d *dockerImageDestination) putSignaturesToSigstoreAttachments(ctx context. } } - // To make sure we can safely append to the slices of ociManifest, without adding a remote dependency on the code that creates it. - ociManifest.Layers = slices.Clone(ociManifest.Layers) - // We don’t need to ^^^ for ociConfig.RootFS.DiffIDs because we have created it empty ourselves, and json.Unmarshal is documented to append() to - // the slice in the original object (or in a newly allocated object). for _, sig := range signatures { mimeType := sig.UntrustedMIMEType() payloadBlob := sig.UntrustedPayload() @@ -767,13 +715,13 @@ func (d *dockerImageDestination) putSignaturesToSigstoreAttachments(ctx context. LayerIndex: nil, }) if err != nil { - return err + return nil } ociManifest.Config = configDesc manifestBlob, err := ociManifest.Serialize() if err != nil { - return err + return nil } logrus.Debugf("Uploading sigstore attachment manifest") return d.uploadManifest(ctx, manifestBlob, sigstoreAttachmentTag(manifestDigest)) @@ -787,15 +735,24 @@ func layerMatchesSigstoreSignature(layer imgspecv1.Descriptor, mimeType string, // But right now we don’t want to deal with corner cases like bad digest formats // or unavailable algorithms; in the worst case we end up with duplicate signature // entries. - layer.Digest.String() != digest.FromBytes(payloadBlob).String() || - !maps.Equal(layer.Annotations, annotations) { + layer.Digest.String() != digest.FromBytes(payloadBlob).String() { return false } + if len(layer.Annotations) != len(annotations) { + return false + } + for k, v1 := range layer.Annotations { + if v2, ok := annotations[k]; !ok || v1 != v2 { + return false + } + } + // All annotations in layer exist in sig, and the number of annotations is the same, so all annotations + // in sig also exist in layer. return true } // putBlobBytesAsOCI uploads a blob with the specified contents, and returns an appropriate -// OCI descriptor. +// OCI descriptior. func (d *dockerImageDestination) putBlobBytesAsOCI(ctx context.Context, contents []byte, mimeType string, options private.PutBlobOptions) (imgspecv1.Descriptor, error) { blobDigest := digest.FromBytes(contents) info, err := d.PutBlobWithOptions(ctx, bytes.NewReader(contents), @@ -814,23 +771,23 @@ func (d *dockerImageDestination) putBlobBytesAsOCI(ctx context.Context, contents }, nil } -// deleteOneSignature deletes a signature from sigURL, if it exists. +// deleteOneSignature deletes a signature from url, if it exists. // If it successfully determines that the signature does not exist, returns (true, nil) // NOTE: Keep this in sync with docs/signature-protocols.md! -func (c *dockerClient) deleteOneSignature(sigURL *url.URL) (missing bool, err error) { - switch sigURL.Scheme { +func (c *dockerClient) deleteOneSignature(url *url.URL) (missing bool, err error) { + switch url.Scheme { case "file": - logrus.Debugf("Deleting %s", sigURL.Path) - err := os.Remove(sigURL.Path) + logrus.Debugf("Deleting %s", url.Path) + err := os.Remove(url.Path) if err != nil && os.IsNotExist(err) { return true, nil } return false, err case "http", "https": - return false, fmt.Errorf("Writing directly to a %s lookaside %s is not supported. Configure a lookaside-staging: location", sigURL.Scheme, sigURL.Redacted()) + return false, fmt.Errorf("Writing directly to a %s lookaside %s is not supported. Configure a lookaside-staging: location", url.Scheme, url.Redacted()) default: - return false, fmt.Errorf("Unsupported scheme when deleting signature from %s", sigURL.Redacted()) + return false, fmt.Errorf("Unsupported scheme when deleting signature from %s", url.Redacted()) } } @@ -850,11 +807,12 @@ func (d *dockerImageDestination) putSignaturesToAPIExtension(ctx context.Context if err != nil { return err } - existingSigNames := set.New[string]() + existingSigNames := map[string]struct{}{} for _, sig := range existingSignatures.Signatures { - existingSigNames.Add(sig.Name) + existingSigNames[sig.Name] = struct{}{} } +sigExists: for _, newSigWithFormat := range signatures { newSigSimple, ok := newSigWithFormat.(signature.SimpleSigning) if !ok { @@ -862,10 +820,10 @@ func (d *dockerImageDestination) putSignaturesToAPIExtension(ctx context.Context } newSig := newSigSimple.UntrustedSignature() - if slices.ContainsFunc(existingSignatures.Signatures, func(existingSig extensionSignature) bool { - return existingSig.Version == extensionSignatureSchemaVersion && existingSig.Type == extensionSignatureTypeAtomic && bytes.Equal(existingSig.Content, newSig) - }) { - continue + for _, existingSig := range existingSignatures.Signatures { + if existingSig.Version == extensionSignatureSchemaVersion && existingSig.Type == extensionSignatureTypeAtomic && bytes.Equal(existingSig.Content, newSig) { + continue sigExists + } } // The API expect us to invent a new unique name. This is racy, but hopefully good enough. @@ -877,7 +835,7 @@ func (d *dockerImageDestination) putSignaturesToAPIExtension(ctx context.Context return fmt.Errorf("generating random signature len %d: %w", n, err) } signatureName = fmt.Sprintf("%s@%032x", manifestDigest.String(), randBytes) - if !existingSigNames.Contains(signatureName) { + if _, ok := existingSigNames[signatureName]; !ok { break } } diff --git a/vendor/github.com/containers/image/v5/docker/docker_image_src.go b/vendor/github.com/containers/image/v5/docker/docker_image_src.go index f9d4d6030f..b0e8779710 100644 --- a/vendor/github.com/containers/image/v5/docker/docker_image_src.go +++ b/vendor/github.com/containers/image/v5/docker/docker_image_src.go @@ -10,6 +10,7 @@ import ( "net/http" "net/url" "os" + "regexp" "strings" "sync" @@ -23,23 +24,18 @@ import ( "github.com/containers/image/v5/pkg/blobinfocache/none" "github.com/containers/image/v5/pkg/sysregistriesv2" "github.com/containers/image/v5/types" - "github.com/containers/storage/pkg/regexp" digest "github.com/opencontainers/go-digest" "github.com/sirupsen/logrus" ) -// maxLookasideSignatures is an arbitrary limit for the total number of signatures we would try to read from a lookaside server, -// even if it were broken or malicious and it continued serving an enormous number of items. -const maxLookasideSignatures = 128 - type dockerImageSource struct { impl.Compat impl.PropertyMethodsInitialize impl.DoesNotAffectLayerInfosForCopy stubs.ImplementsGetBlobAt - logicalRef dockerReference // The reference the user requested. This must satisfy !isUnknownDigest - physicalRef dockerReference // The actual reference we are accessing (possibly a mirror). This must satisfy !isUnknownDigest + logicalRef dockerReference // The reference the user requested. + physicalRef dockerReference // The actual reference we are accessing (possibly a mirror) c *dockerClient // State cachedManifest []byte // nil if not loaded yet @@ -48,12 +44,7 @@ type dockerImageSource struct { // newImageSource creates a new ImageSource for the specified image reference. // The caller must call .Close() on the returned ImageSource. -// The caller must ensure !ref.isUnknownDigest. func newImageSource(ctx context.Context, sys *types.SystemContext, ref dockerReference) (*dockerImageSource, error) { - if ref.isUnknownDigest { - return nil, fmt.Errorf("reading images from docker: reference %q without a tag or digest is not supported", ref.StringWithinTransport()) - } - registryConfig, err := loadRegistryConfiguration(sys) if err != nil { return nil, err @@ -126,7 +117,7 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref dockerRef // The caller must call .Close() on the returned ImageSource. func newImageSourceAttempt(ctx context.Context, sys *types.SystemContext, logicalRef dockerReference, pullSource sysregistriesv2.PullSource, registryConfig *registryConfiguration) (*dockerImageSource, error) { - physicalRef, err := newReference(pullSource.Reference, false) + physicalRef, err := newReference(pullSource.Reference) if err != nil { return nil, err } @@ -158,7 +149,6 @@ func newImageSourceAttempt(ctx context.Context, sys *types.SystemContext, logica s.Compat = impl.AddCompat(s) if err := s.ensureManifestIsLoaded(ctx); err != nil { - client.Close() return nil, err } return s, nil @@ -172,7 +162,7 @@ func (s *dockerImageSource) Reference() types.ImageReference { // Close removes resources associated with an initialized ImageSource, if any. func (s *dockerImageSource) Close() error { - return s.c.Close() + return nil } // simplifyContentType drops parameters from a HTTP media type (see https://tools.ietf.org/html/rfc7231#section-3.1.1.1) @@ -256,7 +246,7 @@ func splitHTTP200ResponseToPartial(streams chan io.ReadCloser, errs chan error, currentOffset += toSkip } s := signalCloseReader{ - closed: make(chan struct{}), + closed: make(chan interface{}), stream: io.NopCloser(io.LimitReader(body, int64(c.Length))), consumeStream: true, } @@ -298,7 +288,7 @@ func handle206Response(streams chan io.ReadCloser, errs chan error, body io.Read return } s := signalCloseReader{ - closed: make(chan struct{}), + closed: make(chan interface{}), stream: p, } streams <- s @@ -309,7 +299,7 @@ func handle206Response(streams chan io.ReadCloser, errs chan error, body io.Read } } -var multipartByteRangesRe = regexp.Delayed("multipart/byteranges; boundary=([A-Za-z-0-9:]+)") +var multipartByteRangesRe = regexp.MustCompile("multipart/byteranges; boundary=([A-Za-z-0-9:]+)") func parseMediaType(contentType string) (string, map[string]string, error) { mediaType, params, err := mime.ParseMediaType(contentType) @@ -341,7 +331,7 @@ func parseMediaType(contentType string) (string, map[string]string, error) { func (s *dockerImageSource) GetBlobAt(ctx context.Context, info types.BlobInfo, chunks []private.ImageSourceChunk) (chan io.ReadCloser, chan error, error) { headers := make(map[string][]string) - rangeVals := make([]string, 0, len(chunks)) + var rangeVals []string for _, c := range chunks { rangeVals = append(rangeVals, fmt.Sprintf("%d-%d", c.Offset, c.Offset+c.Length-1)) } @@ -382,9 +372,12 @@ func (s *dockerImageSource) GetBlobAt(ctx context.Context, info types.BlobInfo, res.Body.Close() return nil, nil, private.BadPartialRequestError{Status: res.Status} default: - err := registryHTTPResponseToError(res) + err := httpResponseToError(res, "Error fetching partial blob") + if err == nil { + err = fmt.Errorf("invalid status code returned when fetching blob %d (%s)", res.StatusCode, http.StatusText(res.StatusCode)) + } res.Body.Close() - return nil, nil, fmt.Errorf("fetching partial blob: %w", err) + return nil, nil, err } } @@ -458,12 +451,8 @@ func (s *dockerImageSource) getSignaturesFromLookaside(ctx context.Context, inst // NOTE: Keep this in sync with docs/signature-protocols.md! signatures := []signature.Signature{} for i := 0; ; i++ { - if i >= maxLookasideSignatures { - return nil, fmt.Errorf("server provided %d signatures, assuming that's unreasonable and a server error", maxLookasideSignatures) - } - - sigURL := lookasideStorageURL(s.c.signatureBase, manifestDigest, i) - signature, missing, err := s.getOneSignature(ctx, sigURL) + url := lookasideStorageURL(s.c.signatureBase, manifestDigest, i) + signature, missing, err := s.getOneSignature(ctx, url) if err != nil { return nil, err } @@ -475,14 +464,14 @@ func (s *dockerImageSource) getSignaturesFromLookaside(ctx context.Context, inst return signatures, nil } -// getOneSignature downloads one signature from sigURL, and returns (signature, false, nil) +// getOneSignature downloads one signature from url, and returns (signature, false, nil) // If it successfully determines that the signature does not exist, returns (nil, true, nil). // NOTE: Keep this in sync with docs/signature-protocols.md! -func (s *dockerImageSource) getOneSignature(ctx context.Context, sigURL *url.URL) (signature.Signature, bool, error) { - switch sigURL.Scheme { +func (s *dockerImageSource) getOneSignature(ctx context.Context, url *url.URL) (signature.Signature, bool, error) { + switch url.Scheme { case "file": - logrus.Debugf("Reading %s", sigURL.Path) - sigBlob, err := os.ReadFile(sigURL.Path) + logrus.Debugf("Reading %s", url.Path) + sigBlob, err := os.ReadFile(url.Path) if err != nil { if os.IsNotExist(err) { return nil, true, nil @@ -491,13 +480,13 @@ func (s *dockerImageSource) getOneSignature(ctx context.Context, sigURL *url.URL } sig, err := signature.FromBlob(sigBlob) if err != nil { - return nil, false, fmt.Errorf("parsing signature %q: %w", sigURL.Path, err) + return nil, false, fmt.Errorf("parsing signature %q: %w", url.Path, err) } return sig, false, nil case "http", "https": - logrus.Debugf("GET %s", sigURL.Redacted()) - req, err := http.NewRequestWithContext(ctx, http.MethodGet, sigURL.String(), nil) + logrus.Debugf("GET %s", url.Redacted()) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url.String(), nil) if err != nil { return nil, false, err } @@ -507,31 +496,22 @@ func (s *dockerImageSource) getOneSignature(ctx context.Context, sigURL *url.URL } defer res.Body.Close() if res.StatusCode == http.StatusNotFound { - logrus.Debugf("... got status 404, as expected = end of signatures") return nil, true, nil } else if res.StatusCode != http.StatusOK { - return nil, false, fmt.Errorf("reading signature from %s: status %d (%s)", sigURL.Redacted(), res.StatusCode, http.StatusText(res.StatusCode)) - } - - contentType := res.Header.Get("Content-Type") - if mimeType := simplifyContentType(contentType); mimeType == "text/html" { - logrus.Warnf("Signature %q has Content-Type %q, unexpected for a signature", sigURL.Redacted(), contentType) - // Don’t immediately fail; the lookaside spec does not place any requirements on Content-Type. - // If the content really is HTML, it’s going to fail in signature.FromBlob. + return nil, false, fmt.Errorf("reading signature from %s: status %d (%s)", url.Redacted(), res.StatusCode, http.StatusText(res.StatusCode)) } - sigBlob, err := iolimits.ReadAtMost(res.Body, iolimits.MaxSignatureBodySize) if err != nil { return nil, false, err } sig, err := signature.FromBlob(sigBlob) if err != nil { - return nil, false, fmt.Errorf("parsing signature %s: %w", sigURL.Redacted(), err) + return nil, false, fmt.Errorf("parsing signature %s: %w", url.Redacted(), err) } return sig, false, nil default: - return nil, false, fmt.Errorf("Unsupported scheme when reading signature from %s", sigURL.Redacted()) + return nil, false, fmt.Errorf("Unsupported scheme when reading signature from %s", url.Redacted()) } } @@ -596,10 +576,6 @@ func (s *dockerImageSource) getSignaturesFromSigstoreAttachments(ctx context.Con // deleteImage deletes the named image from the registry, if supported. func deleteImage(ctx context.Context, sys *types.SystemContext, ref dockerReference) error { - if ref.isUnknownDigest { - return fmt.Errorf("Docker reference without a tag or digest cannot be deleted") - } - registryConfig, err := loadRegistryConfiguration(sys) if err != nil { return err @@ -615,7 +591,6 @@ func deleteImage(ctx context.Context, sys *types.SystemContext, ref dockerRefere if err != nil { return err } - defer c.Close() headers := map[string][]string{ "Accept": manifest.DefaultRequestedManifestMIMETypes, @@ -630,16 +605,16 @@ func deleteImage(ctx context.Context, sys *types.SystemContext, ref dockerRefere return err } defer get.Body.Close() + manifestBody, err := iolimits.ReadAtMost(get.Body, iolimits.MaxManifestBodySize) + if err != nil { + return err + } switch get.StatusCode { case http.StatusOK: case http.StatusNotFound: return fmt.Errorf("Unable to delete %v. Image may not exist or is not stored with a v2 Schema in a v2 registry", ref.ref) default: - return fmt.Errorf("deleting %v: %w", ref.ref, registryHTTPResponseToError(get)) - } - manifestBody, err := iolimits.ReadAtMost(get.Body, iolimits.MaxManifestBodySize) - if err != nil { - return err + return fmt.Errorf("Failed to delete %v: %s (%v)", ref.ref, manifestBody, get.Status) } manifestDigest, err := manifest.Digest(manifestBody) @@ -655,13 +630,18 @@ func deleteImage(ctx context.Context, sys *types.SystemContext, ref dockerRefere return err } defer delete.Body.Close() + + body, err := iolimits.ReadAtMost(delete.Body, iolimits.MaxErrorBodySize) + if err != nil { + return err + } if delete.StatusCode != http.StatusAccepted { - return fmt.Errorf("deleting %v: %w", ref.ref, registryHTTPResponseToError(delete)) + return fmt.Errorf("Failed to delete %v: %s (%v)", deletePath, string(body), delete.Status) } for i := 0; ; i++ { - sigURL := lookasideStorageURL(c.signatureBase, manifestDigest, i) - missing, err := c.deleteOneSignature(sigURL) + url := lookasideStorageURL(c.signatureBase, manifestDigest, i) + missing, err := c.deleteOneSignature(url) if err != nil { return err } @@ -777,7 +757,7 @@ func makeBufferedNetworkReader(stream io.ReadCloser, nBuffers, bufferSize uint) } type signalCloseReader struct { - closed chan struct{} + closed chan interface{} stream io.ReadCloser consumeStream bool } diff --git a/vendor/github.com/containers/image/v5/docker/docker_transport.go b/vendor/github.com/containers/image/v5/docker/docker_transport.go index 1c89302f46..0544bb3c93 100644 --- a/vendor/github.com/containers/image/v5/docker/docker_transport.go +++ b/vendor/github.com/containers/image/v5/docker/docker_transport.go @@ -12,11 +12,6 @@ import ( "github.com/containers/image/v5/types" ) -// UnknownDigestSuffix can be appended to a reference when the caller -// wants to push an image without a tag or digest. -// NewReferenceUnknownDigest() is called when this const is detected. -const UnknownDigestSuffix = "@@unknown-digest@@" - func init() { transports.Register(Transport) } @@ -48,8 +43,7 @@ func (t dockerTransport) ValidatePolicyConfigurationScope(scope string) error { // dockerReference is an ImageReference for Docker images. type dockerReference struct { - ref reference.Named // By construction we know that !reference.IsNameOnly(ref) unless isUnknownDigest=true - isUnknownDigest bool + ref reference.Named // By construction we know that !reference.IsNameOnly(ref) } // ParseReference converts a string, which should not start with the ImageTransport.Name prefix, into an Docker ImageReference. @@ -57,46 +51,23 @@ func ParseReference(refString string) (types.ImageReference, error) { if !strings.HasPrefix(refString, "//") { return nil, fmt.Errorf("docker: image reference %s does not start with //", refString) } - // Check if ref has UnknownDigestSuffix suffixed to it - unknownDigest := false - if strings.HasSuffix(refString, UnknownDigestSuffix) { - unknownDigest = true - refString = strings.TrimSuffix(refString, UnknownDigestSuffix) - } ref, err := reference.ParseNormalizedNamed(strings.TrimPrefix(refString, "//")) if err != nil { return nil, err } - - if unknownDigest { - if !reference.IsNameOnly(ref) { - return nil, fmt.Errorf("docker: image reference %q has unknown digest set but it contains either a tag or digest", ref.String()+UnknownDigestSuffix) - } - return NewReferenceUnknownDigest(ref) - } - ref = reference.TagNameOnly(ref) return NewReference(ref) } // NewReference returns a Docker reference for a named reference. The reference must satisfy !reference.IsNameOnly(). func NewReference(ref reference.Named) (types.ImageReference, error) { - return newReference(ref, false) -} - -// NewReferenceUnknownDigest returns a Docker reference for a named reference, which can be used to write images without setting -// a tag on the registry. The reference must satisfy reference.IsNameOnly() -func NewReferenceUnknownDigest(ref reference.Named) (types.ImageReference, error) { - return newReference(ref, true) + return newReference(ref) } // newReference returns a dockerReference for a named reference. -func newReference(ref reference.Named, unknownDigest bool) (dockerReference, error) { - if reference.IsNameOnly(ref) && !unknownDigest { - return dockerReference{}, fmt.Errorf("Docker reference %s is not for an unknown digest case; tag or digest is needed", reference.FamiliarString(ref)) - } - if !reference.IsNameOnly(ref) && unknownDigest { - return dockerReference{}, fmt.Errorf("Docker reference %s is for an unknown digest case but reference has a tag or digest", reference.FamiliarString(ref)) +func newReference(ref reference.Named) (dockerReference, error) { + if reference.IsNameOnly(ref) { + return dockerReference{}, fmt.Errorf("Docker reference %s has neither a tag nor a digest", reference.FamiliarString(ref)) } // A github.com/distribution/reference value can have a tag and a digest at the same time! // The docker/distribution API does not really support that (we can’t ask for an image with a specific @@ -110,8 +81,7 @@ func newReference(ref reference.Named, unknownDigest bool) (dockerReference, err } return dockerReference{ - ref: ref, - isUnknownDigest: unknownDigest, + ref: ref, }, nil } @@ -122,14 +92,10 @@ func (ref dockerReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix. func (ref dockerReference) StringWithinTransport() string { - famString := "//" + reference.FamiliarString(ref.ref) - if ref.isUnknownDigest { - return famString + UnknownDigestSuffix - } - return famString + return "//" + reference.FamiliarString(ref.ref) } // DockerReference returns a Docker reference associated with this reference @@ -147,9 +113,6 @@ func (ref dockerReference) DockerReference() reference.Named { // not required/guaranteed that it will be a valid input to Transport().ParseReference(). // Returns "" if configuration identities for these references are not supported. func (ref dockerReference) PolicyConfigurationIdentity() string { - if ref.isUnknownDigest { - return ref.ref.Name() - } res, err := policyconfiguration.DockerReferenceIdentity(ref.ref) if res == "" || err != nil { // Coverage: Should never happen, NewReference above should refuse values which could cause a failure. panic(fmt.Sprintf("Internal inconsistency: policyconfiguration.DockerReferenceIdentity returned %#v, %v", res, err)) @@ -163,13 +126,7 @@ func (ref dockerReference) PolicyConfigurationIdentity() string { // It is STRONGLY recommended for the first element, if any, to be a prefix of PolicyConfigurationIdentity(), // and each following element to be a prefix of the element preceding it. func (ref dockerReference) PolicyConfigurationNamespaces() []string { - namespaces := policyconfiguration.DockerReferenceNamespaces(ref.ref) - if ref.isUnknownDigest { - if len(namespaces) != 0 && namespaces[0] == ref.ref.Name() { - namespaces = namespaces[1:] - } - } - return namespaces + return policyconfiguration.DockerReferenceNamespaces(ref.ref) } // NewImage returns a types.ImageCloser for this reference, possibly specialized for this ImageTransport. @@ -206,10 +163,6 @@ func (ref dockerReference) tagOrDigest() (string, error) { if ref, ok := ref.ref.(reference.NamedTagged); ok { return ref.Tag(), nil } - - if ref.isUnknownDigest { - return "", fmt.Errorf("Docker reference %q is for an unknown digest case, has neither a digest nor a tag", reference.FamiliarString(ref.ref)) - } // This should not happen, NewReference above refuses reference.IsNameOnly values. return "", fmt.Errorf("Internal inconsistency: Reference %s unexpectedly has neither a digest nor a tag", reference.FamiliarString(ref.ref)) } diff --git a/vendor/github.com/containers/image/v5/docker/errors.go b/vendor/github.com/containers/image/v5/docker/errors.go index 4392f9d182..e47f6e863b 100644 --- a/vendor/github.com/containers/image/v5/docker/errors.go +++ b/vendor/github.com/containers/image/v5/docker/errors.go @@ -5,8 +5,7 @@ import ( "fmt" "net/http" - "github.com/docker/distribution/registry/api/errcode" - "github.com/sirupsen/logrus" + "github.com/docker/distribution/registry/client" ) var ( @@ -36,66 +35,27 @@ func httpResponseToError(res *http.Response, context string) error { case http.StatusTooManyRequests: return ErrTooManyRequests case http.StatusUnauthorized: - err := registryHTTPResponseToError(res) + err := client.HandleErrorResponse(res) return ErrUnauthorizedForCredentials{Err: err} default: if context != "" { - context += ": " + context = context + ": " } return fmt.Errorf("%sinvalid status code from registry %d (%s)", context, res.StatusCode, http.StatusText(res.StatusCode)) } } // registryHTTPResponseToError creates a Go error from an HTTP error response of a docker/distribution -// registry. -// -// WARNING: The OCI distribution spec says -// “A `4XX` response code from the registry MAY return a body in any format.”; but if it is -// JSON, it MUST use the errcode.Error structure. -// So, callers should primarily decide based on HTTP StatusCode, not based on error type here. +// registry func registryHTTPResponseToError(res *http.Response) error { - err := handleErrorResponse(res) - // len(errs) == 0 should never be returned by handleErrorResponse; if it does, we don't modify it and let the caller report it as is. - if errs, ok := err.(errcode.Errors); ok && len(errs) > 0 { - // The docker/distribution registry implementation almost never returns - // more than one error in the HTTP body; it seems there is only one - // possible instance, where the second error reports a cleanup failure - // we don't really care about. - // - // The only _common_ case where a multi-element error is returned is - // created by the handleErrorResponse parser when OAuth authorization fails: - // the first element contains errors from a WWW-Authenticate header, the second - // element contains errors from the response body. - // - // In that case the first one is currently _slightly_ more informative (ErrorCodeUnauthorized - // for invalid tokens, ErrorCodeDenied for permission denied with a valid token - // for the first error, vs. ErrorCodeUnauthorized for both cases for the second error.) - // - // Also, docker/docker similarly only logs the other errors and returns the - // first one. - if len(errs) > 1 { - logrus.Debugf("Discarding non-primary errors:") - for _, err := range errs[1:] { - logrus.Debugf(" %s", err.Error()) - } - } - err = errs[0] - } - switch e := err.(type) { - case *unexpectedHTTPResponseError: + err := client.HandleErrorResponse(res) + if e, ok := err.(*client.UnexpectedHTTPResponseError); ok { response := string(e.Response) if len(response) > 50 { response = response[:50] + "..." } // %.0w makes e visible to error.Unwrap() without including any text - err = fmt.Errorf("StatusCode: %d, %q%.0w", e.StatusCode, response, e) - case errcode.Error: - // e.Error() is fmt.Sprintf("%s: %s", e.Code.Error(), e.Message, which is usually - // rather redundant. So reword it without using e.Code.Error() if e.Message is the default. - if e.Message == e.Code.Message() { - // %.0w makes e visible to error.Unwrap() without including any text - err = fmt.Errorf("%s%.0w", e.Message, e) - } + err = fmt.Errorf("StatusCode: %d, %s%.0w", e.StatusCode, response, e) } return err } diff --git a/vendor/github.com/containers/image/v5/docker/internal/tarfile/dest.go b/vendor/github.com/containers/image/v5/docker/internal/tarfile/dest.go index 7507d85595..9a0ea683e6 100644 --- a/vendor/github.com/containers/image/v5/docker/internal/tarfile/dest.go +++ b/vendor/github.com/containers/image/v5/docker/internal/tarfile/dest.go @@ -76,15 +76,15 @@ func (d *Destination) AddRepoTags(tags []reference.NamedTagged) { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. -// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. -func (d *Destination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { +// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. +func (d *Destination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { // Ouch, we need to stream the blob into a temporary file just to determine the size. // When the layer is decompressed, we also have to generate the digest on uncompressed data. if inputInfo.Size == -1 || inputInfo.Digest == "" { logrus.Debugf("docker tarfile: input with unknown size, streaming to disk first ...") streamCopy, cleanup, err := streamdigest.ComputeBlobInfo(d.sysCtx, stream, &inputInfo) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } defer cleanup() stream = streamCopy @@ -92,48 +92,47 @@ func (d *Destination) PutBlobWithOptions(ctx context.Context, stream io.Reader, } if err := d.archive.lock(); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } defer d.archive.unlock() // Maybe the blob has been already sent ok, reusedInfo, err := d.archive.tryReusingBlobLocked(inputInfo) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } if ok { - return private.UploadedBlob{Digest: reusedInfo.Digest, Size: reusedInfo.Size}, nil + return reusedInfo, nil } if options.IsConfig { buf, err := iolimits.ReadAtMost(stream, iolimits.MaxConfigBodySize) if err != nil { - return private.UploadedBlob{}, fmt.Errorf("reading Config file stream: %w", err) + return types.BlobInfo{}, fmt.Errorf("reading Config file stream: %w", err) } d.config = buf if err := d.archive.sendFileLocked(d.archive.configPath(inputInfo.Digest), inputInfo.Size, bytes.NewReader(buf)); err != nil { - return private.UploadedBlob{}, fmt.Errorf("writing Config file: %w", err) + return types.BlobInfo{}, fmt.Errorf("writing Config file: %w", err) } } else { if err := d.archive.sendFileLocked(d.archive.physicalLayerPath(inputInfo.Digest), inputInfo.Size, stream); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } } d.archive.recordBlobLocked(types.BlobInfo{Digest: inputInfo.Digest, Size: inputInfo.Size}) - return private.UploadedBlob{Digest: inputInfo.Digest, Size: inputInfo.Size}, nil + return types.BlobInfo{Digest: inputInfo.Digest, Size: inputInfo.Size}, nil } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (d *Destination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { - if !impl.OriginalBlobMatchesRequiredCompression(options) { - return false, private.ReusedBlob{}, nil - } +func (d *Destination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { if err := d.archive.lock(); err != nil { - return false, private.ReusedBlob{}, err + return false, types.BlobInfo{}, err } defer d.archive.unlock() diff --git a/vendor/github.com/containers/image/v5/docker/internal/tarfile/reader.go b/vendor/github.com/containers/image/v5/docker/internal/tarfile/reader.go index 6845893bfb..eec7b84e52 100644 --- a/vendor/github.com/containers/image/v5/docker/internal/tarfile/reader.go +++ b/vendor/github.com/containers/image/v5/docker/internal/tarfile/reader.go @@ -34,19 +34,15 @@ func NewReaderFromFile(sys *types.SystemContext, path string) (*Reader, error) { } defer file.Close() - // If the file is seekable and already not compressed we can just return the file itself + // If the file is already not compressed we can just return the file itself // as a source. Otherwise we pass the stream to NewReaderFromStream. - var stream io.Reader = file - if _, err := file.Seek(0, io.SeekCurrent); err == nil { // seeking is possible - decompressed, isCompressed, err := compression.AutoDecompress(file) - if err != nil { - return nil, fmt.Errorf("detecting compression for file %q: %w", path, err) - } - defer decompressed.Close() - stream = decompressed - if !isCompressed { - return newReader(path, false) - } + stream, isCompressed, err := compression.AutoDecompress(file) + if err != nil { + return nil, fmt.Errorf("detecting compression for file %q: %w", path, err) + } + defer stream.Close() + if !isCompressed { + return newReader(path, false) } return NewReaderFromStream(sys, stream) } @@ -57,7 +53,7 @@ func NewReaderFromFile(sys *types.SystemContext, path string) (*Reader, error) { // The caller should call .Close() on the returned archive when done. func NewReaderFromStream(sys *types.SystemContext, inputStream io.Reader) (*Reader, error) { // Save inputStream to a temporary file - tarCopyFile, err := tmpdir.CreateBigFileTemp(sys, "docker-tar") + tarCopyFile, err := os.CreateTemp(tmpdir.TemporaryDirectoryForBigFiles(sys), "docker-tar") if err != nil { return nil, fmt.Errorf("creating temporary file: %w", err) } diff --git a/vendor/github.com/containers/image/v5/docker/internal/tarfile/writer.go b/vendor/github.com/containers/image/v5/docker/internal/tarfile/writer.go index df7b2c0906..f6ee041c49 100644 --- a/vendor/github.com/containers/image/v5/docker/internal/tarfile/writer.go +++ b/vendor/github.com/containers/image/v5/docker/internal/tarfile/writer.go @@ -13,13 +13,10 @@ import ( "time" "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/private" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/types" "github.com/opencontainers/go-digest" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" ) // Writer allows creating a (docker save)-formatted tar archive containing one or more images. @@ -32,7 +29,7 @@ type Writer struct { // Other state. blobs map[digest.Digest]types.BlobInfo // list of already-sent blobs repositories map[string]map[string]string - legacyLayers *set.Set[string] // A set of IDs of legacy layers that have been already sent. + legacyLayers map[string]struct{} // A set of IDs of legacy layers that have been already sent. manifest []ManifestItem manifestByConfig map[digest.Digest]int // A map from config digest to an entry index in manifest above. } @@ -45,7 +42,7 @@ func NewWriter(dest io.Writer) *Writer { tar: tar.NewWriter(dest), blobs: make(map[digest.Digest]types.BlobInfo), repositories: map[string]map[string]string{}, - legacyLayers: set.New[string](), + legacyLayers: map[string]struct{}{}, manifestByConfig: map[digest.Digest]int{}, } } @@ -70,17 +67,17 @@ func (w *Writer) unlock() { // tryReusingBlobLocked checks whether the transport already contains, a blob, and if so, returns its metadata. // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size. // If the transport can not reuse the requested blob, tryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. // The caller must have locked the Writer. -func (w *Writer) tryReusingBlobLocked(info types.BlobInfo) (bool, private.ReusedBlob, error) { +func (w *Writer) tryReusingBlobLocked(info types.BlobInfo) (bool, types.BlobInfo, error) { if info.Digest == "" { - return false, private.ReusedBlob{}, errors.New("Can not check for a blob with unknown digest") + return false, types.BlobInfo{}, errors.New("Can not check for a blob with unknown digest") } if blob, ok := w.blobs[info.Digest]; ok { - return true, private.ReusedBlob{Digest: info.Digest, Size: blob.Size}, nil + return true, types.BlobInfo{Digest: info.Digest, Size: blob.Size}, nil } - return false, private.ReusedBlob{}, nil + return false, types.BlobInfo{}, nil } // recordBlob records metadata of a recorded blob, which must contain at least a digest and size. @@ -92,7 +89,7 @@ func (w *Writer) recordBlobLocked(info types.BlobInfo) { // ensureSingleLegacyLayerLocked writes legacy VERSION and configuration files for a single layer // The caller must have locked the Writer. func (w *Writer) ensureSingleLegacyLayerLocked(layerID string, layerDigest digest.Digest, configBytes []byte) error { - if !w.legacyLayers.Contains(layerID) { + if _, ok := w.legacyLayers[layerID]; !ok { // Create a symlink for the legacy format, where there is one subdirectory per layer ("image"). // See also the comment in physicalLayerPath. physicalLayerPath := w.physicalLayerPath(layerDigest) @@ -109,7 +106,7 @@ func (w *Writer) ensureSingleLegacyLayerLocked(layerID string, layerDigest diges return fmt.Errorf("writing config json file: %w", err) } - w.legacyLayers.Add(layerID) + w.legacyLayers[layerID] = struct{}{} } return nil } @@ -120,7 +117,7 @@ func (w *Writer) writeLegacyMetadataLocked(layerDescriptors []manifest.Schema2De lastLayerID := "" for i, l := range layerDescriptors { // The legacy format requires a config file per layer - layerConfig := make(map[string]any) + layerConfig := make(map[string]interface{}) // The root layer doesn't have any parent if lastLayerID != "" { @@ -191,9 +188,14 @@ func checkManifestItemsMatch(a, b *ManifestItem) error { if a.Config != b.Config { return fmt.Errorf("Internal error: Trying to reuse ManifestItem values with configs %#v vs. %#v", a.Config, b.Config) } - if !slices.Equal(a.Layers, b.Layers) { + if len(a.Layers) != len(b.Layers) { return fmt.Errorf("Internal error: Trying to reuse ManifestItem values with layers %#v vs. %#v", a.Layers, b.Layers) } + for i := range a.Layers { + if a.Layers[i] != b.Layers[i] { + return fmt.Errorf("Internal error: Trying to reuse ManifestItem values with layers[i] %#v vs. %#v", a.Layers[i], b.Layers[i]) + } + } // Ignore RepoTags, that will be built later. // Ignore Parent and LayerSources, which we don’t set to anything meaningful. return nil @@ -227,9 +229,9 @@ func (w *Writer) ensureManifestItemLocked(layerDescriptors []manifest.Schema2Des item = &w.manifest[i] } - knownRepoTags := set.New[string]() + knownRepoTags := map[string]struct{}{} for _, repoTag := range item.RepoTags { - knownRepoTags.Add(repoTag) + knownRepoTags[repoTag] = struct{}{} } for _, tag := range repoTags { // For github.com/docker/docker consumers, this works just as well as @@ -250,9 +252,9 @@ func (w *Writer) ensureManifestItemLocked(layerDescriptors []manifest.Schema2Des // analysis and explanation. refString := fmt.Sprintf("%s:%s", tag.Name(), tag.Tag()) - if !knownRepoTags.Contains(refString) { + if _, ok := knownRepoTags[refString]; !ok { item.RepoTags = append(item.RepoTags, refString) - knownRepoTags.Add(refString) + knownRepoTags[refString] = struct{}{} } } @@ -335,7 +337,7 @@ func (t *tarFI) ModTime() time.Time { func (t *tarFI) IsDir() bool { return false } -func (t *tarFI) Sys() any { +func (t *tarFI) Sys() interface{} { return nil } @@ -344,7 +346,7 @@ func (t *tarFI) Sys() any { func (w *Writer) sendSymlinkLocked(path string, target string) error { hdr, err := tar.FileInfoHeader(&tarFI{path: path, size: 0, isSymlink: true}, target) if err != nil { - return err + return nil } logrus.Debugf("Sending as tar link %s -> %s", path, target) return w.tar.WriteHeader(hdr) @@ -361,7 +363,7 @@ func (w *Writer) sendBytesLocked(path string, b []byte) error { func (w *Writer) sendFileLocked(path string, expectedSize int64, stream io.Reader) error { hdr, err := tar.FileInfoHeader(&tarFI{path: path, size: expectedSize}, "") if err != nil { - return err + return nil } logrus.Debugf("Sending as tar file %s", path) if err := w.tar.WriteHeader(hdr); err != nil { diff --git a/vendor/github.com/containers/image/v5/docker/policyconfiguration/naming.go b/vendor/github.com/containers/image/v5/docker/policyconfiguration/naming.go index e1f1f1f2b7..5d42c38706 100644 --- a/vendor/github.com/containers/image/v5/docker/policyconfiguration/naming.go +++ b/vendor/github.com/containers/image/v5/docker/policyconfiguration/naming.go @@ -40,7 +40,7 @@ func DockerReferenceNamespaces(ref reference.Named) []string { // then in its parent "docker.io/library"; in none of "busybox", // un-namespaced "library" nor in "" supposedly implicitly representing "library/". // - // ref.Name() == ref.Domain() + "/" + ref.Path(), so the last + // ref.FullName() == ref.Hostname() + "/" + ref.RemoteName(), so the last // iteration matches the host name (for any namespace). res := []string{} name := ref.Name() diff --git a/vendor/github.com/containers/image/v5/docker/reference/normalize.go b/vendor/github.com/containers/image/v5/docker/reference/normalize.go index d3f47d210f..6a86ec64fd 100644 --- a/vendor/github.com/containers/image/v5/docker/reference/normalize.go +++ b/vendor/github.com/containers/image/v5/docker/reference/normalize.go @@ -104,7 +104,7 @@ func splitDockerDomain(name string) (domain, remainder string) { } // familiarizeName returns a shortened version of the name familiar -// to the Docker UI. Familiar names have the default domain +// to to the Docker UI. Familiar names have the default domain // "docker.io" and "library/" repository prefix removed. // For example, "docker.io/library/redis" will have the familiar // name "redis" and "docker.io/dmcgowan/myapp" will be "dmcgowan/myapp". diff --git a/vendor/github.com/containers/image/v5/docker/reference/reference.go b/vendor/github.com/containers/image/v5/docker/reference/reference.go index 6c5484c068..8c0c23b2fe 100644 --- a/vendor/github.com/containers/image/v5/docker/reference/reference.go +++ b/vendor/github.com/containers/image/v5/docker/reference/reference.go @@ -3,13 +3,13 @@ // // Grammar // -// reference := name [ ":" tag ] [ "@" digest ] +// reference := name [ ":" tag ] [ "@" digest ] // name := [domain '/'] path-component ['/' path-component]* // domain := domain-component ['.' domain-component]* [':' port-number] // domain-component := /([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])/ // port-number := /[0-9]+/ -// path-component := alphanumeric [separator alphanumeric]* -// alphanumeric := /[a-z0-9]+/ +// path-component := alpha-numeric [separator alpha-numeric]* +// alpha-numeric := /[a-z0-9]+/ // separator := /[_.]|__|[-]*/ // // tag := /[\w][\w.-]{0,127}/ @@ -175,7 +175,7 @@ func splitDomain(name string) (string, string) { // hostname and name string. If no valid hostname is // found, the hostname is empty and the full value // is returned as name -// Deprecated: Use Domain or Path +// DEPRECATED: Use Domain or Path func SplitHostname(named Named) (string, string) { if r, ok := named.(namedRepository); ok { return r.Domain(), r.Path() diff --git a/vendor/github.com/containers/image/v5/docker/reference/regexp.go b/vendor/github.com/containers/image/v5/docker/reference/regexp.go index 76ba5c2d5c..7860349320 100644 --- a/vendor/github.com/containers/image/v5/docker/reference/regexp.go +++ b/vendor/github.com/containers/image/v5/docker/reference/regexp.go @@ -1,156 +1,143 @@ package reference -import ( - "regexp" - "strings" +import "regexp" - storageRegexp "github.com/containers/storage/pkg/regexp" -) - -const ( - // alphaNumeric defines the alpha numeric atom, typically a +var ( + // alphaNumericRegexp defines the alpha numeric atom, typically a // component of names. This only allows lower case characters and digits. - alphaNumeric = `[a-z0-9]+` + alphaNumericRegexp = match(`[a-z0-9]+`) - // separator defines the separators allowed to be embedded in name + // separatorRegexp defines the separators allowed to be embedded in name // components. This allow one period, one or two underscore and multiple - // dashes. Repeated dashes and underscores are intentionally treated - // differently. In order to support valid hostnames as name components, - // supporting repeated dash was added. Additionally double underscore is - // now allowed as a separator to loosen the restriction for previously - // supported names. - separator = `(?:[._]|__|[-]*)` + // dashes. + separatorRegexp = match(`(?:[._]|__|[-]*)`) + // nameComponentRegexp restricts registry path component names to start + // with at least one letter or number, with following parts able to be + // separated by one period, one or two underscore and multiple dashes. + nameComponentRegexp = expression( + alphaNumericRegexp, + optional(repeated(separatorRegexp, alphaNumericRegexp))) + + // domainComponentRegexp restricts the registry domain component of a // repository name to start with a component as defined by DomainRegexp // and followed by an optional port. - domainComponent = `(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])` - - // The string counterpart for TagRegexp. - tag = `[\w][\w.-]{0,127}` - - // The string counterpart for DigestRegexp. - digestPat = `[A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]{32,}` - - // The string counterpart for IdentifierRegexp. - identifier = `([a-f0-9]{64})` + domainComponentRegexp = match(`(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])`) - // The string counterpart for ShortIdentifierRegexp. - shortIdentifier = `([a-f0-9]{6,64})` -) - -var ( - // nameComponent restricts registry path component names to start - // with at least one letter or number, with following parts able to be - // separated by one period, one or two underscore and multiple dashes. - nameComponent = expression( - alphaNumeric, - optional(repeated(separator, alphaNumeric))) - - domain = expression( - domainComponent, - optional(repeated(literal(`.`), domainComponent)), - optional(literal(`:`), `[0-9]+`)) // DomainRegexp defines the structure of potential domain components // that may be part of image names. This is purposely a subset of what is // allowed by DNS to ensure backwards compatibility with Docker image // names. - DomainRegexp = re(domain) + DomainRegexp = expression( + domainComponentRegexp, + optional(repeated(literal(`.`), domainComponentRegexp)), + optional(literal(`:`), match(`[0-9]+`))) // TagRegexp matches valid tag names. From docker/docker:graph/tags.go. - TagRegexp = re(tag) + TagRegexp = match(`[\w][\w.-]{0,127}`) - anchoredTag = anchored(tag) // anchoredTagRegexp matches valid tag names, anchored at the start and // end of the matched string. - anchoredTagRegexp = storageRegexp.Delayed(anchoredTag) + anchoredTagRegexp = anchored(TagRegexp) // DigestRegexp matches valid digests. - DigestRegexp = re(digestPat) + DigestRegexp = match(`[A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]{32,}`) - anchoredDigest = anchored(digestPat) // anchoredDigestRegexp matches valid digests, anchored at the start and // end of the matched string. - anchoredDigestRegexp = storageRegexp.Delayed(anchoredDigest) + anchoredDigestRegexp = anchored(DigestRegexp) - namePat = expression( - optional(domain, literal(`/`)), - nameComponent, - optional(repeated(literal(`/`), nameComponent))) // NameRegexp is the format for the name component of references. The // regexp has capturing groups for the domain and name part omitting // the separating forward slash from either. - NameRegexp = re(namePat) + NameRegexp = expression( + optional(DomainRegexp, literal(`/`)), + nameComponentRegexp, + optional(repeated(literal(`/`), nameComponentRegexp))) - anchoredName = anchored( - optional(capture(domain), literal(`/`)), - capture(nameComponent, - optional(repeated(literal(`/`), nameComponent)))) // anchoredNameRegexp is used to parse a name value, capturing the // domain and trailing components. - anchoredNameRegexp = storageRegexp.Delayed(anchoredName) + anchoredNameRegexp = anchored( + optional(capture(DomainRegexp), literal(`/`)), + capture(nameComponentRegexp, + optional(repeated(literal(`/`), nameComponentRegexp)))) - referencePat = anchored(capture(namePat), - optional(literal(":"), capture(tag)), - optional(literal("@"), capture(digestPat))) // ReferenceRegexp is the full supported format of a reference. The regexp // is anchored and has capturing groups for name, tag, and digest // components. - ReferenceRegexp = re(referencePat) + ReferenceRegexp = anchored(capture(NameRegexp), + optional(literal(":"), capture(TagRegexp)), + optional(literal("@"), capture(DigestRegexp))) // IdentifierRegexp is the format for string identifier used as a // content addressable identifier using sha256. These identifiers // are like digests without the algorithm, since sha256 is used. - IdentifierRegexp = re(identifier) + IdentifierRegexp = match(`([a-f0-9]{64})`) // ShortIdentifierRegexp is the format used to represent a prefix // of an identifier. A prefix may be used to match a sha256 identifier // within a list of trusted identifiers. - ShortIdentifierRegexp = re(shortIdentifier) + ShortIdentifierRegexp = match(`([a-f0-9]{6,64})`) - anchoredIdentifier = anchored(identifier) // anchoredIdentifierRegexp is used to check or match an // identifier value, anchored at start and end of string. - anchoredIdentifierRegexp = storageRegexp.Delayed(anchoredIdentifier) + anchoredIdentifierRegexp = anchored(IdentifierRegexp) + + // anchoredShortIdentifierRegexp is used to check if a value + // is a possible identifier prefix, anchored at start and end + // of string. + anchoredShortIdentifierRegexp = anchored(ShortIdentifierRegexp) ) -// re compiles the string to a regular expression. -var re = regexp.MustCompile +// match compiles the string to a regular expression. +var match = regexp.MustCompile // literal compiles s into a literal regular expression, escaping any regexp // reserved characters. -func literal(s string) string { - return regexp.QuoteMeta(s) +func literal(s string) *regexp.Regexp { + re := match(regexp.QuoteMeta(s)) + + if _, complete := re.LiteralPrefix(); !complete { + panic("must be a literal") + } + + return re } // expression defines a full expression, where each regular expression must // follow the previous. -func expression(res ...string) string { - return strings.Join(res, "") +func expression(res ...*regexp.Regexp) *regexp.Regexp { + var s string + for _, re := range res { + s += re.String() + } + + return match(s) } // optional wraps the expression in a non-capturing group and makes the // production optional. -func optional(res ...string) string { - return group(expression(res...)) + `?` +func optional(res ...*regexp.Regexp) *regexp.Regexp { + return match(group(expression(res...)).String() + `?`) } // repeated wraps the regexp in a non-capturing group to get one or more // matches. -func repeated(res ...string) string { - return group(expression(res...)) + `+` +func repeated(res ...*regexp.Regexp) *regexp.Regexp { + return match(group(expression(res...)).String() + `+`) } // group wraps the regexp in a non-capturing group. -func group(res ...string) string { - return `(?:` + expression(res...) + `)` +func group(res ...*regexp.Regexp) *regexp.Regexp { + return match(`(?:` + expression(res...).String() + `)`) } // capture wraps the expression in a capturing group. -func capture(res ...string) string { - return `(` + expression(res...) + `)` +func capture(res ...*regexp.Regexp) *regexp.Regexp { + return match(`(` + expression(res...).String() + `)`) } // anchored anchors the regular expression by adding start and end delimiters. -func anchored(res ...string) string { - return `^` + expression(res...) + `$` +func anchored(res ...*regexp.Regexp) *regexp.Regexp { + return match(`^` + expression(res...).String() + `$`) } diff --git a/vendor/github.com/containers/image/v5/docker/registries_d.go b/vendor/github.com/containers/image/v5/docker/registries_d.go index c7b884ab3c..37087dd857 100644 --- a/vendor/github.com/containers/image/v5/docker/registries_d.go +++ b/vendor/github.com/containers/image/v5/docker/registries_d.go @@ -13,9 +13,9 @@ import ( "github.com/containers/image/v5/internal/rootless" "github.com/containers/image/v5/types" "github.com/containers/storage/pkg/homedir" + "github.com/ghodss/yaml" "github.com/opencontainers/go-digest" "github.com/sirupsen/logrus" - "gopkg.in/yaml.v3" ) // systemRegistriesDirPath is the path to registries.d, used for locating lookaside Docker signature storage. @@ -39,18 +39,18 @@ var defaultDockerDir = "/var/lib/containers/sigstore" // registryConfiguration is one of the files in registriesDirPath configuring lookaside locations, or the result of merging them all. // NOTE: Keep this in sync with docs/registries.d.md! type registryConfiguration struct { - DefaultDocker *registryNamespace `yaml:"default-docker"` + DefaultDocker *registryNamespace `json:"default-docker"` // The key is a namespace, using fully-expanded Docker reference format or parent namespaces (per dockerReference.PolicyConfiguration*), - Docker map[string]registryNamespace `yaml:"docker"` + Docker map[string]registryNamespace `json:"docker"` } // registryNamespace defines lookaside locations for a single namespace. type registryNamespace struct { - Lookaside string `yaml:"lookaside"` // For reading, and if LookasideStaging is not present, for writing. - LookasideStaging string `yaml:"lookaside-staging"` // For writing only. - SigStore string `yaml:"sigstore"` // For compatibility, deprecated in favor of Lookaside. - SigStoreStaging string `yaml:"sigstore-staging"` // For compatibility, deprecated in favor of LookasideStaging. - UseSigstoreAttachments *bool `yaml:"use-sigstore-attachments,omitempty"` + Lookaside string `json:"lookaside"` // For reading, and if LookasideStaging is not present, for writing. + LookasideStaging string `json:"lookaside-staging"` // For writing only. + SigStore string `json:"sigstore"` // For compatibility, deprecated in favor of Lookaside. + SigStoreStaging string `json:"sigstore-staging"` // For compatibility, deprecated in favor of LookasideStaging. + UseSigstoreAttachments *bool `json:"use-sigstore-attachments,omitempty"` } // lookasideStorageBase is an "opaque" type representing a lookaside Docker signature storage. @@ -163,17 +163,17 @@ func loadAndMergeConfig(dirPath string) (*registryConfiguration, error) { // the usage of the BaseURL is defined under docker/distribution registries—separate storage of docs/signature-protocols.md func (config *registryConfiguration) lookasideStorageBaseURL(dr dockerReference, write bool) (*url.URL, error) { topLevel := config.signatureTopLevel(dr, write) - var baseURL *url.URL + var url *url.URL if topLevel != "" { u, err := url.Parse(topLevel) if err != nil { return nil, fmt.Errorf("Invalid signature storage URL %s: %w", topLevel, err) } - baseURL = u + url = u } else { // returns default directory if no lookaside specified in configuration file - baseURL = builtinDefaultLookasideStorageDir(rootless.GetRootlessEUID()) - logrus.Debugf(" No signature storage configuration found for %s, using built-in default %s", dr.PolicyConfigurationIdentity(), baseURL.Redacted()) + url = builtinDefaultLookasideStorageDir(rootless.GetRootlessEUID()) + logrus.Debugf(" No signature storage configuration found for %s, using built-in default %s", dr.PolicyConfigurationIdentity(), url.Redacted()) } // NOTE: Keep this in sync with docs/signature-protocols.md! // FIXME? Restrict to explicitly supported schemes? @@ -181,8 +181,8 @@ func (config *registryConfiguration) lookasideStorageBaseURL(dr dockerReference, if path.Clean(repo) != repo { // Coverage: This should not be reachable because /./ and /../ components are not valid in docker references return nil, fmt.Errorf("Unexpected path elements in Docker reference %s for signature storage", dr.ref.String()) } - baseURL.Path = baseURL.Path + "/" + repo - return baseURL, nil + url.Path = url.Path + "/" + repo + return url, nil } // builtinDefaultLookasideStorageDir returns default signature storage URL as per euid @@ -201,8 +201,8 @@ func (config *registryConfiguration) signatureTopLevel(ref dockerReference, writ identity := ref.PolicyConfigurationIdentity() if ns, ok := config.Docker[identity]; ok { logrus.Debugf(` Lookaside configuration: using "docker" namespace %s`, identity) - if ret := ns.signatureTopLevel(write); ret != "" { - return ret + if url := ns.signatureTopLevel(write); url != "" { + return url } } @@ -210,8 +210,8 @@ func (config *registryConfiguration) signatureTopLevel(ref dockerReference, writ for _, name := range ref.PolicyConfigurationNamespaces() { if ns, ok := config.Docker[name]; ok { logrus.Debugf(` Lookaside configuration: using "docker" namespace %s`, name) - if ret := ns.signatureTopLevel(write); ret != "" { - return ret + if url := ns.signatureTopLevel(write); url != "" { + return url } } } @@ -219,8 +219,8 @@ func (config *registryConfiguration) signatureTopLevel(ref dockerReference, writ // Look for a default location if config.DefaultDocker != nil { logrus.Debugf(` Lookaside configuration: using "default-docker" configuration`) - if ret := config.DefaultDocker.signatureTopLevel(write); ret != "" { - return ret + if url := config.DefaultDocker.signatureTopLevel(write); url != "" { + return url } } return "" @@ -287,7 +287,7 @@ func (ns registryNamespace) signatureTopLevel(write bool) string { // base is not nil from the caller // NOTE: Keep this in sync with docs/signature-protocols.md! func lookasideStorageURL(base lookasideStorageBase, manifestDigest digest.Digest, index int) *url.URL { - sigURL := *base - sigURL.Path = fmt.Sprintf("%s@%s=%s/signature-%d", sigURL.Path, manifestDigest.Algorithm(), manifestDigest.Hex(), index+1) - return &sigURL + url := *base + url.Path = fmt.Sprintf("%s@%s=%s/signature-%d", url.Path, manifestDigest.Algorithm(), manifestDigest.Hex(), index+1) + return &url } diff --git a/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go b/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go index 6bcb835b9e..d0bbbba8a5 100644 --- a/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go +++ b/vendor/github.com/containers/image/v5/docker/wwwauthenticate.go @@ -3,7 +3,6 @@ package docker // Based on github.com/docker/distribution/registry/client/auth/authchallenge.go, primarily stripping unnecessary dependencies. import ( - "fmt" "net/http" "strings" ) @@ -71,18 +70,6 @@ func parseAuthHeader(header http.Header) []challenge { return challenges } -// parseAuthScope parses an authentication scope string of the form `$resource:$remote:$actions` -func parseAuthScope(scopeStr string) (*authScope, error) { - if parts := strings.Split(scopeStr, ":"); len(parts) == 3 { - return &authScope{ - resourceType: parts[0], - remoteName: parts[1], - actions: parts[2], - }, nil - } - return nil, fmt.Errorf("error parsing auth scope: '%s'", scopeStr) -} - // NOTE: This is not a fully compliant parser per RFC 7235: // Most notably it does not support more than one challenge within a single header // Some of the whitespace parsing also seems noncompliant. @@ -149,7 +136,7 @@ func expectTokenOrQuoted(s string) (value string, rest string) { p := make([]byte, len(s)-1) j := copy(p, s[:i]) escape := true - for i++; i < len(s); i++ { + for i = i + 1; i < len(s); i++ { b := s[i] switch { case escape: diff --git a/vendor/github.com/containers/image/v5/internal/blobinfocache/blobinfocache.go b/vendor/github.com/containers/image/v5/internal/blobinfocache/blobinfocache.go index 2767c39507..b86e8b1ac3 100644 --- a/vendor/github.com/containers/image/v5/internal/blobinfocache/blobinfocache.go +++ b/vendor/github.com/containers/image/v5/internal/blobinfocache/blobinfocache.go @@ -23,12 +23,6 @@ type v1OnlyBlobInfoCache struct { types.BlobInfoCache } -func (bic *v1OnlyBlobInfoCache) Open() { -} - -func (bic *v1OnlyBlobInfoCache) Close() { -} - func (bic *v1OnlyBlobInfoCache) RecordDigestCompressorName(anyDigest digest.Digest, compressorName string) { } diff --git a/vendor/github.com/containers/image/v5/internal/blobinfocache/types.go b/vendor/github.com/containers/image/v5/internal/blobinfocache/types.go index 429d682635..3c2be57f32 100644 --- a/vendor/github.com/containers/image/v5/internal/blobinfocache/types.go +++ b/vendor/github.com/containers/image/v5/internal/blobinfocache/types.go @@ -18,13 +18,6 @@ const ( // of compression was applied to the blobs it keeps information about. type BlobInfoCache2 interface { types.BlobInfoCache - - // Open() sets up the cache for future accesses, potentially acquiring costly state. Each Open() must be paired with a Close(). - // Note that public callers may call the types.BlobInfoCache operations without Open()/Close(). - Open() - // Close destroys state created by Open(). - Close() - // RecordDigestCompressorName records a compressor for the blob with the specified digest, // or Uncompressed or UnknownCompression. // WARNING: Only call this with LOCALLY VERIFIED data; don’t record a compressor for a @@ -32,7 +25,7 @@ type BlobInfoCache2 interface { // otherwise the cache could be poisoned and cause us to make incorrect edits to type // information in a manifest. RecordDigestCompressorName(anyDigest digest.Digest, compressorName string) - // CandidateLocations2 returns a prioritized, limited, number of blobs and their locations (if known) + // CandidateLocations2 returns a prioritized, limited, number of blobs and their locations // that could possibly be reused within the specified (transport scope) (if they still // exist, which is not guaranteed). // @@ -46,8 +39,7 @@ type BlobInfoCache2 interface { // BICReplacementCandidate2 is an item returned by BlobInfoCache2.CandidateLocations2. type BICReplacementCandidate2 struct { - Digest digest.Digest - CompressorName string // either the Name() of a known pkg/compression.Algorithm, or Uncompressed or UnknownCompression - UnknownLocation bool // is true when `Location` for this blob is not set - Location types.BICLocationReference // not set if UnknownLocation is set to `true` + Digest digest.Digest + CompressorName string // either the Name() of a known pkg/compression.Algorithm, or Uncompressed or UnknownCompression + Location types.BICLocationReference } diff --git a/vendor/github.com/containers/image/v5/internal/image/docker_list.go b/vendor/github.com/containers/image/v5/internal/image/docker_list.go index 617a451aa9..8afc406282 100644 --- a/vendor/github.com/containers/image/v5/internal/image/docker_list.go +++ b/vendor/github.com/containers/image/v5/internal/image/docker_list.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/containers/image/v5/internal/manifest" + "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/types" ) diff --git a/vendor/github.com/containers/image/v5/internal/image/docker_schema2.go b/vendor/github.com/containers/image/v5/internal/image/docker_schema2.go index c3234c377b..23a21999aa 100644 --- a/vendor/github.com/containers/image/v5/internal/image/docker_schema2.go +++ b/vendor/github.com/containers/image/v5/internal/image/docker_schema2.go @@ -226,9 +226,9 @@ func (m *manifestSchema2) convertToManifestOCI1(ctx context.Context, _ *types.Ma layers[idx] = oci1DescriptorFromSchema2Descriptor(m.m.LayersDescriptors[idx]) switch m.m.LayersDescriptors[idx].MediaType { case manifest.DockerV2Schema2ForeignLayerMediaType: - layers[idx].MediaType = imgspecv1.MediaTypeImageLayerNonDistributable //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. + layers[idx].MediaType = imgspecv1.MediaTypeImageLayerNonDistributable case manifest.DockerV2Schema2ForeignLayerMediaTypeGzip: - layers[idx].MediaType = imgspecv1.MediaTypeImageLayerNonDistributableGzip //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. + layers[idx].MediaType = imgspecv1.MediaTypeImageLayerNonDistributableGzip case manifest.DockerV2SchemaLayerMediaTypeUncompressed: layers[idx].MediaType = imgspecv1.MediaTypeImageLayer case manifest.DockerV2Schema2LayerMediaType: @@ -381,7 +381,7 @@ func v1ConfigFromConfigJSON(configJSON []byte, v1ID, parentV1ID string, throwawa delete(rawContents, "rootfs") delete(rawContents, "history") - updates := map[string]any{"id": v1ID} + updates := map[string]interface{}{"id": v1ID} if parentV1ID != "" { updates["parent"] = parentV1ID } diff --git a/vendor/github.com/containers/image/v5/internal/image/oci.go b/vendor/github.com/containers/image/v5/internal/image/oci.go index df0e8e4171..4b74de3e58 100644 --- a/vendor/github.com/containers/image/v5/internal/image/oci.go +++ b/vendor/github.com/containers/image/v5/internal/image/oci.go @@ -12,10 +12,8 @@ import ( "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/pkg/blobinfocache/none" "github.com/containers/image/v5/types" - ociencspec "github.com/containers/ocicrypt/spec" "github.com/opencontainers/go-digest" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/slices" ) type manifestOCI1 struct { @@ -88,7 +86,7 @@ func (m *manifestOCI1) ConfigBlob(ctx context.Context) ([]byte, error) { // old image manifests work (docker v2s1 especially). func (m *manifestOCI1) OCIConfig(ctx context.Context) (*imgspecv1.Image, error) { if m.m.Config.MediaType != imgspecv1.MediaTypeImageConfig { - return nil, internalManifest.NewNonImageArtifactError(&m.m.Manifest) + return nil, internalManifest.NewNonImageArtifactError(m.m.Config.MediaType) } cb, err := m.ConfigBlob(ctx) @@ -196,92 +194,32 @@ func (m *manifestOCI1) convertToManifestSchema2Generic(ctx context.Context, opti return m.convertToManifestSchema2(ctx, options) } -// layerEditsOfOCIOnlyFeatures checks if options requires some layer edits to be done before converting to a Docker format. -// If not, it returns (nil, nil). -// If decryption is required, it returns a set of edits to provide to OCI1.UpdateLayerInfos, -// and edits *options to not try decryption again. -func (m *manifestOCI1) layerEditsOfOCIOnlyFeatures(options *types.ManifestUpdateOptions) ([]types.BlobInfo, error) { - if options == nil || options.LayerInfos == nil { - return nil, nil - } - - originalInfos := m.LayerInfos() - if len(originalInfos) != len(options.LayerInfos) { - return nil, fmt.Errorf("preparing to decrypt before conversion: %d layers vs. %d layer edits", len(originalInfos), len(options.LayerInfos)) - } - - ociOnlyEdits := slices.Clone(originalInfos) // Start with a full copy so that we don't forget to copy anything: use the current data in full unless we intentionally deviate. - laterEdits := slices.Clone(options.LayerInfos) - needsOCIOnlyEdits := false - for i, edit := range options.LayerInfos { - // Unless determined otherwise, don't do any compression-related MIME type conversions. m.LayerInfos() should not set these edit instructions, but be explicit. - ociOnlyEdits[i].CompressionOperation = types.PreserveOriginal - ociOnlyEdits[i].CompressionAlgorithm = nil - - if edit.CryptoOperation == types.Decrypt { - needsOCIOnlyEdits = true // Encrypted types must be removed before conversion because they can’t be represented in Docker schemas - ociOnlyEdits[i].CryptoOperation = types.Decrypt - laterEdits[i].CryptoOperation = types.PreserveOriginalCrypto // Don't try to decrypt in a schema[12] manifest later, that would fail. - } - - if originalInfos[i].MediaType == imgspecv1.MediaTypeImageLayerZstd || - originalInfos[i].MediaType == imgspecv1.MediaTypeImageLayerNonDistributableZstd { //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. - needsOCIOnlyEdits = true // Zstd MIME types must be removed before conversion because they can’t be represented in Docker schemas. - ociOnlyEdits[i].CompressionOperation = edit.CompressionOperation - ociOnlyEdits[i].CompressionAlgorithm = edit.CompressionAlgorithm - laterEdits[i].CompressionOperation = types.PreserveOriginal - laterEdits[i].CompressionAlgorithm = nil - } - } - if !needsOCIOnlyEdits { - return nil, nil - } - - options.LayerInfos = laterEdits - return ociOnlyEdits, nil -} - // convertToManifestSchema2 returns a genericManifest implementation converted to manifest.DockerV2Schema2MediaType. // It may use options.InformationOnly and also adjust *options to be appropriate for editing the returned // value. // This does not change the state of the original manifestOCI1 object. -func (m *manifestOCI1) convertToManifestSchema2(_ context.Context, options *types.ManifestUpdateOptions) (*manifestSchema2, error) { +func (m *manifestOCI1) convertToManifestSchema2(_ context.Context, _ *types.ManifestUpdateOptions) (*manifestSchema2, error) { if m.m.Config.MediaType != imgspecv1.MediaTypeImageConfig { - return nil, internalManifest.NewNonImageArtifactError(&m.m.Manifest) - } - - // Mostly we first make a format conversion, and _afterwards_ do layer edits. But first we need to do the layer edits - // which remove OCI-specific features, because trying to convert those layers would fail. - // So, do the layer updates for decryption, and for conversions from Zstd. - ociManifest := m.m - ociOnlyEdits, err := m.layerEditsOfOCIOnlyFeatures(options) - if err != nil { - return nil, err - } - if ociOnlyEdits != nil { - ociManifest = manifest.OCI1Clone(ociManifest) - if err := ociManifest.UpdateLayerInfos(ociOnlyEdits); err != nil { - return nil, err - } + return nil, internalManifest.NewNonImageArtifactError(m.m.Config.MediaType) } // Create a copy of the descriptor. - config := schema2DescriptorFromOCI1Descriptor(ociManifest.Config) + config := schema2DescriptorFromOCI1Descriptor(m.m.Config) // Above, we have already checked that this manifest refers to an image, not an OCI artifact, // so the only difference between OCI and DockerSchema2 is the mediatypes. The // media type of the manifest is handled by manifestSchema2FromComponents. config.MediaType = manifest.DockerV2Schema2ConfigMediaType - layers := make([]manifest.Schema2Descriptor, len(ociManifest.Layers)) + layers := make([]manifest.Schema2Descriptor, len(m.m.Layers)) for idx := range layers { - layers[idx] = schema2DescriptorFromOCI1Descriptor(ociManifest.Layers[idx]) + layers[idx] = schema2DescriptorFromOCI1Descriptor(m.m.Layers[idx]) switch layers[idx].MediaType { - case imgspecv1.MediaTypeImageLayerNonDistributable: //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. + case imgspecv1.MediaTypeImageLayerNonDistributable: layers[idx].MediaType = manifest.DockerV2Schema2ForeignLayerMediaType - case imgspecv1.MediaTypeImageLayerNonDistributableGzip: //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. + case imgspecv1.MediaTypeImageLayerNonDistributableGzip: layers[idx].MediaType = manifest.DockerV2Schema2ForeignLayerMediaTypeGzip - case imgspecv1.MediaTypeImageLayerNonDistributableZstd: //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. + case imgspecv1.MediaTypeImageLayerNonDistributableZstd: return nil, fmt.Errorf("Error during manifest conversion: %q: zstd compression is not supported for docker images", layers[idx].MediaType) case imgspecv1.MediaTypeImageLayer: layers[idx].MediaType = manifest.DockerV2SchemaLayerMediaTypeUncompressed @@ -289,9 +227,6 @@ func (m *manifestOCI1) convertToManifestSchema2(_ context.Context, options *type layers[idx].MediaType = manifest.DockerV2Schema2LayerMediaType case imgspecv1.MediaTypeImageLayerZstd: return nil, fmt.Errorf("Error during manifest conversion: %q: zstd compression is not supported for docker images", layers[idx].MediaType) - case ociencspec.MediaTypeLayerEnc, ociencspec.MediaTypeLayerGzipEnc, ociencspec.MediaTypeLayerZstdEnc, - ociencspec.MediaTypeLayerNonDistributableEnc, ociencspec.MediaTypeLayerNonDistributableGzipEnc, ociencspec.MediaTypeLayerNonDistributableZstdEnc: - return nil, fmt.Errorf("during manifest conversion: encrypted layers (%q) are not supported in docker images", layers[idx].MediaType) default: return nil, fmt.Errorf("Unknown media type during manifest conversion: %q", layers[idx].MediaType) } @@ -309,7 +244,7 @@ func (m *manifestOCI1) convertToManifestSchema2(_ context.Context, options *type // This does not change the state of the original manifestOCI1 object. func (m *manifestOCI1) convertToManifestSchema1(ctx context.Context, options *types.ManifestUpdateOptions) (genericManifest, error) { if m.m.Config.MediaType != imgspecv1.MediaTypeImageConfig { - return nil, internalManifest.NewNonImageArtifactError(&m.m.Manifest) + return nil, internalManifest.NewNonImageArtifactError(m.m.Config.MediaType) } // We can't directly convert images to V1, but we can transitively convert via a V2 image diff --git a/vendor/github.com/containers/image/v5/internal/image/oci_index.go b/vendor/github.com/containers/image/v5/internal/image/oci_index.go index 0e945c8519..f4f76622c5 100644 --- a/vendor/github.com/containers/image/v5/internal/image/oci_index.go +++ b/vendor/github.com/containers/image/v5/internal/image/oci_index.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - "github.com/containers/image/v5/internal/manifest" + "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/types" ) diff --git a/vendor/github.com/containers/image/v5/internal/image/sourced.go b/vendor/github.com/containers/image/v5/internal/image/sourced.go index 661891aa55..dc09a9e04b 100644 --- a/vendor/github.com/containers/image/v5/internal/image/sourced.go +++ b/vendor/github.com/containers/image/v5/internal/image/sourced.go @@ -10,7 +10,7 @@ import ( ) // FromReference returns a types.ImageCloser implementation for the default instance reading from reference. -// If reference points to a manifest list, .Manifest() still returns the manifest list, +// If reference poitns to a manifest list, .Manifest() still returns the manifest list, // but other methods transparently return data from an appropriate image instance. // // The caller must call .Close() on the returned ImageCloser. diff --git a/vendor/github.com/containers/image/v5/internal/imagedestination/impl/compat.go b/vendor/github.com/containers/image/v5/internal/imagedestination/impl/compat.go index 47c169a1f8..ee34ffdbd9 100644 --- a/vendor/github.com/containers/image/v5/internal/imagedestination/impl/compat.go +++ b/vendor/github.com/containers/image/v5/internal/imagedestination/impl/compat.go @@ -22,14 +22,13 @@ type Compat struct { // for implementations of private.ImageDestination. // // Use it like this: +// type yourDestination struct { +// impl.Compat +// … +// } +// dest := &yourDestination{…} +// dest.Compat = impl.AddCompat(dest) // -// type yourDestination struct { -// impl.Compat -// … -// } -// -// dest := &yourDestination{…} -// dest.Compat = impl.AddCompat(dest) func AddCompat(dest private.ImageDestinationInternalOnly) Compat { return Compat{dest} } @@ -43,17 +42,10 @@ func AddCompat(dest private.ImageDestinationInternalOnly) Compat { // to any other readers for download using the supplied digest. // If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. func (c *Compat) PutBlob(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, cache types.BlobInfoCache, isConfig bool) (types.BlobInfo, error) { - res, err := c.dest.PutBlobWithOptions(ctx, stream, inputInfo, private.PutBlobOptions{ + return c.dest.PutBlobWithOptions(ctx, stream, inputInfo, private.PutBlobOptions{ Cache: blobinfocache.FromBlobInfoCache(cache), IsConfig: isConfig, }) - if err != nil { - return types.BlobInfo{}, err - } - return types.BlobInfo{ - Digest: res.Digest, - Size: res.Size, - }, nil } // TryReusingBlob checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination @@ -66,26 +58,10 @@ func (c *Compat) PutBlob(ctx context.Context, stream io.Reader, inputInfo types. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. // May use and/or update cache. func (c *Compat) TryReusingBlob(ctx context.Context, info types.BlobInfo, cache types.BlobInfoCache, canSubstitute bool) (bool, types.BlobInfo, error) { - reused, blob, err := c.dest.TryReusingBlobWithOptions(ctx, info, private.TryReusingBlobOptions{ + return c.dest.TryReusingBlobWithOptions(ctx, info, private.TryReusingBlobOptions{ Cache: blobinfocache.FromBlobInfoCache(cache), CanSubstitute: canSubstitute, }) - if !reused || err != nil { - return reused, types.BlobInfo{}, err - } - res := types.BlobInfo{ - Digest: blob.Digest, - Size: blob.Size, - CompressionOperation: blob.CompressionOperation, - CompressionAlgorithm: blob.CompressionAlgorithm, - } - // This is probably not necessary; we preserve MediaType to decrease risks of breaking for external callers. - // Some transports were not setting the MediaType field anyway, and others were setting the old value on substitution; - // provide the value in cases where it is likely to be correct. - if blob.Digest == info.Digest { - res.MediaType = info.MediaType - } - return true, res, nil } // PutSignatures writes a set of signatures to the destination. diff --git a/vendor/github.com/containers/image/v5/internal/imagedestination/impl/helpers.go b/vendor/github.com/containers/image/v5/internal/imagedestination/impl/helpers.go deleted file mode 100644 index 5d28b3e73a..0000000000 --- a/vendor/github.com/containers/image/v5/internal/imagedestination/impl/helpers.go +++ /dev/null @@ -1,25 +0,0 @@ -package impl - -import ( - "github.com/containers/image/v5/internal/private" - compression "github.com/containers/image/v5/pkg/compression/types" -) - -// BlobMatchesRequiredCompression validates if compression is required by the caller while selecting a blob, if it is required -// then function performs a match against the compression requested by the caller and compression of existing blob -// (which can be nil to represent uncompressed or unknown) -func BlobMatchesRequiredCompression(options private.TryReusingBlobOptions, candidateCompression *compression.Algorithm) bool { - if options.RequiredCompression == nil { - return true // no requirement imposed - } - if options.RequiredCompression.Name() == compression.ZstdChunkedAlgorithmName { - // HACK: Never match when the caller asks for zstd:chunked, because we don’t record the annotations required to use the chunked blobs. - // The caller must re-compress to build those annotations. - return false - } - return candidateCompression != nil && (options.RequiredCompression.Name() == candidateCompression.Name()) -} - -func OriginalBlobMatchesRequiredCompression(opts private.TryReusingBlobOptions) bool { - return BlobMatchesRequiredCompression(opts, opts.OriginalCompression) -} diff --git a/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/put_blob_partial.go b/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/put_blob_partial.go index 0dc6bd5af7..225ea4491f 100644 --- a/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/put_blob_partial.go +++ b/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/put_blob_partial.go @@ -39,8 +39,8 @@ func (stub NoPutBlobPartialInitialize) SupportsPutBlobPartial() bool { // It is available only if SupportsPutBlobPartial(). // Even if SupportsPutBlobPartial() returns true, the call can fail, in which case the caller // should fall back to PutBlobWithOptions. -func (stub NoPutBlobPartialInitialize) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (private.UploadedBlob, error) { - return private.UploadedBlob{}, fmt.Errorf("internal error: PutBlobPartial is not supported by the %q transport", stub.transportName) +func (stub NoPutBlobPartialInitialize) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (types.BlobInfo, error) { + return types.BlobInfo{}, fmt.Errorf("internal error: PutBlobPartial is not supported by the %q transport", stub.transportName) } // ImplementsPutBlobPartial implements SupportsPutBlobPartial() that returns true. diff --git a/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/stubs.go b/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/stubs.go index ab233406a4..e81eec8964 100644 --- a/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/stubs.go +++ b/vendor/github.com/containers/image/v5/internal/imagedestination/stubs/stubs.go @@ -3,25 +3,23 @@ // Compare with imagedestination/impl, which might require non-trivial implementation work. // // There are two kinds of stubs: +// - Pure stubs, like ImplementsPutBlobPartial. Those can just be included in an imageDestination +// implementation: // -// First, there are pure stubs, like ImplementsPutBlobPartial. Those can just be included in an imageDestination -// implementation: +// type yourDestination struct { +// stubs.ImplementsPutBlobPartial +// … +// } +// - Stubs with a constructor, like NoPutBlobPartialInitialize. The Initialize marker +// means that a constructor must be called: +// type yourDestination struct { +// stubs.NoPutBlobPartialInitialize +// … +// } // -// type yourDestination struct { -// stubs.ImplementsPutBlobPartial -// … -// } +// dest := &yourDestination{ +// … +// NoPutBlobPartialInitialize: stubs.NoPutBlobPartial(ref), +// } // -// Second, there are stubs with a constructor, like NoPutBlobPartialInitialize. The Initialize marker -// means that a constructor must be called: -// -// type yourDestination struct { -// stubs.NoPutBlobPartialInitialize -// … -// } -// -// dest := &yourDestination{ -// … -// NoPutBlobPartialInitialize: stubs.NoPutBlobPartial(ref), -// } package stubs diff --git a/vendor/github.com/containers/image/v5/internal/imagedestination/wrapper.go b/vendor/github.com/containers/image/v5/internal/imagedestination/wrapper.go index 17e1870c19..43575ede33 100644 --- a/vendor/github.com/containers/image/v5/internal/imagedestination/wrapper.go +++ b/vendor/github.com/containers/image/v5/internal/imagedestination/wrapper.go @@ -46,37 +46,20 @@ func FromPublic(dest types.ImageDestination) private.ImageDestination { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. -// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. -func (w *wrapped) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { - res, err := w.PutBlob(ctx, stream, inputInfo, options.Cache, options.IsConfig) - if err != nil { - return private.UploadedBlob{}, err - } - return private.UploadedBlob{ - Digest: res.Digest, - Size: res.Size, - }, nil +// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. +func (w *wrapped) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { + return w.PutBlob(ctx, stream, inputInfo, options.Cache, options.IsConfig) } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (w *wrapped) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { - if options.RequiredCompression != nil { - return false, private.ReusedBlob{}, nil - } - reused, blob, err := w.TryReusingBlob(ctx, info, options.Cache, options.CanSubstitute) - if !reused || err != nil { - return reused, private.ReusedBlob{}, err - } - return true, private.ReusedBlob{ - Digest: blob.Digest, - Size: blob.Size, - CompressionOperation: blob.CompressionOperation, - CompressionAlgorithm: blob.CompressionAlgorithm, - }, nil +func (w *wrapped) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { + return w.TryReusingBlob(ctx, info, options.Cache, options.CanSubstitute) } // PutSignaturesWithFormat writes a set of signatures to the destination. diff --git a/vendor/github.com/containers/image/v5/internal/imagesource/impl/compat.go b/vendor/github.com/containers/image/v5/internal/imagesource/impl/compat.go index 7d859c3125..6f79329162 100644 --- a/vendor/github.com/containers/image/v5/internal/imagesource/impl/compat.go +++ b/vendor/github.com/containers/image/v5/internal/imagesource/impl/compat.go @@ -19,14 +19,13 @@ type Compat struct { // for implementations of private.ImageSource. // // Use it like this: +// type yourSource struct { +// impl.Compat +// … +// } +// src := &yourSource{…} +// src.Compat = impl.AddCompat(src) // -// type yourSource struct { -// impl.Compat -// … -// } -// -// src := &yourSource{…} -// src.Compat = impl.AddCompat(src) func AddCompat(src private.ImageSourceInternalOnly) Compat { return Compat{src} } diff --git a/vendor/github.com/containers/image/v5/internal/imagesource/stubs/stubs.go b/vendor/github.com/containers/image/v5/internal/imagesource/stubs/stubs.go index cb345395e2..134fd1b53c 100644 --- a/vendor/github.com/containers/image/v5/internal/imagesource/stubs/stubs.go +++ b/vendor/github.com/containers/image/v5/internal/imagesource/stubs/stubs.go @@ -3,26 +3,23 @@ // Compare with imagesource/impl, which might require non-trivial implementation work. // // There are two kinds of stubs: +// - Pure stubs, like ImplementsGetBlobAt. Those can just be included in an ImageSource +// implementation: // -// First, there are pure stubs, like ImplementsGetBlobAt. Those can just be included in an ImageSource +// type yourSource struct { +// stubs.ImplementsGetBlobAt +// … +// } +// - Stubs with a constructor, like NoGetBlobAtInitialize. The Initialize marker +// means that a constructor must be called: +// type yourSource struct { +// stubs.NoGetBlobAtInitialize +// … +// } // -// implementation: +// dest := &yourSource{ +// … +// NoGetBlobAtInitialize: stubs.NoGetBlobAt(ref), +// } // -// type yourSource struct { -// stubs.ImplementsGetBlobAt -// … -// } -// -// Second, there are stubs with a constructor, like NoGetBlobAtInitialize. The Initialize marker -// means that a constructor must be called: -// -// type yourSource struct { -// stubs.NoGetBlobAtInitialize -// … -// } -// -// dest := &yourSource{ -// … -// NoGetBlobAtInitialize: stubs.NoGetBlobAt(ref), -// } package stubs diff --git a/vendor/github.com/containers/image/v5/internal/manifest/common.go b/vendor/github.com/containers/image/v5/internal/manifest/common.go deleted file mode 100644 index 1f2ccb5286..0000000000 --- a/vendor/github.com/containers/image/v5/internal/manifest/common.go +++ /dev/null @@ -1,72 +0,0 @@ -package manifest - -import ( - "encoding/json" - "fmt" -) - -// AllowedManifestFields is a bit mask of “essential” manifest fields that ValidateUnambiguousManifestFormat -// can expect to be present. -type AllowedManifestFields int - -const ( - AllowedFieldConfig AllowedManifestFields = 1 << iota - AllowedFieldFSLayers - AllowedFieldHistory - AllowedFieldLayers - AllowedFieldManifests - AllowedFieldFirstUnusedBit // Keep this at the end! -) - -// ValidateUnambiguousManifestFormat rejects manifests (incl. multi-arch) that look like more than -// one kind we currently recognize, i.e. if they contain any of the known “essential” format fields -// other than the ones the caller specifically allows. -// expectedMIMEType is used only for diagnostics. -// NOTE: The caller should do the non-heuristic validations (e.g. check for any specified format -// identification/version, or other “magic numbers”) before calling this, to cleanly reject unambiguous -// data that just isn’t what was expected, as opposed to actually ambiguous data. -func ValidateUnambiguousManifestFormat(manifest []byte, expectedMIMEType string, - allowed AllowedManifestFields) error { - if allowed >= AllowedFieldFirstUnusedBit { - return fmt.Errorf("internal error: invalid allowedManifestFields value %#v", allowed) - } - // Use a private type to decode, not just a map[string]any, because we want - // to also reject case-insensitive matches (which would be used by Go when really decoding - // the manifest). - // (It is expected that as manifest formats are added or extended over time, more fields will be added - // here.) - detectedFields := struct { - Config any `json:"config"` - FSLayers any `json:"fsLayers"` - History any `json:"history"` - Layers any `json:"layers"` - Manifests any `json:"manifests"` - }{} - if err := json.Unmarshal(manifest, &detectedFields); err != nil { - // The caller was supposed to already validate version numbers, so this should not happen; - // let’s not bother with making this error “nice”. - return err - } - unexpected := []string{} - // Sadly this isn’t easy to automate in Go, without reflection. So, copy&paste. - if detectedFields.Config != nil && (allowed&AllowedFieldConfig) == 0 { - unexpected = append(unexpected, "config") - } - if detectedFields.FSLayers != nil && (allowed&AllowedFieldFSLayers) == 0 { - unexpected = append(unexpected, "fsLayers") - } - if detectedFields.History != nil && (allowed&AllowedFieldHistory) == 0 { - unexpected = append(unexpected, "history") - } - if detectedFields.Layers != nil && (allowed&AllowedFieldLayers) == 0 { - unexpected = append(unexpected, "layers") - } - if detectedFields.Manifests != nil && (allowed&AllowedFieldManifests) == 0 { - unexpected = append(unexpected, "manifests") - } - if len(unexpected) != 0 { - return fmt.Errorf(`rejecting ambiguous manifest, unexpected fields %#v in supposedly %s`, - unexpected, expectedMIMEType) - } - return nil -} diff --git a/vendor/github.com/containers/image/v5/internal/manifest/docker_schema2.go b/vendor/github.com/containers/image/v5/internal/manifest/docker_schema2.go deleted file mode 100644 index 68d0796978..0000000000 --- a/vendor/github.com/containers/image/v5/internal/manifest/docker_schema2.go +++ /dev/null @@ -1,15 +0,0 @@ -package manifest - -import ( - "github.com/opencontainers/go-digest" -) - -// Schema2Descriptor is a “descriptor” in docker/distribution schema 2. -// -// This is publicly visible as c/image/manifest.Schema2Descriptor. -type Schema2Descriptor struct { - MediaType string `json:"mediaType"` - Size int64 `json:"size"` - Digest digest.Digest `json:"digest"` - URLs []string `json:"urls,omitempty"` -} diff --git a/vendor/github.com/containers/image/v5/internal/manifest/docker_schema2_list.go b/vendor/github.com/containers/image/v5/internal/manifest/docker_schema2_list.go deleted file mode 100644 index 7ce5bb0696..0000000000 --- a/vendor/github.com/containers/image/v5/internal/manifest/docker_schema2_list.go +++ /dev/null @@ -1,314 +0,0 @@ -package manifest - -import ( - "encoding/json" - "fmt" - - platform "github.com/containers/image/v5/internal/pkg/platform" - compression "github.com/containers/image/v5/pkg/compression/types" - "github.com/containers/image/v5/types" - "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/slices" -) - -// Schema2PlatformSpec describes the platform which a particular manifest is -// specialized for. -// This is publicly visible as c/image/manifest.Schema2PlatformSpec. -type Schema2PlatformSpec struct { - Architecture string `json:"architecture"` - OS string `json:"os"` - OSVersion string `json:"os.version,omitempty"` - OSFeatures []string `json:"os.features,omitempty"` - Variant string `json:"variant,omitempty"` - Features []string `json:"features,omitempty"` // removed in OCI -} - -// Schema2ManifestDescriptor references a platform-specific manifest. -// This is publicly visible as c/image/manifest.Schema2ManifestDescriptor. -type Schema2ManifestDescriptor struct { - Schema2Descriptor - Platform Schema2PlatformSpec `json:"platform"` -} - -// Schema2ListPublic is a list of platform-specific manifests. -// This is publicly visible as c/image/manifest.Schema2List. -// Internal users should usually use Schema2List instead. -type Schema2ListPublic struct { - SchemaVersion int `json:"schemaVersion"` - MediaType string `json:"mediaType"` - Manifests []Schema2ManifestDescriptor `json:"manifests"` -} - -// MIMEType returns the MIME type of this particular manifest list. -func (list *Schema2ListPublic) MIMEType() string { - return list.MediaType -} - -// Instances returns a slice of digests of the manifests that this list knows of. -func (list *Schema2ListPublic) Instances() []digest.Digest { - results := make([]digest.Digest, len(list.Manifests)) - for i, m := range list.Manifests { - results[i] = m.Digest - } - return results -} - -// Instance returns the ListUpdate of a particular instance in the list. -func (list *Schema2ListPublic) Instance(instanceDigest digest.Digest) (ListUpdate, error) { - for _, manifest := range list.Manifests { - if manifest.Digest == instanceDigest { - ret := ListUpdate{ - Digest: manifest.Digest, - Size: manifest.Size, - MediaType: manifest.MediaType, - } - ret.ReadOnly.CompressionAlgorithmNames = []string{compression.GzipAlgorithmName} - platform := ociPlatformFromSchema2PlatformSpec(manifest.Platform) - ret.ReadOnly.Platform = &platform - return ret, nil - } - } - return ListUpdate{}, fmt.Errorf("unable to find instance %s passed to Schema2List.Instances", instanceDigest) -} - -// UpdateInstances updates the sizes, digests, and media types of the manifests -// which the list catalogs. -func (index *Schema2ListPublic) UpdateInstances(updates []ListUpdate) error { - editInstances := []ListEdit{} - for i, instance := range updates { - editInstances = append(editInstances, ListEdit{ - UpdateOldDigest: index.Manifests[i].Digest, - UpdateDigest: instance.Digest, - UpdateSize: instance.Size, - UpdateMediaType: instance.MediaType, - ListOperation: ListOpUpdate}) - } - return index.editInstances(editInstances) -} - -func (index *Schema2ListPublic) editInstances(editInstances []ListEdit) error { - addedEntries := []Schema2ManifestDescriptor{} - for i, editInstance := range editInstances { - switch editInstance.ListOperation { - case ListOpUpdate: - if err := editInstance.UpdateOldDigest.Validate(); err != nil { - return fmt.Errorf("Schema2List.EditInstances: Attempting to update %s which is an invalid digest: %w", editInstance.UpdateOldDigest, err) - } - if err := editInstance.UpdateDigest.Validate(); err != nil { - return fmt.Errorf("Schema2List.EditInstances: Modified digest %s is an invalid digest: %w", editInstance.UpdateDigest, err) - } - targetIndex := slices.IndexFunc(index.Manifests, func(m Schema2ManifestDescriptor) bool { - return m.Digest == editInstance.UpdateOldDigest - }) - if targetIndex == -1 { - return fmt.Errorf("Schema2List.EditInstances: digest %s not found", editInstance.UpdateOldDigest) - } - index.Manifests[targetIndex].Digest = editInstance.UpdateDigest - if editInstance.UpdateSize < 0 { - return fmt.Errorf("update %d of %d passed to Schema2List.UpdateInstances had an invalid size (%d)", i+1, len(editInstances), editInstance.UpdateSize) - } - index.Manifests[targetIndex].Size = editInstance.UpdateSize - if editInstance.UpdateMediaType == "" { - return fmt.Errorf("update %d of %d passed to Schema2List.UpdateInstances had no media type (was %q)", i+1, len(editInstances), index.Manifests[i].MediaType) - } - index.Manifests[targetIndex].MediaType = editInstance.UpdateMediaType - case ListOpAdd: - if editInstance.AddPlatform == nil { - // Should we create a struct with empty fields instead? - // Right now ListOpAdd is only called when an instance with the same platform value - // already exists in the manifest, so this should not be reached in practice. - return fmt.Errorf("adding a schema2 list instance with no platform specified is not supported") - } - addedEntries = append(addedEntries, Schema2ManifestDescriptor{ - Schema2Descriptor{ - Digest: editInstance.AddDigest, - Size: editInstance.AddSize, - MediaType: editInstance.AddMediaType, - }, - schema2PlatformSpecFromOCIPlatform(*editInstance.AddPlatform), - }) - default: - return fmt.Errorf("internal error: invalid operation: %d", editInstance.ListOperation) - } - } - if len(addedEntries) != 0 { - // slices.Clone() here to ensure a private backing array; - // an external caller could have manually created Schema2ListPublic with a slice with extra capacity. - index.Manifests = append(slices.Clone(index.Manifests), addedEntries...) - } - return nil -} - -func (index *Schema2List) EditInstances(editInstances []ListEdit) error { - return index.editInstances(editInstances) -} - -func (list *Schema2ListPublic) ChooseInstanceByCompression(ctx *types.SystemContext, preferGzip types.OptionalBool) (digest.Digest, error) { - // ChooseInstanceByCompression is same as ChooseInstance for schema2 manifest list. - return list.ChooseInstance(ctx) -} - -// ChooseInstance parses blob as a schema2 manifest list, and returns the digest -// of the image which is appropriate for the current environment. -func (list *Schema2ListPublic) ChooseInstance(ctx *types.SystemContext) (digest.Digest, error) { - wantedPlatforms, err := platform.WantedPlatforms(ctx) - if err != nil { - return "", fmt.Errorf("getting platform information %#v: %w", ctx, err) - } - for _, wantedPlatform := range wantedPlatforms { - for _, d := range list.Manifests { - imagePlatform := ociPlatformFromSchema2PlatformSpec(d.Platform) - if platform.MatchesPlatform(imagePlatform, wantedPlatform) { - return d.Digest, nil - } - } - } - return "", fmt.Errorf("no image found in manifest list for architecture %s, variant %q, OS %s", wantedPlatforms[0].Architecture, wantedPlatforms[0].Variant, wantedPlatforms[0].OS) -} - -// Serialize returns the list in a blob format. -// NOTE: Serialize() does not in general reproduce the original blob if this object was loaded from one, even if no modifications were made! -func (list *Schema2ListPublic) Serialize() ([]byte, error) { - buf, err := json.Marshal(list) - if err != nil { - return nil, fmt.Errorf("marshaling Schema2List %#v: %w", list, err) - } - return buf, nil -} - -// Schema2ListPublicFromComponents creates a Schema2 manifest list instance from the -// supplied data. -// This is publicly visible as c/image/manifest.Schema2ListFromComponents. -func Schema2ListPublicFromComponents(components []Schema2ManifestDescriptor) *Schema2ListPublic { - list := Schema2ListPublic{ - SchemaVersion: 2, - MediaType: DockerV2ListMediaType, - Manifests: make([]Schema2ManifestDescriptor, len(components)), - } - for i, component := range components { - m := Schema2ManifestDescriptor{ - Schema2Descriptor{ - MediaType: component.MediaType, - Size: component.Size, - Digest: component.Digest, - URLs: slices.Clone(component.URLs), - }, - Schema2PlatformSpec{ - Architecture: component.Platform.Architecture, - OS: component.Platform.OS, - OSVersion: component.Platform.OSVersion, - OSFeatures: slices.Clone(component.Platform.OSFeatures), - Variant: component.Platform.Variant, - Features: slices.Clone(component.Platform.Features), - }, - } - list.Manifests[i] = m - } - return &list -} - -// Schema2ListPublicClone creates a deep copy of the passed-in list. -// This is publicly visible as c/image/manifest.Schema2ListClone. -func Schema2ListPublicClone(list *Schema2ListPublic) *Schema2ListPublic { - return Schema2ListPublicFromComponents(list.Manifests) -} - -// ToOCI1Index returns the list encoded as an OCI1 index. -func (list *Schema2ListPublic) ToOCI1Index() (*OCI1IndexPublic, error) { - components := make([]imgspecv1.Descriptor, 0, len(list.Manifests)) - for _, manifest := range list.Manifests { - platform := ociPlatformFromSchema2PlatformSpec(manifest.Platform) - components = append(components, imgspecv1.Descriptor{ - MediaType: manifest.MediaType, - Size: manifest.Size, - Digest: manifest.Digest, - URLs: slices.Clone(manifest.URLs), - Platform: &platform, - }) - } - oci := OCI1IndexPublicFromComponents(components, nil) - return oci, nil -} - -// ToSchema2List returns the list encoded as a Schema2 list. -func (list *Schema2ListPublic) ToSchema2List() (*Schema2ListPublic, error) { - return Schema2ListPublicClone(list), nil -} - -// Schema2ListPublicFromManifest creates a Schema2 manifest list instance from marshalled -// JSON, presumably generated by encoding a Schema2 manifest list. -// This is publicly visible as c/image/manifest.Schema2ListFromManifest. -func Schema2ListPublicFromManifest(manifest []byte) (*Schema2ListPublic, error) { - list := Schema2ListPublic{ - Manifests: []Schema2ManifestDescriptor{}, - } - if err := json.Unmarshal(manifest, &list); err != nil { - return nil, fmt.Errorf("unmarshaling Schema2List %q: %w", string(manifest), err) - } - if err := ValidateUnambiguousManifestFormat(manifest, DockerV2ListMediaType, - AllowedFieldManifests); err != nil { - return nil, err - } - return &list, nil -} - -// Clone returns a deep copy of this list and its contents. -func (list *Schema2ListPublic) Clone() ListPublic { - return Schema2ListPublicClone(list) -} - -// ConvertToMIMEType converts the passed-in manifest list to a manifest -// list of the specified type. -func (list *Schema2ListPublic) ConvertToMIMEType(manifestMIMEType string) (ListPublic, error) { - switch normalized := NormalizedMIMEType(manifestMIMEType); normalized { - case DockerV2ListMediaType: - return list.Clone(), nil - case imgspecv1.MediaTypeImageIndex: - return list.ToOCI1Index() - case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, imgspecv1.MediaTypeImageManifest, DockerV2Schema2MediaType: - return nil, fmt.Errorf("Can not convert manifest list to MIME type %q, which is not a list type", manifestMIMEType) - default: - // Note that this may not be reachable, NormalizedMIMEType has a default for unknown values. - return nil, fmt.Errorf("Unimplemented manifest list MIME type %s", manifestMIMEType) - } -} - -// Schema2List is a list of platform-specific manifests. -type Schema2List struct { - Schema2ListPublic -} - -func schema2ListFromPublic(public *Schema2ListPublic) *Schema2List { - return &Schema2List{*public} -} - -func (index *Schema2List) CloneInternal() List { - return schema2ListFromPublic(Schema2ListPublicClone(&index.Schema2ListPublic)) -} - -func (index *Schema2List) Clone() ListPublic { - return index.CloneInternal() -} - -// Schema2ListFromManifest creates a Schema2 manifest list instance from marshalled -// JSON, presumably generated by encoding a Schema2 manifest list. -func Schema2ListFromManifest(manifest []byte) (*Schema2List, error) { - public, err := Schema2ListPublicFromManifest(manifest) - if err != nil { - return nil, err - } - return schema2ListFromPublic(public), nil -} - -// ociPlatformFromSchema2PlatformSpec converts a schema2 platform p to the OCI struccture. -func ociPlatformFromSchema2PlatformSpec(p Schema2PlatformSpec) imgspecv1.Platform { - return imgspecv1.Platform{ - Architecture: p.Architecture, - OS: p.OS, - OSVersion: p.OSVersion, - OSFeatures: slices.Clone(p.OSFeatures), - Variant: p.Variant, - // Features is not supported in OCI, and discarded. - } -} diff --git a/vendor/github.com/containers/image/v5/internal/manifest/errors.go b/vendor/github.com/containers/image/v5/internal/manifest/errors.go index 6c8e233d97..e5732a8c43 100644 --- a/vendor/github.com/containers/image/v5/internal/manifest/errors.go +++ b/vendor/github.com/containers/image/v5/internal/manifest/errors.go @@ -1,14 +1,6 @@ package manifest -import ( - "fmt" - - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" -) - -// FIXME: This is a duplicate of c/image/manifestDockerV2Schema2ConfigMediaType. -// Deduplicate that, depending on outcome of https://github.com/containers/image/pull/1791 . -const dockerV2Schema2ConfigMediaType = "application/vnd.docker.container.image.v1+json" +import "fmt" // NonImageArtifactError (detected via errors.As) is used when asking for an image-specific operation // on an object which is not a “container image” in the standard sense (e.g. an OCI artifact) @@ -30,27 +22,11 @@ type NonImageArtifactError struct { mimeType string } -// NewNonImageArtifactError returns a NonImageArtifactError about an artifact manifest. -// -// This is typically called if manifest.Config.MediaType != imgspecv1.MediaTypeImageConfig . -func NewNonImageArtifactError(manifest *imgspecv1.Manifest) error { - // Callers decide based on manifest.Config.MediaType that this is not an image; - // in that case manifest.ArtifactType can be optionally defined, and if it is, it is typically - // more relevant because config may be ~absent with imgspecv1.MediaTypeEmptyJSON. - // - // If ArtifactType and Config.MediaType are both defined and non-trivial, presumably - // ArtifactType is the “top-level” one, although that’s not defined by the spec. - mimeType := manifest.ArtifactType - if mimeType == "" { - mimeType = manifest.Config.MediaType - } +// NewNonImageArtifactError returns a NonImageArtifactError about an artifact with mimeType. +func NewNonImageArtifactError(mimeType string) error { return NonImageArtifactError{mimeType: mimeType} } func (e NonImageArtifactError) Error() string { - // Special-case these invalid mixed images, which show up from time to time: - if e.mimeType == dockerV2Schema2ConfigMediaType { - return fmt.Sprintf("invalid mixed OCI image with Docker v2s2 config (%q)", e.mimeType) - } return fmt.Sprintf("unsupported image-specific operation on artifact with type %q", e.mimeType) } diff --git a/vendor/github.com/containers/image/v5/internal/manifest/list.go b/vendor/github.com/containers/image/v5/internal/manifest/list.go deleted file mode 100644 index 189f1a7186..0000000000 --- a/vendor/github.com/containers/image/v5/internal/manifest/list.go +++ /dev/null @@ -1,131 +0,0 @@ -package manifest - -import ( - "fmt" - - compression "github.com/containers/image/v5/pkg/compression/types" - "github.com/containers/image/v5/types" - digest "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" -) - -// ListPublic is a subset of List which is a part of the public API; -// so no methods can be added, removed or changed. -// -// Internal users should usually use List instead. -type ListPublic interface { - // MIMEType returns the MIME type of this particular manifest list. - MIMEType() string - - // Instances returns a list of the manifests that this list knows of, other than its own. - Instances() []digest.Digest - - // Update information about the list's instances. The length of the passed-in slice must - // match the length of the list of instances which the list already contains, and every field - // must be specified. - UpdateInstances([]ListUpdate) error - - // Instance returns the size and MIME type of a particular instance in the list. - Instance(digest.Digest) (ListUpdate, error) - - // ChooseInstance selects which manifest is most appropriate for the platform described by the - // SystemContext, or for the current platform if the SystemContext doesn't specify any details. - ChooseInstance(ctx *types.SystemContext) (digest.Digest, error) - - // Serialize returns the list in a blob format. - // NOTE: Serialize() does not in general reproduce the original blob if this object was loaded - // from, even if no modifications were made! - Serialize() ([]byte, error) - - // ConvertToMIMEType returns the list rebuilt to the specified MIME type, or an error. - ConvertToMIMEType(mimeType string) (ListPublic, error) - - // Clone returns a deep copy of this list and its contents. - Clone() ListPublic -} - -// List is an interface for parsing, modifying lists of image manifests. -// Callers can either use this abstract interface without understanding the details of the formats, -// or instantiate a specific implementation (e.g. manifest.OCI1Index) and access the public members -// directly. -type List interface { - ListPublic - // CloneInternal returns a deep copy of this list and its contents. - CloneInternal() List - // ChooseInstanceInstanceByCompression selects which manifest is most appropriate for the platform and compression described by the - // SystemContext ( or for the current platform if the SystemContext doesn't specify any detail ) and preferGzip for compression which - // when configured to OptionalBoolTrue and chooses best available compression when it is OptionalBoolFalse or left OptionalBoolUndefined. - ChooseInstanceByCompression(ctx *types.SystemContext, preferGzip types.OptionalBool) (digest.Digest, error) - // Edit information about the list's instances. Contains Slice of ListEdit where each element - // is responsible for either Modifying or Adding a new instance to the Manifest. Operation is - // selected on the basis of configured ListOperation field. - EditInstances([]ListEdit) error -} - -// ListUpdate includes the fields which a List's UpdateInstances() method will modify. -// This is publicly visible as c/image/manifest.ListUpdate. -type ListUpdate struct { - Digest digest.Digest - Size int64 - MediaType string - // ReadOnly fields: may be set by Instance(), ignored by UpdateInstance() - ReadOnly struct { - Platform *imgspecv1.Platform - Annotations map[string]string - CompressionAlgorithmNames []string - } -} - -type ListOp int - -const ( - listOpInvalid ListOp = iota - ListOpAdd - ListOpUpdate -) - -// ListEdit includes the fields which a List's EditInstances() method will modify. -type ListEdit struct { - ListOperation ListOp - - // if Op == ListEditUpdate (basically the previous UpdateInstances). All fields must be set. - UpdateOldDigest digest.Digest - UpdateDigest digest.Digest - UpdateSize int64 - UpdateMediaType string - UpdateAffectAnnotations bool - UpdateAnnotations map[string]string - UpdateCompressionAlgorithms []compression.Algorithm - - // If Op = ListEditAdd. All fields must be set. - AddDigest digest.Digest - AddSize int64 - AddMediaType string - AddPlatform *imgspecv1.Platform - AddAnnotations map[string]string - AddCompressionAlgorithms []compression.Algorithm -} - -// ListPublicFromBlob parses a list of manifests. -// This is publicly visible as c/image/manifest.ListFromBlob. -func ListPublicFromBlob(manifest []byte, manifestMIMEType string) (ListPublic, error) { - list, err := ListFromBlob(manifest, manifestMIMEType) - if err != nil { - return nil, err - } - return list, nil -} - -// ListFromBlob parses a list of manifests. -func ListFromBlob(manifest []byte, manifestMIMEType string) (List, error) { - normalized := NormalizedMIMEType(manifestMIMEType) - switch normalized { - case DockerV2ListMediaType: - return Schema2ListFromManifest(manifest) - case imgspecv1.MediaTypeImageIndex: - return OCI1IndexFromManifest(manifest) - case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, imgspecv1.MediaTypeImageManifest, DockerV2Schema2MediaType: - return nil, fmt.Errorf("Treating single images as manifest lists is not implemented") - } - return nil, fmt.Errorf("Unimplemented manifest list MIME type %s (normalized as %s)", manifestMIMEType, normalized) -} diff --git a/vendor/github.com/containers/image/v5/internal/manifest/manifest.go b/vendor/github.com/containers/image/v5/internal/manifest/manifest.go deleted file mode 100644 index 1dbcc14182..0000000000 --- a/vendor/github.com/containers/image/v5/internal/manifest/manifest.go +++ /dev/null @@ -1,167 +0,0 @@ -package manifest - -import ( - "encoding/json" - - "github.com/containers/libtrust" - digest "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" -) - -// FIXME: Should we just use docker/distribution and docker/docker implementations directly? - -// FIXME(runcom, mitr): should we have a mediatype pkg?? -const ( - // DockerV2Schema1MediaType MIME type represents Docker manifest schema 1 - DockerV2Schema1MediaType = "application/vnd.docker.distribution.manifest.v1+json" - // DockerV2Schema1MediaType MIME type represents Docker manifest schema 1 with a JWS signature - DockerV2Schema1SignedMediaType = "application/vnd.docker.distribution.manifest.v1+prettyjws" - // DockerV2Schema2MediaType MIME type represents Docker manifest schema 2 - DockerV2Schema2MediaType = "application/vnd.docker.distribution.manifest.v2+json" - // DockerV2Schema2ConfigMediaType is the MIME type used for schema 2 config blobs. - DockerV2Schema2ConfigMediaType = "application/vnd.docker.container.image.v1+json" - // DockerV2Schema2LayerMediaType is the MIME type used for schema 2 layers. - DockerV2Schema2LayerMediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip" - // DockerV2SchemaLayerMediaTypeUncompressed is the mediaType used for uncompressed layers. - DockerV2SchemaLayerMediaTypeUncompressed = "application/vnd.docker.image.rootfs.diff.tar" - // DockerV2ListMediaType MIME type represents Docker manifest schema 2 list - DockerV2ListMediaType = "application/vnd.docker.distribution.manifest.list.v2+json" - // DockerV2Schema2ForeignLayerMediaType is the MIME type used for schema 2 foreign layers. - DockerV2Schema2ForeignLayerMediaType = "application/vnd.docker.image.rootfs.foreign.diff.tar" - // DockerV2Schema2ForeignLayerMediaType is the MIME type used for gzipped schema 2 foreign layers. - DockerV2Schema2ForeignLayerMediaTypeGzip = "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip" -) - -// GuessMIMEType guesses MIME type of a manifest and returns it _if it is recognized_, or "" if unknown or unrecognized. -// FIXME? We should, in general, prefer out-of-band MIME type instead of blindly parsing the manifest, -// but we may not have such metadata available (e.g. when the manifest is a local file). -// This is publicly visible as c/image/manifest.GuessMIMEType. -func GuessMIMEType(manifest []byte) string { - // A subset of manifest fields; the rest is silently ignored by json.Unmarshal. - // Also docker/distribution/manifest.Versioned. - meta := struct { - MediaType string `json:"mediaType"` - SchemaVersion int `json:"schemaVersion"` - Signatures any `json:"signatures"` - }{} - if err := json.Unmarshal(manifest, &meta); err != nil { - return "" - } - - switch meta.MediaType { - case DockerV2Schema2MediaType, DockerV2ListMediaType, - imgspecv1.MediaTypeImageManifest, imgspecv1.MediaTypeImageIndex: // A recognized type. - return meta.MediaType - } - // this is the only way the function can return DockerV2Schema1MediaType, and recognizing that is essential for stripping the JWS signatures = computing the correct manifest digest. - switch meta.SchemaVersion { - case 1: - if meta.Signatures != nil { - return DockerV2Schema1SignedMediaType - } - return DockerV2Schema1MediaType - case 2: - // Best effort to understand if this is an OCI image since mediaType - // wasn't in the manifest for OCI image-spec < 1.0.2. - // For docker v2s2 meta.MediaType should have been set. But given the data, this is our best guess. - ociMan := struct { - Config struct { - MediaType string `json:"mediaType"` - } `json:"config"` - }{} - if err := json.Unmarshal(manifest, &ociMan); err != nil { - return "" - } - switch ociMan.Config.MediaType { - case imgspecv1.MediaTypeImageConfig: - return imgspecv1.MediaTypeImageManifest - case DockerV2Schema2ConfigMediaType: - // This case should not happen since a Docker image - // must declare a top-level media type and - // `meta.MediaType` has already been checked. - return DockerV2Schema2MediaType - } - // Maybe an image index or an OCI artifact. - ociIndex := struct { - Manifests []imgspecv1.Descriptor `json:"manifests"` - }{} - if err := json.Unmarshal(manifest, &ociIndex); err != nil { - return "" - } - if len(ociIndex.Manifests) != 0 { - if ociMan.Config.MediaType == "" { - return imgspecv1.MediaTypeImageIndex - } - // FIXME: this is mixing media types of manifests and configs. - return ociMan.Config.MediaType - } - // It's most likely an OCI artifact with a custom config media - // type which is not (and cannot) be covered by the media-type - // checks cabove. - return imgspecv1.MediaTypeImageManifest - } - return "" -} - -// Digest returns the a digest of a docker manifest, with any necessary implied transformations like stripping v1s1 signatures. -// This is publicly visible as c/image/manifest.Digest. -func Digest(manifest []byte) (digest.Digest, error) { - if GuessMIMEType(manifest) == DockerV2Schema1SignedMediaType { - sig, err := libtrust.ParsePrettySignature(manifest, "signatures") - if err != nil { - return "", err - } - manifest, err = sig.Payload() - if err != nil { - // Coverage: This should never happen, libtrust's Payload() can fail only if joseBase64UrlDecode() fails, on a string - // that libtrust itself has josebase64UrlEncode()d - return "", err - } - } - - return digest.FromBytes(manifest), nil -} - -// MatchesDigest returns true iff the manifest matches expectedDigest. -// Error may be set if this returns false. -// Note that this is not doing ConstantTimeCompare; by the time we get here, the cryptographic signature must already have been verified, -// or we are not using a cryptographic channel and the attacker can modify the digest along with the manifest blob. -// This is publicly visible as c/image/manifest.MatchesDigest. -func MatchesDigest(manifest []byte, expectedDigest digest.Digest) (bool, error) { - // This should eventually support various digest types. - actualDigest, err := Digest(manifest) - if err != nil { - return false, err - } - return expectedDigest == actualDigest, nil -} - -// NormalizedMIMEType returns the effective MIME type of a manifest MIME type returned by a server, -// centralizing various workarounds. -// This is publicly visible as c/image/manifest.NormalizedMIMEType. -func NormalizedMIMEType(input string) string { - switch input { - // "application/json" is a valid v2s1 value per https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-1.md . - // This works for now, when nothing else seems to return "application/json"; if that were not true, the mapping/detection might - // need to happen within the ImageSource. - case "application/json": - return DockerV2Schema1SignedMediaType - case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, - imgspecv1.MediaTypeImageManifest, - imgspecv1.MediaTypeImageIndex, - DockerV2Schema2MediaType, - DockerV2ListMediaType: - return input - default: - // If it's not a recognized manifest media type, or we have failed determining the type, we'll try one last time - // to deserialize using v2s1 as per https://github.com/docker/distribution/blob/master/manifests.go#L108 - // and https://github.com/docker/distribution/blob/master/manifest/schema1/manifest.go#L50 - // - // Crane registries can also return "text/plain", or pretty much anything else depending on a file extension “recognized” in the tag. - // This makes no real sense, but it happens - // because requests for manifests are - // redirected to a content distribution - // network which is configured that way. See https://bugzilla.redhat.com/show_bug.cgi?id=1389442 - return DockerV2Schema1SignedMediaType - } -} diff --git a/vendor/github.com/containers/image/v5/internal/manifest/oci_index.go b/vendor/github.com/containers/image/v5/internal/manifest/oci_index.go deleted file mode 100644 index d8d06513b5..0000000000 --- a/vendor/github.com/containers/image/v5/internal/manifest/oci_index.go +++ /dev/null @@ -1,446 +0,0 @@ -package manifest - -import ( - "encoding/json" - "fmt" - "math" - "runtime" - - platform "github.com/containers/image/v5/internal/pkg/platform" - compression "github.com/containers/image/v5/pkg/compression/types" - "github.com/containers/image/v5/types" - "github.com/opencontainers/go-digest" - imgspec "github.com/opencontainers/image-spec/specs-go" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/maps" - "golang.org/x/exp/slices" -) - -const ( - // OCI1InstanceAnnotationCompressionZSTD is an annotation name that can be placed on a manifest descriptor in an OCI index. - // The value of the annotation must be the string "true". - // If this annotation is present on a manifest, consuming that image instance requires support for Zstd compression. - // That also suggests that this instance benefits from - // Zstd compression, so it can be preferred by compatible consumers over instances that - // use gzip, depending on their local policy. - OCI1InstanceAnnotationCompressionZSTD = "io.github.containers.compression.zstd" - OCI1InstanceAnnotationCompressionZSTDValue = "true" -) - -// OCI1IndexPublic is just an alias for the OCI index type, but one which we can -// provide methods for. -// This is publicly visible as c/image/manifest.OCI1Index -// Internal users should usually use OCI1Index instead. -type OCI1IndexPublic struct { - imgspecv1.Index -} - -// MIMEType returns the MIME type of this particular manifest index. -func (index *OCI1IndexPublic) MIMEType() string { - return imgspecv1.MediaTypeImageIndex -} - -// Instances returns a slice of digests of the manifests that this index knows of. -func (index *OCI1IndexPublic) Instances() []digest.Digest { - results := make([]digest.Digest, len(index.Manifests)) - for i, m := range index.Manifests { - results[i] = m.Digest - } - return results -} - -// Instance returns the ListUpdate of a particular instance in the index. -func (index *OCI1IndexPublic) Instance(instanceDigest digest.Digest) (ListUpdate, error) { - for _, manifest := range index.Manifests { - if manifest.Digest == instanceDigest { - ret := ListUpdate{ - Digest: manifest.Digest, - Size: manifest.Size, - MediaType: manifest.MediaType, - } - ret.ReadOnly.Platform = manifest.Platform - ret.ReadOnly.Annotations = manifest.Annotations - ret.ReadOnly.CompressionAlgorithmNames = annotationsToCompressionAlgorithmNames(manifest.Annotations) - return ret, nil - } - } - return ListUpdate{}, fmt.Errorf("unable to find instance %s in OCI1Index", instanceDigest) -} - -// UpdateInstances updates the sizes, digests, and media types of the manifests -// which the list catalogs. -func (index *OCI1IndexPublic) UpdateInstances(updates []ListUpdate) error { - editInstances := []ListEdit{} - for i, instance := range updates { - editInstances = append(editInstances, ListEdit{ - UpdateOldDigest: index.Manifests[i].Digest, - UpdateDigest: instance.Digest, - UpdateSize: instance.Size, - UpdateMediaType: instance.MediaType, - ListOperation: ListOpUpdate}) - } - return index.editInstances(editInstances) -} - -func annotationsToCompressionAlgorithmNames(annotations map[string]string) []string { - result := make([]string, 0, 1) - if annotations[OCI1InstanceAnnotationCompressionZSTD] == OCI1InstanceAnnotationCompressionZSTDValue { - result = append(result, compression.ZstdAlgorithmName) - } - // No compression was detected, hence assume instance has default compression `Gzip` - if len(result) == 0 { - result = append(result, compression.GzipAlgorithmName) - } - return result -} - -func addCompressionAnnotations(compressionAlgorithms []compression.Algorithm, annotationsMap *map[string]string) { - // TODO: This should also delete the algorithm if map already contains an algorithm and compressionAlgorithm - // list has a different algorithm. To do that, we would need to modify the callers to always provide a reliable - // and full compressionAlghorithms list. - if *annotationsMap == nil && len(compressionAlgorithms) > 0 { - *annotationsMap = map[string]string{} - } - for _, algo := range compressionAlgorithms { - switch algo.Name() { - case compression.ZstdAlgorithmName: - (*annotationsMap)[OCI1InstanceAnnotationCompressionZSTD] = OCI1InstanceAnnotationCompressionZSTDValue - default: - continue - } - } -} - -func (index *OCI1IndexPublic) editInstances(editInstances []ListEdit) error { - addedEntries := []imgspecv1.Descriptor{} - updatedAnnotations := false - for i, editInstance := range editInstances { - switch editInstance.ListOperation { - case ListOpUpdate: - if err := editInstance.UpdateOldDigest.Validate(); err != nil { - return fmt.Errorf("OCI1Index.EditInstances: Attempting to update %s which is an invalid digest: %w", editInstance.UpdateOldDigest, err) - } - if err := editInstance.UpdateDigest.Validate(); err != nil { - return fmt.Errorf("OCI1Index.EditInstances: Modified digest %s is an invalid digest: %w", editInstance.UpdateDigest, err) - } - targetIndex := slices.IndexFunc(index.Manifests, func(m imgspecv1.Descriptor) bool { - return m.Digest == editInstance.UpdateOldDigest - }) - if targetIndex == -1 { - return fmt.Errorf("OCI1Index.EditInstances: digest %s not found", editInstance.UpdateOldDigest) - } - index.Manifests[targetIndex].Digest = editInstance.UpdateDigest - if editInstance.UpdateSize < 0 { - return fmt.Errorf("update %d of %d passed to OCI1Index.UpdateInstances had an invalid size (%d)", i+1, len(editInstances), editInstance.UpdateSize) - } - index.Manifests[targetIndex].Size = editInstance.UpdateSize - if editInstance.UpdateMediaType == "" { - return fmt.Errorf("update %d of %d passed to OCI1Index.UpdateInstances had no media type (was %q)", i+1, len(editInstances), index.Manifests[i].MediaType) - } - index.Manifests[targetIndex].MediaType = editInstance.UpdateMediaType - if editInstance.UpdateAnnotations != nil { - updatedAnnotations = true - if editInstance.UpdateAffectAnnotations { - index.Manifests[targetIndex].Annotations = maps.Clone(editInstance.UpdateAnnotations) - } else { - if index.Manifests[targetIndex].Annotations == nil { - index.Manifests[targetIndex].Annotations = map[string]string{} - } - maps.Copy(index.Manifests[targetIndex].Annotations, editInstance.UpdateAnnotations) - } - } - addCompressionAnnotations(editInstance.UpdateCompressionAlgorithms, &index.Manifests[targetIndex].Annotations) - case ListOpAdd: - annotations := map[string]string{} - if editInstance.AddAnnotations != nil { - annotations = maps.Clone(editInstance.AddAnnotations) - } - addCompressionAnnotations(editInstance.AddCompressionAlgorithms, &annotations) - addedEntries = append(addedEntries, imgspecv1.Descriptor{ - MediaType: editInstance.AddMediaType, - Size: editInstance.AddSize, - Digest: editInstance.AddDigest, - Platform: editInstance.AddPlatform, - Annotations: annotations}) - default: - return fmt.Errorf("internal error: invalid operation: %d", editInstance.ListOperation) - } - } - if len(addedEntries) != 0 { - // slices.Clone() here to ensure the slice uses a private backing array; - // an external caller could have manually created OCI1IndexPublic with a slice with extra capacity. - index.Manifests = append(slices.Clone(index.Manifests), addedEntries...) - } - if len(addedEntries) != 0 || updatedAnnotations { - slices.SortStableFunc(index.Manifests, func(a, b imgspecv1.Descriptor) int { - // FIXME? With Go 1.21 and cmp.Compare available, turn instanceIsZstd into an integer score that can be compared, and generalizes - // into more algorithms? - aZstd := instanceIsZstd(a) - bZstd := instanceIsZstd(b) - switch { - case aZstd == bZstd: - return 0 - case !aZstd: // Implies bZstd - return -1 - default: // aZstd && !bZstd - return 1 - } - }) - } - return nil -} - -func (index *OCI1Index) EditInstances(editInstances []ListEdit) error { - return index.editInstances(editInstances) -} - -// instanceIsZstd returns true if instance is a zstd instance otherwise false. -func instanceIsZstd(manifest imgspecv1.Descriptor) bool { - if value, ok := manifest.Annotations[OCI1InstanceAnnotationCompressionZSTD]; ok && value == "true" { - return true - } - return false -} - -type instanceCandidate struct { - platformIndex int // Index of the candidate in platform.WantedPlatforms: lower numbers are preferred; or math.maxInt if the candidate doesn’t have a platform - isZstd bool // tells if particular instance if zstd instance - manifestPosition int // A zero-based index of the instance in the manifest list - digest digest.Digest // Instance digest -} - -func (ic instanceCandidate) isPreferredOver(other *instanceCandidate, preferGzip bool) bool { - switch { - case ic.platformIndex != other.platformIndex: - return ic.platformIndex < other.platformIndex - case ic.isZstd != other.isZstd: - if !preferGzip { - return ic.isZstd - } else { - return !ic.isZstd - } - case ic.manifestPosition != other.manifestPosition: - return ic.manifestPosition < other.manifestPosition - } - panic("internal error: invalid comparison between two candidates") // This should not be reachable because in all calls we make, the two candidates differ at least in manifestPosition. -} - -// chooseInstance is a private equivalent to ChooseInstanceByCompression, -// shared by ChooseInstance and ChooseInstanceByCompression. -func (index *OCI1IndexPublic) chooseInstance(ctx *types.SystemContext, preferGzip types.OptionalBool) (digest.Digest, error) { - didPreferGzip := false - if preferGzip == types.OptionalBoolTrue { - didPreferGzip = true - } - wantedPlatforms, err := platform.WantedPlatforms(ctx) - if err != nil { - return "", fmt.Errorf("getting platform information %#v: %w", ctx, err) - } - var bestMatch *instanceCandidate - bestMatch = nil - for manifestIndex, d := range index.Manifests { - candidate := instanceCandidate{platformIndex: math.MaxInt, manifestPosition: manifestIndex, isZstd: instanceIsZstd(d), digest: d.Digest} - if d.Platform != nil { - imagePlatform := ociPlatformClone(*d.Platform) - platformIndex := slices.IndexFunc(wantedPlatforms, func(wantedPlatform imgspecv1.Platform) bool { - return platform.MatchesPlatform(imagePlatform, wantedPlatform) - }) - if platformIndex == -1 { - continue - } - candidate.platformIndex = platformIndex - } - if bestMatch == nil || candidate.isPreferredOver(bestMatch, didPreferGzip) { - bestMatch = &candidate - } - } - if bestMatch != nil { - return bestMatch.digest, nil - } - return "", fmt.Errorf("no image found in image index for architecture %s, variant %q, OS %s", wantedPlatforms[0].Architecture, wantedPlatforms[0].Variant, wantedPlatforms[0].OS) -} - -func (index *OCI1Index) ChooseInstanceByCompression(ctx *types.SystemContext, preferGzip types.OptionalBool) (digest.Digest, error) { - return index.chooseInstance(ctx, preferGzip) -} - -// ChooseInstance parses blob as an oci v1 manifest index, and returns the digest -// of the image which is appropriate for the current environment. -func (index *OCI1IndexPublic) ChooseInstance(ctx *types.SystemContext) (digest.Digest, error) { - return index.chooseInstance(ctx, types.OptionalBoolFalse) -} - -// Serialize returns the index in a blob format. -// NOTE: Serialize() does not in general reproduce the original blob if this object was loaded from one, even if no modifications were made! -func (index *OCI1IndexPublic) Serialize() ([]byte, error) { - buf, err := json.Marshal(index) - if err != nil { - return nil, fmt.Errorf("marshaling OCI1Index %#v: %w", index, err) - } - return buf, nil -} - -// OCI1IndexPublicFromComponents creates an OCI1 image index instance from the -// supplied data. -// This is publicly visible as c/image/manifest.OCI1IndexFromComponents. -func OCI1IndexPublicFromComponents(components []imgspecv1.Descriptor, annotations map[string]string) *OCI1IndexPublic { - index := OCI1IndexPublic{ - imgspecv1.Index{ - Versioned: imgspec.Versioned{SchemaVersion: 2}, - MediaType: imgspecv1.MediaTypeImageIndex, - Manifests: make([]imgspecv1.Descriptor, len(components)), - Annotations: maps.Clone(annotations), - }, - } - for i, component := range components { - var platform *imgspecv1.Platform - if component.Platform != nil { - platformCopy := ociPlatformClone(*component.Platform) - platform = &platformCopy - } - m := imgspecv1.Descriptor{ - MediaType: component.MediaType, - Size: component.Size, - Digest: component.Digest, - URLs: slices.Clone(component.URLs), - Annotations: maps.Clone(component.Annotations), - Platform: platform, - } - index.Manifests[i] = m - } - return &index -} - -// OCI1IndexPublicClone creates a deep copy of the passed-in index. -// This is publicly visible as c/image/manifest.OCI1IndexClone. -func OCI1IndexPublicClone(index *OCI1IndexPublic) *OCI1IndexPublic { - return OCI1IndexPublicFromComponents(index.Manifests, index.Annotations) -} - -// ToOCI1Index returns the index encoded as an OCI1 index. -func (index *OCI1IndexPublic) ToOCI1Index() (*OCI1IndexPublic, error) { - return OCI1IndexPublicClone(index), nil -} - -// ToSchema2List returns the index encoded as a Schema2 list. -func (index *OCI1IndexPublic) ToSchema2List() (*Schema2ListPublic, error) { - components := make([]Schema2ManifestDescriptor, 0, len(index.Manifests)) - for _, manifest := range index.Manifests { - platform := manifest.Platform - if platform == nil { - platform = &imgspecv1.Platform{ - OS: runtime.GOOS, - Architecture: runtime.GOARCH, - } - } - components = append(components, Schema2ManifestDescriptor{ - Schema2Descriptor{ - MediaType: manifest.MediaType, - Size: manifest.Size, - Digest: manifest.Digest, - URLs: slices.Clone(manifest.URLs), - }, - schema2PlatformSpecFromOCIPlatform(*platform), - }) - } - s2 := Schema2ListPublicFromComponents(components) - return s2, nil -} - -// OCI1IndexPublicFromManifest creates an OCI1 manifest index instance from marshalled -// JSON, presumably generated by encoding a OCI1 manifest index. -// This is publicly visible as c/image/manifest.OCI1IndexFromManifest. -func OCI1IndexPublicFromManifest(manifest []byte) (*OCI1IndexPublic, error) { - index := OCI1IndexPublic{ - Index: imgspecv1.Index{ - Versioned: imgspec.Versioned{SchemaVersion: 2}, - MediaType: imgspecv1.MediaTypeImageIndex, - Manifests: []imgspecv1.Descriptor{}, - Annotations: make(map[string]string), - }, - } - if err := json.Unmarshal(manifest, &index); err != nil { - return nil, fmt.Errorf("unmarshaling OCI1Index %q: %w", string(manifest), err) - } - if err := ValidateUnambiguousManifestFormat(manifest, imgspecv1.MediaTypeImageIndex, - AllowedFieldManifests); err != nil { - return nil, err - } - return &index, nil -} - -// Clone returns a deep copy of this list and its contents. -func (index *OCI1IndexPublic) Clone() ListPublic { - return OCI1IndexPublicClone(index) -} - -// ConvertToMIMEType converts the passed-in image index to a manifest list of -// the specified type. -func (index *OCI1IndexPublic) ConvertToMIMEType(manifestMIMEType string) (ListPublic, error) { - switch normalized := NormalizedMIMEType(manifestMIMEType); normalized { - case DockerV2ListMediaType: - return index.ToSchema2List() - case imgspecv1.MediaTypeImageIndex: - return index.Clone(), nil - case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, imgspecv1.MediaTypeImageManifest, DockerV2Schema2MediaType: - return nil, fmt.Errorf("Can not convert image index to MIME type %q, which is not a list type", manifestMIMEType) - default: - // Note that this may not be reachable, NormalizedMIMEType has a default for unknown values. - return nil, fmt.Errorf("Unimplemented manifest MIME type %s", manifestMIMEType) - } -} - -type OCI1Index struct { - OCI1IndexPublic -} - -func oci1IndexFromPublic(public *OCI1IndexPublic) *OCI1Index { - return &OCI1Index{*public} -} - -func (index *OCI1Index) CloneInternal() List { - return oci1IndexFromPublic(OCI1IndexPublicClone(&index.OCI1IndexPublic)) -} - -func (index *OCI1Index) Clone() ListPublic { - return index.CloneInternal() -} - -// OCI1IndexFromManifest creates a OCI1 manifest list instance from marshalled -// JSON, presumably generated by encoding a OCI1 manifest list. -func OCI1IndexFromManifest(manifest []byte) (*OCI1Index, error) { - public, err := OCI1IndexPublicFromManifest(manifest) - if err != nil { - return nil, err - } - return oci1IndexFromPublic(public), nil -} - -// ociPlatformClone returns an independent copy of p. -func ociPlatformClone(p imgspecv1.Platform) imgspecv1.Platform { - // The only practical way in Go to give read-only access to an array is to copy it. - // The only practical way in Go to copy a deep structure is to either do it manually field by field, - // or to use reflection (incl. a round-trip through JSON, which uses reflection). - // - // The combination of the two is just sad, and leads to code like this, which will - // need to be updated with every new Platform field. - return imgspecv1.Platform{ - Architecture: p.Architecture, - OS: p.OS, - OSVersion: p.OSVersion, - OSFeatures: slices.Clone(p.OSFeatures), - Variant: p.Variant, - } -} - -// schema2PlatformSpecFromOCIPlatform converts an OCI platform p to the schema2 structure. -func schema2PlatformSpecFromOCIPlatform(p imgspecv1.Platform) Schema2PlatformSpec { - return Schema2PlatformSpec{ - Architecture: p.Architecture, - OS: p.OS, - OSVersion: p.OSVersion, - OSFeatures: slices.Clone(p.OSFeatures), - Variant: p.Variant, - Features: nil, - } -} diff --git a/vendor/github.com/containers/image/v5/internal/pkg/platform/platform_matcher.go b/vendor/github.com/containers/image/v5/internal/pkg/platform/platform_matcher.go index 3ba0e4084f..3bda6af291 100644 --- a/vendor/github.com/containers/image/v5/internal/pkg/platform/platform_matcher.go +++ b/vendor/github.com/containers/image/v5/internal/pkg/platform/platform_matcher.go @@ -25,7 +25,6 @@ import ( "github.com/containers/image/v5/types" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/slices" ) // For Linux, the kernel has already detected the ABI, ISA and Features. @@ -128,10 +127,6 @@ var compatibility = map[string][]string{ // the most compatible platform is first. // If some option (arch, os, variant) is not present, a value from current platform is detected. func WantedPlatforms(ctx *types.SystemContext) ([]imgspecv1.Platform, error) { - // Note that this does not use Platform.OSFeatures and Platform.OSVersion at all. - // The fields are not specified by the OCI specification, as of version 1.1, usefully enough - // to be interoperable, anyway. - wantedArch := runtime.GOARCH wantedVariant := "" if ctx != nil && ctx.ArchitectureChoice != "" { @@ -157,9 +152,13 @@ func WantedPlatforms(ctx *types.SystemContext) ([]imgspecv1.Platform, error) { if wantedVariant != "" { // If the user requested a specific variant, we'll walk down // the list from most to least compatible. - if variantOrder := compatibility[wantedArch]; variantOrder != nil { - if i := slices.Index(variantOrder, wantedVariant); i != -1 { - variants = variantOrder[i:] + if compatibility[wantedArch] != nil { + variantOrder := compatibility[wantedArch] + for i, v := range variantOrder { + if wantedVariant == v { + variants = variantOrder[i:] + break + } } } if variants == nil { diff --git a/vendor/github.com/containers/image/v5/internal/private/private.go b/vendor/github.com/containers/image/v5/internal/private/private.go index 95d561fcdd..bfd6148cec 100644 --- a/vendor/github.com/containers/image/v5/internal/private/private.go +++ b/vendor/github.com/containers/image/v5/internal/private/private.go @@ -7,7 +7,6 @@ import ( "github.com/containers/image/v5/docker/reference" "github.com/containers/image/v5/internal/blobinfocache" "github.com/containers/image/v5/internal/signature" - compression "github.com/containers/image/v5/pkg/compression/types" "github.com/containers/image/v5/types" "github.com/opencontainers/go-digest" ) @@ -47,22 +46,24 @@ type ImageDestinationInternalOnly interface { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. - // If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. - PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options PutBlobOptions) (UploadedBlob, error) + // If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. + PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options PutBlobOptions) (types.BlobInfo, error) // PutBlobPartial attempts to create a blob using the data that is already present // at the destination. chunkAccessor is accessed in a non-sequential way to retrieve the missing chunks. // It is available only if SupportsPutBlobPartial(). // Even if SupportsPutBlobPartial() returns true, the call can fail, in which case the caller // should fall back to PutBlobWithOptions. - PutBlobPartial(ctx context.Context, chunkAccessor BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (UploadedBlob, error) + PutBlobPartial(ctx context.Context, chunkAccessor BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (types.BlobInfo, error) // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. - // If the blob has been successfully reused, returns (true, info, nil). + // If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may + // include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be + // reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. - TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options TryReusingBlobOptions) (bool, ReusedBlob, error) + TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options TryReusingBlobOptions) (bool, types.BlobInfo, error) // PutSignaturesWithFormat writes a set of signatures to the destination. // If instanceDigest is not nil, it contains a digest of the specific manifest instance to write or overwrite the signatures for @@ -78,13 +79,6 @@ type ImageDestination interface { ImageDestinationInternalOnly } -// UploadedBlob is information about a blob written to a destination. -// It is the subset of types.BlobInfo fields the transport is responsible for setting; all fields must be provided. -type UploadedBlob struct { - Digest digest.Digest - Size int64 -} - // PutBlobOptions are used in PutBlobWithOptions. type PutBlobOptions struct { Cache blobinfocache.BlobInfoCache2 // Cache to optionally update with the uploaded bloblook up blob infos. @@ -112,22 +106,10 @@ type TryReusingBlobOptions struct { // Transports, OTOH, MUST support these fields being zero-valued for types.ImageDestination callers // if they use internal/imagedestination/impl.Compat; // in that case, they will all be consistently zero-valued. - RequiredCompression *compression.Algorithm // If set, reuse blobs with a matching algorithm as per implementations in internal/imagedestination/impl.helpers.go - OriginalCompression *compression.Algorithm // Must be set if RequiredCompression is set; can be set to nil to indicate “uncompressed” or “unknown”. - EmptyLayer bool // True if the blob is an "empty"/"throwaway" layer, and may not necessarily be physically represented. - LayerIndex *int // If the blob is a layer, a zero-based index of the layer within the image; nil otherwise. - SrcRef reference.Named // A reference to the source image that contains the input blob. -} -// ReusedBlob is information about a blob reused in a destination. -// It is the subset of types.BlobInfo fields the transport is responsible for setting. -type ReusedBlob struct { - Digest digest.Digest // Must be provided - Size int64 // Must be provided - // The following compression fields should be set when the reuse substitutes - // a differently-compressed blob. - CompressionOperation types.LayerCompression // Compress/Decompress, matching the reused blob; PreserveOriginal if N/A - CompressionAlgorithm *compression.Algorithm // Algorithm if compressed, nil if decompressed or N/A + EmptyLayer bool // True if the blob is an "empty"/"throwaway" layer, and may not necessarily be physically represented. + LayerIndex *int // If the blob is a layer, a zero-based index of the layer within the image; nil otherwise. + SrcRef reference.Named // A reference to the source image that contains the input blob. } // ImageSourceChunk is a portion of a blob. diff --git a/vendor/github.com/containers/image/v5/internal/set/set.go b/vendor/github.com/containers/image/v5/internal/set/set.go deleted file mode 100644 index acf30343e0..0000000000 --- a/vendor/github.com/containers/image/v5/internal/set/set.go +++ /dev/null @@ -1,52 +0,0 @@ -package set - -import "golang.org/x/exp/maps" - -// FIXME: -// - Docstrings -// - This should be in a public library somewhere - -type Set[E comparable] struct { - m map[E]struct{} -} - -func New[E comparable]() *Set[E] { - return &Set[E]{ - m: map[E]struct{}{}, - } -} - -func NewWithValues[E comparable](values ...E) *Set[E] { - s := New[E]() - for _, v := range values { - s.Add(v) - } - return s -} - -func (s *Set[E]) Add(v E) { - s.m[v] = struct{}{} // Possibly writing the same struct{}{} presence marker again. -} - -func (s *Set[E]) AddSlice(slice []E) { - for _, v := range slice { - s.Add(v) - } -} - -func (s *Set[E]) Delete(v E) { - delete(s.m, v) -} - -func (s *Set[E]) Contains(v E) bool { - _, ok := s.m[v] - return ok -} - -func (s *Set[E]) Empty() bool { - return len(s.m) == 0 -} - -func (s *Set[E]) Values() []E { - return maps.Keys(s.m) -} diff --git a/vendor/github.com/containers/image/v5/internal/signature/signature.go b/vendor/github.com/containers/image/v5/internal/signature/signature.go index 6f95115a13..ee90b788b0 100644 --- a/vendor/github.com/containers/image/v5/internal/signature/signature.go +++ b/vendor/github.com/containers/image/v5/internal/signature/signature.go @@ -24,7 +24,7 @@ type Signature interface { blobChunk() ([]byte, error) } -// Blob returns a representation of sig as a []byte, suitable for long-term storage. +// BlobChunk returns a representation of sig as a []byte, suitable for long-term storage. func Blob(sig Signature) ([]byte, error) { chunk, err := sig.blobChunk() if err != nil { @@ -66,20 +66,22 @@ func FromBlob(blob []byte) (Signature, error) { // The newer format: binary 0, format name, newline, data case 0x00: blob = blob[1:] - formatBytes, blobChunk, foundNewline := bytes.Cut(blob, []byte{'\n'}) - if !foundNewline { + newline := bytes.IndexByte(blob, '\n') + if newline == -1 { return nil, fmt.Errorf("invalid signature format, missing newline") } + formatBytes := blob[:newline] for _, b := range formatBytes { if b < 32 || b >= 0x7F { return nil, fmt.Errorf("invalid signature format, non-ASCII byte %#x", b) } } + blobChunk := blob[newline+1:] switch { case bytes.Equal(formatBytes, []byte(SimpleSigningFormat)): return SimpleSigningFromBlob(blobChunk), nil case bytes.Equal(formatBytes, []byte(SigstoreFormat)): - return sigstoreFromBlobChunk(blobChunk) + return SigstoreFromBlobChunk(blobChunk) default: return nil, fmt.Errorf("unrecognized signature format %q", string(formatBytes)) } @@ -100,3 +102,10 @@ func UnsupportedFormatError(sig Signature) error { return fmt.Errorf("unsupported, and unrecognized, signature format %q", string(formatID)) } } + +// copyByteSlice returns a guaranteed-fresh copy of a byte slice +// Use this to make sure the underlying data is not shared and can’t be unexpectedly modified. +func copyByteSlice(s []byte) []byte { + res := []byte{} + return append(res, s...) +} diff --git a/vendor/github.com/containers/image/v5/internal/signature/sigstore.go b/vendor/github.com/containers/image/v5/internal/signature/sigstore.go index b8a9b366cc..17342c8b76 100644 --- a/vendor/github.com/containers/image/v5/internal/signature/sigstore.go +++ b/vendor/github.com/containers/image/v5/internal/signature/sigstore.go @@ -1,23 +1,12 @@ package signature -import ( - "encoding/json" - - "golang.org/x/exp/maps" - "golang.org/x/exp/slices" -) +import "encoding/json" const ( // from sigstore/cosign/pkg/types.SimpleSigningMediaType SigstoreSignatureMIMEType = "application/vnd.dev.cosign.simplesigning.v1+json" // from sigstore/cosign/pkg/oci/static.SignatureAnnotationKey SigstoreSignatureAnnotationKey = "dev.cosignproject.cosign/signature" - // from sigstore/cosign/pkg/oci/static.BundleAnnotationKey - SigstoreSETAnnotationKey = "dev.sigstore.cosign/bundle" - // from sigstore/cosign/pkg/oci/static.CertificateAnnotationKey - SigstoreCertificateAnnotationKey = "dev.sigstore.cosign/certificate" - // from sigstore/cosign/pkg/oci/static.ChainAnnotationKey - SigstoreIntermediateCertificateChainAnnotationKey = "dev.sigstore.cosign/chain" ) // Sigstore is a github.com/cosign/cosign signature. @@ -45,13 +34,13 @@ type sigstoreJSONRepresentation struct { func SigstoreFromComponents(untrustedMimeType string, untrustedPayload []byte, untrustedAnnotations map[string]string) Sigstore { return Sigstore{ untrustedMIMEType: untrustedMimeType, - untrustedPayload: slices.Clone(untrustedPayload), - untrustedAnnotations: maps.Clone(untrustedAnnotations), + untrustedPayload: copyByteSlice(untrustedPayload), + untrustedAnnotations: copyStringMap(untrustedAnnotations), } } -// sigstoreFromBlobChunk converts a Sigstore signature, as returned by Sigstore.blobChunk, into a Sigstore object. -func sigstoreFromBlobChunk(blobChunk []byte) (Sigstore, error) { +// SigstoreFromBlobChunk converts a Sigstore signature, as returned by Sigstore.blobChunk, into a Sigstore object. +func SigstoreFromBlobChunk(blobChunk []byte) (Sigstore, error) { var v sigstoreJSONRepresentation if err := json.Unmarshal(blobChunk, &v); err != nil { return Sigstore{}, err @@ -79,9 +68,17 @@ func (s Sigstore) UntrustedMIMEType() string { return s.untrustedMIMEType } func (s Sigstore) UntrustedPayload() []byte { - return slices.Clone(s.untrustedPayload) + return copyByteSlice(s.untrustedPayload) } func (s Sigstore) UntrustedAnnotations() map[string]string { - return maps.Clone(s.untrustedAnnotations) + return copyStringMap(s.untrustedAnnotations) +} + +func copyStringMap(m map[string]string) map[string]string { + res := map[string]string{} + for k, v := range m { + res[k] = v + } + return res } diff --git a/vendor/github.com/containers/image/v5/internal/signature/simple.go b/vendor/github.com/containers/image/v5/internal/signature/simple.go index c093704060..88b8adad03 100644 --- a/vendor/github.com/containers/image/v5/internal/signature/simple.go +++ b/vendor/github.com/containers/image/v5/internal/signature/simple.go @@ -1,7 +1,5 @@ package signature -import "golang.org/x/exp/slices" - // SimpleSigning is a “simple signing” signature. type SimpleSigning struct { untrustedSignature []byte @@ -10,7 +8,7 @@ type SimpleSigning struct { // SimpleSigningFromBlob converts a “simple signing” signature into a SimpleSigning object. func SimpleSigningFromBlob(blobChunk []byte) SimpleSigning { return SimpleSigning{ - untrustedSignature: slices.Clone(blobChunk), + untrustedSignature: copyByteSlice(blobChunk), } } @@ -21,9 +19,9 @@ func (s SimpleSigning) FormatID() FormatID { // blobChunk returns a representation of signature as a []byte, suitable for long-term storage. // Almost everyone should use signature.Blob() instead. func (s SimpleSigning) blobChunk() ([]byte, error) { - return slices.Clone(s.untrustedSignature), nil + return copyByteSlice(s.untrustedSignature), nil } func (s SimpleSigning) UntrustedSignature() []byte { - return slices.Clone(s.untrustedSignature) + return copyByteSlice(s.untrustedSignature) } diff --git a/vendor/github.com/containers/image/v5/internal/signer/signer.go b/vendor/github.com/containers/image/v5/internal/signer/signer.go deleted file mode 100644 index 5720254d1c..0000000000 --- a/vendor/github.com/containers/image/v5/internal/signer/signer.go +++ /dev/null @@ -1,47 +0,0 @@ -package signer - -import ( - "context" - - "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/signature" -) - -// Signer is an object, possibly carrying state, that can be used by copy.Image to sign one or more container images. -// This type is visible to external callers, so it has no public fields or methods apart from Close(). -// -// The owner of a Signer must call Close() when done. -type Signer struct { - implementation SignerImplementation -} - -// NewSigner creates a public Signer from a SignerImplementation -func NewSigner(impl SignerImplementation) *Signer { - return &Signer{implementation: impl} -} - -func (s *Signer) Close() error { - return s.implementation.Close() -} - -// ProgressMessage returns a human-readable sentence that makes sense to write before starting to create a single signature. -// Alternatively, should SignImageManifest be provided a logging writer of some kind? -func ProgressMessage(signer *Signer) string { - return signer.implementation.ProgressMessage() -} - -// SignImageManifest invokes a SignerImplementation. -// This is a function, not a method, so that it can only be called by code that is allowed to import this internal subpackage. -func SignImageManifest(ctx context.Context, signer *Signer, manifest []byte, dockerReference reference.Named) (signature.Signature, error) { - return signer.implementation.SignImageManifest(ctx, manifest, dockerReference) -} - -// SignerImplementation is an object, possibly carrying state, that can be used by copy.Image to sign one or more container images. -// This interface is distinct from Signer so that implementations can be created outside of this package. -type SignerImplementation interface { - // ProgressMessage returns a human-readable sentence that makes sense to write before starting to create a single signature. - ProgressMessage() string - // SignImageManifest creates a new signature for manifest m as dockerReference. - SignImageManifest(ctx context.Context, m []byte, dockerReference reference.Named) (signature.Signature, error) - Close() error -} diff --git a/vendor/github.com/containers/image/v5/internal/streamdigest/stream_digest.go b/vendor/github.com/containers/image/v5/internal/streamdigest/stream_digest.go index d5a5436a4d..84bb656ac7 100644 --- a/vendor/github.com/containers/image/v5/internal/streamdigest/stream_digest.go +++ b/vendor/github.com/containers/image/v5/internal/streamdigest/stream_digest.go @@ -15,7 +15,7 @@ import ( // It is the caller's responsibility to call the cleanup function, which closes and removes the temporary file. // If an error occurs, inputInfo is not modified. func ComputeBlobInfo(sys *types.SystemContext, stream io.Reader, inputInfo *types.BlobInfo) (io.Reader, func(), error) { - diskBlob, err := tmpdir.CreateBigFileTemp(sys, "stream-blob") + diskBlob, err := os.CreateTemp(tmpdir.TemporaryDirectoryForBigFiles(sys), "stream-blob") if err != nil { return nil, nil, fmt.Errorf("creating temporary on-disk layer: %w", err) } diff --git a/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go b/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go index bab73ee334..809446e189 100644 --- a/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go +++ b/vendor/github.com/containers/image/v5/internal/tmpdir/tmpdir.go @@ -17,12 +17,10 @@ var unixTempDirForBigFiles = builtinUnixTempDirForBigFiles // DO NOT change this, instead see unixTempDirForBigFiles above. const builtinUnixTempDirForBigFiles = "/var/tmp" -const prefix = "container_images_" - // TemporaryDirectoryForBigFiles returns a directory for temporary (big) files. // On non Windows systems it avoids the use of os.TempDir(), because the default temporary directory usually falls under /tmp // which on systemd based systems could be the unsuitable tmpfs filesystem. -func temporaryDirectoryForBigFiles(sys *types.SystemContext) string { +func TemporaryDirectoryForBigFiles(sys *types.SystemContext) string { if sys != nil && sys.BigFilesTemporaryDir != "" { return sys.BigFilesTemporaryDir } @@ -34,11 +32,3 @@ func temporaryDirectoryForBigFiles(sys *types.SystemContext) string { } return temporaryDirectoryForBigFiles } - -func CreateBigFileTemp(sys *types.SystemContext, name string) (*os.File, error) { - return os.CreateTemp(temporaryDirectoryForBigFiles(sys), prefix+name) -} - -func MkDirBigFileTemp(sys *types.SystemContext, name string) (string, error) { - return os.MkdirTemp(temporaryDirectoryForBigFiles(sys), prefix+name) -} diff --git a/vendor/github.com/containers/image/v5/internal/uploadreader/upload_reader.go b/vendor/github.com/containers/image/v5/internal/uploadreader/upload_reader.go index b95370af76..6aa9ead68f 100644 --- a/vendor/github.com/containers/image/v5/internal/uploadreader/upload_reader.go +++ b/vendor/github.com/containers/image/v5/internal/uploadreader/upload_reader.go @@ -11,7 +11,7 @@ import ( // The net/http package uses a separate goroutine to upload data to a HTTP connection, // and it is possible for the server to return a response (typically an error) before consuming // the full body of the request. In that case http.Client.Do can return with an error while -// the body is still being read — regardless of the cancellation, if any, of http.Request.Context(). +// the body is still being read — regardless of of the cancellation, if any, of http.Request.Context(). // // As a result, any data used/updated by the io.Reader() provided as the request body may be // used/updated even after http.Client.Do returns, causing races. diff --git a/vendor/github.com/containers/image/v5/internal/useragent/useragent.go b/vendor/github.com/containers/image/v5/internal/useragent/useragent.go deleted file mode 100644 index 7ac49693ed..0000000000 --- a/vendor/github.com/containers/image/v5/internal/useragent/useragent.go +++ /dev/null @@ -1,6 +0,0 @@ -package useragent - -import "github.com/containers/image/v5/version" - -// DefaultUserAgent is a value that should be used by User-Agent headers, unless the user specifically instructs us otherwise. -var DefaultUserAgent = "containers/" + version.Version + " (github.com/containers/image)" diff --git a/vendor/github.com/containers/image/v5/manifest/common.go b/vendor/github.com/containers/image/v5/manifest/common.go index 1bdcf3d305..9cf7dd3a94 100644 --- a/vendor/github.com/containers/image/v5/manifest/common.go +++ b/vendor/github.com/containers/image/v5/manifest/common.go @@ -1,6 +1,7 @@ package manifest import ( + "encoding/json" "fmt" compressiontypes "github.com/containers/image/v5/pkg/compression/types" @@ -8,6 +9,96 @@ import ( "github.com/sirupsen/logrus" ) +// dupStringSlice returns a deep copy of a slice of strings, or nil if the +// source slice is empty. +func dupStringSlice(list []string) []string { + if len(list) == 0 { + return nil + } + dup := make([]string, len(list)) + copy(dup, list) + return dup +} + +// dupStringStringMap returns a deep copy of a map[string]string, or nil if the +// passed-in map is nil or has no keys. +func dupStringStringMap(m map[string]string) map[string]string { + if len(m) == 0 { + return nil + } + result := make(map[string]string) + for k, v := range m { + result[k] = v + } + return result +} + +// allowedManifestFields is a bit mask of “essential” manifest fields that validateUnambiguousManifestFormat +// can expect to be present. +type allowedManifestFields int + +const ( + allowedFieldConfig allowedManifestFields = 1 << iota + allowedFieldFSLayers + allowedFieldHistory + allowedFieldLayers + allowedFieldManifests + allowedFieldFirstUnusedBit // Keep this at the end! +) + +// validateUnambiguousManifestFormat rejects manifests (incl. multi-arch) that look like more than +// one kind we currently recognize, i.e. if they contain any of the known “essential” format fields +// other than the ones the caller specifically allows. +// expectedMIMEType is used only for diagnostics. +// NOTE: The caller should do the non-heuristic validations (e.g. check for any specified format +// identification/version, or other “magic numbers”) before calling this, to cleanly reject unambiguous +// data that just isn’t what was expected, as opposed to actually ambiguous data. +func validateUnambiguousManifestFormat(manifest []byte, expectedMIMEType string, + allowed allowedManifestFields) error { + if allowed >= allowedFieldFirstUnusedBit { + return fmt.Errorf("internal error: invalid allowedManifestFields value %#v", allowed) + } + // Use a private type to decode, not just a map[string]interface{}, because we want + // to also reject case-insensitive matches (which would be used by Go when really decoding + // the manifest). + // (It is expected that as manifest formats are added or extended over time, more fields will be added + // here.) + detectedFields := struct { + Config interface{} `json:"config"` + FSLayers interface{} `json:"fsLayers"` + History interface{} `json:"history"` + Layers interface{} `json:"layers"` + Manifests interface{} `json:"manifests"` + }{} + if err := json.Unmarshal(manifest, &detectedFields); err != nil { + // The caller was supposed to already validate version numbers, so this should not happen; + // let’s not bother with making this error “nice”. + return err + } + unexpected := []string{} + // Sadly this isn’t easy to automate in Go, without reflection. So, copy&paste. + if detectedFields.Config != nil && (allowed&allowedFieldConfig) == 0 { + unexpected = append(unexpected, "config") + } + if detectedFields.FSLayers != nil && (allowed&allowedFieldFSLayers) == 0 { + unexpected = append(unexpected, "fsLayers") + } + if detectedFields.History != nil && (allowed&allowedFieldHistory) == 0 { + unexpected = append(unexpected, "history") + } + if detectedFields.Layers != nil && (allowed&allowedFieldLayers) == 0 { + unexpected = append(unexpected, "layers") + } + if detectedFields.Manifests != nil && (allowed&allowedFieldManifests) == 0 { + unexpected = append(unexpected, "manifests") + } + if len(unexpected) != 0 { + return fmt.Errorf(`rejecting ambiguous manifest, unexpected fields %#v in supposedly %s`, + unexpected, expectedMIMEType) + } + return nil +} + // layerInfosToStrings converts a list of layer infos, presumably obtained from a Manifest.LayerInfos() // method call, into a format suitable for inclusion in a types.ImageInspectInfo structure. func layerInfosToStrings(infos []LayerInfo) []string { @@ -137,16 +228,3 @@ func compressionVariantsRecognizeMIMEType(variantTable []compressionMIMETypeSet, variants := findCompressionMIMETypeSet(variantTable, mimeType) return variants != nil // Alternatively, this could be len(variants) > 1, but really the caller should ask about a specific algorithm. } - -// imgInspectLayersFromLayerInfos converts a list of layer infos, presumably obtained from a Manifest.LayerInfos() -// method call, into a format suitable for inclusion in a types.ImageInspectInfo structure. -func imgInspectLayersFromLayerInfos(infos []LayerInfo) []types.ImageInspectLayer { - layers := make([]types.ImageInspectLayer, len(infos)) - for i, info := range infos { - layers[i].MIMEType = info.MediaType - layers[i].Digest = info.Digest - layers[i].Size = info.Size - layers[i].Annotations = info.Annotations - } - return layers -} diff --git a/vendor/github.com/containers/image/v5/manifest/docker_schema1.go b/vendor/github.com/containers/image/v5/manifest/docker_schema1.go index a80af701af..e1f1fb9d98 100644 --- a/vendor/github.com/containers/image/v5/manifest/docker_schema1.go +++ b/vendor/github.com/containers/image/v5/manifest/docker_schema1.go @@ -4,17 +4,14 @@ import ( "encoding/json" "errors" "fmt" + "regexp" "strings" "time" "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/manifest" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/types" - "github.com/containers/storage/pkg/regexp" "github.com/docker/docker/api/types/versions" "github.com/opencontainers/go-digest" - "golang.org/x/exp/slices" ) // Schema1FSLayers is an entry of the "fsLayers" array in docker/distribution schema 1. @@ -56,16 +53,16 @@ type Schema1V1Compatibility struct { // Schema1FromManifest creates a Schema1 manifest instance from a manifest blob. // (NOTE: The instance is not necessary a literal representation of the original blob, // layers with duplicate IDs are eliminated.) -func Schema1FromManifest(manifestBlob []byte) (*Schema1, error) { +func Schema1FromManifest(manifest []byte) (*Schema1, error) { s1 := Schema1{} - if err := json.Unmarshal(manifestBlob, &s1); err != nil { + if err := json.Unmarshal(manifest, &s1); err != nil { return nil, err } if s1.SchemaVersion != 1 { return nil, fmt.Errorf("unsupported schema version %d", s1.SchemaVersion) } - if err := manifest.ValidateUnambiguousManifestFormat(manifestBlob, DockerV2Schema1SignedMediaType, - manifest.AllowedFieldFSLayers|manifest.AllowedFieldHistory); err != nil { + if err := validateUnambiguousManifestFormat(manifest, DockerV2Schema1SignedMediaType, + allowedFieldFSLayers|allowedFieldHistory); err != nil { return nil, err } if err := s1.initialize(); err != nil { @@ -154,9 +151,6 @@ func (m *Schema1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { // but (docker pull) ignores them in favor of computing DiffIDs from uncompressed data, except verifying the child->parent links and uniqueness. // So, we don't bother recomputing the IDs in m.History.V1Compatibility. m.FSLayers[(len(layerInfos)-1)-i].BlobSum = info.Digest - if info.CryptoOperation != types.PreserveOriginalCrypto { - return fmt.Errorf("encryption change (for layer %q) is not supported in schema1 manifests", info.Digest) - } } return nil } @@ -189,22 +183,22 @@ func (m *Schema1) fixManifestLayers() error { return errors.New("Invalid parent ID in the base layer of the image") } // check general duplicates to error instead of a deadlock - idmap := set.New[string]() + idmap := make(map[string]struct{}) var lastID string for _, img := range m.ExtractedV1Compatibility { // skip IDs that appear after each other, we handle those later - if img.ID != lastID && idmap.Contains(img.ID) { + if _, exists := idmap[img.ID]; img.ID != lastID && exists { return fmt.Errorf("ID %+v appears multiple times in manifest", img.ID) } lastID = img.ID - idmap.Add(lastID) + idmap[lastID] = struct{}{} } // backwards loop so that we keep the remaining indexes after removing items for i := len(m.ExtractedV1Compatibility) - 2; i >= 0; i-- { if m.ExtractedV1Compatibility[i].ID == m.ExtractedV1Compatibility[i+1].ID { // repeated ID. remove and continue - m.FSLayers = slices.Delete(m.FSLayers, i, i+1) - m.History = slices.Delete(m.History, i, i+1) - m.ExtractedV1Compatibility = slices.Delete(m.ExtractedV1Compatibility, i, i+1) + m.FSLayers = append(m.FSLayers[:i], m.FSLayers[i+1:]...) + m.History = append(m.History[:i], m.History[i+1:]...) + m.ExtractedV1Compatibility = append(m.ExtractedV1Compatibility[:i], m.ExtractedV1Compatibility[i+1:]...) } else if m.ExtractedV1Compatibility[i].Parent != m.ExtractedV1Compatibility[i+1].ID { return fmt.Errorf("Invalid parent ID. Expected %v, got %v", m.ExtractedV1Compatibility[i+1].ID, m.ExtractedV1Compatibility[i].Parent) } @@ -212,7 +206,7 @@ func (m *Schema1) fixManifestLayers() error { return nil } -var validHex = regexp.Delayed(`^([a-f0-9]{64})$`) +var validHex = regexp.MustCompile(`^([a-f0-9]{64})$`) func validateV1ID(id string) error { if ok := validHex.MatchString(id); !ok { @@ -227,17 +221,13 @@ func (m *Schema1) Inspect(_ func(types.BlobInfo) ([]byte, error)) (*types.ImageI if err := json.Unmarshal([]byte(m.History[0].V1Compatibility), s1); err != nil { return nil, err } - layerInfos := m.LayerInfos() i := &types.ImageInspectInfo{ Tag: m.Tag, Created: &s1.Created, DockerVersion: s1.DockerVersion, Architecture: s1.Architecture, - Variant: s1.Variant, Os: s1.OS, - Layers: layerInfosToStrings(layerInfos), - LayersData: imgInspectLayersFromLayerInfos(layerInfos), - Author: s1.Author, + Layers: layerInfosToStrings(m.LayerInfos()), } if s1.Config != nil { i.Labels = s1.Config.Labels diff --git a/vendor/github.com/containers/image/v5/manifest/docker_schema2.go b/vendor/github.com/containers/image/v5/manifest/docker_schema2.go index 20b721f4ca..e79d0851f2 100644 --- a/vendor/github.com/containers/image/v5/manifest/docker_schema2.go +++ b/vendor/github.com/containers/image/v5/manifest/docker_schema2.go @@ -5,7 +5,6 @@ import ( "fmt" "time" - "github.com/containers/image/v5/internal/manifest" compressiontypes "github.com/containers/image/v5/pkg/compression/types" "github.com/containers/image/v5/pkg/strslice" "github.com/containers/image/v5/types" @@ -13,7 +12,12 @@ import ( ) // Schema2Descriptor is a “descriptor” in docker/distribution schema 2. -type Schema2Descriptor = manifest.Schema2Descriptor +type Schema2Descriptor struct { + MediaType string `json:"mediaType"` + Size int64 `json:"size"` + Digest digest.Digest `json:"digest"` + URLs []string `json:"urls,omitempty"` +} // BlobInfoFromSchema2Descriptor returns a types.BlobInfo based on the input schema 2 descriptor. func BlobInfoFromSchema2Descriptor(desc Schema2Descriptor) types.BlobInfo { @@ -155,13 +159,13 @@ type Schema2Image struct { } // Schema2FromManifest creates a Schema2 manifest instance from a manifest blob. -func Schema2FromManifest(manifestBlob []byte) (*Schema2, error) { +func Schema2FromManifest(manifest []byte) (*Schema2, error) { s2 := Schema2{} - if err := json.Unmarshal(manifestBlob, &s2); err != nil { + if err := json.Unmarshal(manifest, &s2); err != nil { return nil, err } - if err := manifest.ValidateUnambiguousManifestFormat(manifestBlob, DockerV2Schema2MediaType, - manifest.AllowedFieldConfig|manifest.AllowedFieldLayers); err != nil { + if err := validateUnambiguousManifestFormat(manifest, DockerV2Schema2MediaType, + allowedFieldConfig|allowedFieldLayers); err != nil { return nil, err } // Check manifest's and layers' media types. @@ -247,9 +251,6 @@ func (m *Schema2) UpdateLayerInfos(layerInfos []types.BlobInfo) error { m.LayersDescriptors[i].Digest = info.Digest m.LayersDescriptors[i].Size = info.Size m.LayersDescriptors[i].URLs = info.URLs - if info.CryptoOperation != types.PreserveOriginalCrypto { - return fmt.Errorf("encryption change (for layer %q) is not supported in schema2 manifests", info.Digest) - } } return nil } @@ -270,7 +271,6 @@ func (m *Schema2) Inspect(configGetter func(types.BlobInfo) ([]byte, error)) (*t if err := json.Unmarshal(config, s2); err != nil { return nil, err } - layerInfos := m.LayerInfos() i := &types.ImageInspectInfo{ Tag: "", Created: &s2.Created, @@ -278,9 +278,7 @@ func (m *Schema2) Inspect(configGetter func(types.BlobInfo) ([]byte, error)) (*t Architecture: s2.Architecture, Variant: s2.Variant, Os: s2.OS, - Layers: layerInfosToStrings(layerInfos), - LayersData: imgInspectLayersFromLayerInfos(layerInfos), - Author: s2.Author, + Layers: layerInfosToStrings(m.LayerInfos()), } if s2.Config != nil { i.Labels = s2.Config.Labels diff --git a/vendor/github.com/containers/image/v5/manifest/docker_schema2_list.go b/vendor/github.com/containers/image/v5/manifest/docker_schema2_list.go index c958a3fa3a..7e4cc51835 100644 --- a/vendor/github.com/containers/image/v5/manifest/docker_schema2_list.go +++ b/vendor/github.com/containers/image/v5/manifest/docker_schema2_list.go @@ -1,32 +1,220 @@ package manifest import ( - "github.com/containers/image/v5/internal/manifest" + "encoding/json" + "fmt" + + platform "github.com/containers/image/v5/internal/pkg/platform" + "github.com/containers/image/v5/types" + "github.com/opencontainers/go-digest" + imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" ) // Schema2PlatformSpec describes the platform which a particular manifest is // specialized for. -type Schema2PlatformSpec = manifest.Schema2PlatformSpec +type Schema2PlatformSpec struct { + Architecture string `json:"architecture"` + OS string `json:"os"` + OSVersion string `json:"os.version,omitempty"` + OSFeatures []string `json:"os.features,omitempty"` + Variant string `json:"variant,omitempty"` + Features []string `json:"features,omitempty"` // removed in OCI +} // Schema2ManifestDescriptor references a platform-specific manifest. -type Schema2ManifestDescriptor = manifest.Schema2ManifestDescriptor +type Schema2ManifestDescriptor struct { + Schema2Descriptor + Platform Schema2PlatformSpec `json:"platform"` +} // Schema2List is a list of platform-specific manifests. -type Schema2List = manifest.Schema2ListPublic +type Schema2List struct { + SchemaVersion int `json:"schemaVersion"` + MediaType string `json:"mediaType"` + Manifests []Schema2ManifestDescriptor `json:"manifests"` +} + +// MIMEType returns the MIME type of this particular manifest list. +func (list *Schema2List) MIMEType() string { + return list.MediaType +} + +// Instances returns a slice of digests of the manifests that this list knows of. +func (list *Schema2List) Instances() []digest.Digest { + results := make([]digest.Digest, len(list.Manifests)) + for i, m := range list.Manifests { + results[i] = m.Digest + } + return results +} + +// Instance returns the ListUpdate of a particular instance in the list. +func (list *Schema2List) Instance(instanceDigest digest.Digest) (ListUpdate, error) { + for _, manifest := range list.Manifests { + if manifest.Digest == instanceDigest { + return ListUpdate{ + Digest: manifest.Digest, + Size: manifest.Size, + MediaType: manifest.MediaType, + }, nil + } + } + return ListUpdate{}, fmt.Errorf("unable to find instance %s passed to Schema2List.Instances", instanceDigest) +} + +// UpdateInstances updates the sizes, digests, and media types of the manifests +// which the list catalogs. +func (list *Schema2List) UpdateInstances(updates []ListUpdate) error { + if len(updates) != len(list.Manifests) { + return fmt.Errorf("incorrect number of update entries passed to Schema2List.UpdateInstances: expected %d, got %d", len(list.Manifests), len(updates)) + } + for i := range updates { + if err := updates[i].Digest.Validate(); err != nil { + return fmt.Errorf("update %d of %d passed to Schema2List.UpdateInstances contained an invalid digest: %w", i+1, len(updates), err) + } + list.Manifests[i].Digest = updates[i].Digest + if updates[i].Size < 0 { + return fmt.Errorf("update %d of %d passed to Schema2List.UpdateInstances had an invalid size (%d)", i+1, len(updates), updates[i].Size) + } + list.Manifests[i].Size = updates[i].Size + if updates[i].MediaType == "" { + return fmt.Errorf("update %d of %d passed to Schema2List.UpdateInstances had no media type (was %q)", i+1, len(updates), list.Manifests[i].MediaType) + } + list.Manifests[i].MediaType = updates[i].MediaType + } + return nil +} + +// ChooseInstance parses blob as a schema2 manifest list, and returns the digest +// of the image which is appropriate for the current environment. +func (list *Schema2List) ChooseInstance(ctx *types.SystemContext) (digest.Digest, error) { + wantedPlatforms, err := platform.WantedPlatforms(ctx) + if err != nil { + return "", fmt.Errorf("getting platform information %#v: %w", ctx, err) + } + for _, wantedPlatform := range wantedPlatforms { + for _, d := range list.Manifests { + imagePlatform := imgspecv1.Platform{ + Architecture: d.Platform.Architecture, + OS: d.Platform.OS, + OSVersion: d.Platform.OSVersion, + OSFeatures: dupStringSlice(d.Platform.OSFeatures), + Variant: d.Platform.Variant, + } + if platform.MatchesPlatform(imagePlatform, wantedPlatform) { + return d.Digest, nil + } + } + } + return "", fmt.Errorf("no image found in manifest list for architecture %s, variant %q, OS %s", wantedPlatforms[0].Architecture, wantedPlatforms[0].Variant, wantedPlatforms[0].OS) +} + +// Serialize returns the list in a blob format. +// NOTE: Serialize() does not in general reproduce the original blob if this object was loaded from one, even if no modifications were made! +func (list *Schema2List) Serialize() ([]byte, error) { + buf, err := json.Marshal(list) + if err != nil { + return nil, fmt.Errorf("marshaling Schema2List %#v: %w", list, err) + } + return buf, nil +} // Schema2ListFromComponents creates a Schema2 manifest list instance from the // supplied data. func Schema2ListFromComponents(components []Schema2ManifestDescriptor) *Schema2List { - return manifest.Schema2ListPublicFromComponents(components) + list := Schema2List{ + SchemaVersion: 2, + MediaType: DockerV2ListMediaType, + Manifests: make([]Schema2ManifestDescriptor, len(components)), + } + for i, component := range components { + m := Schema2ManifestDescriptor{ + Schema2Descriptor{ + MediaType: component.MediaType, + Size: component.Size, + Digest: component.Digest, + URLs: dupStringSlice(component.URLs), + }, + Schema2PlatformSpec{ + Architecture: component.Platform.Architecture, + OS: component.Platform.OS, + OSVersion: component.Platform.OSVersion, + OSFeatures: dupStringSlice(component.Platform.OSFeatures), + Variant: component.Platform.Variant, + Features: dupStringSlice(component.Platform.Features), + }, + } + list.Manifests[i] = m + } + return &list } // Schema2ListClone creates a deep copy of the passed-in list. func Schema2ListClone(list *Schema2List) *Schema2List { - return manifest.Schema2ListPublicClone(list) + return Schema2ListFromComponents(list.Manifests) +} + +// ToOCI1Index returns the list encoded as an OCI1 index. +func (list *Schema2List) ToOCI1Index() (*OCI1Index, error) { + components := make([]imgspecv1.Descriptor, 0, len(list.Manifests)) + for _, manifest := range list.Manifests { + converted := imgspecv1.Descriptor{ + MediaType: manifest.MediaType, + Size: manifest.Size, + Digest: manifest.Digest, + URLs: dupStringSlice(manifest.URLs), + Platform: &imgspecv1.Platform{ + OS: manifest.Platform.OS, + Architecture: manifest.Platform.Architecture, + OSFeatures: dupStringSlice(manifest.Platform.OSFeatures), + OSVersion: manifest.Platform.OSVersion, + Variant: manifest.Platform.Variant, + }, + } + components = append(components, converted) + } + oci := OCI1IndexFromComponents(components, nil) + return oci, nil +} + +// ToSchema2List returns the list encoded as a Schema2 list. +func (list *Schema2List) ToSchema2List() (*Schema2List, error) { + return Schema2ListClone(list), nil } // Schema2ListFromManifest creates a Schema2 manifest list instance from marshalled // JSON, presumably generated by encoding a Schema2 manifest list. -func Schema2ListFromManifest(manifestBlob []byte) (*Schema2List, error) { - return manifest.Schema2ListPublicFromManifest(manifestBlob) +func Schema2ListFromManifest(manifest []byte) (*Schema2List, error) { + list := Schema2List{ + Manifests: []Schema2ManifestDescriptor{}, + } + if err := json.Unmarshal(manifest, &list); err != nil { + return nil, fmt.Errorf("unmarshaling Schema2List %q: %w", string(manifest), err) + } + if err := validateUnambiguousManifestFormat(manifest, DockerV2ListMediaType, + allowedFieldManifests); err != nil { + return nil, err + } + return &list, nil +} + +// Clone returns a deep copy of this list and its contents. +func (list *Schema2List) Clone() List { + return Schema2ListClone(list) +} + +// ConvertToMIMEType converts the passed-in manifest list to a manifest +// list of the specified type. +func (list *Schema2List) ConvertToMIMEType(manifestMIMEType string) (List, error) { + switch normalized := NormalizedMIMEType(manifestMIMEType); normalized { + case DockerV2ListMediaType: + return list.Clone(), nil + case imgspecv1.MediaTypeImageIndex: + return list.ToOCI1Index() + case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, imgspecv1.MediaTypeImageManifest, DockerV2Schema2MediaType: + return nil, fmt.Errorf("Can not convert manifest list to MIME type %q, which is not a list type", manifestMIMEType) + default: + // Note that this may not be reachable, NormalizedMIMEType has a default for unknown values. + return nil, fmt.Errorf("Unimplemented manifest list MIME type %s", manifestMIMEType) + } } diff --git a/vendor/github.com/containers/image/v5/manifest/list.go b/vendor/github.com/containers/image/v5/manifest/list.go index 1d6fdc9f56..58982597e6 100644 --- a/vendor/github.com/containers/image/v5/manifest/list.go +++ b/vendor/github.com/containers/image/v5/manifest/list.go @@ -1,7 +1,10 @@ package manifest import ( - "github.com/containers/image/v5/internal/manifest" + "fmt" + + "github.com/containers/image/v5/types" + digest "github.com/opencontainers/go-digest" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" ) @@ -18,14 +21,56 @@ var ( // Callers can either use this abstract interface without understanding the details of the formats, // or instantiate a specific implementation (e.g. manifest.OCI1Index) and access the public members // directly. -type List = manifest.ListPublic +type List interface { + // MIMEType returns the MIME type of this particular manifest list. + MIMEType() string + + // Instances returns a list of the manifests that this list knows of, other than its own. + Instances() []digest.Digest + + // Update information about the list's instances. The length of the passed-in slice must + // match the length of the list of instances which the list already contains, and every field + // must be specified. + UpdateInstances([]ListUpdate) error + + // Instance returns the size and MIME type of a particular instance in the list. + Instance(digest.Digest) (ListUpdate, error) + + // ChooseInstance selects which manifest is most appropriate for the platform described by the + // SystemContext, or for the current platform if the SystemContext doesn't specify any details. + ChooseInstance(ctx *types.SystemContext) (digest.Digest, error) + + // Serialize returns the list in a blob format. + // NOTE: Serialize() does not in general reproduce the original blob if this object was loaded + // from, even if no modifications were made! + Serialize() ([]byte, error) + + // ConvertToMIMEType returns the list rebuilt to the specified MIME type, or an error. + ConvertToMIMEType(mimeType string) (List, error) + + // Clone returns a deep copy of this list and its contents. + Clone() List +} // ListUpdate includes the fields which a List's UpdateInstances() method will modify. -type ListUpdate = manifest.ListUpdate +type ListUpdate struct { + Digest digest.Digest + Size int64 + MediaType string +} // ListFromBlob parses a list of manifests. -func ListFromBlob(manifestBlob []byte, manifestMIMEType string) (List, error) { - return manifest.ListPublicFromBlob(manifestBlob, manifestMIMEType) +func ListFromBlob(manifest []byte, manifestMIMEType string) (List, error) { + normalized := NormalizedMIMEType(manifestMIMEType) + switch normalized { + case DockerV2ListMediaType: + return Schema2ListFromManifest(manifest) + case imgspecv1.MediaTypeImageIndex: + return OCI1IndexFromManifest(manifest) + case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, imgspecv1.MediaTypeImageManifest, DockerV2Schema2MediaType: + return nil, fmt.Errorf("Treating single images as manifest lists is not implemented") + } + return nil, fmt.Errorf("Unimplemented manifest list MIME type %s (normalized as %s)", manifestMIMEType, normalized) } // ConvertListToMIMEType converts the passed-in manifest list to a manifest diff --git a/vendor/github.com/containers/image/v5/manifest/manifest.go b/vendor/github.com/containers/image/v5/manifest/manifest.go index 959aac935e..53fc866a78 100644 --- a/vendor/github.com/containers/image/v5/manifest/manifest.go +++ b/vendor/github.com/containers/image/v5/manifest/manifest.go @@ -1,9 +1,10 @@ package manifest import ( + "encoding/json" "fmt" - "github.com/containers/image/v5/internal/manifest" + internalManifest "github.com/containers/image/v5/internal/manifest" "github.com/containers/image/v5/types" "github.com/containers/libtrust" digest "github.com/opencontainers/go-digest" @@ -15,28 +16,28 @@ import ( // FIXME(runcom, mitr): should we have a mediatype pkg?? const ( // DockerV2Schema1MediaType MIME type represents Docker manifest schema 1 - DockerV2Schema1MediaType = manifest.DockerV2Schema1MediaType + DockerV2Schema1MediaType = "application/vnd.docker.distribution.manifest.v1+json" // DockerV2Schema1MediaType MIME type represents Docker manifest schema 1 with a JWS signature - DockerV2Schema1SignedMediaType = manifest.DockerV2Schema1SignedMediaType + DockerV2Schema1SignedMediaType = "application/vnd.docker.distribution.manifest.v1+prettyjws" // DockerV2Schema2MediaType MIME type represents Docker manifest schema 2 - DockerV2Schema2MediaType = manifest.DockerV2Schema2MediaType + DockerV2Schema2MediaType = "application/vnd.docker.distribution.manifest.v2+json" // DockerV2Schema2ConfigMediaType is the MIME type used for schema 2 config blobs. - DockerV2Schema2ConfigMediaType = manifest.DockerV2Schema2ConfigMediaType + DockerV2Schema2ConfigMediaType = "application/vnd.docker.container.image.v1+json" // DockerV2Schema2LayerMediaType is the MIME type used for schema 2 layers. - DockerV2Schema2LayerMediaType = manifest.DockerV2Schema2LayerMediaType + DockerV2Schema2LayerMediaType = "application/vnd.docker.image.rootfs.diff.tar.gzip" // DockerV2SchemaLayerMediaTypeUncompressed is the mediaType used for uncompressed layers. - DockerV2SchemaLayerMediaTypeUncompressed = manifest.DockerV2SchemaLayerMediaTypeUncompressed + DockerV2SchemaLayerMediaTypeUncompressed = "application/vnd.docker.image.rootfs.diff.tar" // DockerV2ListMediaType MIME type represents Docker manifest schema 2 list - DockerV2ListMediaType = manifest.DockerV2ListMediaType + DockerV2ListMediaType = "application/vnd.docker.distribution.manifest.list.v2+json" // DockerV2Schema2ForeignLayerMediaType is the MIME type used for schema 2 foreign layers. - DockerV2Schema2ForeignLayerMediaType = manifest.DockerV2Schema2ForeignLayerMediaType + DockerV2Schema2ForeignLayerMediaType = "application/vnd.docker.image.rootfs.foreign.diff.tar" // DockerV2Schema2ForeignLayerMediaType is the MIME type used for gzipped schema 2 foreign layers. - DockerV2Schema2ForeignLayerMediaTypeGzip = manifest.DockerV2Schema2ForeignLayerMediaTypeGzip + DockerV2Schema2ForeignLayerMediaTypeGzip = "application/vnd.docker.image.rootfs.foreign.diff.tar.gzip" ) // NonImageArtifactError (detected via errors.As) is used when asking for an image-specific operation // on an object which is not a “container image” in the standard sense (e.g. an OCI artifact) -type NonImageArtifactError = manifest.NonImageArtifactError +type NonImageArtifactError = internalManifest.NonImageArtifactError // SupportedSchema2MediaType checks if the specified string is a supported Docker v2s2 media type. func SupportedSchema2MediaType(m string) error { @@ -101,21 +102,102 @@ type LayerInfo struct { // GuessMIMEType guesses MIME type of a manifest and returns it _if it is recognized_, or "" if unknown or unrecognized. // FIXME? We should, in general, prefer out-of-band MIME type instead of blindly parsing the manifest, // but we may not have such metadata available (e.g. when the manifest is a local file). -func GuessMIMEType(manifestBlob []byte) string { - return manifest.GuessMIMEType(manifestBlob) +func GuessMIMEType(manifest []byte) string { + // A subset of manifest fields; the rest is silently ignored by json.Unmarshal. + // Also docker/distribution/manifest.Versioned. + meta := struct { + MediaType string `json:"mediaType"` + SchemaVersion int `json:"schemaVersion"` + Signatures interface{} `json:"signatures"` + }{} + if err := json.Unmarshal(manifest, &meta); err != nil { + return "" + } + + switch meta.MediaType { + case DockerV2Schema2MediaType, DockerV2ListMediaType, + imgspecv1.MediaTypeImageManifest, imgspecv1.MediaTypeImageIndex: // A recognized type. + return meta.MediaType + } + // this is the only way the function can return DockerV2Schema1MediaType, and recognizing that is essential for stripping the JWS signatures = computing the correct manifest digest. + switch meta.SchemaVersion { + case 1: + if meta.Signatures != nil { + return DockerV2Schema1SignedMediaType + } + return DockerV2Schema1MediaType + case 2: + // Best effort to understand if this is an OCI image since mediaType + // wasn't in the manifest for OCI image-spec < 1.0.2. + // For docker v2s2 meta.MediaType should have been set. But given the data, this is our best guess. + ociMan := struct { + Config struct { + MediaType string `json:"mediaType"` + } `json:"config"` + }{} + if err := json.Unmarshal(manifest, &ociMan); err != nil { + return "" + } + switch ociMan.Config.MediaType { + case imgspecv1.MediaTypeImageConfig: + return imgspecv1.MediaTypeImageManifest + case DockerV2Schema2ConfigMediaType: + // This case should not happen since a Docker image + // must declare a top-level media type and + // `meta.MediaType` has already been checked. + return DockerV2Schema2MediaType + } + // Maybe an image index or an OCI artifact. + ociIndex := struct { + Manifests []imgspecv1.Descriptor `json:"manifests"` + }{} + if err := json.Unmarshal(manifest, &ociIndex); err != nil { + return "" + } + if len(ociIndex.Manifests) != 0 { + if ociMan.Config.MediaType == "" { + return imgspecv1.MediaTypeImageIndex + } + // FIXME: this is mixing media types of manifests and configs. + return ociMan.Config.MediaType + } + // It's most likely an OCI artifact with a custom config media + // type which is not (and cannot) be covered by the media-type + // checks cabove. + return imgspecv1.MediaTypeImageManifest + } + return "" } // Digest returns the a digest of a docker manifest, with any necessary implied transformations like stripping v1s1 signatures. -func Digest(manifestBlob []byte) (digest.Digest, error) { - return manifest.Digest(manifestBlob) +func Digest(manifest []byte) (digest.Digest, error) { + if GuessMIMEType(manifest) == DockerV2Schema1SignedMediaType { + sig, err := libtrust.ParsePrettySignature(manifest, "signatures") + if err != nil { + return "", err + } + manifest, err = sig.Payload() + if err != nil { + // Coverage: This should never happen, libtrust's Payload() can fail only if joseBase64UrlDecode() fails, on a string + // that libtrust itself has josebase64UrlEncode()d + return "", err + } + } + + return digest.FromBytes(manifest), nil } // MatchesDigest returns true iff the manifest matches expectedDigest. // Error may be set if this returns false. // Note that this is not doing ConstantTimeCompare; by the time we get here, the cryptographic signature must already have been verified, // or we are not using a cryptographic channel and the attacker can modify the digest along with the manifest blob. -func MatchesDigest(manifestBlob []byte, expectedDigest digest.Digest) (bool, error) { - return manifest.MatchesDigest(manifestBlob, expectedDigest) +func MatchesDigest(manifest []byte, expectedDigest digest.Digest) (bool, error) { + // This should eventually support various digest types. + actualDigest, err := Digest(manifest) + if err != nil { + return false, err + } + return expectedDigest == actualDigest, nil } // AddDummyV2S1Signature adds an JWS signature with a temporary key (i.e. useless) to a v2s1 manifest. @@ -149,7 +231,30 @@ func MIMETypeSupportsEncryption(mimeType string) bool { // NormalizedMIMEType returns the effective MIME type of a manifest MIME type returned by a server, // centralizing various workarounds. func NormalizedMIMEType(input string) string { - return manifest.NormalizedMIMEType(input) + switch input { + // "application/json" is a valid v2s1 value per https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-1.md . + // This works for now, when nothing else seems to return "application/json"; if that were not true, the mapping/detection might + // need to happen within the ImageSource. + case "application/json": + return DockerV2Schema1SignedMediaType + case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, + imgspecv1.MediaTypeImageManifest, + imgspecv1.MediaTypeImageIndex, + DockerV2Schema2MediaType, + DockerV2ListMediaType: + return input + default: + // If it's not a recognized manifest media type, or we have failed determining the type, we'll try one last time + // to deserialize using v2s1 as per https://github.com/docker/distribution/blob/master/manifests.go#L108 + // and https://github.com/docker/distribution/blob/master/manifest/schema1/manifest.go#L50 + // + // Crane registries can also return "text/plain", or pretty much anything else depending on a file extension “recognized” in the tag. + // This makes no real sense, but it happens + // because requests for manifests are + // redirected to a content distribution + // network which is configured that way. See https://bugzilla.redhat.com/show_bug.cgi?id=1389442 + return DockerV2Schema1SignedMediaType + } } // FromBlob returns a Manifest instance for the specified manifest blob and the corresponding MIME type diff --git a/vendor/github.com/containers/image/v5/manifest/oci.go b/vendor/github.com/containers/image/v5/manifest/oci.go index a85641c36a..fc325009ce 100644 --- a/vendor/github.com/containers/image/v5/manifest/oci.go +++ b/vendor/github.com/containers/image/v5/manifest/oci.go @@ -5,14 +5,13 @@ import ( "fmt" "strings" - "github.com/containers/image/v5/internal/manifest" + internalManifest "github.com/containers/image/v5/internal/manifest" compressiontypes "github.com/containers/image/v5/pkg/compression/types" "github.com/containers/image/v5/types" ociencspec "github.com/containers/ocicrypt/spec" "github.com/opencontainers/go-digest" "github.com/opencontainers/image-spec/specs-go" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/slices" ) // BlobInfoFromOCI1Descriptor returns a types.BlobInfo based on the input OCI1 descriptor. @@ -42,12 +41,7 @@ type OCI1 struct { // useful for validation anyway. func SupportedOCI1MediaType(m string) error { switch m { - case imgspecv1.MediaTypeDescriptor, imgspecv1.MediaTypeImageConfig, - imgspecv1.MediaTypeImageLayer, imgspecv1.MediaTypeImageLayerGzip, imgspecv1.MediaTypeImageLayerZstd, - imgspecv1.MediaTypeImageLayerNonDistributable, imgspecv1.MediaTypeImageLayerNonDistributableGzip, imgspecv1.MediaTypeImageLayerNonDistributableZstd, //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. - imgspecv1.MediaTypeImageManifest, - imgspecv1.MediaTypeLayoutHeader, - ociencspec.MediaTypeLayerEnc, ociencspec.MediaTypeLayerGzipEnc: + case imgspecv1.MediaTypeDescriptor, imgspecv1.MediaTypeImageConfig, imgspecv1.MediaTypeImageLayer, imgspecv1.MediaTypeImageLayerGzip, imgspecv1.MediaTypeImageLayerNonDistributable, imgspecv1.MediaTypeImageLayerNonDistributableGzip, imgspecv1.MediaTypeImageLayerNonDistributableZstd, imgspecv1.MediaTypeImageLayerZstd, imgspecv1.MediaTypeImageManifest, imgspecv1.MediaTypeLayoutHeader, ociencspec.MediaTypeLayerEnc, ociencspec.MediaTypeLayerGzipEnc: return nil default: return fmt.Errorf("unsupported OCIv1 media type: %q", m) @@ -55,13 +49,13 @@ func SupportedOCI1MediaType(m string) error { } // OCI1FromManifest creates an OCI1 manifest instance from a manifest blob. -func OCI1FromManifest(manifestBlob []byte) (*OCI1, error) { +func OCI1FromManifest(manifest []byte) (*OCI1, error) { oci1 := OCI1{} - if err := json.Unmarshal(manifestBlob, &oci1); err != nil { + if err := json.Unmarshal(manifest, &oci1); err != nil { return nil, err } - if err := manifest.ValidateUnambiguousManifestFormat(manifestBlob, imgspecv1.MediaTypeImageIndex, - manifest.AllowedFieldConfig|manifest.AllowedFieldLayers); err != nil { + if err := validateUnambiguousManifestFormat(manifest, imgspecv1.MediaTypeImageIndex, + allowedFieldConfig|allowedFieldLayers); err != nil { return nil, err } return &oci1, nil @@ -107,9 +101,9 @@ func (m *OCI1) LayerInfos() []LayerInfo { var oci1CompressionMIMETypeSets = []compressionMIMETypeSet{ { - mtsUncompressed: imgspecv1.MediaTypeImageLayerNonDistributable, //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. - compressiontypes.GzipAlgorithmName: imgspecv1.MediaTypeImageLayerNonDistributableGzip, //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. - compressiontypes.ZstdAlgorithmName: imgspecv1.MediaTypeImageLayerNonDistributableZstd, //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. + mtsUncompressed: imgspecv1.MediaTypeImageLayerNonDistributable, + compressiontypes.GzipAlgorithmName: imgspecv1.MediaTypeImageLayerNonDistributableGzip, + compressiontypes.ZstdAlgorithmName: imgspecv1.MediaTypeImageLayerNonDistributableZstd, }, { mtsUncompressed: imgspecv1.MediaTypeImageLayer, @@ -166,13 +160,14 @@ func (m *OCI1) UpdateLayerInfos(layerInfos []types.BlobInfo) error { // getEncryptedMediaType will return the mediatype to its encrypted counterpart and return // an error if the mediatype does not support encryption func getEncryptedMediaType(mediatype string) (string, error) { - if slices.Contains(strings.Split(mediatype, "+")[1:], "encrypted") { - return "", fmt.Errorf("unsupported mediaType: %v already encrypted", mediatype) + for _, s := range strings.Split(mediatype, "+")[1:] { + if s == "encrypted" { + return "", fmt.Errorf("unsupported mediaType: %v already encrypted", mediatype) + } } unsuffixedMediatype := strings.Split(mediatype, "+")[0] switch unsuffixedMediatype { - case DockerV2Schema2LayerMediaType, imgspecv1.MediaTypeImageLayer, - imgspecv1.MediaTypeImageLayerNonDistributable: //nolint:staticcheck // NonDistributable layers are deprecated, but we want to continue to support manipulating pre-existing images. + case DockerV2Schema2LayerMediaType, imgspecv1.MediaTypeImageLayer, imgspecv1.MediaTypeImageLayerNonDistributable: return mediatype + "+encrypted", nil } @@ -183,7 +178,7 @@ func getEncryptedMediaType(mediatype string) (string, error) { // an error if the mediatype does not support decryption func getDecryptedMediaType(mediatype string) (string, error) { if !strings.HasSuffix(mediatype, "+encrypted") { - return "", fmt.Errorf("unsupported mediaType to decrypt: %v", mediatype) + return "", fmt.Errorf("unsupported mediaType to decrypt %v:", mediatype) } return strings.TrimSuffix(mediatype, "+encrypted"), nil @@ -202,7 +197,7 @@ func (m *OCI1) Inspect(configGetter func(types.BlobInfo) ([]byte, error)) (*type // Most software calling this without human intervention is going to expect the values to be realistic and relevant, // and is probably better served by failing; we can always re-visit that later if we fail now, but // if we started returning some data for OCI artifacts now, we couldn’t start failing in this function later. - return nil, manifest.NewNonImageArtifactError(&m.Manifest) + return nil, internalManifest.NewNonImageArtifactError(m.Config.MediaType) } config, err := configGetter(m.ConfigInfo()) @@ -217,19 +212,15 @@ func (m *OCI1) Inspect(configGetter func(types.BlobInfo) ([]byte, error)) (*type if err := json.Unmarshal(config, d1); err != nil { return nil, err } - layerInfos := m.LayerInfos() i := &types.ImageInspectInfo{ Tag: "", Created: v1.Created, DockerVersion: d1.DockerVersion, Labels: v1.Config.Labels, Architecture: v1.Architecture, - Variant: v1.Variant, Os: v1.OS, - Layers: layerInfosToStrings(layerInfos), - LayersData: imgInspectLayersFromLayerInfos(layerInfos), + Layers: layerInfosToStrings(m.LayerInfos()), Env: v1.Config.Env, - Author: v1.Author, } return i, nil } @@ -253,7 +244,7 @@ func (m *OCI1) ImageID([]digest.Digest) (string, error) { // (The only known caller of ImageID is storage/storageImageDestination.computeID, // which can’t work with non-image artifacts.) if m.Config.MediaType != imgspecv1.MediaTypeImageConfig { - return "", manifest.NewNonImageArtifactError(&m.Manifest) + return "", internalManifest.NewNonImageArtifactError(m.Config.MediaType) } if err := m.Config.Digest.Validate(); err != nil { diff --git a/vendor/github.com/containers/image/v5/manifest/oci_index.go b/vendor/github.com/containers/image/v5/manifest/oci_index.go index 193b08935a..726207b9d4 100644 --- a/vendor/github.com/containers/image/v5/manifest/oci_index.go +++ b/vendor/github.com/containers/image/v5/manifest/oci_index.go @@ -1,27 +1,232 @@ package manifest import ( - "github.com/containers/image/v5/internal/manifest" + "encoding/json" + "fmt" + "runtime" + + platform "github.com/containers/image/v5/internal/pkg/platform" + "github.com/containers/image/v5/types" + "github.com/opencontainers/go-digest" + imgspec "github.com/opencontainers/image-spec/specs-go" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" ) // OCI1Index is just an alias for the OCI index type, but one which we can // provide methods for. -type OCI1Index = manifest.OCI1IndexPublic +type OCI1Index struct { + imgspecv1.Index +} + +// MIMEType returns the MIME type of this particular manifest index. +func (index *OCI1Index) MIMEType() string { + return imgspecv1.MediaTypeImageIndex +} + +// Instances returns a slice of digests of the manifests that this index knows of. +func (index *OCI1Index) Instances() []digest.Digest { + results := make([]digest.Digest, len(index.Manifests)) + for i, m := range index.Manifests { + results[i] = m.Digest + } + return results +} + +// Instance returns the ListUpdate of a particular instance in the index. +func (index *OCI1Index) Instance(instanceDigest digest.Digest) (ListUpdate, error) { + for _, manifest := range index.Manifests { + if manifest.Digest == instanceDigest { + return ListUpdate{ + Digest: manifest.Digest, + Size: manifest.Size, + MediaType: manifest.MediaType, + }, nil + } + } + return ListUpdate{}, fmt.Errorf("unable to find instance %s in OCI1Index", instanceDigest) +} + +// UpdateInstances updates the sizes, digests, and media types of the manifests +// which the list catalogs. +func (index *OCI1Index) UpdateInstances(updates []ListUpdate) error { + if len(updates) != len(index.Manifests) { + return fmt.Errorf("incorrect number of update entries passed to OCI1Index.UpdateInstances: expected %d, got %d", len(index.Manifests), len(updates)) + } + for i := range updates { + if err := updates[i].Digest.Validate(); err != nil { + return fmt.Errorf("update %d of %d passed to OCI1Index.UpdateInstances contained an invalid digest: %w", i+1, len(updates), err) + } + index.Manifests[i].Digest = updates[i].Digest + if updates[i].Size < 0 { + return fmt.Errorf("update %d of %d passed to OCI1Index.UpdateInstances had an invalid size (%d)", i+1, len(updates), updates[i].Size) + } + index.Manifests[i].Size = updates[i].Size + if updates[i].MediaType == "" { + return fmt.Errorf("update %d of %d passed to OCI1Index.UpdateInstances had no media type (was %q)", i+1, len(updates), index.Manifests[i].MediaType) + } + index.Manifests[i].MediaType = updates[i].MediaType + } + return nil +} + +// ChooseInstance parses blob as an oci v1 manifest index, and returns the digest +// of the image which is appropriate for the current environment. +func (index *OCI1Index) ChooseInstance(ctx *types.SystemContext) (digest.Digest, error) { + wantedPlatforms, err := platform.WantedPlatforms(ctx) + if err != nil { + return "", fmt.Errorf("getting platform information %#v: %w", ctx, err) + } + for _, wantedPlatform := range wantedPlatforms { + for _, d := range index.Manifests { + if d.Platform == nil { + continue + } + imagePlatform := imgspecv1.Platform{ + Architecture: d.Platform.Architecture, + OS: d.Platform.OS, + OSVersion: d.Platform.OSVersion, + OSFeatures: dupStringSlice(d.Platform.OSFeatures), + Variant: d.Platform.Variant, + } + if platform.MatchesPlatform(imagePlatform, wantedPlatform) { + return d.Digest, nil + } + } + } + + for _, d := range index.Manifests { + if d.Platform == nil { + return d.Digest, nil + } + } + return "", fmt.Errorf("no image found in image index for architecture %s, variant %q, OS %s", wantedPlatforms[0].Architecture, wantedPlatforms[0].Variant, wantedPlatforms[0].OS) +} + +// Serialize returns the index in a blob format. +// NOTE: Serialize() does not in general reproduce the original blob if this object was loaded from one, even if no modifications were made! +func (index *OCI1Index) Serialize() ([]byte, error) { + buf, err := json.Marshal(index) + if err != nil { + return nil, fmt.Errorf("marshaling OCI1Index %#v: %w", index, err) + } + return buf, nil +} // OCI1IndexFromComponents creates an OCI1 image index instance from the // supplied data. func OCI1IndexFromComponents(components []imgspecv1.Descriptor, annotations map[string]string) *OCI1Index { - return manifest.OCI1IndexPublicFromComponents(components, annotations) + index := OCI1Index{ + imgspecv1.Index{ + Versioned: imgspec.Versioned{SchemaVersion: 2}, + MediaType: imgspecv1.MediaTypeImageIndex, + Manifests: make([]imgspecv1.Descriptor, len(components)), + Annotations: dupStringStringMap(annotations), + }, + } + for i, component := range components { + var platform *imgspecv1.Platform + if component.Platform != nil { + platform = &imgspecv1.Platform{ + Architecture: component.Platform.Architecture, + OS: component.Platform.OS, + OSVersion: component.Platform.OSVersion, + OSFeatures: dupStringSlice(component.Platform.OSFeatures), + Variant: component.Platform.Variant, + } + } + m := imgspecv1.Descriptor{ + MediaType: component.MediaType, + Size: component.Size, + Digest: component.Digest, + URLs: dupStringSlice(component.URLs), + Annotations: dupStringStringMap(component.Annotations), + Platform: platform, + } + index.Manifests[i] = m + } + return &index } // OCI1IndexClone creates a deep copy of the passed-in index. func OCI1IndexClone(index *OCI1Index) *OCI1Index { - return manifest.OCI1IndexPublicClone(index) + return OCI1IndexFromComponents(index.Manifests, index.Annotations) +} + +// ToOCI1Index returns the index encoded as an OCI1 index. +func (index *OCI1Index) ToOCI1Index() (*OCI1Index, error) { + return OCI1IndexClone(index), nil +} + +// ToSchema2List returns the index encoded as a Schema2 list. +func (index *OCI1Index) ToSchema2List() (*Schema2List, error) { + components := make([]Schema2ManifestDescriptor, 0, len(index.Manifests)) + for _, manifest := range index.Manifests { + platform := manifest.Platform + if platform == nil { + platform = &imgspecv1.Platform{ + OS: runtime.GOOS, + Architecture: runtime.GOARCH, + } + } + converted := Schema2ManifestDescriptor{ + Schema2Descriptor{ + MediaType: manifest.MediaType, + Size: manifest.Size, + Digest: manifest.Digest, + URLs: dupStringSlice(manifest.URLs), + }, + Schema2PlatformSpec{ + OS: platform.OS, + Architecture: platform.Architecture, + OSFeatures: dupStringSlice(platform.OSFeatures), + OSVersion: platform.OSVersion, + Variant: platform.Variant, + }, + } + components = append(components, converted) + } + s2 := Schema2ListFromComponents(components) + return s2, nil } // OCI1IndexFromManifest creates an OCI1 manifest index instance from marshalled // JSON, presumably generated by encoding a OCI1 manifest index. -func OCI1IndexFromManifest(manifestBlob []byte) (*OCI1Index, error) { - return manifest.OCI1IndexPublicFromManifest(manifestBlob) +func OCI1IndexFromManifest(manifest []byte) (*OCI1Index, error) { + index := OCI1Index{ + Index: imgspecv1.Index{ + Versioned: imgspec.Versioned{SchemaVersion: 2}, + MediaType: imgspecv1.MediaTypeImageIndex, + Manifests: []imgspecv1.Descriptor{}, + Annotations: make(map[string]string), + }, + } + if err := json.Unmarshal(manifest, &index); err != nil { + return nil, fmt.Errorf("unmarshaling OCI1Index %q: %w", string(manifest), err) + } + if err := validateUnambiguousManifestFormat(manifest, imgspecv1.MediaTypeImageIndex, + allowedFieldManifests); err != nil { + return nil, err + } + return &index, nil +} + +// Clone returns a deep copy of this list and its contents. +func (index *OCI1Index) Clone() List { + return OCI1IndexClone(index) +} + +// ConvertToMIMEType converts the passed-in image index to a manifest list of +// the specified type. +func (index *OCI1Index) ConvertToMIMEType(manifestMIMEType string) (List, error) { + switch normalized := NormalizedMIMEType(manifestMIMEType); normalized { + case DockerV2ListMediaType: + return index.ToSchema2List() + case imgspecv1.MediaTypeImageIndex: + return index.Clone(), nil + case DockerV2Schema1MediaType, DockerV2Schema1SignedMediaType, imgspecv1.MediaTypeImageManifest, DockerV2Schema2MediaType: + return nil, fmt.Errorf("Can not convert image index to MIME type %q, which is not a list type", manifestMIMEType) + default: + // Note that this may not be reachable, NormalizedMIMEType has a default for unknown values. + return nil, fmt.Errorf("Unimplemented manifest MIME type %s", manifestMIMEType) + } } diff --git a/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go b/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go index 8386c47a3f..f710be10b6 100644 --- a/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go +++ b/vendor/github.com/containers/image/v5/oci/archive/oci_dest.go @@ -109,8 +109,8 @@ func (d *ociArchiveImageDestination) SupportsPutBlobPartial() bool { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. -// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. -func (d *ociArchiveImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { +// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. +func (d *ociArchiveImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { return d.unpackedDest.PutBlobWithOptions(ctx, stream, inputInfo, options) } @@ -119,16 +119,18 @@ func (d *ociArchiveImageDestination) PutBlobWithOptions(ctx context.Context, str // It is available only if SupportsPutBlobPartial(). // Even if SupportsPutBlobPartial() returns true, the call can fail, in which case the caller // should fall back to PutBlobWithOptions. -func (d *ociArchiveImageDestination) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (private.UploadedBlob, error) { +func (d *ociArchiveImageDestination) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (types.BlobInfo, error) { return d.unpackedDest.PutBlobPartial(ctx, chunkAccessor, srcInfo, cache) } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (d *ociArchiveImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { +func (d *ociArchiveImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { return d.unpackedDest.TryReusingBlobWithOptions(ctx, info, options) } diff --git a/vendor/github.com/containers/image/v5/oci/archive/oci_src.go b/vendor/github.com/containers/image/v5/oci/archive/oci_src.go index ee8409896c..e5ad2570ef 100644 --- a/vendor/github.com/containers/image/v5/oci/archive/oci_src.go +++ b/vendor/github.com/containers/image/v5/oci/archive/oci_src.go @@ -17,29 +17,6 @@ import ( "github.com/sirupsen/logrus" ) -// ImageNotFoundError is used when the OCI structure, in principle, exists and seems valid enough, -// but nothing matches the “image” part of the provided reference. -type ImageNotFoundError struct { - ref ociArchiveReference - // We may make members public, or add methods, in the future. -} - -func (e ImageNotFoundError) Error() string { - return fmt.Sprintf("no descriptor found for reference %q", e.ref.image) -} - -// ArchiveFileNotFoundError occurs when the archive file does not exist. -type ArchiveFileNotFoundError struct { - // ref is the image reference - ref ociArchiveReference - // path is the file path that was not present - path string -} - -func (e ArchiveFileNotFoundError) Error() string { - return fmt.Sprintf("archive file not found: %q", e.path) -} - type ociArchiveImageSource struct { impl.Compat @@ -58,10 +35,6 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref ociArchiv unpackedSrc, err := tempDirRef.ociRefExtracted.NewImageSource(ctx, sys) if err != nil { - var notFound ocilayout.ImageNotFoundError - if errors.As(err, ¬Found) { - err = ImageNotFoundError{ref: ref} - } if err := tempDirRef.deleteTempDir(); err != nil { return nil, fmt.Errorf("deleting temp directory %q: %w", tempDirRef.tempDirectory, err) } diff --git a/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go b/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go index d5fee36310..53371796fb 100644 --- a/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go +++ b/vendor/github.com/containers/image/v5/oci/archive/oci_transport.go @@ -4,7 +4,6 @@ import ( "context" "errors" "fmt" - "io/fs" "os" "strings" @@ -157,7 +156,7 @@ func (t *tempDirOCIRef) deleteTempDir() error { // createOCIRef creates the oci reference of the image // If SystemContext.BigFilesTemporaryDir not "", overrides the temporary directory to use for storing big files func createOCIRef(sys *types.SystemContext, image string) (tempDirOCIRef, error) { - dir, err := tmpdir.MkDirBigFileTemp(sys, "oci") + dir, err := os.MkdirTemp(tmpdir.TemporaryDirectoryForBigFiles(sys), "oci") if err != nil { return tempDirOCIRef{}, fmt.Errorf("creating temp directory: %w", err) } @@ -172,24 +171,18 @@ func createOCIRef(sys *types.SystemContext, image string) (tempDirOCIRef, error) // creates the temporary directory and copies the tarred content to it func createUntarTempDir(sys *types.SystemContext, ref ociArchiveReference) (tempDirOCIRef, error) { - src := ref.resolvedFile - arch, err := os.Open(src) - if err != nil { - if errors.Is(err, fs.ErrNotExist) { - return tempDirOCIRef{}, ArchiveFileNotFoundError{ref: ref, path: src} - } else { - return tempDirOCIRef{}, err - } - } - defer arch.Close() - tempDirRef, err := createOCIRef(sys, ref.image) if err != nil { return tempDirOCIRef{}, fmt.Errorf("creating oci reference: %w", err) } + src := ref.resolvedFile dst := tempDirRef.tempDirectory - // TODO: This can take quite some time, and should ideally be cancellable using a context.Context. + arch, err := os.Open(src) + if err != nil { + return tempDirOCIRef{}, err + } + defer arch.Close() if err := archive.NewDefaultArchiver().Untar(arch, dst, &archive.TarOptions{NoLchown: true}); err != nil { if err := tempDirRef.deleteTempDir(); err != nil { return tempDirOCIRef{}, fmt.Errorf("deleting temp directory %q: %w", tempDirRef.tempDirectory, err) diff --git a/vendor/github.com/containers/image/v5/oci/internal/oci_util.go b/vendor/github.com/containers/image/v5/oci/internal/oci_util.go index 53827b11af..148bc12fa3 100644 --- a/vendor/github.com/containers/image/v5/oci/internal/oci_util.go +++ b/vendor/github.com/containers/image/v5/oci/internal/oci_util.go @@ -58,7 +58,13 @@ func splitPathAndImageWindows(reference string) (string, string) { } func splitPathAndImageNonWindows(reference string) (string, string) { - path, image, _ := strings.Cut(reference, ":") // image is set to "" if there is no ":" + sep := strings.SplitN(reference, ":", 2) + path := sep[0] + + var image string + if len(sep) == 2 { + image = sep[1] + } return path, image } diff --git a/vendor/github.com/containers/image/v5/oci/layout/oci_delete.go b/vendor/github.com/containers/image/v5/oci/layout/oci_delete.go deleted file mode 100644 index 8dd54f255a..0000000000 --- a/vendor/github.com/containers/image/v5/oci/layout/oci_delete.go +++ /dev/null @@ -1,240 +0,0 @@ -package layout - -import ( - "context" - "encoding/json" - "fmt" - "io/fs" - "os" - - "github.com/containers/image/v5/internal/set" - "github.com/containers/image/v5/types" - digest "github.com/opencontainers/go-digest" - imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" -) - -// DeleteImage deletes the named image from the directory, if supported. -func (ref ociReference) DeleteImage(ctx context.Context, sys *types.SystemContext) error { - sharedBlobsDir := "" - if sys != nil && sys.OCISharedBlobDirPath != "" { - sharedBlobsDir = sys.OCISharedBlobDirPath - } - - descriptor, descriptorIndex, err := ref.getManifestDescriptor() - if err != nil { - return err - } - - var blobsUsedByImage map[digest.Digest]int - - switch descriptor.MediaType { - case imgspecv1.MediaTypeImageManifest: - blobsUsedByImage, err = ref.getBlobsUsedInSingleImage(&descriptor, sharedBlobsDir) - case imgspecv1.MediaTypeImageIndex: - blobsUsedByImage, err = ref.getBlobsUsedInImageIndex(&descriptor, sharedBlobsDir) - default: - return fmt.Errorf("unsupported mediaType in index: %q", descriptor.MediaType) - } - if err != nil { - return err - } - - blobsToDelete, err := ref.getBlobsToDelete(blobsUsedByImage, sharedBlobsDir) - if err != nil { - return err - } - - err = ref.deleteBlobs(blobsToDelete) - if err != nil { - return err - } - - return ref.deleteReferenceFromIndex(descriptorIndex) -} - -func (ref ociReference) getBlobsUsedInSingleImage(descriptor *imgspecv1.Descriptor, sharedBlobsDir string) (map[digest.Digest]int, error) { - manifest, err := ref.getManifest(descriptor, sharedBlobsDir) - if err != nil { - return nil, err - } - blobsUsedInManifest := ref.getBlobsUsedInManifest(manifest) - blobsUsedInManifest[descriptor.Digest]++ // Add the current manifest to the list of blobs used by this reference - - return blobsUsedInManifest, nil -} - -func (ref ociReference) getBlobsUsedInImageIndex(descriptor *imgspecv1.Descriptor, sharedBlobsDir string) (map[digest.Digest]int, error) { - blobPath, err := ref.blobPath(descriptor.Digest, sharedBlobsDir) - if err != nil { - return nil, err - } - index, err := parseIndex(blobPath) - if err != nil { - return nil, err - } - - blobsUsedInImageRefIndex := make(map[digest.Digest]int) - err = ref.addBlobsUsedInIndex(blobsUsedInImageRefIndex, index, sharedBlobsDir) - if err != nil { - return nil, err - } - blobsUsedInImageRefIndex[descriptor.Digest]++ // Add the nested index in the list of blobs used by this reference - - return blobsUsedInImageRefIndex, nil -} - -// Updates a map of digest with the usage count, so a blob that is referenced three times will have 3 in the map -func (ref ociReference) addBlobsUsedInIndex(destination map[digest.Digest]int, index *imgspecv1.Index, sharedBlobsDir string) error { - for _, descriptor := range index.Manifests { - destination[descriptor.Digest]++ - switch descriptor.MediaType { - case imgspecv1.MediaTypeImageManifest: - manifest, err := ref.getManifest(&descriptor, sharedBlobsDir) - if err != nil { - return err - } - for digest, count := range ref.getBlobsUsedInManifest(manifest) { - destination[digest] += count - } - case imgspecv1.MediaTypeImageIndex: - blobPath, err := ref.blobPath(descriptor.Digest, sharedBlobsDir) - if err != nil { - return err - } - index, err := parseIndex(blobPath) - if err != nil { - return err - } - err = ref.addBlobsUsedInIndex(destination, index, sharedBlobsDir) - if err != nil { - return err - } - default: - return fmt.Errorf("unsupported mediaType in index: %q", descriptor.MediaType) - } - } - - return nil -} - -func (ref ociReference) getBlobsUsedInManifest(manifest *imgspecv1.Manifest) map[digest.Digest]int { - blobsUsedInManifest := make(map[digest.Digest]int, 0) - - blobsUsedInManifest[manifest.Config.Digest]++ - for _, layer := range manifest.Layers { - blobsUsedInManifest[layer.Digest]++ - } - - return blobsUsedInManifest -} - -// This takes in a map of the digest and their usage count in the manifest to be deleted -// It will compare it to the digest usage in the root index, and return a set of the blobs that can be safely deleted -func (ref ociReference) getBlobsToDelete(blobsUsedByDescriptorToDelete map[digest.Digest]int, sharedBlobsDir string) (*set.Set[digest.Digest], error) { - rootIndex, err := ref.getIndex() - if err != nil { - return nil, err - } - blobsUsedInRootIndex := make(map[digest.Digest]int) - err = ref.addBlobsUsedInIndex(blobsUsedInRootIndex, rootIndex, sharedBlobsDir) - if err != nil { - return nil, err - } - - blobsToDelete := set.New[digest.Digest]() - - for digest, count := range blobsUsedInRootIndex { - if count-blobsUsedByDescriptorToDelete[digest] == 0 { - blobsToDelete.Add(digest) - } - } - - return blobsToDelete, nil -} - -// This transport never generates layouts where blobs for an image are both in the local blobs directory -// and the shared one; it’s either one or the other, depending on how OCISharedBlobDirPath is set. -// -// But we can’t correctly compute use counts for OCISharedBlobDirPath (because we don't know what -// the other layouts sharing that directory are, and we might not even have permission to read them), -// so we can’t really delete any blobs in that case. -// Checking the _local_ blobs directory, and deleting blobs from there, doesn't really hurt, -// in case the layout was created using some other tool or without OCISharedBlobDirPath set, so let's silently -// check for local blobs (but we should make no noise if the blobs are actually in the shared directory). -// -// So, NOTE: the blobPath() call below hard-codes "" even in calls where OCISharedBlobDirPath is set -func (ref ociReference) deleteBlobs(blobsToDelete *set.Set[digest.Digest]) error { - for _, digest := range blobsToDelete.Values() { - blobPath, err := ref.blobPath(digest, "") //Only delete in the local directory, see comment above - if err != nil { - return err - } - err = deleteBlob(blobPath) - if err != nil { - return err - } - } - - return nil -} - -func deleteBlob(blobPath string) error { - logrus.Debug(fmt.Sprintf("Deleting blob at %q", blobPath)) - - err := os.Remove(blobPath) - if err != nil && !os.IsNotExist(err) { - return err - } else { - return nil - } -} - -func (ref ociReference) deleteReferenceFromIndex(referenceIndex int) error { - index, err := ref.getIndex() - if err != nil { - return err - } - - index.Manifests = slices.Delete(index.Manifests, referenceIndex, referenceIndex+1) - - return saveJSON(ref.indexPath(), index) -} - -func saveJSON(path string, content any) error { - // If the file already exists, get its mode to preserve it - var mode fs.FileMode - existingfi, err := os.Stat(path) - if err != nil { - if !os.IsNotExist(err) { - return err - } else { // File does not exist, use default mode - mode = 0644 - } - } else { - mode = existingfi.Mode() - } - - file, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, mode) - if err != nil { - return err - } - defer file.Close() - - return json.NewEncoder(file).Encode(content) -} - -func (ref ociReference) getManifest(descriptor *imgspecv1.Descriptor, sharedBlobsDir string) (*imgspecv1.Manifest, error) { - manifestPath, err := ref.blobPath(descriptor.Digest, sharedBlobsDir) - if err != nil { - return nil, err - } - - manifest, err := parseJSON[imgspecv1.Manifest](manifestPath) - if err != nil { - return nil, err - } - - return manifest, nil -} diff --git a/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go b/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go index 100d16763f..4face7213c 100644 --- a/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go +++ b/vendor/github.com/containers/image/v5/oci/layout/oci_dest.go @@ -12,14 +12,13 @@ import ( "github.com/containers/image/v5/internal/imagedestination/impl" "github.com/containers/image/v5/internal/imagedestination/stubs" - "github.com/containers/image/v5/internal/manifest" "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/internal/putblobdigest" + "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/types" digest "github.com/opencontainers/go-digest" imgspec "github.com/opencontainers/image-spec/specs-go" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/slices" ) type ociImageDestination struct { @@ -85,7 +84,7 @@ func newImageDestination(sys *types.SystemContext, ref ociReference) (private.Im // Per the OCI image specification, layouts MUST have a "blobs" subdirectory, // but it MAY be empty (e.g. if we never end up calling PutBlob) // https://github.com/opencontainers/image-spec/blame/7c889fafd04a893f5c5f50b7ab9963d5d64e5242/image-layout.md#L19 - if err := ensureDirectoryExists(filepath.Join(d.ref.dir, imgspecv1.ImageBlobsDir)); err != nil { + if err := ensureDirectoryExists(filepath.Join(d.ref.dir, "blobs")); err != nil { return nil, err } return d, nil @@ -108,11 +107,11 @@ func (d *ociImageDestination) Close() error { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. -// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. -func (d *ociImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { +// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. +func (d *ociImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { blobFile, err := os.CreateTemp(d.ref.dir, "oci-put-blob") if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } succeeded := false explicitClosed := false @@ -129,14 +128,14 @@ func (d *ociImageDestination) PutBlobWithOptions(ctx context.Context, stream io. // TODO: This can take quite some time, and should ideally be cancellable using ctx.Done(). size, err := io.Copy(blobFile, stream) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } blobDigest := digester.Digest() if inputInfo.Size != -1 && size != inputInfo.Size { - return private.UploadedBlob{}, fmt.Errorf("Size mismatch when copying %s, expected %d, got %d", blobDigest, inputInfo.Size, size) + return types.BlobInfo{}, fmt.Errorf("Size mismatch when copying %s, expected %d, got %d", blobDigest, inputInfo.Size, size) } if err := blobFile.Sync(); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } // On POSIX systems, blobFile was created with mode 0600, so we need to make it readable. @@ -145,53 +144,52 @@ func (d *ociImageDestination) PutBlobWithOptions(ctx context.Context, stream io. // always fails on Windows. if runtime.GOOS != "windows" { if err := blobFile.Chmod(0644); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } } blobPath, err := d.ref.blobPath(blobDigest, d.sharedBlobDir) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } if err := ensureParentDirectoryExists(blobPath); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } // need to explicitly close the file, since a rename won't otherwise not work on Windows blobFile.Close() explicitClosed = true if err := os.Rename(blobFile.Name(), blobPath); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } succeeded = true - return private.UploadedBlob{Digest: blobDigest, Size: size}, nil + return types.BlobInfo{Digest: blobDigest, Size: size}, nil } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (d *ociImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { - if !impl.OriginalBlobMatchesRequiredCompression(options) { - return false, private.ReusedBlob{}, nil - } +func (d *ociImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { if info.Digest == "" { - return false, private.ReusedBlob{}, errors.New("Can not check for a blob with unknown digest") + return false, types.BlobInfo{}, errors.New("Can not check for a blob with unknown digest") } blobPath, err := d.ref.blobPath(info.Digest, d.sharedBlobDir) if err != nil { - return false, private.ReusedBlob{}, err + return false, types.BlobInfo{}, err } finfo, err := os.Stat(blobPath) if err != nil && os.IsNotExist(err) { - return false, private.ReusedBlob{}, nil + return false, types.BlobInfo{}, nil } if err != nil { - return false, private.ReusedBlob{}, err + return false, types.BlobInfo{}, err } - return true, private.ReusedBlob{Digest: info.Digest, Size: finfo.Size()}, nil + return true, types.BlobInfo{Digest: info.Digest, Size: finfo.Size()}, nil } // PutManifest writes a manifest to the destination. Per our list of supported manifest MIME types, @@ -272,8 +270,8 @@ func (d *ociImageDestination) addManifest(desc *imgspecv1.Descriptor) { return } } - // It's a new entry to be added to the index. Use slices.Clone() to avoid a remote dependency on how d.index was created. - d.index.Manifests = append(slices.Clone(d.index.Manifests), *desc) + // It's a new entry to be added to the index. + d.index.Manifests = append(d.index.Manifests, *desc) } // Commit marks the process of storing the image as successful and asks for the image to be persisted. @@ -284,13 +282,7 @@ func (d *ociImageDestination) addManifest(desc *imgspecv1.Descriptor) { // - Uploaded data MAY be visible to others before Commit() is called // - Uploaded data MAY be removed or MAY remain around if Close() is called without Commit() (i.e. rollback is allowed but not guaranteed) func (d *ociImageDestination) Commit(context.Context, types.UnparsedImage) error { - layoutBytes, err := json.Marshal(imgspecv1.ImageLayout{ - Version: imgspecv1.ImageLayoutVersion, - }) - if err != nil { - return err - } - if err := os.WriteFile(d.ref.ociLayoutPath(), layoutBytes, 0644); err != nil { + if err := os.WriteFile(d.ref.ociLayoutPath(), []byte(`{"imageLayoutVersion": "1.0.0"}`), 0644); err != nil { return err } indexJSON, err := json.Marshal(d.index) diff --git a/vendor/github.com/containers/image/v5/oci/layout/oci_src.go b/vendor/github.com/containers/image/v5/oci/layout/oci_src.go index f5f1debc9f..b2d963b019 100644 --- a/vendor/github.com/containers/image/v5/oci/layout/oci_src.go +++ b/vendor/github.com/containers/image/v5/oci/layout/oci_src.go @@ -12,8 +12,8 @@ import ( "github.com/containers/image/v5/internal/imagesource/impl" "github.com/containers/image/v5/internal/imagesource/stubs" - "github.com/containers/image/v5/internal/manifest" "github.com/containers/image/v5/internal/private" + "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/pkg/tlsclientconfig" "github.com/containers/image/v5/types" "github.com/docker/go-connections/tlsconfig" @@ -21,17 +21,6 @@ import ( imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" ) -// ImageNotFoundError is used when the OCI structure, in principle, exists and seems valid enough, -// but nothing matches the “image” part of the provided reference. -type ImageNotFoundError struct { - ref ociReference - // We may make members public, or add methods, in the future. -} - -func (e ImageNotFoundError) Error() string { - return fmt.Sprintf("no descriptor found for reference %q", e.ref.image) -} - type ociImageSource struct { impl.Compat impl.PropertyMethodsInitialize @@ -60,7 +49,7 @@ func newImageSource(sys *types.SystemContext, ref ociReference) (private.ImageSo client := &http.Client{} client.Transport = tr - descriptor, _, err := ref.getManifestDescriptor() + descriptor, err := ref.getManifestDescriptor() if err != nil { return nil, err } @@ -94,7 +83,6 @@ func (s *ociImageSource) Reference() types.ImageReference { // Close removes resources associated with an initialized ImageSource, if any. func (s *ociImageSource) Close() error { - s.client.CloseIdleConnections() return nil } @@ -108,7 +96,7 @@ func (s *ociImageSource) GetManifest(ctx context.Context, instanceDigest *digest var err error if instanceDigest == nil { - dig = s.descriptor.Digest + dig = digest.Digest(s.descriptor.Digest) mimeType = s.descriptor.MediaType } else { dig = *instanceDigest diff --git a/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go b/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go index 1e26dc5244..be22bed6d5 100644 --- a/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go +++ b/vendor/github.com/containers/image/v5/oci/layout/oci_transport.go @@ -100,7 +100,7 @@ func (ref ociReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix. func (ref ociReference) StringWithinTransport() string { return fmt.Sprintf("%s:%s", ref.dir, ref.image) @@ -160,56 +160,54 @@ func (ref ociReference) NewImage(ctx context.Context, sys *types.SystemContext) // getIndex returns a pointer to the index references by this ociReference. If an error occurs opening an index nil is returned together // with an error. func (ref ociReference) getIndex() (*imgspecv1.Index, error) { - return parseIndex(ref.indexPath()) -} - -func parseIndex(path string) (*imgspecv1.Index, error) { - return parseJSON[imgspecv1.Index](path) -} - -func parseJSON[T any](path string) (*T, error) { - content, err := os.Open(path) + indexJSON, err := os.Open(ref.indexPath()) if err != nil { return nil, err } - defer content.Close() + defer indexJSON.Close() - obj := new(T) - if err := json.NewDecoder(content).Decode(obj); err != nil { + index := &imgspecv1.Index{} + if err := json.NewDecoder(indexJSON).Decode(index); err != nil { return nil, err } - return obj, nil + return index, nil } -func (ref ociReference) getManifestDescriptor() (imgspecv1.Descriptor, int, error) { +func (ref ociReference) getManifestDescriptor() (imgspecv1.Descriptor, error) { index, err := ref.getIndex() if err != nil { - return imgspecv1.Descriptor{}, -1, err + return imgspecv1.Descriptor{}, err } + var d *imgspecv1.Descriptor if ref.image == "" { // return manifest if only one image is in the oci directory - if len(index.Manifests) != 1 { + if len(index.Manifests) == 1 { + d = &index.Manifests[0] + } else { // ask user to choose image when more than one image in the oci directory - return imgspecv1.Descriptor{}, -1, ErrMoreThanOneImage + return imgspecv1.Descriptor{}, ErrMoreThanOneImage } - return index.Manifests[0], 0, nil } else { // if image specified, look through all manifests for a match - var unsupportedMIMETypes []string - for i, md := range index.Manifests { - if refName, ok := md.Annotations[imgspecv1.AnnotationRefName]; ok && refName == ref.image { - if md.MediaType == imgspecv1.MediaTypeImageManifest || md.MediaType == imgspecv1.MediaTypeImageIndex { - return md, i, nil - } - unsupportedMIMETypes = append(unsupportedMIMETypes, md.MediaType) + for _, md := range index.Manifests { + if md.MediaType != imgspecv1.MediaTypeImageManifest && md.MediaType != imgspecv1.MediaTypeImageIndex { + continue + } + refName, ok := md.Annotations[imgspecv1.AnnotationRefName] + if !ok { + continue + } + if refName == ref.image { + d = &md + break } } - if len(unsupportedMIMETypes) != 0 { - return imgspecv1.Descriptor{}, -1, fmt.Errorf("reference %q matches unsupported manifest MIME types %q", ref.image, unsupportedMIMETypes) - } } - return imgspecv1.Descriptor{}, -1, ImageNotFoundError{ref} + if d == nil { + return imgspecv1.Descriptor{}, fmt.Errorf("no descriptor found for reference %q", ref.image) + } + return *d, nil } // LoadManifestDescriptor loads the manifest descriptor to be used to retrieve the image name @@ -219,8 +217,7 @@ func LoadManifestDescriptor(imgRef types.ImageReference) (imgspecv1.Descriptor, if !ok { return imgspecv1.Descriptor{}, errors.New("error typecasting, need type ociRef") } - md, _, err := ociRef.getManifestDescriptor() - return md, err + return ociRef.getManifestDescriptor() } // NewImageSource returns a types.ImageSource for this reference. @@ -235,14 +232,19 @@ func (ref ociReference) NewImageDestination(ctx context.Context, sys *types.Syst return newImageDestination(sys, ref) } +// DeleteImage deletes the named image from the registry, if supported. +func (ref ociReference) DeleteImage(ctx context.Context, sys *types.SystemContext) error { + return errors.New("Deleting images not implemented for oci: images") +} + // ociLayoutPath returns a path for the oci-layout within a directory using OCI conventions. func (ref ociReference) ociLayoutPath() string { - return filepath.Join(ref.dir, imgspecv1.ImageLayoutFile) + return filepath.Join(ref.dir, "oci-layout") } // indexPath returns a path for the index.json within a directory using OCI conventions. func (ref ociReference) indexPath() string { - return filepath.Join(ref.dir, imgspecv1.ImageIndexFile) + return filepath.Join(ref.dir, "index.json") } // blobPath returns a path for a blob within a directory using OCI image-layout conventions. @@ -250,11 +252,9 @@ func (ref ociReference) blobPath(digest digest.Digest, sharedBlobDir string) (st if err := digest.Validate(); err != nil { return "", fmt.Errorf("unexpected digest reference %s: %w", digest, err) } - var blobDir string + blobDir := filepath.Join(ref.dir, "blobs") if sharedBlobDir != "" { blobDir = sharedBlobDir - } else { - blobDir = filepath.Join(ref.dir, imgspecv1.ImageBlobsDir) } return filepath.Join(blobDir, digest.Algorithm().String(), digest.Hex()), nil } diff --git a/vendor/github.com/containers/image/v5/openshift/openshift-copies.go b/vendor/github.com/containers/image/v5/openshift/openshift-copies.go index c6498f6ca5..8df1bfc8b6 100644 --- a/vendor/github.com/containers/image/v5/openshift/openshift-copies.go +++ b/vendor/github.com/containers/image/v5/openshift/openshift-copies.go @@ -3,12 +3,11 @@ package openshift import ( "crypto/tls" "crypto/x509" - "encoding/base64" + "encoding/json" "errors" "fmt" "net" "net/http" - "net/netip" "net/url" "os" "path" @@ -17,11 +16,11 @@ import ( "strings" "time" - "dario.cat/mergo" "github.com/containers/storage/pkg/homedir" + "github.com/ghodss/yaml" + "github.com/imdario/mergo" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" - "gopkg.in/yaml.v3" + "golang.org/x/net/http2" ) // restTLSClientConfig is a modified copy of k8s.io/kubernetes/pkg/client/restclient.TLSClientConfig. @@ -206,12 +205,15 @@ func (config *directClientConfig) ClientConfig() (*restConfig, error) { if isConfigTransportTLS(*clientConfig) { var err error // REMOVED: Support for interactive fallback. - userAuthPartialConfig := getUserIdentificationPartialConfig(configAuthInfo) + userAuthPartialConfig, err := getUserIdentificationPartialConfig(configAuthInfo) + if err != nil { + return nil, err + } if err = mergo.MergeWithOverwrite(clientConfig, userAuthPartialConfig); err != nil { return nil, err } - serverAuthPartialConfig, err := getServerIdentificationPartialConfig(configClusterInfo) + serverAuthPartialConfig, err := getServerIdentificationPartialConfig(configAuthInfo, configClusterInfo) if err != nil { return nil, err } @@ -230,7 +232,7 @@ func (config *directClientConfig) ClientConfig() (*restConfig, error) { // 1. configClusterInfo (the final result of command line flags and merged .kubeconfig files) // 2. configAuthInfo.auth-path (this file can contain information that conflicts with #1, and we want #1 to win the priority) // 3. load the ~/.kubernetes_auth file as a default -func getServerIdentificationPartialConfig(configClusterInfo clientcmdCluster) (*restConfig, error) { +func getServerIdentificationPartialConfig(configAuthInfo clientcmdAuthInfo, configClusterInfo clientcmdCluster) (*restConfig, error) { mergedConfig := &restConfig{} // configClusterInfo holds the information identify the server provided by .kubeconfig @@ -253,7 +255,7 @@ func getServerIdentificationPartialConfig(configClusterInfo clientcmdCluster) (* // 2. configAuthInfo.auth-path (this file can contain information that conflicts with #1, and we want #1 to win the priority) // 3. if there is not enough information to identify the user, load try the ~/.kubernetes_auth file // 4. if there is not enough information to identify the user, prompt if possible -func getUserIdentificationPartialConfig(configAuthInfo clientcmdAuthInfo) *restConfig { +func getUserIdentificationPartialConfig(configAuthInfo clientcmdAuthInfo) (*restConfig, error) { mergedConfig := &restConfig{} // blindly overwrite existing values based on precedence @@ -272,7 +274,7 @@ func getUserIdentificationPartialConfig(configAuthInfo clientcmdAuthInfo) *restC } // REMOVED: prompting for missing information. - return mergedConfig + return mergedConfig, nil } // ConfirmUsable is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd.DirectClientConfig.ConfirmUsable. @@ -330,7 +332,7 @@ var ( errEmptyCluster = errors.New("cluster has no server defined") ) -// helper for checking certificate/key/CA +//helper for checking certificate/key/CA func validateFileIsReadable(name string) error { answer, err := os.Open(name) defer func() { @@ -543,10 +545,8 @@ type clientConfigLoadingRules struct { // Load is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd.ClientConfigLoadingRules.Load // Load starts by running the MigrationRules and then // takes the loading rules and returns a Config object based on following rules. -// -// - if the ExplicitPath, return the unmerged explicit file -// - Otherwise, return a merged config based on the Precedence slice -// +// if the ExplicitPath, return the unmerged explicit file +// Otherwise, return a merged config based on the Precedence slice // A missing ExplicitPath file produces an error. Empty filenames or other missing files are ignored. // Read errors or files with non-deserializable content produce errors. // The first file to set a particular map key wins and map key's value is never changed. @@ -670,7 +670,11 @@ func load(data []byte) (*clientcmdConfig, error) { return config, nil } // Note: This does absolutely no kind/version checking or conversions. - if err := yaml.Unmarshal(data, config); err != nil { + data, err := yaml.YAMLToJSON(data) + if err != nil { + return nil, err + } + if err := json.Unmarshal(data, config); err != nil { return nil, err } return config, nil @@ -871,11 +875,11 @@ func newProxierWithNoProxyCIDR(delegate func(req *http.Request) (*url.URL, error noProxyEnv := os.Getenv("NO_PROXY") noProxyRules := strings.Split(noProxyEnv, ",") - cidrs := []netip.Prefix{} + cidrs := []*net.IPNet{} for _, noProxyRule := range noProxyRules { - prefix, err := netip.ParsePrefix(noProxyRule) - if err == nil { - cidrs = append(cidrs, prefix) + _, cidr, _ := net.ParseCIDR(noProxyRule) + if cidr != nil { + cidrs = append(cidrs, cidr) } } @@ -886,7 +890,7 @@ func newProxierWithNoProxyCIDR(delegate func(req *http.Request) (*url.URL, error return func(req *http.Request) (*url.URL, error) { host := req.URL.Host // for some urls, the Host is already the host, not the host:port - if _, err := netip.ParseAddr(host); err != nil { + if net.ParseIP(host) == nil { var err error host, _, err = net.SplitHostPort(req.URL.Host) if err != nil { @@ -894,15 +898,15 @@ func newProxierWithNoProxyCIDR(delegate func(req *http.Request) (*url.URL, error } } - ip, err := netip.ParseAddr(host) - if err != nil { + ip := net.ParseIP(host) + if ip == nil { return delegate(req) } - if slices.ContainsFunc(cidrs, func(cidr netip.Prefix) bool { - return cidr.Contains(ip) - }) { - return nil, nil + for _, cidr := range cidrs { + if cidr.Contains(ip) { + return nil, nil + } } return delegate(req) @@ -930,14 +934,14 @@ func tlsCacheGet(config *restConfig) (http.RoundTripper, error) { Proxy: newProxierWithNoProxyCIDR(http.ProxyFromEnvironment), TLSHandshakeTimeout: 10 * time.Second, TLSClientConfig: tlsConfig, - DialContext: (&net.Dialer{ + Dial: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, - }).DialContext, + }).Dial, } // Allow clients to disable http2 if needed. if s := os.Getenv("DISABLE_HTTP2"); len(s) == 0 { - t.ForceAttemptHTTP2 = true + _ = http2.ConfigureTransport(t) } return t, nil } @@ -957,6 +961,8 @@ func tlsConfigFor(c *restConfig) (*tls.Config, error) { } tlsConfig := &tls.Config{ + // Change default from SSLv3 to TLSv1.0 (because of POODLE vulnerability) + MinVersion: tls.VersionTLS10, InsecureSkipVerify: c.Insecure, } @@ -1049,20 +1055,20 @@ func (c *restConfig) HasCertAuth() bool { // IMPORTANT if you add fields to this struct, please update IsConfigEmpty() type clientcmdConfig struct { // Clusters is a map of referenceable names to cluster configs - Clusters clustersMap `yaml:"clusters"` + Clusters clustersMap `json:"clusters"` // AuthInfos is a map of referenceable names to user configs - AuthInfos authInfosMap `yaml:"users"` + AuthInfos authInfosMap `json:"users"` // Contexts is a map of referenceable names to context configs - Contexts contextsMap `yaml:"contexts"` + Contexts contextsMap `json:"contexts"` // CurrentContext is the name of the context that you would like to use by default - CurrentContext string `yaml:"current-context"` + CurrentContext string `json:"current-context"` } type clustersMap map[string]*clientcmdCluster -func (m *clustersMap) UnmarshalYAML(value *yaml.Node) error { +func (m *clustersMap) UnmarshalJSON(data []byte) error { var a []v1NamedCluster - if err := value.Decode(&a); err != nil { + if err := json.Unmarshal(data, &a); err != nil { return err } for _, e := range a { @@ -1074,9 +1080,9 @@ func (m *clustersMap) UnmarshalYAML(value *yaml.Node) error { type authInfosMap map[string]*clientcmdAuthInfo -func (m *authInfosMap) UnmarshalYAML(value *yaml.Node) error { +func (m *authInfosMap) UnmarshalJSON(data []byte) error { var a []v1NamedAuthInfo - if err := value.Decode(&a); err != nil { + if err := json.Unmarshal(data, &a); err != nil { return err } for _, e := range a { @@ -1088,9 +1094,9 @@ func (m *authInfosMap) UnmarshalYAML(value *yaml.Node) error { type contextsMap map[string]*clientcmdContext -func (m *contextsMap) UnmarshalYAML(value *yaml.Node) error { +func (m *contextsMap) UnmarshalJSON(data []byte) error { var a []v1NamedContext - if err := value.Decode(&a); err != nil { + if err := json.Unmarshal(data, &a); err != nil { return err } for _, e := range a { @@ -1110,32 +1116,19 @@ func clientcmdNewConfig() *clientcmdConfig { } } -// yamlBinaryAsBase64String is a []byte that can be stored in yaml as a !!str, not a !!binary -type yamlBinaryAsBase64String []byte - -func (bin *yamlBinaryAsBase64String) UnmarshalText(text []byte) error { - res := make([]byte, base64.StdEncoding.DecodedLen(len(text))) - n, err := base64.StdEncoding.Decode(res, text) - if err != nil { - return err - } - *bin = res[:n] - return nil -} - // clientcmdCluster is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api.Cluster. // Cluster contains information about how to communicate with a kubernetes cluster type clientcmdCluster struct { // LocationOfOrigin indicates where this object came from. It is used for round tripping config post-merge, but never serialized. LocationOfOrigin string // Server is the address of the kubernetes cluster (https://hostname:port). - Server string `yaml:"server"` + Server string `json:"server"` // InsecureSkipTLSVerify skips the validity check for the server's certificate. This will make your HTTPS connections insecure. - InsecureSkipTLSVerify bool `yaml:"insecure-skip-tls-verify,omitempty"` + InsecureSkipTLSVerify bool `json:"insecure-skip-tls-verify,omitempty"` // CertificateAuthority is the path to a cert file for the certificate authority. - CertificateAuthority string `yaml:"certificate-authority,omitempty"` + CertificateAuthority string `json:"certificate-authority,omitempty"` // CertificateAuthorityData contains PEM-encoded certificate authority certificates. Overrides CertificateAuthority - CertificateAuthorityData yamlBinaryAsBase64String `yaml:"certificate-authority-data,omitempty"` + CertificateAuthorityData []byte `json:"certificate-authority-data,omitempty"` } // clientcmdAuthInfo is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api.AuthInfo. @@ -1144,19 +1137,19 @@ type clientcmdAuthInfo struct { // LocationOfOrigin indicates where this object came from. It is used for round tripping config post-merge, but never serialized. LocationOfOrigin string // ClientCertificate is the path to a client cert file for TLS. - ClientCertificate string `yaml:"client-certificate,omitempty"` + ClientCertificate string `json:"client-certificate,omitempty"` // ClientCertificateData contains PEM-encoded data from a client cert file for TLS. Overrides ClientCertificate - ClientCertificateData yamlBinaryAsBase64String `yaml:"client-certificate-data,omitempty"` + ClientCertificateData []byte `json:"client-certificate-data,omitempty"` // ClientKey is the path to a client key file for TLS. - ClientKey string `yaml:"client-key,omitempty"` + ClientKey string `json:"client-key,omitempty"` // ClientKeyData contains PEM-encoded data from a client key file for TLS. Overrides ClientKey - ClientKeyData yamlBinaryAsBase64String `yaml:"client-key-data,omitempty"` + ClientKeyData []byte `json:"client-key-data,omitempty"` // Token is the bearer token for authentication to the kubernetes cluster. - Token string `yaml:"token,omitempty"` + Token string `json:"token,omitempty"` // Username is the username for basic authentication to the kubernetes cluster. - Username string `yaml:"username,omitempty"` + Username string `json:"username,omitempty"` // Password is the password for basic authentication to the kubernetes cluster. - Password string `yaml:"password,omitempty"` + Password string `json:"password,omitempty"` } // clientcmdContext is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api.Context. @@ -1165,36 +1158,36 @@ type clientcmdContext struct { // LocationOfOrigin indicates where this object came from. It is used for round tripping config post-merge, but never serialized. LocationOfOrigin string // Cluster is the name of the cluster for this context - Cluster string `yaml:"cluster"` + Cluster string `json:"cluster"` // AuthInfo is the name of the authInfo for this context - AuthInfo string `yaml:"user"` + AuthInfo string `json:"user"` // Namespace is the default namespace to use on unspecified requests - Namespace string `yaml:"namespace,omitempty"` + Namespace string `json:"namespace,omitempty"` } // v1NamedCluster is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api.v1.NamedCluster. // NamedCluster relates nicknames to cluster information type v1NamedCluster struct { // Name is the nickname for this Cluster - Name string `yaml:"name"` + Name string `json:"name"` // Cluster holds the cluster information - Cluster clientcmdCluster `yaml:"cluster"` + Cluster clientcmdCluster `json:"cluster"` } // v1NamedContext is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api.v1.NamedContext. // NamedContext relates nicknames to context information type v1NamedContext struct { // Name is the nickname for this Context - Name string `yaml:"name"` + Name string `json:"name"` // Context holds the context information - Context clientcmdContext `yaml:"context"` + Context clientcmdContext `json:"context"` } // v1NamedAuthInfo is a modified copy of k8s.io/kubernetes/pkg/client/unversioned/clientcmd/api.v1.NamedAuthInfo. // NamedAuthInfo relates nicknames to auth information type v1NamedAuthInfo struct { // Name is the nickname for this AuthInfo - Name string `yaml:"name"` + Name string `json:"name"` // AuthInfo holds the auth information - AuthInfo clientcmdAuthInfo `yaml:"user"` + AuthInfo clientcmdAuthInfo `json:"user"` } diff --git a/vendor/github.com/containers/image/v5/openshift/openshift.go b/vendor/github.com/containers/image/v5/openshift/openshift.go index 2c69afbe94..b2e4dfd9e8 100644 --- a/vendor/github.com/containers/image/v5/openshift/openshift.go +++ b/vendor/github.com/containers/image/v5/openshift/openshift.go @@ -65,20 +65,16 @@ func newOpenshiftClient(ref openshiftReference) (*openshiftClient, error) { }, nil } -func (c *openshiftClient) close() { - c.httpClient.CloseIdleConnections() -} - // doRequest performs a correctly authenticated request to a specified path, and returns response body or an error object. func (c *openshiftClient) doRequest(ctx context.Context, method, path string, requestBody []byte) ([]byte, error) { - requestURL := *c.baseURL - requestURL.Path = path + url := *c.baseURL + url.Path = path var requestBodyReader io.Reader if requestBody != nil { logrus.Debugf("Will send body: %s", requestBody) requestBodyReader = bytes.NewReader(requestBody) } - req, err := http.NewRequestWithContext(ctx, method, requestURL.String(), requestBodyReader) + req, err := http.NewRequestWithContext(ctx, method, url.String(), requestBodyReader) if err != nil { return nil, err } @@ -94,7 +90,7 @@ func (c *openshiftClient) doRequest(ctx context.Context, method, path string, re req.Header.Set("Content-Type", "application/json") } - logrus.Debugf("%s %s", method, requestURL.Redacted()) + logrus.Debugf("%s %s", method, url.Redacted()) res, err := c.httpClient.Do(req) if err != nil { return nil, err @@ -150,11 +146,11 @@ func (c *openshiftClient) getImage(ctx context.Context, imageStreamImageName str // convertDockerImageReference takes an image API DockerImageReference value and returns a reference we can actually use; // currently OpenShift stores the cluster-internal service IPs here, which are unusable from the outside. func (c *openshiftClient) convertDockerImageReference(ref string) (string, error) { - _, repo, gotRepo := strings.Cut(ref, "/") - if !gotRepo { + parts := strings.SplitN(ref, "/", 2) + if len(parts) != 2 { return "", fmt.Errorf("Invalid format of docker reference %s: missing '/'", ref) } - return reference.Domain(c.ref.dockerReference) + "/" + repo, nil + return reference.Domain(c.ref.dockerReference) + "/" + parts[1], nil } // These structs are subsets of github.com/openshift/origin/pkg/image/api/v1 and its dependencies. diff --git a/vendor/github.com/containers/image/v5/openshift/openshift_dest.go b/vendor/github.com/containers/image/v5/openshift/openshift_dest.go index 50a5339e1b..d5dbaf27eb 100644 --- a/vendor/github.com/containers/image/v5/openshift/openshift_dest.go +++ b/vendor/github.com/containers/image/v5/openshift/openshift_dest.go @@ -17,12 +17,10 @@ import ( "github.com/containers/image/v5/internal/imagedestination/impl" "github.com/containers/image/v5/internal/imagedestination/stubs" "github.com/containers/image/v5/internal/private" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/internal/signature" "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/types" "github.com/opencontainers/go-digest" - "golang.org/x/exp/slices" ) type openshiftImageDestination struct { @@ -71,9 +69,7 @@ func (d *openshiftImageDestination) Reference() types.ImageReference { // Close removes resources associated with an initialized ImageDestination, if any. func (d *openshiftImageDestination) Close() error { - err := d.docker.Close() - d.client.close() - return err + return d.docker.Close() } func (d *openshiftImageDestination) SupportedManifestMIMETypes() []string { @@ -118,8 +114,8 @@ func (d *openshiftImageDestination) SupportsPutBlobPartial() bool { // inputInfo.MediaType describes the blob format, if known. // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. -// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlobWithOptions MUST 1) fail, and 2) delete any data stored so far. -func (d *openshiftImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { +// If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. +func (d *openshiftImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { return d.docker.PutBlobWithOptions(ctx, stream, inputInfo, options) } @@ -128,16 +124,18 @@ func (d *openshiftImageDestination) PutBlobWithOptions(ctx context.Context, stre // It is available only if SupportsPutBlobPartial(). // Even if SupportsPutBlobPartial() returns true, the call can fail, in which case the caller // should fall back to PutBlobWithOptions. -func (d *openshiftImageDestination) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (private.UploadedBlob, error) { +func (d *openshiftImageDestination) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (types.BlobInfo, error) { return d.docker.PutBlobPartial(ctx, chunkAccessor, srcInfo, cache) } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (d *openshiftImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { +func (d *openshiftImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { return d.docker.TryReusingBlobWithOptions(ctx, info, options) } @@ -182,11 +180,12 @@ func (d *openshiftImageDestination) PutSignaturesWithFormat(ctx context.Context, if err != nil { return err } - existingSigNames := set.New[string]() + existingSigNames := map[string]struct{}{} for _, sig := range image.Signatures { - existingSigNames.Add(sig.objectMeta.Name) + existingSigNames[sig.objectMeta.Name] = struct{}{} } +sigExists: for _, newSigWithFormat := range signatures { newSigSimple, ok := newSigWithFormat.(signature.SimpleSigning) if !ok { @@ -194,10 +193,10 @@ func (d *openshiftImageDestination) PutSignaturesWithFormat(ctx context.Context, } newSig := newSigSimple.UntrustedSignature() - if slices.ContainsFunc(image.Signatures, func(existingSig imageSignature) bool { - return existingSig.Type == imageSignatureTypeAtomic && bytes.Equal(existingSig.Content, newSig) - }) { - continue + for _, existingSig := range image.Signatures { + if existingSig.Type == imageSignatureTypeAtomic && bytes.Equal(existingSig.Content, newSig) { + continue sigExists + } } // The API expect us to invent a new unique name. This is racy, but hopefully good enough. @@ -209,7 +208,7 @@ func (d *openshiftImageDestination) PutSignaturesWithFormat(ctx context.Context, return fmt.Errorf("generating random signature len %d: %w", n, err) } signatureName = fmt.Sprintf("%s@%032x", imageStreamImageName, randBytes) - if !existingSigNames.Contains(signatureName) { + if _, ok := existingSigNames[signatureName]; !ok { break } } diff --git a/vendor/github.com/containers/image/v5/openshift/openshift_src.go b/vendor/github.com/containers/image/v5/openshift/openshift_src.go index 0ac0127ee7..93ba8d10e3 100644 --- a/vendor/github.com/containers/image/v5/openshift/openshift_src.go +++ b/vendor/github.com/containers/image/v5/openshift/openshift_src.go @@ -60,15 +60,14 @@ func (s *openshiftImageSource) Reference() types.ImageReference { // Close removes resources associated with an initialized ImageSource, if any. func (s *openshiftImageSource) Close() error { - var err error if s.docker != nil { - err = s.docker.Close() + err := s.docker.Close() s.docker = nil - } - s.client.close() + return err + } - return err + return nil } // GetManifest returns the image's manifest along with its MIME type (which may be empty when it can't be determined but the manifest is available). diff --git a/vendor/github.com/containers/image/v5/openshift/openshift_transport.go b/vendor/github.com/containers/image/v5/openshift/openshift_transport.go index 0ba435d560..f7971a48f5 100644 --- a/vendor/github.com/containers/image/v5/openshift/openshift_transport.go +++ b/vendor/github.com/containers/image/v5/openshift/openshift_transport.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "regexp" "strings" "github.com/containers/image/v5/docker/policyconfiguration" @@ -11,7 +12,6 @@ import ( genericImage "github.com/containers/image/v5/internal/image" "github.com/containers/image/v5/transports" "github.com/containers/image/v5/types" - "github.com/containers/storage/pkg/regexp" ) func init() { @@ -35,7 +35,7 @@ func (t openshiftTransport) ParseReference(reference string) (types.ImageReferen // Note that imageNameRegexp is namespace/stream:tag, this // is HOSTNAME/namespace/stream:tag or parent prefixes. // Keep this in sync with imageNameRegexp! -var scopeRegexp = regexp.Delayed("^[^/]*(/[^:/]*(/[^:/]*(:[^:/]*)?)?)?$") +var scopeRegexp = regexp.MustCompile("^[^/]*(/[^:/]*(/[^:/]*(:[^:/]*)?)?)?$") // ValidatePolicyConfigurationScope checks that scope is a valid name for a signature.PolicyTransportScopes keys // (i.e. a valid PolicyConfigurationIdentity() or PolicyConfigurationNamespaces() return value). @@ -89,7 +89,7 @@ func (ref openshiftReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix. func (ref openshiftReference) StringWithinTransport() string { return reference.FamiliarString(ref.dockerReference) diff --git a/vendor/github.com/containers/image/v5/ostree/ostree_dest.go b/vendor/github.com/containers/image/v5/ostree/ostree_dest.go index d00a0cdf86..929523fa6c 100644 --- a/vendor/github.com/containers/image/v5/ostree/ostree_dest.go +++ b/vendor/github.com/containers/image/v5/ostree/ostree_dest.go @@ -69,7 +69,7 @@ type manifestSchema struct { } type ostreeImageDestination struct { - impl.Compat + compat impl.Compat impl.PropertyMethodsInitialize stubs.NoPutBlobPartialInitialize stubs.AlwaysSupportsSignatures @@ -135,16 +135,16 @@ func (d *ostreeImageDestination) Close() error { // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. // If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. -func (d *ostreeImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { +func (d *ostreeImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, inputInfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { tmpDir, err := os.MkdirTemp(d.tmpDirPath, "blob") if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } blobPath := filepath.Join(tmpDir, "content") blobFile, err := os.Create(blobPath) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } defer blobFile.Close() @@ -152,19 +152,19 @@ func (d *ostreeImageDestination) PutBlobWithOptions(ctx context.Context, stream // TODO: This can take quite some time, and should ideally be cancellable using ctx.Done(). size, err := io.Copy(blobFile, stream) if err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } blobDigest := digester.Digest() if inputInfo.Size != -1 && size != inputInfo.Size { - return private.UploadedBlob{}, fmt.Errorf("Size mismatch when copying %s, expected %d, got %d", blobDigest, inputInfo.Size, size) + return types.BlobInfo{}, fmt.Errorf("Size mismatch when copying %s, expected %d, got %d", blobDigest, inputInfo.Size, size) } if err := blobFile.Sync(); err != nil { - return private.UploadedBlob{}, err + return types.BlobInfo{}, err } hash := blobDigest.Hex() d.blobs[hash] = &blobToImport{Size: size, Digest: blobDigest, BlobPath: blobPath} - return private.UploadedBlob{Digest: blobDigest, Size: size}, nil + return types.BlobInfo{Digest: blobDigest, Size: size}, nil } func fixFiles(selinuxHnd *C.struct_selabel_handle, root string, dir string, usermode bool) error { @@ -334,14 +334,11 @@ func (d *ostreeImageDestination) importConfig(repo *otbuiltin.Repo, blob *blobTo // include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be // reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (d *ostreeImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { - if !impl.OriginalBlobMatchesRequiredCompression(options) { - return false, private.ReusedBlob{}, nil - } +func (d *ostreeImageDestination) TryReusingBlobWithOptions(ctx context.Context, info types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { if d.repo == nil { repo, err := openRepo(d.ref.repo) if err != nil { - return false, private.ReusedBlob{}, err + return false, types.BlobInfo{}, err } d.repo = repo } @@ -349,25 +346,25 @@ func (d *ostreeImageDestination) TryReusingBlobWithOptions(ctx context.Context, found, data, err := readMetadata(d.repo, branch, "docker.uncompressed_digest") if err != nil || !found { - return found, private.ReusedBlob{}, err + return found, types.BlobInfo{}, err } found, data, err = readMetadata(d.repo, branch, "docker.uncompressed_size") if err != nil || !found { - return found, private.ReusedBlob{}, err + return found, types.BlobInfo{}, err } found, data, err = readMetadata(d.repo, branch, "docker.size") if err != nil || !found { - return found, private.ReusedBlob{}, err + return found, types.BlobInfo{}, err } size, err := strconv.ParseInt(data, 10, 64) if err != nil { - return false, private.ReusedBlob{}, err + return false, types.BlobInfo{}, err } - return true, private.ReusedBlob{Digest: info.Digest, Size: size}, nil + return true, types.BlobInfo{Digest: info.Digest, Size: size}, nil } // PutManifest writes manifest to the destination. diff --git a/vendor/github.com/containers/image/v5/ostree/ostree_transport.go b/vendor/github.com/containers/image/v5/ostree/ostree_transport.go index d83f85b90f..658d4e9035 100644 --- a/vendor/github.com/containers/image/v5/ostree/ostree_transport.go +++ b/vendor/github.com/containers/image/v5/ostree/ostree_transport.go @@ -10,6 +10,7 @@ import ( "fmt" "os" "path/filepath" + "regexp" "strings" "github.com/containers/image/v5/directory/explicitfilepath" @@ -17,7 +18,6 @@ import ( "github.com/containers/image/v5/internal/image" "github.com/containers/image/v5/transports" "github.com/containers/image/v5/types" - "github.com/containers/storage/pkg/regexp" ) const defaultOSTreeRepo = "/ostree/repo" @@ -75,11 +75,12 @@ type ostreeImageCloser struct { func (t ostreeTransport) ParseReference(ref string) (types.ImageReference, error) { var repo = "" - image, repoPart, gotRepoPart := strings.Cut(ref, "@/") - if !gotRepoPart { - repo = defaultOSTreeRepo + var image = "" + s := strings.SplitN(ref, "@/", 2) + if len(s) == 1 { + image, repo = s[0], defaultOSTreeRepo } else { - repo = "/" + repoPart + image, repo = s[0], "/"+s[1] } return NewReference(image, repo) @@ -133,7 +134,7 @@ func (ref ostreeReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix. func (ref ostreeReference) StringWithinTransport() string { return fmt.Sprintf("%s@%s", ref.image, ref.repo) @@ -156,11 +157,11 @@ func (ref ostreeReference) PolicyConfigurationIdentity() string { // It is STRONGLY recommended for the first element, if any, to be a prefix of PolicyConfigurationIdentity(), // and each following element to be a prefix of the element preceding it. func (ref ostreeReference) PolicyConfigurationNamespaces() []string { - repo, _, gotTag := strings.Cut(ref.image, ":") - if !gotTag { // Coverage: Should never happen, NewReference above ensures ref.image has a :tag. + s := strings.SplitN(ref.image, ":", 2) + if len(s) != 2 { // Coverage: Should never happen, NewReference above ensures ref.image has a :tag. panic(fmt.Sprintf("Internal inconsistency: ref.image value %q does not have a :tag", ref.image)) } - name := repo + name := s[0] res := []string{} for { res = append(res, fmt.Sprintf("%s:%s", ref.repo, name)) @@ -215,7 +216,7 @@ func (ref ostreeReference) DeleteImage(ctx context.Context, sys *types.SystemCon return errors.New("Deleting images not implemented for ostree: images") } -var ostreeRefRegexp = regexp.Delayed(`^[A-Za-z0-9.-]$`) +var ostreeRefRegexp = regexp.MustCompile(`^[A-Za-z0-9.-]$`) func encodeOStreeRef(in string) string { var buffer bytes.Buffer diff --git a/vendor/github.com/containers/image/v5/pkg/blobinfocache/boltdb/boltdb.go b/vendor/github.com/containers/image/v5/pkg/blobinfocache/boltdb/boltdb.go new file mode 100644 index 0000000000..a472efd95b --- /dev/null +++ b/vendor/github.com/containers/image/v5/pkg/blobinfocache/boltdb/boltdb.go @@ -0,0 +1,393 @@ +// Package boltdb implements a BlobInfoCache backed by BoltDB. +package boltdb + +import ( + "fmt" + "os" + "sync" + "time" + + "github.com/containers/image/v5/internal/blobinfocache" + "github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize" + "github.com/containers/image/v5/types" + "github.com/opencontainers/go-digest" + "github.com/sirupsen/logrus" + bolt "go.etcd.io/bbolt" +) + +var ( + // NOTE: There is no versioning data inside the file; this is a “cache”, so on an incompatible format upgrade + // we can simply start over with a different filename; update blobInfoCacheFilename. + + // FIXME: For CRI-O, does this need to hide information between different users? + + // uncompressedDigestBucket stores a mapping from any digest to an uncompressed digest. + uncompressedDigestBucket = []byte("uncompressedDigest") + // digestCompressorBucket stores a mapping from any digest to a compressor, or blobinfocache.Uncompressed + // It may not exist in caches created by older versions, even if uncompressedDigestBucket is present. + digestCompressorBucket = []byte("digestCompressor") + // digestByUncompressedBucket stores a bucket per uncompressed digest, with the bucket containing a set of digests for that uncompressed digest + // (as a set of key=digest, value="" pairs) + digestByUncompressedBucket = []byte("digestByUncompressed") + // knownLocationsBucket stores a nested structure of buckets, keyed by (transport name, scope string, blob digest), ultimately containing + // a bucket of (opaque location reference, BinaryMarshaller-encoded time.Time value). + knownLocationsBucket = []byte("knownLocations") +) + +// Concurrency: +// See https://www.sqlite.org/src/artifact/c230a7a24?ln=994-1081 for all the issues with locks, which make it extremely +// difficult to use a single BoltDB file from multiple threads/goroutines inside a process. So, we punt and only allow one at a time. + +// pathLock contains a lock for a specific BoltDB database path. +type pathLock struct { + refCount int64 // Number of threads/goroutines owning or waiting on this lock. Protected by global pathLocksMutex, NOT by the mutex field below! + mutex sync.Mutex // Owned by the thread/goroutine allowed to access the BoltDB database. +} + +var ( + // pathLocks contains a lock for each currently open file. + // This must be global so that independently created instances of boltDBCache exclude each other. + // The map is protected by pathLocksMutex. + // FIXME? Should this be based on device:inode numbers instead of paths instead? + pathLocks = map[string]*pathLock{} + pathLocksMutex = sync.Mutex{} +) + +// lockPath obtains the pathLock for path. +// The caller must call unlockPath eventually. +func lockPath(path string) { + pl := func() *pathLock { // A scope for defer + pathLocksMutex.Lock() + defer pathLocksMutex.Unlock() + pl, ok := pathLocks[path] + if ok { + pl.refCount++ + } else { + pl = &pathLock{refCount: 1, mutex: sync.Mutex{}} + pathLocks[path] = pl + } + return pl + }() + pl.mutex.Lock() +} + +// unlockPath releases the pathLock for path. +func unlockPath(path string) { + pathLocksMutex.Lock() + defer pathLocksMutex.Unlock() + pl, ok := pathLocks[path] + if !ok { + // Should this return an error instead? BlobInfoCache ultimately ignores errors… + panic(fmt.Sprintf("Internal error: unlocking nonexistent lock for path %s", path)) + } + pl.mutex.Unlock() + pl.refCount-- + if pl.refCount == 0 { + delete(pathLocks, path) + } +} + +// cache is a BlobInfoCache implementation which uses a BoltDB file at the specified path. +// +// Note that we don’t keep the database open across operations, because that would lock the file and block any other +// users; instead, we need to open/close it for every single write or lookup. +type cache struct { + path string +} + +// New returns a BlobInfoCache implementation which uses a BoltDB file at path. +// +// Most users should call blobinfocache.DefaultCache instead. +func New(path string) types.BlobInfoCache { + return new2(path) +} +func new2(path string) *cache { + return &cache{path: path} +} + +// view returns runs the specified fn within a read-only transaction on the database. +func (bdc *cache) view(fn func(tx *bolt.Tx) error) (retErr error) { + // bolt.Open(bdc.path, 0600, &bolt.Options{ReadOnly: true}) will, if the file does not exist, + // nevertheless create it, but with an O_RDONLY file descriptor, try to initialize it, and fail — while holding + // a read lock, blocking any future writes. + // Hence this preliminary check, which is RACY: Another process could remove the file + // between the Lstat call and opening the database. + if _, err := os.Lstat(bdc.path); err != nil && os.IsNotExist(err) { + return err + } + + lockPath(bdc.path) + defer unlockPath(bdc.path) + db, err := bolt.Open(bdc.path, 0600, &bolt.Options{ReadOnly: true}) + if err != nil { + return err + } + defer func() { + if err := db.Close(); retErr == nil && err != nil { + retErr = err + } + }() + + return db.View(fn) +} + +// update returns runs the specified fn within a read-write transaction on the database. +func (bdc *cache) update(fn func(tx *bolt.Tx) error) (retErr error) { + lockPath(bdc.path) + defer unlockPath(bdc.path) + db, err := bolt.Open(bdc.path, 0600, nil) + if err != nil { + return err + } + defer func() { + if err := db.Close(); retErr == nil && err != nil { + retErr = err + } + }() + + return db.Update(fn) +} + +// uncompressedDigest implements BlobInfoCache.UncompressedDigest within the provided read-only transaction. +func (bdc *cache) uncompressedDigest(tx *bolt.Tx, anyDigest digest.Digest) digest.Digest { + if b := tx.Bucket(uncompressedDigestBucket); b != nil { + if uncompressedBytes := b.Get([]byte(anyDigest.String())); uncompressedBytes != nil { + d, err := digest.Parse(string(uncompressedBytes)) + if err == nil { + return d + } + // FIXME? Log err (but throttle the log volume on repeated accesses)? + } + } + // Presence in digestsByUncompressedBucket implies that anyDigest must already refer to an uncompressed digest. + // This way we don't have to waste storage space with trivial (uncompressed, uncompressed) mappings + // when we already record a (compressed, uncompressed) pair. + if b := tx.Bucket(digestByUncompressedBucket); b != nil { + if b = b.Bucket([]byte(anyDigest.String())); b != nil { + c := b.Cursor() + if k, _ := c.First(); k != nil { // The bucket is non-empty + return anyDigest + } + } + } + return "" +} + +// UncompressedDigest returns an uncompressed digest corresponding to anyDigest. +// May return anyDigest if it is known to be uncompressed. +// Returns "" if nothing is known about the digest (it may be compressed or uncompressed). +func (bdc *cache) UncompressedDigest(anyDigest digest.Digest) digest.Digest { + var res digest.Digest + if err := bdc.view(func(tx *bolt.Tx) error { + res = bdc.uncompressedDigest(tx, anyDigest) + return nil + }); err != nil { // Including os.IsNotExist(err) + return "" // FIXME? Log err (but throttle the log volume on repeated accesses)? + } + return res +} + +// RecordDigestUncompressedPair records that the uncompressed version of anyDigest is uncompressed. +// It’s allowed for anyDigest == uncompressed. +// WARNING: Only call this for LOCALLY VERIFIED data; don’t record a digest pair just because some remote author claims so (e.g. +// because a manifest/config pair exists); otherwise the cache could be poisoned and allow substituting unexpected blobs. +// (Eventually, the DiffIDs in image config could detect the substitution, but that may be too late, and not all image formats contain that data.) +func (bdc *cache) RecordDigestUncompressedPair(anyDigest digest.Digest, uncompressed digest.Digest) { + _ = bdc.update(func(tx *bolt.Tx) error { + b, err := tx.CreateBucketIfNotExists(uncompressedDigestBucket) + if err != nil { + return err + } + key := []byte(anyDigest.String()) + if previousBytes := b.Get(key); previousBytes != nil { + previous, err := digest.Parse(string(previousBytes)) + if err != nil { + return err + } + if previous != uncompressed { + logrus.Warnf("Uncompressed digest for blob %s previously recorded as %s, now %s", anyDigest, previous, uncompressed) + } + } + if err := b.Put(key, []byte(uncompressed.String())); err != nil { + return err + } + + b, err = tx.CreateBucketIfNotExists(digestByUncompressedBucket) + if err != nil { + return err + } + b, err = b.CreateBucketIfNotExists([]byte(uncompressed.String())) + if err != nil { + return err + } + if err := b.Put([]byte(anyDigest.String()), []byte{}); err != nil { // Possibly writing the same []byte{} presence marker again. + return err + } + return nil + }) // FIXME? Log error (but throttle the log volume on repeated accesses)? +} + +// RecordDigestCompressorName records that the blob with digest anyDigest was compressed with the specified +// compressor, or is blobinfocache.Uncompressed. +// WARNING: Only call this for LOCALLY VERIFIED data; don’t record a digest pair just because some remote author claims so (e.g. +// because a manifest/config pair exists); otherwise the cache could be poisoned and allow substituting unexpected blobs. +// (Eventually, the DiffIDs in image config could detect the substitution, but that may be too late, and not all image formats contain that data.) +func (bdc *cache) RecordDigestCompressorName(anyDigest digest.Digest, compressorName string) { + _ = bdc.update(func(tx *bolt.Tx) error { + b, err := tx.CreateBucketIfNotExists(digestCompressorBucket) + if err != nil { + return err + } + key := []byte(anyDigest.String()) + if previousBytes := b.Get(key); previousBytes != nil { + if string(previousBytes) != compressorName { + logrus.Warnf("Compressor for blob with digest %s previously recorded as %s, now %s", anyDigest, string(previousBytes), compressorName) + } + } + if compressorName == blobinfocache.UnknownCompression { + return b.Delete(key) + } + return b.Put(key, []byte(compressorName)) + }) // FIXME? Log error (but throttle the log volume on repeated accesses)? +} + +// RecordKnownLocation records that a blob with the specified digest exists within the specified (transport, scope) scope, +// and can be reused given the opaque location data. +func (bdc *cache) RecordKnownLocation(transport types.ImageTransport, scope types.BICTransportScope, blobDigest digest.Digest, location types.BICLocationReference) { + _ = bdc.update(func(tx *bolt.Tx) error { + b, err := tx.CreateBucketIfNotExists(knownLocationsBucket) + if err != nil { + return err + } + b, err = b.CreateBucketIfNotExists([]byte(transport.Name())) + if err != nil { + return err + } + b, err = b.CreateBucketIfNotExists([]byte(scope.Opaque)) + if err != nil { + return err + } + b, err = b.CreateBucketIfNotExists([]byte(blobDigest.String())) + if err != nil { + return err + } + value, err := time.Now().MarshalBinary() + if err != nil { + return err + } + if err := b.Put([]byte(location.Opaque), value); err != nil { // Possibly overwriting an older entry. + return err + } + return nil + }) // FIXME? Log error (but throttle the log volume on repeated accesses)? +} + +// appendReplacementCandidates creates prioritize.CandidateWithTime values for digest in scopeBucket with corresponding compression info from compressionBucket (if compressionBucket is not nil), and returns the result of appending them to candidates. +func (bdc *cache) appendReplacementCandidates(candidates []prioritize.CandidateWithTime, scopeBucket, compressionBucket *bolt.Bucket, digest digest.Digest, requireCompressionInfo bool) []prioritize.CandidateWithTime { + digestKey := []byte(digest.String()) + b := scopeBucket.Bucket(digestKey) + if b == nil { + return candidates + } + compressorName := blobinfocache.UnknownCompression + if compressionBucket != nil { + // the bucket won't exist if the cache was created by a v1 implementation and + // hasn't yet been updated by a v2 implementation + if compressorNameValue := compressionBucket.Get(digestKey); len(compressorNameValue) > 0 { + compressorName = string(compressorNameValue) + } + } + if compressorName == blobinfocache.UnknownCompression && requireCompressionInfo { + return candidates + } + _ = b.ForEach(func(k, v []byte) error { + t := time.Time{} + if err := t.UnmarshalBinary(v); err != nil { + return err + } + candidates = append(candidates, prioritize.CandidateWithTime{ + Candidate: blobinfocache.BICReplacementCandidate2{ + Digest: digest, + CompressorName: compressorName, + Location: types.BICLocationReference{Opaque: string(k)}, + }, + LastSeen: t, + }) + return nil + }) // FIXME? Log error (but throttle the log volume on repeated accesses)? + return candidates +} + +// CandidateLocations2 returns a prioritized, limited, number of blobs and their locations that could possibly be reused +// within the specified (transport scope) (if they still exist, which is not guaranteed). +// +// If !canSubstitute, the returned candidates will match the submitted digest exactly; if canSubstitute, +// data from previous RecordDigestUncompressedPair calls is used to also look up variants of the blob which have the same +// uncompressed digest. +func (bdc *cache) CandidateLocations2(transport types.ImageTransport, scope types.BICTransportScope, primaryDigest digest.Digest, canSubstitute bool) []blobinfocache.BICReplacementCandidate2 { + return bdc.candidateLocations(transport, scope, primaryDigest, canSubstitute, true) +} + +func (bdc *cache) candidateLocations(transport types.ImageTransport, scope types.BICTransportScope, primaryDigest digest.Digest, canSubstitute, requireCompressionInfo bool) []blobinfocache.BICReplacementCandidate2 { + res := []prioritize.CandidateWithTime{} + var uncompressedDigestValue digest.Digest // = "" + if err := bdc.view(func(tx *bolt.Tx) error { + scopeBucket := tx.Bucket(knownLocationsBucket) + if scopeBucket == nil { + return nil + } + scopeBucket = scopeBucket.Bucket([]byte(transport.Name())) + if scopeBucket == nil { + return nil + } + scopeBucket = scopeBucket.Bucket([]byte(scope.Opaque)) + if scopeBucket == nil { + return nil + } + // compressionBucket won't have been created if previous writers never recorded info about compression, + // and we don't want to fail just because of that + compressionBucket := tx.Bucket(digestCompressorBucket) + + res = bdc.appendReplacementCandidates(res, scopeBucket, compressionBucket, primaryDigest, requireCompressionInfo) + if canSubstitute { + if uncompressedDigestValue = bdc.uncompressedDigest(tx, primaryDigest); uncompressedDigestValue != "" { + b := tx.Bucket(digestByUncompressedBucket) + if b != nil { + b = b.Bucket([]byte(uncompressedDigestValue.String())) + if b != nil { + if err := b.ForEach(func(k, _ []byte) error { + d, err := digest.Parse(string(k)) + if err != nil { + return err + } + if d != primaryDigest && d != uncompressedDigestValue { + res = bdc.appendReplacementCandidates(res, scopeBucket, compressionBucket, d, requireCompressionInfo) + } + return nil + }); err != nil { + return err + } + } + } + if uncompressedDigestValue != primaryDigest { + res = bdc.appendReplacementCandidates(res, scopeBucket, compressionBucket, uncompressedDigestValue, requireCompressionInfo) + } + } + } + return nil + }); err != nil { // Including os.IsNotExist(err) + return []blobinfocache.BICReplacementCandidate2{} // FIXME? Log err (but throttle the log volume on repeated accesses)? + } + + return prioritize.DestructivelyPrioritizeReplacementCandidates(res, primaryDigest, uncompressedDigestValue) +} + +// CandidateLocations returns a prioritized, limited, number of blobs and their locations that could possibly be reused +// within the specified (transport scope) (if they still exist, which is not guaranteed). +// +// If !canSubstitute, the returned cadidates will match the submitted digest exactly; if canSubstitute, +// data from previous RecordDigestUncompressedPair calls is used to also look up variants of the blob which have the same +// uncompressed digest. +func (bdc *cache) CandidateLocations(transport types.ImageTransport, scope types.BICTransportScope, primaryDigest digest.Digest, canSubstitute bool) []types.BICReplacementCandidate { + return blobinfocache.CandidateLocationsFromV2(bdc.candidateLocations(transport, scope, primaryDigest, canSubstitute, false)) +} diff --git a/vendor/github.com/containers/image/v5/pkg/blobinfocache/default.go b/vendor/github.com/containers/image/v5/pkg/blobinfocache/default.go index 037572b0ee..83034b618d 100644 --- a/vendor/github.com/containers/image/v5/pkg/blobinfocache/default.go +++ b/vendor/github.com/containers/image/v5/pkg/blobinfocache/default.go @@ -6,8 +6,8 @@ import ( "path/filepath" "github.com/containers/image/v5/internal/rootless" + "github.com/containers/image/v5/pkg/blobinfocache/boltdb" "github.com/containers/image/v5/pkg/blobinfocache/memory" - "github.com/containers/image/v5/pkg/blobinfocache/sqlite" "github.com/containers/image/v5/types" "github.com/sirupsen/logrus" ) @@ -15,7 +15,7 @@ import ( const ( // blobInfoCacheFilename is the file name used for blob info caches. // If the format changes in an incompatible way, increase the version number. - blobInfoCacheFilename = "blob-info-cache-v1.sqlite" + blobInfoCacheFilename = "blob-info-cache-v1.boltdb" // systemBlobInfoCacheDir is the directory containing the blob info cache (in blobInfocacheFilename) for root-running processes. systemBlobInfoCacheDir = "/var/lib/containers/cache" ) @@ -57,20 +57,10 @@ func DefaultCache(sys *types.SystemContext) types.BlobInfoCache { } path := filepath.Join(dir, blobInfoCacheFilename) if err := os.MkdirAll(dir, 0700); err != nil { - logrus.Debugf("Error creating parent directories for %s, using a memory-only cache: %v", path, err) + logrus.Debugf("Error creating parent directories for %s, using a memory-only cache: %v", blobInfoCacheFilename, err) return memory.New() } - // It might make sense to keep a single sqlite cache object, and a single initialized sqlite connection, open - // as global singleton, for the vast majority of callers who don’t override thde cache location. - // OTOH that would keep a file descriptor open forever, even for long-term callers who copy images rarely, - // and the performance benefit to this over using an Open()/Close() pair for a single image copy is < 10%. - - cache, err := sqlite.New(path) - if err != nil { - logrus.Debugf("Error creating a SQLite blob info cache at %s, using a memory-only cache: %v", path, err) - return memory.New() - } - logrus.Debugf("Using SQLite blob info cache at %s", path) - return cache + logrus.Debugf("Using blob info cache at %s", path) + return boltdb.New(path) } diff --git a/vendor/github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go b/vendor/github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go index 97562687c8..6f5506d94c 100644 --- a/vendor/github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go +++ b/vendor/github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize/prioritize.go @@ -10,20 +10,15 @@ import ( "github.com/opencontainers/go-digest" ) -// replacementAttempts is the number of blob replacement candidates with known location returned by destructivelyPrioritizeReplacementCandidates, +// replacementAttempts is the number of blob replacement candidates returned by destructivelyPrioritizeReplacementCandidates, // and therefore ultimately by types.BlobInfoCache.CandidateLocations. // This is a heuristic/guess, and could well use a different value. const replacementAttempts = 5 -// replacementUnknownLocationAttempts is the number of blob replacement candidates with unknown Location returned by destructivelyPrioritizeReplacementCandidates, -// and therefore ultimately by blobinfocache.BlobInfoCache2.CandidateLocations2. -// This is a heuristic/guess, and could well use a different value. -const replacementUnknownLocationAttempts = 2 - // CandidateWithTime is the input to types.BICReplacementCandidate prioritization. type CandidateWithTime struct { Candidate blobinfocache.BICReplacementCandidate2 // The replacement candidate - LastSeen time.Time // Time the candidate was last known to exist (either read or written) (not set for Candidate.UnknownLocation) + LastSeen time.Time // Time the candidate was last known to exist (either read or written) } // candidateSortState is a local state implementing sort.Interface on candidates to prioritize, @@ -82,58 +77,34 @@ func (css *candidateSortState) Swap(i, j int) { css.cs[i], css.cs[j] = css.cs[j], css.cs[i] } -func min(a, b int) int { - if a < b { - return a - } - return b -} - -// destructivelyPrioritizeReplacementCandidatesWithMax is destructivelyPrioritizeReplacementCandidates with parameters for the -// number of entries to limit for known and unknown location separately, only to make testing simpler. -// TODO: following function is not destructive any more in the nature instead priortized result is actually copies of the original -// candidate set, so In future we might wanna re-name this public API and remove the destructive prefix. -func destructivelyPrioritizeReplacementCandidatesWithMax(cs []CandidateWithTime, primaryDigest, uncompressedDigest digest.Digest, totalLimit int, noLocationLimit int) []blobinfocache.BICReplacementCandidate2 { - // split unknown candidates and known candidates - // and limit them seperately. - var knownLocationCandidates []CandidateWithTime - var unknownLocationCandidates []CandidateWithTime +// destructivelyPrioritizeReplacementCandidatesWithMax is destructivelyPrioritizeReplacementCandidates with a parameter for the +// number of entries to limit, only to make testing simpler. +func destructivelyPrioritizeReplacementCandidatesWithMax(cs []CandidateWithTime, primaryDigest, uncompressedDigest digest.Digest, maxCandidates int) []blobinfocache.BICReplacementCandidate2 { // We don't need to use sort.Stable() because nanosecond timestamps are (presumably?) unique, so no two elements should // compare equal. - // FIXME: Use slices.SortFunc after we update to Go 1.20 (Go 1.21?) and Time.Compare and cmp.Compare are available. sort.Sort(&candidateSortState{ cs: cs, primaryDigest: primaryDigest, uncompressedDigest: uncompressedDigest, }) - for _, candidate := range cs { - if candidate.Candidate.UnknownLocation { - unknownLocationCandidates = append(unknownLocationCandidates, candidate) - } else { - knownLocationCandidates = append(knownLocationCandidates, candidate) - } - } - knownLocationCandidatesUsed := min(len(knownLocationCandidates), totalLimit) - remainingCapacity := totalLimit - knownLocationCandidatesUsed - unknownLocationCandidatesUsed := min(noLocationLimit, min(remainingCapacity, len(unknownLocationCandidates))) - res := make([]blobinfocache.BICReplacementCandidate2, knownLocationCandidatesUsed) - for i := 0; i < knownLocationCandidatesUsed; i++ { - res[i] = knownLocationCandidates[i].Candidate + resLength := len(cs) + if resLength > maxCandidates { + resLength = maxCandidates } - // If candidates with unknown location are found, lets add them to final list - for i := 0; i < unknownLocationCandidatesUsed; i++ { - res = append(res, unknownLocationCandidates[i].Candidate) + res := make([]blobinfocache.BICReplacementCandidate2, resLength) + for i := range res { + res[i] = cs[i].Candidate } return res } // DestructivelyPrioritizeReplacementCandidates consumes AND DESTROYS an array of possible replacement candidates with their last known existence times, -// the primary digest the user actually asked for, the corresponding uncompressed digest (if known, possibly equal to the primary digest) returns an -// appropriately prioritized and/or trimmed result suitable for a return value from types.BlobInfoCache.CandidateLocations. +// the primary digest the user actually asked for, and the corresponding uncompressed digest (if known, possibly equal to the primary digest), +// and returns an appropriately prioritized and/or trimmed result suitable for a return value from types.BlobInfoCache.CandidateLocations. // // WARNING: The array of candidates is destructively modified. (The implementation of this function could of course // make a copy, but all CandidateLocations implementations build the slice of candidates only for the single purpose of calling this function anyway.) func DestructivelyPrioritizeReplacementCandidates(cs []CandidateWithTime, primaryDigest, uncompressedDigest digest.Digest) []blobinfocache.BICReplacementCandidate2 { - return destructivelyPrioritizeReplacementCandidatesWithMax(cs, primaryDigest, uncompressedDigest, replacementAttempts, replacementUnknownLocationAttempts) + return destructivelyPrioritizeReplacementCandidatesWithMax(cs, primaryDigest, uncompressedDigest, replacementAttempts) } diff --git a/vendor/github.com/containers/image/v5/pkg/blobinfocache/memory/memory.go b/vendor/github.com/containers/image/v5/pkg/blobinfocache/memory/memory.go index cfad16b2ec..426640366f 100644 --- a/vendor/github.com/containers/image/v5/pkg/blobinfocache/memory/memory.go +++ b/vendor/github.com/containers/image/v5/pkg/blobinfocache/memory/memory.go @@ -6,7 +6,6 @@ import ( "time" "github.com/containers/image/v5/internal/blobinfocache" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize" "github.com/containers/image/v5/types" digest "github.com/opencontainers/go-digest" @@ -20,14 +19,14 @@ type locationKey struct { blobDigest digest.Digest } -// cache implements an in-memory-only BlobInfoCache. +// cache implements an in-memory-only BlobInfoCache type cache struct { mutex sync.Mutex // The following fields can only be accessed with mutex held. uncompressedDigests map[digest.Digest]digest.Digest - digestsByUncompressed map[digest.Digest]*set.Set[digest.Digest] // stores a set of digests for each uncompressed digest + digestsByUncompressed map[digest.Digest]map[digest.Digest]struct{} // stores a set of digests for each uncompressed digest knownLocations map[locationKey]map[types.BICLocationReference]time.Time // stores last known existence time for each location reference - compressors map[digest.Digest]string // stores a compressor name, or blobinfocache.Unknown (not blobinfocache.UnknownCompression), for each digest + compressors map[digest.Digest]string // stores a compressor name, or blobinfocache.Unknown, for each digest } // New returns a BlobInfoCache implementation which is in-memory only. @@ -45,21 +44,12 @@ func New() types.BlobInfoCache { func new2() *cache { return &cache{ uncompressedDigests: map[digest.Digest]digest.Digest{}, - digestsByUncompressed: map[digest.Digest]*set.Set[digest.Digest]{}, + digestsByUncompressed: map[digest.Digest]map[digest.Digest]struct{}{}, knownLocations: map[locationKey]map[types.BICLocationReference]time.Time{}, compressors: map[digest.Digest]string{}, } } -// Open() sets up the cache for future accesses, potentially acquiring costly state. Each Open() must be paired with a Close(). -// Note that public callers may call the types.BlobInfoCache operations without Open()/Close(). -func (mem *cache) Open() { -} - -// Close destroys state created by Open(). -func (mem *cache) Close() { -} - // UncompressedDigest returns an uncompressed digest corresponding to anyDigest. // May return anyDigest if it is known to be uncompressed. // Returns "" if nothing is known about the digest (it may be compressed or uncompressed). @@ -77,7 +67,7 @@ func (mem *cache) uncompressedDigestLocked(anyDigest digest.Digest) digest.Diges // Presence in digestsByUncompressed implies that anyDigest must already refer to an uncompressed digest. // This way we don't have to waste storage space with trivial (uncompressed, uncompressed) mappings // when we already record a (compressed, uncompressed) pair. - if s, ok := mem.digestsByUncompressed[anyDigest]; ok && !s.Empty() { + if m, ok := mem.digestsByUncompressed[anyDigest]; ok && len(m) > 0 { return anyDigest } return "" @@ -98,10 +88,10 @@ func (mem *cache) RecordDigestUncompressedPair(anyDigest digest.Digest, uncompre anyDigestSet, ok := mem.digestsByUncompressed[uncompressed] if !ok { - anyDigestSet = set.New[digest.Digest]() + anyDigestSet = map[digest.Digest]struct{}{} mem.digestsByUncompressed[uncompressed] = anyDigestSet } - anyDigestSet.Add(anyDigest) + anyDigestSet[anyDigest] = struct{}{} // Possibly writing the same struct{}{} presence marker again. } // RecordKnownLocation records that a blob with the specified digest exists within the specified (transport, scope) scope, @@ -123,9 +113,6 @@ func (mem *cache) RecordKnownLocation(transport types.ImageTransport, scope type func (mem *cache) RecordDigestCompressorName(blobDigest digest.Digest, compressorName string) { mem.mutex.Lock() defer mem.mutex.Unlock() - if previous, ok := mem.compressors[blobDigest]; ok && previous != compressorName { - logrus.Warnf("Compressor for blob with digest %s previously recorded as %s, now %s", blobDigest, previous, compressorName) - } if compressorName == blobinfocache.UnknownCompression { delete(mem.compressors, blobDigest) return @@ -133,39 +120,24 @@ func (mem *cache) RecordDigestCompressorName(blobDigest digest.Digest, compresso mem.compressors[blobDigest] = compressorName } -// appendReplacementCandidates creates prioritize.CandidateWithTime values for digest in memory -// with corresponding compression info from mem.compressors, and returns the result of appending -// them to candidates. v2Output allows including candidates with unknown location, and filters out -// candidates with unknown compression. -func (mem *cache) appendReplacementCandidates(candidates []prioritize.CandidateWithTime, transport types.ImageTransport, scope types.BICTransportScope, digest digest.Digest, v2Output bool) []prioritize.CandidateWithTime { - compressorName := blobinfocache.UnknownCompression - if v, ok := mem.compressors[digest]; ok { - compressorName = v - } - if compressorName == blobinfocache.UnknownCompression && v2Output { - return candidates - } +// appendReplacementCandidates creates prioritize.CandidateWithTime values for (transport, scope, digest), and returns the result of appending them to candidates. +func (mem *cache) appendReplacementCandidates(candidates []prioritize.CandidateWithTime, transport types.ImageTransport, scope types.BICTransportScope, digest digest.Digest, requireCompressionInfo bool) []prioritize.CandidateWithTime { locations := mem.knownLocations[locationKey{transport: transport.Name(), scope: scope, blobDigest: digest}] // nil if not present - if len(locations) > 0 { - for l, t := range locations { - candidates = append(candidates, prioritize.CandidateWithTime{ - Candidate: blobinfocache.BICReplacementCandidate2{ - Digest: digest, - CompressorName: compressorName, - Location: l, - }, - LastSeen: t, - }) + for l, t := range locations { + compressorName, compressorKnown := mem.compressors[digest] + if !compressorKnown { + if requireCompressionInfo { + continue + } + compressorName = blobinfocache.UnknownCompression } - } else if v2Output { candidates = append(candidates, prioritize.CandidateWithTime{ Candidate: blobinfocache.BICReplacementCandidate2{ - Digest: digest, - CompressorName: compressorName, - UnknownLocation: true, - Location: types.BICLocationReference{Opaque: ""}, + Digest: digest, + CompressorName: compressorName, + Location: l, }, - LastSeen: time.Time{}, + LastSeen: t, }) } return candidates @@ -181,7 +153,7 @@ func (mem *cache) CandidateLocations(transport types.ImageTransport, scope types return blobinfocache.CandidateLocationsFromV2(mem.candidateLocations(transport, scope, primaryDigest, canSubstitute, false)) } -// CandidateLocations2 returns a prioritized, limited, number of blobs and their locations (if known) that could possibly be reused +// CandidateLocations2 returns a prioritized, limited, number of blobs and their locations that could possibly be reused // within the specified (transport scope) (if they still exist, which is not guaranteed). // // If !canSubstitute, the returned cadidates will match the submitted digest exactly; if canSubstitute, @@ -191,24 +163,22 @@ func (mem *cache) CandidateLocations2(transport types.ImageTransport, scope type return mem.candidateLocations(transport, scope, primaryDigest, canSubstitute, true) } -func (mem *cache) candidateLocations(transport types.ImageTransport, scope types.BICTransportScope, primaryDigest digest.Digest, canSubstitute, v2Output bool) []blobinfocache.BICReplacementCandidate2 { +func (mem *cache) candidateLocations(transport types.ImageTransport, scope types.BICTransportScope, primaryDigest digest.Digest, canSubstitute, requireCompressionInfo bool) []blobinfocache.BICReplacementCandidate2 { mem.mutex.Lock() defer mem.mutex.Unlock() res := []prioritize.CandidateWithTime{} - res = mem.appendReplacementCandidates(res, transport, scope, primaryDigest, v2Output) + res = mem.appendReplacementCandidates(res, transport, scope, primaryDigest, requireCompressionInfo) var uncompressedDigest digest.Digest // = "" if canSubstitute { if uncompressedDigest = mem.uncompressedDigestLocked(primaryDigest); uncompressedDigest != "" { otherDigests := mem.digestsByUncompressed[uncompressedDigest] // nil if not present in the map - if otherDigests != nil { - for _, d := range otherDigests.Values() { - if d != primaryDigest && d != uncompressedDigest { - res = mem.appendReplacementCandidates(res, transport, scope, d, v2Output) - } + for d := range otherDigests { + if d != primaryDigest && d != uncompressedDigest { + res = mem.appendReplacementCandidates(res, transport, scope, d, requireCompressionInfo) } } if uncompressedDigest != primaryDigest { - res = mem.appendReplacementCandidates(res, transport, scope, uncompressedDigest, v2Output) + res = mem.appendReplacementCandidates(res, transport, scope, uncompressedDigest, requireCompressionInfo) } } } diff --git a/vendor/github.com/containers/image/v5/pkg/blobinfocache/sqlite/sqlite.go b/vendor/github.com/containers/image/v5/pkg/blobinfocache/sqlite/sqlite.go deleted file mode 100644 index 2b446a61c4..0000000000 --- a/vendor/github.com/containers/image/v5/pkg/blobinfocache/sqlite/sqlite.go +++ /dev/null @@ -1,575 +0,0 @@ -// Package boltdb implements a BlobInfoCache backed by SQLite. -package sqlite - -import ( - "database/sql" - "errors" - "fmt" - "sync" - "time" - - "github.com/containers/image/v5/internal/blobinfocache" - "github.com/containers/image/v5/pkg/blobinfocache/internal/prioritize" - "github.com/containers/image/v5/types" - _ "github.com/mattn/go-sqlite3" // Registers the "sqlite3" backend backend for database/sql - "github.com/opencontainers/go-digest" - "github.com/sirupsen/logrus" -) - -const ( - // NOTE: There is no versioning data inside the file; this is a “cache”, so on an incompatible format upgrade - // we can simply start over with a different filename; update blobInfoCacheFilename. - // That also means we don’t have to worry about co-existing readers/writers which know different versions of the schema - // (which would require compatibility in both directions). - - // Assembled sqlite options used when opening the database. - sqliteOptions = "?" + - // Deal with timezone automatically. - // go-sqlite3 always _records_ timestamps as a text: time in local time + a time zone offset. - // _loc affects how the values are _parsed_: (which timezone is assumed for numeric timestamps or for text which does not specify an offset, or) - // if the time zone offset matches the specified time zone, the timestamp is assumed to be in that time zone / location; - // (otherwise an unnamed time zone carrying just a hard-coded offset, but no location / DST rules is used). - "_loc=auto" + - // Force an fsync after each transaction (https://www.sqlite.org/pragma.html#pragma_synchronous). - "&_sync=FULL" + - // Allow foreign keys (https://www.sqlite.org/pragma.html#pragma_foreign_keys). - // We don’t currently use any foreign keys, but this is a good choice long-term (not default in SQLite only for historical reasons). - "&_foreign_keys=1" + - // Use BEGIN EXCLUSIVE (https://www.sqlite.org/lang_transaction.html); - // i.e. obtain a write lock for _all_ transactions at the transaction start (never use a read lock, - // never upgrade from a read to a write lock - that can fail if multiple read lock owners try to do that simultaneously). - // - // This, together with go-sqlite3’s default for _busy_timeout=5000, means that we should never see a “database is locked” error, - // the database should block on the exclusive lock when starting a transaction, and the problematic case of two simultaneous - // holders of a read lock trying to upgrade to a write lock (and one necessarily failing) is prevented. - // Compare https://github.com/mattn/go-sqlite3/issues/274 . - // - // Ideally the BEGIN / BEGIN EXCLUSIVE decision could be made per-transaction, compare https://github.com/mattn/go-sqlite3/pull/1167 - // or https://github.com/mattn/go-sqlite3/issues/400 . - // The currently-proposed workaround is to create two different SQL “databases” (= connection pools) with different _txlock settings, - // which seems rather wasteful. - "&_txlock=exclusive" -) - -// cache is a BlobInfoCache implementation which uses a SQLite file at the specified path. -type cache struct { - path string - - // The database/sql package says “It is rarely necessary to close a DB.”, and steers towards a long-term *sql.DB connection pool. - // That’s probably very applicable for database-backed services, where the database is the primary data store. That’s not necessarily - // the case for callers of c/image, where image operations might be a small proportion of the total runtime, and the cache is fairly - // incidental even to the image operations. It’s also hard for us to use that model, because the public BlobInfoCache object doesn’t have - // a Close method, so creating a lot of single-use caches could leak data. - // - // Instead, the private BlobInfoCache2 interface provides Open/Close methods, and they are called by c/image/copy.Image. - // This amortizes the cost of opening/closing the SQLite state over a single image copy, while keeping no long-term resources open. - // Some rough benchmarks in https://github.com/containers/image/pull/2092 suggest relative costs on the order of "25" for a single - // *sql.DB left open long-term, "27" for a *sql.DB open for a single image copy, and "40" for opening/closing a *sql.DB for every - // single transaction; so the Open/Close per image copy seems a reasonable compromise (especially compared to the previous implementation, - // somewhere around "700"). - - lock sync.Mutex - // The following fields can only be accessed with lock held. - refCount int // number of outstanding Open() calls - db *sql.DB // nil if not set (may happen even if refCount > 0 on errors) -} - -// New returns BlobInfoCache implementation which uses a SQLite file at path. -// -// Most users should call blobinfocache.DefaultCache instead. -func New(path string) (types.BlobInfoCache, error) { - return new2(path) -} - -func new2(path string) (*cache, error) { - db, err := rawOpen(path) - if err != nil { - return nil, fmt.Errorf("initializing blob info cache at %q: %w", path, err) - } - defer db.Close() - - // We don’t check the schema before every operation, because that would be costly - // and because we assume schema changes will be handled by using a different path. - if err := ensureDBHasCurrentSchema(db); err != nil { - return nil, err - } - - return &cache{ - path: path, - refCount: 0, - db: nil, - }, nil -} - -// rawOpen returns a new *sql.DB for path. -// The caller should arrange for it to be .Close()d. -func rawOpen(path string) (*sql.DB, error) { - // This exists to centralize the use of sqliteOptions. - return sql.Open("sqlite3", path+sqliteOptions) -} - -// Open() sets up the cache for future accesses, potentially acquiring costly state. Each Open() must be paired with a Close(). -// Note that public callers may call the types.BlobInfoCache operations without Open()/Close(). -func (sqc *cache) Open() { - sqc.lock.Lock() - defer sqc.lock.Unlock() - - if sqc.refCount == 0 { - db, err := rawOpen(sqc.path) - if err != nil { - logrus.Warnf("Error opening (previously-successfully-opened) blob info cache at %q: %v", sqc.path, err) - db = nil // But still increase sqc.refCount, because a .Close() will happen - } - sqc.db = db - } - sqc.refCount++ -} - -// Close destroys state created by Open(). -func (sqc *cache) Close() { - sqc.lock.Lock() - defer sqc.lock.Unlock() - - switch sqc.refCount { - case 0: - logrus.Errorf("internal error using pkg/blobinfocache/sqlite.cache: Close() without a matching Open()") - return - case 1: - if sqc.db != nil { - sqc.db.Close() - sqc.db = nil - } - } - sqc.refCount-- -} - -type void struct{} // So that we don’t have to write struct{}{} all over the place - -// transaction calls fn within a read-write transaction in sqc. -func transaction[T any](sqc *cache, fn func(tx *sql.Tx) (T, error)) (T, error) { - db, closeDB, err := func() (*sql.DB, func(), error) { // A scope for defer - sqc.lock.Lock() - defer sqc.lock.Unlock() - - if sqc.db != nil { - return sqc.db, func() {}, nil - } - db, err := rawOpen(sqc.path) - if err != nil { - return nil, nil, fmt.Errorf("opening blob info cache at %q: %w", sqc.path, err) - } - return db, func() { db.Close() }, nil - }() - if err != nil { - var zeroRes T // A zero value of T - return zeroRes, err - } - defer closeDB() - - return dbTransaction(db, fn) -} - -// dbTransaction calls fn within a read-write transaction in db. -func dbTransaction[T any](db *sql.DB, fn func(tx *sql.Tx) (T, error)) (T, error) { - // Ideally we should be able to distinguish between read-only and read-write transactions, see the _txlock=exclusive dicussion. - - var zeroRes T // A zero value of T - - tx, err := db.Begin() - if err != nil { - return zeroRes, fmt.Errorf("beginning transaction: %w", err) - } - succeeded := false - defer func() { - if !succeeded { - if err := tx.Rollback(); err != nil { - logrus.Errorf("Rolling back transaction: %v", err) - } - } - }() - - res, err := fn(tx) - if err != nil { - return zeroRes, err - } - if err := tx.Commit(); err != nil { - return zeroRes, fmt.Errorf("committing transaction: %w", err) - } - - succeeded = true - return res, nil -} - -// querySingleValue executes a SELECT which is expected to return at most one row with a single column. -// It returns (value, true, nil) on success, or (value, false, nil) if no row was returned. -func querySingleValue[T any](tx *sql.Tx, query string, params ...any) (T, bool, error) { - var value T - if err := tx.QueryRow(query, params...).Scan(&value); err != nil { - var zeroValue T // A zero value of T - if errors.Is(err, sql.ErrNoRows) { - return zeroValue, false, nil - } - return zeroValue, false, err - } - return value, true, nil -} - -// ensureDBHasCurrentSchema adds the necessary tables and indices to a database. -// This is typically used when creating a previously-nonexistent database. -// We don’t really anticipate schema migrations; with c/image usually vendored, not using -// shared libraries, migrating a schema on an existing database would affect old-version users. -// Instead, schema changes are likely to be implemented by using a different cache file name, -// and leaving existing caches around for old users. -func ensureDBHasCurrentSchema(db *sql.DB) error { - // Considered schema design alternatives: - // - // (Overall, considering the overall network latency and disk I/O costs of many-megabyte layer pulls which are happening while referring - // to the blob info cache, it seems reasonable to prioritize readability over microoptimization of this database.) - // - // * This schema uses the text representation of digests. - // - // We use the fairly wasteful text with hexadecimal digits because digest.Digest does not define a binary representation; - // and the way digest.Digest.Hex() is deprecated in favor of digest.Digest.Encoded(), and the way digest.Algorithm - // is documented to “define the string encoding” suggests that assuming a hexadecimal representation and turning that - // into binary ourselves is not a good idea in general; we would have to special-case the currently-known algorithm - // — and that would require us to implement two code paths, one of them basically never exercised / never tested. - // - // * There are two separate items for recording the uncompressed digest and digest compressors. - // Alternatively, we could have a single "digest facts" table with NULLable columns. - // - // The way the BlobInfoCache API works, we are only going to write one value at a time, so - // sharing a table would not be any more efficient for writes (same number of lookups, larger row tuples). - // Reads in candidateLocations would not be more efficient either, the searches in DigestCompressors and DigestUncompressedPairs - // do not coincide (we want a compressor for every candidate, but the uncompressed digest only for the primary digest; and then - // we search in DigestUncompressedPairs by uncompressed digest, not by the primary key). - // - // Also, using separate items allows the single-item writes to be done using a simple INSERT OR REPLACE, instead of having to - // do a more verbose ON CONFLICT(…) DO UPDATE SET … = …. - // - // * Joins (the two that exist in appendReplacementCandidates) are based on the text representation of digests. - // - // Using integer primary keys might make the joins themselves a bit more efficient, but then we would need to involve an extra - // join to translate from/to the user-provided digests anyway. If anything, that extra join (potentially more btree lookups) - // is probably costlier than comparing a few more bytes of data. - // - // Perhaps more importantly, storing digest texts directly makes the database dumps much easier to read for humans without - // having to do extra steps to decode the integers into digest values (either by running sqlite commands with joins, or mentally). - // - items := []struct{ itemName, command string }{ - { - "DigestUncompressedPairs", - `CREATE TABLE IF NOT EXISTS DigestUncompressedPairs(` + - // index implied by PRIMARY KEY - `anyDigest TEXT PRIMARY KEY NOT NULL,` + - // DigestUncompressedPairs_index_uncompressedDigest - `uncompressedDigest TEXT NOT NULL - )`, - }, - { - "DigestUncompressedPairs_index_uncompressedDigest", - `CREATE INDEX IF NOT EXISTS DigestUncompressedPairs_index_uncompressedDigest ON DigestUncompressedPairs(uncompressedDigest)`, - }, - { - "DigestCompressors", - `CREATE TABLE IF NOT EXISTS DigestCompressors(` + - // index implied by PRIMARY KEY - `digest TEXT PRIMARY KEY NOT NULL,` + - // May include blobinfocache.Uncompressed (not blobinfocache.UnknownCompression). - `compressor TEXT NOT NULL - )`, - }, - { - "KnownLocations", - `CREATE TABLE IF NOT EXISTS KnownLocations( - transport TEXT NOT NULL, - scope TEXT NOT NULL, - digest TEXT NOT NULL, - location TEXT NOT NULL,` + - // TIMESTAMP is parsed by SQLITE as a NUMERIC affinity, but go-sqlite3 stores text in the (Go formatting semantics) - // format "2006-01-02 15:04:05.999999999-07:00". - // See also the _loc option in the sql.Open data source name. - `time TIMESTAMP NOT NULL,` + - // Implies an index. - // We also search by (transport, scope, digest), that doesn’t need an extra index - // because it is a prefix of the implied primary-key index. - `PRIMARY KEY (transport, scope, digest, location) - )`, - }, - } - - _, err := dbTransaction(db, func(tx *sql.Tx) (void, error) { - // If the the last-created item exists, assume nothing needs to be done. - lastItemName := items[len(items)-1].itemName - _, found, err := querySingleValue[int](tx, "SELECT 1 FROM sqlite_schema WHERE name=?", lastItemName) - if err != nil { - return void{}, fmt.Errorf("checking if SQLite schema item %q exists: %w", lastItemName, err) - } - if !found { - // Item does not exist, assuming a fresh database. - for _, i := range items { - if _, err := tx.Exec(i.command); err != nil { - return void{}, fmt.Errorf("creating item %s: %w", i.itemName, err) - } - } - } - return void{}, nil - }) - return err -} - -// uncompressedDigest implements types.BlobInfoCache.UncompressedDigest within a transaction. -func (sqc *cache) uncompressedDigest(tx *sql.Tx, anyDigest digest.Digest) (digest.Digest, error) { - uncompressedString, found, err := querySingleValue[string](tx, "SELECT uncompressedDigest FROM DigestUncompressedPairs WHERE anyDigest = ?", anyDigest.String()) - if err != nil { - return "", err - } - if found { - d, err := digest.Parse(uncompressedString) - if err != nil { - return "", err - } - return d, nil - - } - // A record as uncompressedDigest implies that anyDigest must already refer to an uncompressed digest. - // This way we don't have to waste storage space with trivial (uncompressed, uncompressed) mappings - // when we already record a (compressed, uncompressed) pair. - _, found, err = querySingleValue[int](tx, "SELECT 1 FROM DigestUncompressedPairs WHERE uncompressedDigest = ?", anyDigest.String()) - if err != nil { - return "", err - } - if found { - return anyDigest, nil - } - return "", nil -} - -// UncompressedDigest returns an uncompressed digest corresponding to anyDigest. -// May return anyDigest if it is known to be uncompressed. -// Returns "" if nothing is known about the digest (it may be compressed or uncompressed). -func (sqc *cache) UncompressedDigest(anyDigest digest.Digest) digest.Digest { - res, err := transaction(sqc, func(tx *sql.Tx) (digest.Digest, error) { - return sqc.uncompressedDigest(tx, anyDigest) - }) - if err != nil { - return "" // FIXME? Log err (but throttle the log volume on repeated accesses)? - } - return res -} - -// RecordDigestUncompressedPair records that the uncompressed version of anyDigest is uncompressed. -// It’s allowed for anyDigest == uncompressed. -// WARNING: Only call this for LOCALLY VERIFIED data; don’t record a digest pair just because some remote author claims so (e.g. -// because a manifest/config pair exists); otherwise the cache could be poisoned and allow substituting unexpected blobs. -// (Eventually, the DiffIDs in image config could detect the substitution, but that may be too late, and not all image formats contain that data.) -func (sqc *cache) RecordDigestUncompressedPair(anyDigest digest.Digest, uncompressed digest.Digest) { - _, _ = transaction(sqc, func(tx *sql.Tx) (void, error) { - previousString, gotPrevious, err := querySingleValue[string](tx, "SELECT uncompressedDigest FROM DigestUncompressedPairs WHERE anyDigest = ?", anyDigest.String()) - if err != nil { - return void{}, fmt.Errorf("looking for uncompressed digest for %q", anyDigest) - } - if gotPrevious { - previous, err := digest.Parse(previousString) - if err != nil { - return void{}, err - } - if previous != uncompressed { - logrus.Warnf("Uncompressed digest for blob %s previously recorded as %s, now %s", anyDigest, previous, uncompressed) - } - } - if _, err := tx.Exec("INSERT OR REPLACE INTO DigestUncompressedPairs(anyDigest, uncompressedDigest) VALUES (?, ?)", - anyDigest.String(), uncompressed.String()); err != nil { - return void{}, fmt.Errorf("recording uncompressed digest %q for %q: %w", uncompressed, anyDigest, err) - } - return void{}, nil - }) // FIXME? Log error (but throttle the log volume on repeated accesses)? -} - -// RecordKnownLocation records that a blob with the specified digest exists within the specified (transport, scope) scope, -// and can be reused given the opaque location data. -func (sqc *cache) RecordKnownLocation(transport types.ImageTransport, scope types.BICTransportScope, digest digest.Digest, location types.BICLocationReference) { - _, _ = transaction(sqc, func(tx *sql.Tx) (void, error) { - if _, err := tx.Exec("INSERT OR REPLACE INTO KnownLocations(transport, scope, digest, location, time) VALUES (?, ?, ?, ?, ?)", - transport.Name(), scope.Opaque, digest.String(), location.Opaque, time.Now()); err != nil { // Possibly overwriting an older entry. - return void{}, fmt.Errorf("recording known location %q for (%q, %q, %q): %w", - location.Opaque, transport.Name(), scope.Opaque, digest.String(), err) - } - return void{}, nil - }) // FIXME? Log error (but throttle the log volume on repeated accesses)? -} - -// RecordDigestCompressorName records a compressor for the blob with the specified digest, -// or Uncompressed or UnknownCompression. -// WARNING: Only call this with LOCALLY VERIFIED data; don’t record a compressor for a -// digest just because some remote author claims so (e.g. because a manifest says so); -// otherwise the cache could be poisoned and cause us to make incorrect edits to type -// information in a manifest. -func (sqc *cache) RecordDigestCompressorName(anyDigest digest.Digest, compressorName string) { - _, _ = transaction(sqc, func(tx *sql.Tx) (void, error) { - previous, gotPrevious, err := querySingleValue[string](tx, "SELECT compressor FROM DigestCompressors WHERE digest = ?", anyDigest.String()) - if err != nil { - return void{}, fmt.Errorf("looking for compressor of for %q", anyDigest) - } - if gotPrevious && previous != compressorName { - logrus.Warnf("Compressor for blob with digest %s previously recorded as %s, now %s", anyDigest, previous, compressorName) - } - if compressorName == blobinfocache.UnknownCompression { - if _, err := tx.Exec("DELETE FROM DigestCompressors WHERE digest = ?", anyDigest.String()); err != nil { - return void{}, fmt.Errorf("deleting compressor for digest %q: %w", anyDigest, err) - } - } else { - if _, err := tx.Exec("INSERT OR REPLACE INTO DigestCompressors(digest, compressor) VALUES (?, ?)", - anyDigest.String(), compressorName); err != nil { - return void{}, fmt.Errorf("recording compressor %q for %q: %w", compressorName, anyDigest, err) - } - } - return void{}, nil - }) // FIXME? Log error (but throttle the log volume on repeated accesses)? -} - -// appendReplacementCandidates creates prioritize.CandidateWithTime values for (transport, scope, digest), -// and returns the result of appending them to candidates. v2Output allows including candidates with unknown -// location, and filters out candidates with unknown compression. -func (sqc *cache) appendReplacementCandidates(candidates []prioritize.CandidateWithTime, tx *sql.Tx, transport types.ImageTransport, scope types.BICTransportScope, digest digest.Digest, v2Output bool) ([]prioritize.CandidateWithTime, error) { - var rows *sql.Rows - var err error - if v2Output { - rows, err = tx.Query("SELECT location, time, compressor FROM KnownLocations JOIN DigestCompressors "+ - "ON KnownLocations.digest = DigestCompressors.digest "+ - "WHERE transport = ? AND scope = ? AND KnownLocations.digest = ?", - transport.Name(), scope.Opaque, digest.String()) - } else { - rows, err = tx.Query("SELECT location, time, IFNULL(compressor, ?) FROM KnownLocations "+ - "LEFT JOIN DigestCompressors ON KnownLocations.digest = DigestCompressors.digest "+ - "WHERE transport = ? AND scope = ? AND KnownLocations.digest = ?", - blobinfocache.UnknownCompression, - transport.Name(), scope.Opaque, digest.String()) - } - if err != nil { - return nil, fmt.Errorf("looking up candidate locations: %w", err) - } - defer rows.Close() - - res := []prioritize.CandidateWithTime{} - for rows.Next() { - var location string - var time time.Time - var compressorName string - if err := rows.Scan(&location, &time, &compressorName); err != nil { - return nil, fmt.Errorf("scanning candidate: %w", err) - } - res = append(res, prioritize.CandidateWithTime{ - Candidate: blobinfocache.BICReplacementCandidate2{ - Digest: digest, - CompressorName: compressorName, - Location: types.BICLocationReference{Opaque: location}, - }, - LastSeen: time, - }) - } - if err := rows.Err(); err != nil { - return nil, fmt.Errorf("iterating through locations: %w", err) - } - - if len(res) == 0 && v2Output { - compressor, found, err := querySingleValue[string](tx, "SELECT compressor FROM DigestCompressors WHERE digest = ?", digest.String()) - if err != nil { - return nil, fmt.Errorf("scanning compressorName: %w", err) - } - if found { - res = append(res, prioritize.CandidateWithTime{ - Candidate: blobinfocache.BICReplacementCandidate2{ - Digest: digest, - CompressorName: compressor, - UnknownLocation: true, - Location: types.BICLocationReference{Opaque: ""}, - }, - LastSeen: time.Time{}, - }) - } - } - candidates = append(candidates, res...) - return candidates, nil -} - -// CandidateLocations2 returns a prioritized, limited, number of blobs and their locations (if known) -// that could possibly be reused within the specified (transport scope) (if they still -// exist, which is not guaranteed). -// -// If !canSubstitute, the returned cadidates will match the submitted digest exactly; if -// canSubstitute, data from previous RecordDigestUncompressedPair calls is used to also look -// up variants of the blob which have the same uncompressed digest. -// -// The CompressorName fields in returned data must never be UnknownCompression. -func (sqc *cache) CandidateLocations2(transport types.ImageTransport, scope types.BICTransportScope, digest digest.Digest, canSubstitute bool) []blobinfocache.BICReplacementCandidate2 { - return sqc.candidateLocations(transport, scope, digest, canSubstitute, true) -} - -func (sqc *cache) candidateLocations(transport types.ImageTransport, scope types.BICTransportScope, primaryDigest digest.Digest, canSubstitute, v2Output bool) []blobinfocache.BICReplacementCandidate2 { - var uncompressedDigest digest.Digest // = "" - res, err := transaction(sqc, func(tx *sql.Tx) ([]prioritize.CandidateWithTime, error) { - res := []prioritize.CandidateWithTime{} - res, err := sqc.appendReplacementCandidates(res, tx, transport, scope, primaryDigest, v2Output) - if err != nil { - return nil, err - } - if canSubstitute { - uncompressedDigest, err = sqc.uncompressedDigest(tx, primaryDigest) - if err != nil { - return nil, err - } - - // FIXME? We could integrate this with appendReplacementCandidates into a single join instead of N+1 queries. - // (In the extreme, we could turn _everything_ this function does into a single query. - // And going even further, even DestructivelyPrioritizeReplacementCandidates could be turned into SQL.) - // For now, we prioritize simplicity, and sharing both code and implementation structure with the other cache implementations. - rows, err := tx.Query("SELECT anyDigest FROM DigestUncompressedPairs WHERE uncompressedDigest = ?", uncompressedDigest.String()) - if err != nil { - return nil, fmt.Errorf("querying for other digests: %w", err) - } - defer rows.Close() - for rows.Next() { - var otherDigestString string - if err := rows.Scan(&otherDigestString); err != nil { - return nil, fmt.Errorf("scanning other digest: %w", err) - } - otherDigest, err := digest.Parse(otherDigestString) - if err != nil { - return nil, err - } - if otherDigest != primaryDigest && otherDigest != uncompressedDigest { - res, err = sqc.appendReplacementCandidates(res, tx, transport, scope, otherDigest, v2Output) - if err != nil { - return nil, err - } - } - } - if err := rows.Err(); err != nil { - return nil, fmt.Errorf("iterating through other digests: %w", err) - } - - if uncompressedDigest != primaryDigest { - res, err = sqc.appendReplacementCandidates(res, tx, transport, scope, uncompressedDigest, v2Output) - if err != nil { - return nil, err - } - } - } - return res, nil - }) - if err != nil { - return []blobinfocache.BICReplacementCandidate2{} // FIXME? Log err (but throttle the log volume on repeated accesses)? - } - return prioritize.DestructivelyPrioritizeReplacementCandidates(res, primaryDigest, uncompressedDigest) - -} - -// CandidateLocations returns a prioritized, limited, number of blobs and their locations that could possibly be reused -// within the specified (transport scope) (if they still exist, which is not guaranteed). -// -// If !canSubstitute, the returned candidates will match the submitted digest exactly; if canSubstitute, -// data from previous RecordDigestUncompressedPair calls is used to also look up variants of the blob which have the same -// uncompressed digest. -func (sqc *cache) CandidateLocations(transport types.ImageTransport, scope types.BICTransportScope, digest digest.Digest, canSubstitute bool) []types.BICReplacementCandidate { - return blobinfocache.CandidateLocationsFromV2(sqc.candidateLocations(transport, scope, digest, canSubstitute, false)) -} diff --git a/vendor/github.com/containers/image/v5/pkg/compression/compression.go b/vendor/github.com/containers/image/v5/pkg/compression/compression.go index 4443dda7ff..ce688d1170 100644 --- a/vendor/github.com/containers/image/v5/pkg/compression/compression.go +++ b/vendor/github.com/containers/image/v5/pkg/compression/compression.go @@ -30,7 +30,7 @@ var ( // Zstd compression. Zstd = internal.NewAlgorithm(types.ZstdAlgorithmName, types.ZstdAlgorithmName, []byte{0x28, 0xb5, 0x2f, 0xfd}, ZstdDecompressor, zstdCompressor) - // ZstdChunked is a Zstd compression with chunk metadta which allows random access to individual files. + // Zstd:chunked compression. ZstdChunked = internal.NewAlgorithm(types.ZstdChunkedAlgorithmName, types.ZstdAlgorithmName, /* Note: InternalUnstableUndocumentedMIMEQuestionMark is not ZstdChunkedAlgorithmName */ nil, ZstdDecompressor, compressor.ZstdCompressor) diff --git a/vendor/github.com/containers/image/v5/pkg/compression/internal/types.go b/vendor/github.com/containers/image/v5/pkg/compression/internal/types.go index ba619be00e..fb37ca3179 100644 --- a/vendor/github.com/containers/image/v5/pkg/compression/internal/types.go +++ b/vendor/github.com/containers/image/v5/pkg/compression/internal/types.go @@ -44,21 +44,21 @@ func (c Algorithm) InternalUnstableUndocumentedMIMEQuestionMark() string { } // AlgorithmCompressor returns the compressor field of algo. -// This is a function instead of a public method so that it is only callable by code +// This is a function instead of a public method so that it is only callable from by code // that is allowed to import this internal subpackage. func AlgorithmCompressor(algo Algorithm) CompressorFunc { return algo.compressor } // AlgorithmDecompressor returns the decompressor field of algo. -// This is a function instead of a public method so that it is only callable by code +// This is a function instead of a public method so that it is only callable from by code // that is allowed to import this internal subpackage. func AlgorithmDecompressor(algo Algorithm) DecompressorFunc { return algo.decompressor } // AlgorithmPrefix returns the prefix field of algo. -// This is a function instead of a public method so that it is only callable by code +// This is a function instead of a public method so that it is only callable from by code // that is allowed to import this internal subpackage. func AlgorithmPrefix(algo Algorithm) []byte { return algo.prefix diff --git a/vendor/github.com/containers/image/v5/pkg/docker/config/config.go b/vendor/github.com/containers/image/v5/pkg/docker/config/config.go index c61065cb01..9623546d80 100644 --- a/vendor/github.com/containers/image/v5/pkg/docker/config/config.go +++ b/vendor/github.com/containers/image/v5/pkg/docker/config/config.go @@ -5,7 +5,6 @@ import ( "encoding/json" "errors" "fmt" - "io/fs" "os" "os/exec" "path/filepath" @@ -13,7 +12,6 @@ import ( "strings" "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/pkg/sysregistriesv2" "github.com/containers/image/v5/types" "github.com/containers/storage/pkg/homedir" @@ -34,6 +32,11 @@ type dockerConfigFile struct { CredHelpers map[string]string `json:"credHelpers,omitempty"` } +type authPath struct { + path string + legacyFormat bool +} + var ( defaultPerUIDPathFormat = filepath.FromSlash("/run/containers/%d/auth.json") xdgConfigHomePath = filepath.FromSlash("containers/auth.json") @@ -49,17 +52,73 @@ var ( ErrNotSupported = errors.New("not supported") ) -// authPath combines a path to a file with container registry credentials, -// along with expected properties of that path (currently just whether it's -// legacy format or not). -type authPath struct { - path string - legacyFormat bool +// SetCredentials stores the username and password in a location +// appropriate for sys and the users’ configuration. +// A valid key is a repository, a namespace within a registry, or a registry hostname; +// using forms other than just a registry may fail depending on configuration. +// Returns a human-redable description of the location that was updated. +// NOTE: The return value is only intended to be read by humans; its form is not an API, +// it may change (or new forms can be added) any time. +func SetCredentials(sys *types.SystemContext, key, username, password string) (string, error) { + isNamespaced, err := validateKey(key) + if err != nil { + return "", err + } + + helpers, err := sysregistriesv2.CredentialHelpers(sys) + if err != nil { + return "", err + } + + // Make sure to collect all errors. + var multiErr error + for _, helper := range helpers { + var desc string + var err error + switch helper { + // Special-case the built-in helpers for auth files. + case sysregistriesv2.AuthenticationFileHelper: + desc, err = modifyJSON(sys, func(auths *dockerConfigFile) (bool, error) { + if ch, exists := auths.CredHelpers[key]; exists { + if isNamespaced { + return false, unsupportedNamespaceErr(ch) + } + return false, setAuthToCredHelper(ch, key, username, password) + } + creds := base64.StdEncoding.EncodeToString([]byte(username + ":" + password)) + newCreds := dockerAuthConfig{Auth: creds} + auths.AuthConfigs[key] = newCreds + return true, nil + }) + // External helpers. + default: + if isNamespaced { + err = unsupportedNamespaceErr(helper) + } else { + desc = fmt.Sprintf("credential helper: %s", helper) + err = setAuthToCredHelper(helper, key, username, password) + } + } + if err != nil { + multiErr = multierror.Append(multiErr, err) + logrus.Debugf("Error storing credentials for %s in credential helper %s: %v", key, helper, err) + continue + } + logrus.Debugf("Stored credentials for %s in credential helper %s", key, helper) + return desc, nil + } + return "", multiErr } -// newAuthPathDefault constructs an authPath in non-legacy format. -func newAuthPathDefault(path string) authPath { - return authPath{path: path, legacyFormat: false} +func unsupportedNamespaceErr(helper string) error { + return fmt.Errorf("namespaced key is not supported for credential helper %s", helper) +} + +// SetAuthentication stores the username and password in the credential helper or file +// See the documentation of SetCredentials for format of "key" +func SetAuthentication(sys *types.SystemContext, key, username, password string) error { + _, err := SetCredentials(sys, key, username, password) + return err } // GetAllCredentials returns the registry credentials for all registries stored @@ -69,7 +128,10 @@ func GetAllCredentials(sys *types.SystemContext) (map[string]types.DockerAuthCon // possible sources, and then call `GetCredentials` on them. That // prevents us from having to reverse engineer the logic in // `GetCredentials`. - allKeys := set.New[string]() + allKeys := make(map[string]bool) + addKey := func(s string) { + allKeys[s] = true + } // To use GetCredentials, we must at least convert the URL forms into host names. // While we're at it, we’ll also canonicalize docker.io to the standard format. @@ -84,28 +146,28 @@ func GetAllCredentials(sys *types.SystemContext) (map[string]types.DockerAuthCon // Special-case the built-in helper for auth files. case sysregistriesv2.AuthenticationFileHelper: for _, path := range getAuthFilePaths(sys, homedir.Get()) { - // parse returns an empty map in case the path doesn't exist. - fileContents, err := path.parse() + // readJSONFile returns an empty map in case the path doesn't exist. + auths, err := readJSONFile(path.path, path.legacyFormat) if err != nil { return nil, fmt.Errorf("reading JSON file %q: %w", path.path, err) } // Credential helpers in the auth file have a // direct mapping to a registry, so we can just // walk the map. - for registry := range fileContents.CredHelpers { - allKeys.Add(registry) + for registry := range auths.CredHelpers { + addKey(registry) } - for key := range fileContents.AuthConfigs { + for key := range auths.AuthConfigs { key := normalizeAuthFileKey(key, path.legacyFormat) if key == normalizedDockerIORegistry { key = "docker.io" } - allKeys.Add(key) + addKey(key) } } // External helpers. default: - creds, err := listCredsInCredHelper(helper) + creds, err := listAuthsFromCredHelper(helper) if err != nil { logrus.Debugf("Error listing credentials stored in credential helper %s: %v", helper, err) if errors.Is(err, exec.ErrNotFound) { @@ -115,26 +177,26 @@ func GetAllCredentials(sys *types.SystemContext) (map[string]types.DockerAuthCon } } for registry := range creds { - allKeys.Add(registry) + addKey(registry) } } } // Now use `GetCredentials` to the specific auth configs for each // previously listed registry. - allCreds := make(map[string]types.DockerAuthConfig) - for _, key := range allKeys.Values() { - creds, err := GetCredentials(sys, key) + authConfigs := make(map[string]types.DockerAuthConfig) + for key := range allKeys { + authConf, err := GetCredentials(sys, key) if err != nil { // Note: we rely on the logging in `GetCredentials`. return nil, err } - if creds != (types.DockerAuthConfig{}) { - allCreds[key] = creds + if authConf != (types.DockerAuthConfig{}) { + authConfigs[key] = authConf } } - return allCreds, nil + return authConfigs, nil } // getAuthFilePaths returns a slice of authPaths based on the system context @@ -143,32 +205,32 @@ func GetAllCredentials(sys *types.SystemContext) (map[string]types.DockerAuthCon // by tests. func getAuthFilePaths(sys *types.SystemContext, homeDir string) []authPath { paths := []authPath{} - pathToAuth, userSpecifiedPath, err := getPathToAuth(sys) + pathToAuth, lf, err := getPathToAuth(sys) if err == nil { - paths = append(paths, pathToAuth) + paths = append(paths, authPath{path: pathToAuth, legacyFormat: lf}) } else { // Error means that the path set for XDG_RUNTIME_DIR does not exist // but we don't want to completely fail in the case that the user is pulling a public image // Logging the error as a warning instead and moving on to pulling the image logrus.Warnf("%v: Trying to pull image in the event that it is a public image.", err) } - if !userSpecifiedPath { - xdgCfgHome := os.Getenv("XDG_CONFIG_HOME") - if xdgCfgHome == "" { - xdgCfgHome = filepath.Join(homeDir, ".config") - } - paths = append(paths, newAuthPathDefault(filepath.Join(xdgCfgHome, xdgConfigHomePath))) - if dockerConfig := os.Getenv("DOCKER_CONFIG"); dockerConfig != "" { - paths = append(paths, newAuthPathDefault(filepath.Join(dockerConfig, "config.json"))) - } else { - paths = append(paths, - newAuthPathDefault(filepath.Join(homeDir, dockerHomePath)), - ) - } + xdgCfgHome := os.Getenv("XDG_CONFIG_HOME") + if xdgCfgHome == "" { + xdgCfgHome = filepath.Join(homeDir, ".config") + } + paths = append(paths, authPath{path: filepath.Join(xdgCfgHome, xdgConfigHomePath), legacyFormat: false}) + if dockerConfig := os.Getenv("DOCKER_CONFIG"); dockerConfig != "" { paths = append(paths, - authPath{path: filepath.Join(homeDir, dockerLegacyHomePath), legacyFormat: true}, + authPath{path: filepath.Join(dockerConfig, "config.json"), legacyFormat: false}, + ) + } else { + paths = append(paths, + authPath{path: filepath.Join(homeDir, dockerHomePath), legacyFormat: false}, ) } + paths = append(paths, + authPath{path: filepath.Join(homeDir, dockerLegacyHomePath), legacyFormat: true}, + ) return paths } @@ -214,13 +276,13 @@ func getCredentialsWithHomeDir(sys *types.SystemContext, key, homeDir string) (t // Anonymous function to query credentials from auth files. getCredentialsFromAuthFiles := func() (types.DockerAuthConfig, string, error) { for _, path := range getAuthFilePaths(sys, homeDir) { - creds, err := findCredentialsInFile(key, registry, path) + authConfig, err := findCredentialsInFile(key, registry, path.path, path.legacyFormat) if err != nil { return types.DockerAuthConfig{}, "", err } - if creds != (types.DockerAuthConfig{}) { - return creds, path.path, nil + if authConfig != (types.DockerAuthConfig{}) { + return authConfig, path.path, nil } } return types.DockerAuthConfig{}, "", nil @@ -249,7 +311,7 @@ func getCredentialsWithHomeDir(sys *types.SystemContext, key, homeDir string) (t // This intentionally uses "registry", not "key"; we don't support namespaced // credentials in helpers, but a "registry" is a valid parent of "key". helperKey = registry - creds, err = getCredsFromCredHelper(helper, registry) + creds, err = getAuthFromCredHelper(helper, registry) } if err != nil { logrus.Debugf("Error looking up credentials for %s in credential helper %s: %v", helperKey, helper, err) @@ -289,81 +351,14 @@ func GetAuthentication(sys *types.SystemContext, key string) (string, string, er // getAuthenticationWithHomeDir is an internal implementation detail of GetAuthentication, // it exists only to allow testing it with an artificial home directory. func getAuthenticationWithHomeDir(sys *types.SystemContext, key, homeDir string) (string, string, error) { - creds, err := getCredentialsWithHomeDir(sys, key, homeDir) + auth, err := getCredentialsWithHomeDir(sys, key, homeDir) if err != nil { return "", "", err } - if creds.IdentityToken != "" { + if auth.IdentityToken != "" { return "", "", fmt.Errorf("non-empty identity token found and this API doesn't support it: %w", ErrNotSupported) } - return creds.Username, creds.Password, nil -} - -// SetCredentials stores the username and password in a location -// appropriate for sys and the users’ configuration. -// A valid key is a repository, a namespace within a registry, or a registry hostname; -// using forms other than just a registry may fail depending on configuration. -// Returns a human-readable description of the location that was updated. -// NOTE: The return value is only intended to be read by humans; its form is not an API, -// it may change (or new forms can be added) any time. -func SetCredentials(sys *types.SystemContext, key, username, password string) (string, error) { - helpers, jsonEditor, key, isNamespaced, err := prepareForEdit(sys, key, true) - if err != nil { - return "", err - } - - // Make sure to collect all errors. - var multiErr error - for _, helper := range helpers { - var desc string - var err error - switch helper { - // Special-case the built-in helpers for auth files. - case sysregistriesv2.AuthenticationFileHelper: - desc, err = jsonEditor(sys, func(fileContents *dockerConfigFile) (bool, string, error) { - if ch, exists := fileContents.CredHelpers[key]; exists { - if isNamespaced { - return false, "", unsupportedNamespaceErr(ch) - } - desc, err := setCredsInCredHelper(ch, key, username, password) - if err != nil { - return false, "", err - } - return false, desc, nil - } - creds := base64.StdEncoding.EncodeToString([]byte(username + ":" + password)) - newCreds := dockerAuthConfig{Auth: creds} - fileContents.AuthConfigs[key] = newCreds - return true, "", nil - }) - // External helpers. - default: - if isNamespaced { - err = unsupportedNamespaceErr(helper) - } else { - desc, err = setCredsInCredHelper(helper, key, username, password) - } - } - if err != nil { - multiErr = multierror.Append(multiErr, err) - logrus.Debugf("Error storing credentials for %s in credential helper %s: %v", key, helper, err) - continue - } - logrus.Debugf("Stored credentials for %s in credential helper %s", key, helper) - return desc, nil - } - return "", multiErr -} - -func unsupportedNamespaceErr(helper string) error { - return fmt.Errorf("namespaced key is not supported for credential helper %s", helper) -} - -// SetAuthentication stores the username and password in the credential helper or file -// See the documentation of SetCredentials for format of "key" -func SetAuthentication(sys *types.SystemContext, key, username, password string) error { - _, err := SetCredentials(sys, key, username, password) - return err + return auth.Username, auth.Password, nil } // RemoveAuthentication removes credentials for `key` from all possible @@ -371,7 +366,12 @@ func SetAuthentication(sys *types.SystemContext, key, username, password string) // A valid key is a repository, a namespace within a registry, or a registry hostname; // using forms other than just a registry may fail depending on configuration. func RemoveAuthentication(sys *types.SystemContext, key string) error { - helpers, jsonEditor, key, isNamespaced, err := prepareForEdit(sys, key, true) + isNamespaced, err := validateKey(key) + if err != nil { + return err + } + + helpers, err := sysregistriesv2.CredentialHelpers(sys) if err != nil { return err } @@ -383,16 +383,17 @@ func RemoveAuthentication(sys *types.SystemContext, key string) error { if isNamespaced { logrus.Debugf("Not removing credentials because namespaced keys are not supported for the credential helper: %s", helper) return - } - err := deleteCredsFromCredHelper(helper, key) - if err == nil { - logrus.Debugf("Credentials for %q were deleted from credential helper %s", key, helper) - isLoggedIn = true - return - } - if credentials.IsErrCredentialsNotFoundMessage(err.Error()) { - logrus.Debugf("Not logged in to %s with credential helper %s", key, helper) - return + } else { + err := deleteAuthFromCredHelper(helper, key) + if err == nil { + logrus.Debugf("Credentials for %q were deleted from credential helper %s", key, helper) + isLoggedIn = true + return + } + if credentials.IsErrCredentialsNotFoundMessage(err.Error()) { + logrus.Debugf("Not logged in to %s with credential helper %s", key, helper) + return + } } multiErr = multierror.Append(multiErr, fmt.Errorf("removing credentials for %s from credential helper %s: %w", key, helper, err)) } @@ -402,15 +403,15 @@ func RemoveAuthentication(sys *types.SystemContext, key string) error { switch helper { // Special-case the built-in helper for auth files. case sysregistriesv2.AuthenticationFileHelper: - _, err = jsonEditor(sys, func(fileContents *dockerConfigFile) (bool, string, error) { - if innerHelper, exists := fileContents.CredHelpers[key]; exists { + _, err = modifyJSON(sys, func(auths *dockerConfigFile) (bool, error) { + if innerHelper, exists := auths.CredHelpers[key]; exists { removeFromCredHelper(innerHelper) } - if _, ok := fileContents.AuthConfigs[key]; ok { + if _, ok := auths.AuthConfigs[key]; ok { isLoggedIn = true - delete(fileContents.AuthConfigs, key) + delete(auths.AuthConfigs, key) } - return true, "", multiErr + return true, multiErr }) if err != nil { multiErr = multierror.Append(multiErr, err) @@ -434,7 +435,7 @@ func RemoveAuthentication(sys *types.SystemContext, key string) error { // RemoveAllAuthentication deletes all the credentials stored in credential // helpers and auth files. func RemoveAllAuthentication(sys *types.SystemContext) error { - helpers, jsonEditor, _, _, err := prepareForEdit(sys, "", false) + helpers, err := sysregistriesv2.CredentialHelpers(sys) if err != nil { return err } @@ -445,23 +446,23 @@ func RemoveAllAuthentication(sys *types.SystemContext) error { switch helper { // Special-case the built-in helper for auth files. case sysregistriesv2.AuthenticationFileHelper: - _, err = jsonEditor(sys, func(fileContents *dockerConfigFile) (bool, string, error) { - for registry, helper := range fileContents.CredHelpers { + _, err = modifyJSON(sys, func(auths *dockerConfigFile) (bool, error) { + for registry, helper := range auths.CredHelpers { // Helpers in auth files are expected // to exist, so no special treatment // for them. - if err := deleteCredsFromCredHelper(helper, registry); err != nil { - return false, "", err + if err := deleteAuthFromCredHelper(helper, registry); err != nil { + return false, err } } - fileContents.CredHelpers = make(map[string]string) - fileContents.AuthConfigs = make(map[string]dockerAuthConfig) - return true, "", nil + auths.CredHelpers = make(map[string]string) + auths.AuthConfigs = make(map[string]dockerAuthConfig) + return true, nil }) // External helpers. default: var creds map[string]string - creds, err = listCredsInCredHelper(helper) + creds, err = listAuthsFromCredHelper(helper) if err != nil { if errors.Is(err, exec.ErrNotFound) { // It's okay if the helper doesn't exist. @@ -471,7 +472,7 @@ func RemoveAllAuthentication(sys *types.SystemContext) error { } } for registry := range creds { - err = deleteCredsFromCredHelper(helper, registry) + err = deleteAuthFromCredHelper(helper, registry) if err != nil { break } @@ -488,83 +489,34 @@ func RemoveAllAuthentication(sys *types.SystemContext) error { return multiErr } -// prepareForEdit processes sys and key (if keyRelevant) to return: -// - a list of credential helpers -// - a function which can be used to edit the JSON file -// - the key value to actually use in credential helpers / JSON -// - a boolean which is true if key is namespaced (and should not be used with credential helpers). -func prepareForEdit(sys *types.SystemContext, key string, keyRelevant bool) ([]string, func(*types.SystemContext, func(*dockerConfigFile) (bool, string, error)) (string, error), string, bool, error) { - var isNamespaced bool - if keyRelevant { - ns, err := validateKey(key) - if err != nil { - return nil, nil, "", false, err - } - isNamespaced = ns - } - - if sys != nil && sys.DockerCompatAuthFilePath != "" { - if sys.AuthFilePath != "" { - return nil, nil, "", false, errors.New("AuthFilePath and DockerCompatAuthFilePath can not be set simultaneously") - } - if keyRelevant { - if isNamespaced { - return nil, nil, "", false, fmt.Errorf("Credentials cannot be recorded in Docker-compatible format with namespaced key %q", key) - } - if key == "docker.io" { - key = "https://index.docker.io/v1/" - } - } - - // Do not use helpers defined in sysregistriesv2 because Docker isn’t aware of them. - return []string{sysregistriesv2.AuthenticationFileHelper}, modifyDockerConfigJSON, key, false, nil - } - - helpers, err := sysregistriesv2.CredentialHelpers(sys) - if err != nil { - return nil, nil, "", false, err - } - - return helpers, modifyJSON, key, isNamespaced, nil -} - -func listCredsInCredHelper(credHelper string) (map[string]string, error) { +func listAuthsFromCredHelper(credHelper string) (map[string]string, error) { helperName := fmt.Sprintf("docker-credential-%s", credHelper) p := helperclient.NewShellProgramFunc(helperName) return helperclient.List(p) } -// getPathToAuth gets the path of the auth.json file used for reading and writing credentials, -// and a boolean indicating whether the return value came from an explicit user choice (i.e. not defaults) -func getPathToAuth(sys *types.SystemContext) (authPath, bool, error) { +// getPathToAuth gets the path of the auth.json file used for reading and writing credentials +// returns the path, and a bool specifies whether the file is in legacy format +func getPathToAuth(sys *types.SystemContext) (string, bool, error) { return getPathToAuthWithOS(sys, runtime.GOOS) } // getPathToAuthWithOS is an internal implementation detail of getPathToAuth, // it exists only to allow testing it with an artificial runtime.GOOS. -func getPathToAuthWithOS(sys *types.SystemContext, goOS string) (authPath, bool, error) { +func getPathToAuthWithOS(sys *types.SystemContext, goOS string) (string, bool, error) { if sys != nil { - if sys.AuthFilePath != "" && sys.DockerCompatAuthFilePath != "" { - return authPath{}, false, errors.New("AuthFilePath and DockerCompatAuthFilePath can not be set simultaneously") - } if sys.AuthFilePath != "" { - return newAuthPathDefault(sys.AuthFilePath), true, nil - } - // When reading, we can process auth.json and Docker’s config.json with the same code. - // When writing, prepareForEdit chooses an appropriate jsonEditor implementation. - if sys.DockerCompatAuthFilePath != "" { - return newAuthPathDefault(sys.DockerCompatAuthFilePath), true, nil + return sys.AuthFilePath, false, nil } if sys.LegacyFormatAuthFilePath != "" { - return authPath{path: sys.LegacyFormatAuthFilePath, legacyFormat: true}, true, nil + return sys.LegacyFormatAuthFilePath, true, nil } - // Note: RootForImplicitAbsolutePaths should not affect paths starting with $HOME - if sys.RootForImplicitAbsolutePaths != "" && goOS == "linux" { - return newAuthPathDefault(filepath.Join(sys.RootForImplicitAbsolutePaths, fmt.Sprintf(defaultPerUIDPathFormat, os.Getuid()))), false, nil + if sys.RootForImplicitAbsolutePaths != "" { + return filepath.Join(sys.RootForImplicitAbsolutePaths, fmt.Sprintf(defaultPerUIDPathFormat, os.Getuid())), false, nil } } - if goOS != "linux" { - return newAuthPathDefault(filepath.Join(homedir.Get(), nonLinuxAuthFilePath)), false, nil + if goOS == "windows" || goOS == "darwin" { + return filepath.Join(homedir.Get(), nonLinuxAuthFilePath), false, nil } runtimeDir := os.Getenv("XDG_RUNTIME_DIR") @@ -576,160 +528,77 @@ func getPathToAuthWithOS(sys *types.SystemContext, goOS string) (authPath, bool, // This means the user set the XDG_RUNTIME_DIR variable and either forgot to create the directory // or made a typo while setting the environment variable, // so return an error referring to $XDG_RUNTIME_DIR instead of xdgRuntimeDirPath inside. - return authPath{}, false, fmt.Errorf("%q directory set by $XDG_RUNTIME_DIR does not exist. Either create the directory or unset $XDG_RUNTIME_DIR.: %w", runtimeDir, err) + return "", false, fmt.Errorf("%q directory set by $XDG_RUNTIME_DIR does not exist. Either create the directory or unset $XDG_RUNTIME_DIR.: %w", runtimeDir, err) } // else ignore err and let the caller fail accessing xdgRuntimeDirPath. - return newAuthPathDefault(filepath.Join(runtimeDir, xdgRuntimeDirPath)), false, nil + return filepath.Join(runtimeDir, xdgRuntimeDirPath), false, nil } - return newAuthPathDefault(fmt.Sprintf(defaultPerUIDPathFormat, os.Getuid())), false, nil + return fmt.Sprintf(defaultPerUIDPathFormat, os.Getuid()), false, nil } -// parse unmarshals the credentials stored in the auth.json file and returns it +// readJSONFile unmarshals the authentications stored in the auth.json file and returns it // or returns an empty dockerConfigFile data structure if auth.json does not exist -// if the file exists and is empty, this function returns an error. -func (path authPath) parse() (dockerConfigFile, error) { - var fileContents dockerConfigFile +// if the file exists and is empty, readJSONFile returns an error +func readJSONFile(path string, legacyFormat bool) (dockerConfigFile, error) { + var auths dockerConfigFile - raw, err := os.ReadFile(path.path) + raw, err := os.ReadFile(path) if err != nil { if os.IsNotExist(err) { - fileContents.AuthConfigs = map[string]dockerAuthConfig{} - return fileContents, nil + auths.AuthConfigs = map[string]dockerAuthConfig{} + return auths, nil } return dockerConfigFile{}, err } - if path.legacyFormat { - if err = json.Unmarshal(raw, &fileContents.AuthConfigs); err != nil { - return dockerConfigFile{}, fmt.Errorf("unmarshaling JSON at %q: %w", path.path, err) + if legacyFormat { + if err = json.Unmarshal(raw, &auths.AuthConfigs); err != nil { + return dockerConfigFile{}, fmt.Errorf("unmarshaling JSON at %q: %w", path, err) } - return fileContents, nil + return auths, nil } - if err = json.Unmarshal(raw, &fileContents); err != nil { - return dockerConfigFile{}, fmt.Errorf("unmarshaling JSON at %q: %w", path.path, err) + if err = json.Unmarshal(raw, &auths); err != nil { + return dockerConfigFile{}, fmt.Errorf("unmarshaling JSON at %q: %w", path, err) } - if fileContents.AuthConfigs == nil { - fileContents.AuthConfigs = map[string]dockerAuthConfig{} + if auths.AuthConfigs == nil { + auths.AuthConfigs = map[string]dockerAuthConfig{} } - if fileContents.CredHelpers == nil { - fileContents.CredHelpers = make(map[string]string) + if auths.CredHelpers == nil { + auths.CredHelpers = make(map[string]string) } - return fileContents, nil + return auths, nil } // modifyJSON finds an auth.json file, calls editor on the contents, and // writes it back if editor returns true. -// Returns a human-readable description of the file, to be returned by SetCredentials. -// -// The editor may also return a human-readable description of the updated location; if it is "", -// the file itself is used. -func modifyJSON(sys *types.SystemContext, editor func(fileContents *dockerConfigFile) (bool, string, error)) (string, error) { - path, _, err := getPathToAuth(sys) +// Returns a human-redable description of the file, to be returned by SetCredentials. +func modifyJSON(sys *types.SystemContext, editor func(auths *dockerConfigFile) (bool, error)) (string, error) { + path, legacyFormat, err := getPathToAuth(sys) if err != nil { return "", err } - if path.legacyFormat { - return "", fmt.Errorf("writes to %s using legacy format are not supported", path.path) + if legacyFormat { + return "", fmt.Errorf("writes to %s using legacy format are not supported", path) } - dir := filepath.Dir(path.path) + dir := filepath.Dir(path) if err = os.MkdirAll(dir, 0700); err != nil { return "", err } - fileContents, err := path.parse() + auths, err := readJSONFile(path, false) if err != nil { - return "", fmt.Errorf("reading JSON file %q: %w", path.path, err) - } - - updated, description, err := editor(&fileContents) - if err != nil { - return "", fmt.Errorf("updating %q: %w", path.path, err) - } - if updated { - newData, err := json.MarshalIndent(fileContents, "", "\t") - if err != nil { - return "", fmt.Errorf("marshaling JSON %q: %w", path.path, err) - } - - if err = ioutils.AtomicWriteFile(path.path, newData, 0600); err != nil { - return "", fmt.Errorf("writing to file %q: %w", path.path, err) - } - } - - if description == "" { - description = path.path - } - return description, nil -} - -// modifyDockerConfigJSON finds a docker config.json file, calls editor on the contents, and -// writes it back if editor returns true. -// Returns a human-readable description of the file, to be returned by SetCredentials. -// -// The editor may also return a human-readable description of the updated location; if it is "", -// the file itself is used. -func modifyDockerConfigJSON(sys *types.SystemContext, editor func(fileContents *dockerConfigFile) (bool, string, error)) (string, error) { - if sys == nil || sys.DockerCompatAuthFilePath == "" { - return "", errors.New("internal error: modifyDockerConfigJSON called with DockerCompatAuthFilePath not set") + return "", fmt.Errorf("reading JSON file %q: %w", path, err) } - path := sys.DockerCompatAuthFilePath - dir := filepath.Dir(path) - if err := os.MkdirAll(dir, 0700); err != nil { - return "", err - } - - // Try hard not to clobber fields we don’t understand, even fields which may be added in future Docker versions. - var rawContents map[string]json.RawMessage - originalBytes, err := os.ReadFile(path) - switch { - case err == nil: - if err := json.Unmarshal(originalBytes, &rawContents); err != nil { - return "", fmt.Errorf("unmarshaling JSON at %q: %w", path, err) - } - case errors.Is(err, fs.ErrNotExist): - rawContents = map[string]json.RawMessage{} - default: // err != nil - return "", err - } - - syntheticContents := dockerConfigFile{ - AuthConfigs: map[string]dockerAuthConfig{}, - CredHelpers: map[string]string{}, - } - // json.Unmarshal also falls back to case-insensitive field matching; this code does not do that. Presumably - // config.json is mostly maintained by machines doing `docker login`, so the files should, hopefully, not contain field names with - // unexpected case. - if rawAuths, ok := rawContents["auths"]; ok { - // This conversion will lose fields we don’t know about; when updating an entry, we can’t tell whether an unknown field - // should be preserved or discarded (because it is made obsolete/unwanted with the new credentials). - // It might make sense to track which entries of "auths" we actually modified, and to not touch any others. - if err := json.Unmarshal(rawAuths, &syntheticContents.AuthConfigs); err != nil { - return "", fmt.Errorf(`unmarshaling "auths" in JSON at %q: %w`, path, err) - } - } - if rawCH, ok := rawContents["credHelpers"]; ok { - if err := json.Unmarshal(rawCH, &syntheticContents.CredHelpers); err != nil { - return "", fmt.Errorf(`unmarshaling "credHelpers" in JSON at %q: %w`, path, err) - - } - } - - updated, description, err := editor(&syntheticContents) + updated, err := editor(&auths) if err != nil { return "", fmt.Errorf("updating %q: %w", path, err) } if updated { - rawAuths, err := json.MarshalIndent(syntheticContents.AuthConfigs, "", "\t") - if err != nil { - return "", fmt.Errorf("marshaling JSON %q: %w", path, err) - } - rawContents["auths"] = rawAuths - // We never modify syntheticContents.CredHelpers, so we don’t need to update it. - newData, err := json.MarshalIndent(rawContents, "", "\t") + newData, err := json.MarshalIndent(auths, "", "\t") if err != nil { return "", fmt.Errorf("marshaling JSON %q: %w", path, err) } @@ -739,13 +608,10 @@ func modifyDockerConfigJSON(sys *types.SystemContext, editor func(fileContents * } } - if description == "" { - description = path - } - return description, nil + return path, nil } -func getCredsFromCredHelper(credHelper, registry string) (types.DockerAuthConfig, error) { +func getAuthFromCredHelper(credHelper, registry string) (types.DockerAuthConfig, error) { helperName := fmt.Sprintf("docker-credential-%s", credHelper) p := helperclient.NewShellProgramFunc(helperName) creds, err := helperclient.Get(p, registry) @@ -770,9 +636,7 @@ func getCredsFromCredHelper(credHelper, registry string) (types.DockerAuthConfig } } -// setCredsInCredHelper stores (username, password) for registry in credHelper. -// Returns a human-readable description of the destination, to be returned by SetCredentials. -func setCredsInCredHelper(credHelper, registry, username, password string) (string, error) { +func setAuthToCredHelper(credHelper, registry, username, password string) error { helperName := fmt.Sprintf("docker-credential-%s", credHelper) p := helperclient.NewShellProgramFunc(helperName) creds := &credentials.Credentials{ @@ -780,13 +644,10 @@ func setCredsInCredHelper(credHelper, registry, username, password string) (stri Username: username, Secret: password, } - if err := helperclient.Store(p, creds); err != nil { - return "", err - } - return fmt.Sprintf("credential helper: %s", credHelper), nil + return helperclient.Store(p, creds) } -func deleteCredsFromCredHelper(credHelper, registry string) error { +func deleteAuthFromCredHelper(credHelper, registry string) error { helperName := fmt.Sprintf("docker-credential-%s", credHelper) p := helperclient.NewShellProgramFunc(helperName) return helperclient.Erase(p, registry) @@ -794,25 +655,25 @@ func deleteCredsFromCredHelper(credHelper, registry string) error { // findCredentialsInFile looks for credentials matching "key" // (which is "registry" or a namespace in "registry") in "path". -func findCredentialsInFile(key, registry string, path authPath) (types.DockerAuthConfig, error) { - fileContents, err := path.parse() +func findCredentialsInFile(key, registry, path string, legacyFormat bool) (types.DockerAuthConfig, error) { + auths, err := readJSONFile(path, legacyFormat) if err != nil { - return types.DockerAuthConfig{}, fmt.Errorf("reading JSON file %q: %w", path.path, err) + return types.DockerAuthConfig{}, fmt.Errorf("reading JSON file %q: %w", path, err) } // First try cred helpers. They should always be normalized. // This intentionally uses "registry", not "key"; we don't support namespaced // credentials in helpers. - if ch, exists := fileContents.CredHelpers[registry]; exists { - logrus.Debugf("Looking up in credential helper %s based on credHelpers entry in %s", ch, path.path) - return getCredsFromCredHelper(ch, registry) + if ch, exists := auths.CredHelpers[registry]; exists { + logrus.Debugf("Looking up in credential helper %s based on credHelpers entry in %s", ch, path) + return getAuthFromCredHelper(ch, registry) } // Support sub-registry namespaces in auth. // (This is not a feature of ~/.docker/config.json; we support it even for // those files as an extension.) var keys []string - if !path.legacyFormat { + if !legacyFormat { keys = authKeysForKey(key) } else { keys = []string{registry} @@ -821,8 +682,8 @@ func findCredentialsInFile(key, registry string, path authPath) (types.DockerAut // Repo or namespace keys are only supported as exact matches. For registry // keys we prefer exact matches as well. for _, key := range keys { - if val, exists := fileContents.AuthConfigs[key]; exists { - return decodeDockerAuth(path.path, key, val) + if val, exists := auths.AuthConfigs[key]; exists { + return decodeDockerAuth(val) } } @@ -835,15 +696,15 @@ func findCredentialsInFile(key, registry string, path authPath) (types.DockerAut // The docker.io registry still uses the /v1/ key with a special host name, // so account for that as well. registry = normalizeRegistry(registry) - for k, v := range fileContents.AuthConfigs { - if normalizeAuthFileKey(k, path.legacyFormat) == registry { - return decodeDockerAuth(path.path, k, v) + for k, v := range auths.AuthConfigs { + if normalizeAuthFileKey(k, legacyFormat) == registry { + return decodeDockerAuth(v) } } // Only log this if we found nothing; getCredentialsWithHomeDir logs the // source of found data. - logrus.Debugf("No credentials matching %s found in %s", key, path.path) + logrus.Debugf("No credentials matching %s found in %s", key, path) return types.DockerAuthConfig{}, nil } @@ -868,26 +729,22 @@ func authKeysForKey(key string) (res []string) { return res } -// decodeDockerAuth decodes the username and password from conf, -// which is entry key in path. -func decodeDockerAuth(path, key string, conf dockerAuthConfig) (types.DockerAuthConfig, error) { +// decodeDockerAuth decodes the username and password, which is +// encoded in base64. +func decodeDockerAuth(conf dockerAuthConfig) (types.DockerAuthConfig, error) { decoded, err := base64.StdEncoding.DecodeString(conf.Auth) if err != nil { return types.DockerAuthConfig{}, err } - user, passwordPart, valid := strings.Cut(string(decoded), ":") - if !valid { + parts := strings.SplitN(string(decoded), ":", 2) + if len(parts) != 2 { // if it's invalid just skip, as docker does - if len(decoded) > 0 { // Docker writes "auths": { "$host": {} } entries if a credential helper is used, don’t warn about those - logrus.Warnf(`Error parsing the "auth" field of a credential entry %q in %q, missing semicolon`, key, path) // Don’t include the text of decoded, because that might put secrets into a log. - } else { - logrus.Debugf("Found an empty credential entry %q in %q (an unhandled credential helper marker?), moving on", key, path) - } return types.DockerAuthConfig{}, nil } - password := strings.Trim(passwordPart, "\x00") + user := parts[0] + password := strings.Trim(parts[1], "\x00") return types.DockerAuthConfig{ Username: user, Password: password, @@ -902,7 +759,7 @@ func normalizeAuthFileKey(key string, legacyFormat bool) string { stripped = strings.TrimPrefix(stripped, "https://") if legacyFormat || stripped != key { - stripped, _, _ = strings.Cut(stripped, "/") + stripped = strings.SplitN(stripped, "/", 2)[0] } return normalizeRegistry(stripped) diff --git a/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/shortnames.go b/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/shortnames.go index 3a11542c62..12939b24da 100644 --- a/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/shortnames.go +++ b/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/shortnames.go @@ -14,7 +14,6 @@ import ( "github.com/containers/storage/pkg/homedir" "github.com/containers/storage/pkg/lockfile" "github.com/sirupsen/logrus" - "golang.org/x/exp/maps" ) // defaultShortNameMode is the default mode of registries.conf files if the @@ -309,7 +308,9 @@ func newShortNameAliasCache(path string, conf *shortNameAliasConf) (*shortNameAl // updateWithConfigurationFrom updates c with configuration from updates. // In case of conflict, updates is preferred. func (c *shortNameAliasCache) updateWithConfigurationFrom(updates *shortNameAliasCache) { - maps.Copy(c.namedAliases, updates.namedAliases) + for name, value := range updates.namedAliases { + c.namedAliases[name] = value + } } func loadShortNameAliasConf(confPath string) (*shortNameAliasConf, *shortNameAliasCache, error) { @@ -334,7 +335,7 @@ func loadShortNameAliasConf(confPath string) (*shortNameAliasConf, *shortNameAli return &conf, cache, nil } -func shortNameAliasesConfPathAndLock(ctx *types.SystemContext) (string, *lockfile.LockFile, error) { +func shortNameAliasesConfPathAndLock(ctx *types.SystemContext) (string, lockfile.Locker, error) { shortNameAliasesConfPath, err := shortNameAliasesConfPath(ctx) if err != nil { return "", nil, err @@ -345,6 +346,6 @@ func shortNameAliasesConfPathAndLock(ctx *types.SystemContext) (string, *lockfil } lockPath := shortNameAliasesConfPath + ".lock" - locker, err := lockfile.GetLockFile(lockPath) + locker, err := lockfile.GetLockfile(lockPath) return shortNameAliasesConfPath, locker, err } diff --git a/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go b/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go index f45fd9de11..41204dd9af 100644 --- a/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go +++ b/vendor/github.com/containers/image/v5/pkg/sysregistriesv2/system_registries_v2.go @@ -6,6 +6,7 @@ import ( "os" "path/filepath" "reflect" + "regexp" "sort" "strings" "sync" @@ -14,9 +15,7 @@ import ( "github.com/containers/image/v5/docker/reference" "github.com/containers/image/v5/types" "github.com/containers/storage/pkg/homedir" - "github.com/containers/storage/pkg/regexp" "github.com/sirupsen/logrus" - "golang.org/x/exp/maps" ) // systemRegistriesConfPath is the path to the system-wide registry @@ -199,7 +198,6 @@ type V1RegistriesConf struct { } // Nonempty returns true if config contains at least one configuration entry. -// Empty arrays are treated as missing entries. func (config *V1RegistriesConf) Nonempty() bool { copy := *config // A shallow copy if copy.V1TOMLConfig.Search.Registries != nil && len(copy.V1TOMLConfig.Search.Registries) == 0 { @@ -211,15 +209,7 @@ func (config *V1RegistriesConf) Nonempty() bool { if copy.V1TOMLConfig.Block.Registries != nil && len(copy.V1TOMLConfig.Block.Registries) == 0 { copy.V1TOMLConfig.Block.Registries = nil } - return copy.hasSetField() -} - -// hasSetField returns true if config contains at least one configuration entry. -// This is useful because of a subtlety of the behavior of the TOML decoder, where a missing array field -// is not modified while unmarshaling (in our case remains to nil), while an [] is unmarshaled -// as a non-nil []string{}. -func (config *V1RegistriesConf) hasSetField() bool { - return !reflect.DeepEqual(*config, V1RegistriesConf{}) + return !reflect.DeepEqual(copy, V1RegistriesConf{}) } // V2RegistriesConf is the sysregistries v2 configuration format. @@ -267,15 +257,7 @@ func (config *V2RegistriesConf) Nonempty() bool { if !copy.shortNameAliasConf.nonempty() { copy.shortNameAliasConf = shortNameAliasConf{} } - return copy.hasSetField() -} - -// hasSetField returns true if config contains at least one configuration entry. -// This is useful because of a subtlety of the behavior of the TOML decoder, where a missing array field -// is not modified while unmarshaling (in our case remains to nil), while an [] is unmarshaled -// as a non-nil []string{}. -func (config *V2RegistriesConf) hasSetField() bool { - return !reflect.DeepEqual(*config, V2RegistriesConf{}) + return !reflect.DeepEqual(copy, V2RegistriesConf{}) } // parsedConfig is the result of parsing, and possibly merging, configuration files; @@ -385,7 +367,7 @@ func (config *V1RegistriesConf) ConvertToV2() (*V2RegistriesConf, error) { } // anchoredDomainRegexp is an internal implementation detail of postProcess, defining the valid values of elements of UnqualifiedSearchRegistries. -var anchoredDomainRegexp = regexp.Delayed("^" + reference.DomainRegexp.String() + "$") +var anchoredDomainRegexp = regexp.MustCompile("^" + reference.DomainRegexp.String() + "$") // postProcess checks the consistency of all the configuration, looks for conflicts, // and normalizes the configuration (e.g., sets the Prefix to Location if not set). @@ -941,15 +923,15 @@ func loadConfigFile(path string, forceV2 bool) (*parsedConfig, error) { logrus.Debugf("Failed to decode keys %q from %q", keys, path) } - if combinedTOML.V1RegistriesConf.hasSetField() { + if combinedTOML.V1RegistriesConf.Nonempty() { // Enforce the v2 format if requested. if forceV2 { return nil, &InvalidRegistries{s: "registry must be in v2 format but is in v1"} } // Convert a v1 config into a v2 config. - if combinedTOML.V2RegistriesConf.hasSetField() { - return nil, &InvalidRegistries{s: fmt.Sprintf("mixing sysregistry v1/v2 is not supported: %#v", combinedTOML)} + if combinedTOML.V2RegistriesConf.Nonempty() { + return nil, &InvalidRegistries{s: "mixing sysregistry v1/v2 is not supported"} } converted, err := combinedTOML.V1RegistriesConf.ConvertToV2() if err != nil { @@ -1020,9 +1002,12 @@ func (c *parsedConfig) updateWithConfigurationFrom(updates *parsedConfig) { // Go maps have a non-deterministic order when iterating the keys, so // we dump them in a slice and sort it to enforce some order in // Registries slice. Some consumers of c/image (e.g., CRI-O) log the - // configuration where a non-deterministic order could easily cause + // the configuration where a non-deterministic order could easily cause // confusion. - prefixes := maps.Keys(registryMap) + prefixes := []string{} + for prefix := range registryMap { + prefixes = append(prefixes, prefix) + } sort.Strings(prefixes) c.partialV2.Registries = []Registry{} diff --git a/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go b/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go index c6ec84bd5a..9599aa3c9d 100644 --- a/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go +++ b/vendor/github.com/containers/image/v5/pkg/tlsclientconfig/tlsclientconfig.go @@ -2,7 +2,6 @@ package tlsclientconfig import ( "crypto/tls" - "crypto/x509" "fmt" "net" "net/http" @@ -11,8 +10,9 @@ import ( "strings" "time" + "github.com/docker/go-connections/sockets" + "github.com/docker/go-connections/tlsconfig" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" ) // SetupCertificates opens all .crt, .cert, and .key files in dir and appends / loads certs and key pairs as appropriate to tlsc @@ -47,7 +47,7 @@ func SetupCertificates(dir string, tlsc *tls.Config) error { return err } if tlsc.RootCAs == nil { - systemPool, err := x509.SystemCertPool() + systemPool, err := tlsconfig.SystemCertPool() if err != nil { return fmt.Errorf("unable to get system cert pool: %w", err) } @@ -66,7 +66,7 @@ func SetupCertificates(dir string, tlsc *tls.Config) error { if err != nil { return err } - tlsc.Certificates = append(slices.Clone(tlsc.Certificates), cert) + tlsc.Certificates = append(tlsc.Certificates, cert) } if strings.HasSuffix(f.Name(), ".key") { keyName := f.Name() @@ -81,9 +81,12 @@ func SetupCertificates(dir string, tlsc *tls.Config) error { } func hasFile(files []os.DirEntry, name string) bool { - return slices.ContainsFunc(files, func(f os.DirEntry) bool { - return f.Name() == name - }) + for _, f := range files { + if f.Name() == name { + return true + } + } + return false } // NewTransport Creates a default transport @@ -91,13 +94,17 @@ func NewTransport() *http.Transport { direct := &net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, + DualStack: true, } tr := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: direct.DialContext, TLSHandshakeTimeout: 10 * time.Second, - IdleConnTimeout: 90 * time.Second, - MaxIdleConns: 100, + // TODO(dmcgowan): Call close idle connections when complete and use keep alive + DisableKeepAlives: true, + } + if _, err := sockets.DialerFromEnvironment(direct); err != nil { + logrus.Debugf("Can't execute DialerFromEnvironment: %v", err) } return tr } diff --git a/vendor/github.com/containers/image/v5/sif/src.go b/vendor/github.com/containers/image/v5/sif/src.go index 261cfbe771..b645f80dd0 100644 --- a/vendor/github.com/containers/image/v5/sif/src.go +++ b/vendor/github.com/containers/image/v5/sif/src.go @@ -73,7 +73,7 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref sifRefere _ = sifImg.UnloadContainer() }() - workDir, err := tmpdir.MkDirBigFileTemp(sys, "sif") + workDir, err := os.MkdirTemp(tmpdir.TemporaryDirectoryForBigFiles(sys), "sif") if err != nil { return nil, fmt.Errorf("creating temp directory: %w", err) } @@ -96,11 +96,9 @@ func newImageSource(ctx context.Context, sys *types.SystemContext, ref sifRefere created := sifImg.ModifiedAt() config := imgspecv1.Image{ - Created: &created, - Platform: imgspecv1.Platform{ - Architecture: sifImg.PrimaryArch(), - OS: "linux", - }, + Created: &created, + Architecture: sifImg.PrimaryArch(), + OS: "linux", Config: imgspecv1.ImageConfig{ Cmd: commandLine, }, @@ -182,7 +180,7 @@ func (s *sifImageSource) Close() error { func (s *sifImageSource) GetBlob(ctx context.Context, info types.BlobInfo, cache types.BlobInfoCache) (io.ReadCloser, int64, error) { switch info.Digest { case s.configDigest: - return io.NopCloser(bytes.NewReader(s.config)), int64(len(s.config)), nil + return io.NopCloser(bytes.NewBuffer(s.config)), int64(len(s.config)), nil case s.layerDigest: reader, err := os.Open(s.layerFile) if err != nil { diff --git a/vendor/github.com/containers/image/v5/sif/transport.go b/vendor/github.com/containers/image/v5/sif/transport.go index 4c09010714..2037f25082 100644 --- a/vendor/github.com/containers/image/v5/sif/transport.go +++ b/vendor/github.com/containers/image/v5/sif/transport.go @@ -87,7 +87,7 @@ func (ref sifReference) Transport() types.ImageTransport { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix; // instead, see transports.ImageName(). func (ref sifReference) StringWithinTransport() string { diff --git a/vendor/github.com/containers/image/v5/signature/docker.go b/vendor/github.com/containers/image/v5/signature/docker.go index d6075f8110..b09502dfe3 100644 --- a/vendor/github.com/containers/image/v5/signature/docker.go +++ b/vendor/github.com/containers/image/v5/signature/docker.go @@ -11,7 +11,6 @@ import ( "github.com/containers/image/v5/manifest" "github.com/containers/image/v5/signature/internal" "github.com/opencontainers/go-digest" - "golang.org/x/exp/slices" ) // SignOptions includes optional parameters for signing container images. @@ -51,26 +50,15 @@ func SignDockerManifest(m []byte, dockerReference string, mech SigningMechanism, // using mech. func VerifyDockerManifestSignature(unverifiedSignature, unverifiedManifest []byte, expectedDockerReference string, mech SigningMechanism, expectedKeyIdentity string) (*Signature, error) { - sig, _, err := VerifyImageManifestSignatureUsingKeyIdentityList(unverifiedSignature, unverifiedManifest, expectedDockerReference, mech, []string{expectedKeyIdentity}) - return sig, err -} - -// VerifyImageManifestSignatureUsingKeyIdentityList checks that unverifiedSignature uses one of the expectedKeyIdentities -// to sign unverifiedManifest as expectedDockerReference, using mech. Returns the verified signature and the key identity that -// was used to verify it. -func VerifyImageManifestSignatureUsingKeyIdentityList(unverifiedSignature, unverifiedManifest []byte, - expectedDockerReference string, mech SigningMechanism, expectedKeyIdentities []string) (*Signature, string, error) { expectedRef, err := reference.ParseNormalizedNamed(expectedDockerReference) if err != nil { - return nil, "", err + return nil, err } - var matchedKeyIdentity string sig, err := verifyAndExtractSignature(mech, unverifiedSignature, signatureAcceptanceRules{ validateKeyIdentity: func(keyIdentity string) error { - if !slices.Contains(expectedKeyIdentities, keyIdentity) { - return internal.NewInvalidSignatureError(fmt.Sprintf("Signature by %s does not match expected fingerprints %v", keyIdentity, expectedKeyIdentities)) + if keyIdentity != expectedKeyIdentity { + return internal.NewInvalidSignatureError(fmt.Sprintf("Signature by %s does not match expected fingerprint %s", keyIdentity, expectedKeyIdentity)) } - matchedKeyIdentity = keyIdentity return nil }, validateSignedDockerReference: func(signedDockerReference string) error { @@ -96,7 +84,7 @@ func VerifyImageManifestSignatureUsingKeyIdentityList(unverifiedSignature, unver }, }) if err != nil { - return nil, "", err + return nil, err } - return sig, matchedKeyIdentity, err + return sig, nil } diff --git a/vendor/github.com/containers/image/v5/signature/fulcio_cert.go b/vendor/github.com/containers/image/v5/signature/fulcio_cert.go deleted file mode 100644 index ef5d3df6f0..0000000000 --- a/vendor/github.com/containers/image/v5/signature/fulcio_cert.go +++ /dev/null @@ -1,204 +0,0 @@ -package signature - -import ( - "crypto" - "crypto/ecdsa" - "crypto/x509" - "encoding/asn1" - "errors" - "fmt" - "time" - - "github.com/containers/image/v5/signature/internal" - "github.com/sigstore/fulcio/pkg/certificate" - "github.com/sigstore/sigstore/pkg/cryptoutils" - "golang.org/x/exp/slices" -) - -// fulcioTrustRoot contains policy allow validating Fulcio-issued certificates. -// Users should call validate() on the policy before using it. -type fulcioTrustRoot struct { - caCertificates *x509.CertPool - oidcIssuer string - subjectEmail string -} - -func (f *fulcioTrustRoot) validate() error { - if f.oidcIssuer == "" { - return errors.New("Internal inconsistency: Fulcio use set up without OIDC issuer") - } - if f.subjectEmail == "" { - return errors.New("Internal inconsistency: Fulcio use set up without subject email") - } - return nil -} - -// fulcioIssuerInCertificate returns the OIDC issuer recorded by Fulcio in unutrustedCertificate; -// it fails if the extension is not present in the certificate, or on any inconsistency. -func fulcioIssuerInCertificate(untrustedCertificate *x509.Certificate) (string, error) { - // == Validate the recorded OIDC issuer - gotOIDCIssuer1 := false - gotOIDCIssuer2 := false - var oidcIssuer1, oidcIssuer2 string - // certificate.ParseExtensions doesn’t reject duplicate extensions, and doesn’t detect inconsistencies - // between certificate.OIDIssuer and certificate.OIDIssuerV2. - // Go 1.19 rejects duplicate extensions universally; but until we can require Go 1.19, - // reject duplicates manually. - for _, untrustedExt := range untrustedCertificate.Extensions { - if untrustedExt.Id.Equal(certificate.OIDIssuer) { //nolint:staticcheck // This is deprecated, but we must continue to accept it. - if gotOIDCIssuer1 { - // Coverage: This is unreachable in Go ≥1.19, which rejects certificates with duplicate extensions - // already in ParseCertificate. - return "", internal.NewInvalidSignatureError("Fulcio certificate has a duplicate OIDC issuer v1 extension") - } - oidcIssuer1 = string(untrustedExt.Value) - gotOIDCIssuer1 = true - } else if untrustedExt.Id.Equal(certificate.OIDIssuerV2) { - if gotOIDCIssuer2 { - // Coverage: This is unreachable in Go ≥1.19, which rejects certificates with duplicate extensions - // already in ParseCertificate. - return "", internal.NewInvalidSignatureError("Fulcio certificate has a duplicate OIDC issuer v2 extension") - } - rest, err := asn1.Unmarshal(untrustedExt.Value, &oidcIssuer2) - if err != nil { - return "", internal.NewInvalidSignatureError(fmt.Sprintf("invalid ASN.1 in OIDC issuer v2 extension: %v", err)) - } - if len(rest) != 0 { - return "", internal.NewInvalidSignatureError("invalid ASN.1 in OIDC issuer v2 extension, trailing data") - } - gotOIDCIssuer2 = true - } - } - switch { - case gotOIDCIssuer1 && gotOIDCIssuer2: - if oidcIssuer1 != oidcIssuer2 { - return "", internal.NewInvalidSignatureError(fmt.Sprintf("inconsistent OIDC issuer extension values: v1 %#v, v2 %#v", - oidcIssuer1, oidcIssuer2)) - } - return oidcIssuer1, nil - case gotOIDCIssuer1: - return oidcIssuer1, nil - case gotOIDCIssuer2: - return oidcIssuer2, nil - default: - return "", internal.NewInvalidSignatureError("Fulcio certificate is missing the issuer extension") - } -} - -func (f *fulcioTrustRoot) verifyFulcioCertificateAtTime(relevantTime time.Time, untrustedCertificateBytes []byte, untrustedIntermediateChainBytes []byte) (crypto.PublicKey, error) { - // == Verify the certificate is correctly signed - var untrustedIntermediatePool *x509.CertPool // = nil - // untrustedCertificateChainPool.AppendCertsFromPEM does something broadly similar, - // but it seems to optimize for memory usage at the cost of larger CPU usage (i.e. to load - // the hundreds of trusted CAs). Golang’s TLS code similarly calls individual AddCert - // for intermediate certificates. - if len(untrustedIntermediateChainBytes) > 0 { - untrustedIntermediateChain, err := cryptoutils.UnmarshalCertificatesFromPEM(untrustedIntermediateChainBytes) - if err != nil { - return nil, internal.NewInvalidSignatureError(fmt.Sprintf("loading certificate chain: %v", err)) - } - untrustedIntermediatePool = x509.NewCertPool() - if len(untrustedIntermediateChain) > 1 { - for _, untrustedIntermediateCert := range untrustedIntermediateChain[:len(untrustedIntermediateChain)-1] { - untrustedIntermediatePool.AddCert(untrustedIntermediateCert) - } - } - } - - untrustedLeafCerts, err := cryptoutils.UnmarshalCertificatesFromPEM(untrustedCertificateBytes) - if err != nil { - return nil, internal.NewInvalidSignatureError(fmt.Sprintf("parsing leaf certificate: %v", err)) - } - switch len(untrustedLeafCerts) { - case 0: - return nil, internal.NewInvalidSignatureError("no certificate found in signature certificate data") - case 1: - break // OK - default: - return nil, internal.NewInvalidSignatureError("unexpected multiple certificates present in signature certificate data") - } - untrustedCertificate := untrustedLeafCerts[0] - - // Go rejects Subject Alternative Name that has no DNSNames, EmailAddresses, IPAddresses and URIs; - // we match SAN ourselves, so override that. - if len(untrustedCertificate.UnhandledCriticalExtensions) > 0 { - var remaining []asn1.ObjectIdentifier - for _, oid := range untrustedCertificate.UnhandledCriticalExtensions { - if !oid.Equal(cryptoutils.SANOID) { - remaining = append(remaining, oid) - } - } - untrustedCertificate.UnhandledCriticalExtensions = remaining - } - - if _, err := untrustedCertificate.Verify(x509.VerifyOptions{ - Intermediates: untrustedIntermediatePool, - Roots: f.caCertificates, - // NOTE: Cosign uses untrustedCertificate.NotBefore here (i.e. uses _that_ time for intermediate certificate validation), - // and validates the leaf certificate against relevantTime manually. - // We verify the full certificate chain against relevantTime instead. - // Assuming the certificate is fulcio-generated and very short-lived, that should make little difference. - CurrentTime: relevantTime, - KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageCodeSigning}, - }); err != nil { - return nil, internal.NewInvalidSignatureError(fmt.Sprintf("veryfing leaf certificate failed: %v", err)) - } - - // Cosign verifies a SCT of the certificate (either embedded, or even, probably irrelevant, externally-supplied). - // - // We don’t currently do that. - // - // At the very least, with Fulcio we require Rekor SETs to prove Rekor contains a log of the signature, and that - // already contains the full certificate; so a SCT of the certificate is superfluous (assuming Rekor allowed searching by - // certificate subject, which, well…). That argument might go away if we add support for RFC 3161 timestamps instead of Rekor. - // - // Secondarily, assuming a trusted Fulcio server (which, to be fair, might not be the case for the public one) SCT is not clearly - // better than the Fulcio server maintaining an audit log; a SCT can only reveal a misissuance if there is some other authoritative - // log of approved Fulcio invocations, and it’s not clear where that would come from, especially human users manually - // logging in using OpenID are not going to maintain a record of those actions. - // - // Also, the SCT does not help reveal _what_ was maliciously signed, nor does it protect against malicious signatures - // by correctly-issued certificates. - // - // So, pragmatically, the ideal design seem to be to only do signatures from a trusted build system (which is, by definition, - // the arbiter of desired vs. malicious signatures) that maintains an audit log of performed signature operations; and that seems to - // make the SCT (and all of Rekor apart from the trusted timestamp) unnecessary. - - // == Validate the recorded OIDC issuer - oidcIssuer, err := fulcioIssuerInCertificate(untrustedCertificate) - if err != nil { - return nil, err - } - if oidcIssuer != f.oidcIssuer { - return nil, internal.NewInvalidSignatureError(fmt.Sprintf("Unexpected Fulcio OIDC issuer %q", oidcIssuer)) - } - - // == Validate the OIDC subject - if !slices.Contains(untrustedCertificate.EmailAddresses, f.subjectEmail) { - return nil, internal.NewInvalidSignatureError(fmt.Sprintf("Required email %s not found (got %#v)", - f.subjectEmail, - untrustedCertificate.EmailAddresses)) - } - // FIXME: Match more subject types? Cosign does: - // - .DNSNames (can’t be issued by Fulcio) - // - .IPAddresses (can’t be issued by Fulcio) - // - .URIs (CAN be issued by Fulcio) - // - OtherName values in SAN (CAN be issued by Fulcio) - // - Various values about GitHub workflows (CAN be issued by Fulcio) - // What does it… mean to get an OAuth2 identity for an IP address? - // FIXME: How far into Turing-completeness for the issuer/subject do we need to get? Simultaneously accepted alternatives, for - // issuers and/or subjects and/or combinations? Regexps? More? - - return untrustedCertificate.PublicKey, nil -} - -func verifyRekorFulcio(rekorPublicKey *ecdsa.PublicKey, fulcioTrustRoot *fulcioTrustRoot, untrustedRekorSET []byte, - untrustedCertificateBytes []byte, untrustedIntermediateChainBytes []byte, untrustedBase64Signature string, - untrustedPayloadBytes []byte) (crypto.PublicKey, error) { - rekorSETTime, err := internal.VerifyRekorSET(rekorPublicKey, untrustedRekorSET, untrustedCertificateBytes, - untrustedBase64Signature, untrustedPayloadBytes) - if err != nil { - return nil, err - } - return fulcioTrustRoot.verifyFulcioCertificateAtTime(rekorSETTime, untrustedCertificateBytes, untrustedIntermediateChainBytes) -} diff --git a/vendor/github.com/containers/image/v5/signature/internal/json.go b/vendor/github.com/containers/image/v5/signature/internal/json.go index a9d127e656..0f39fe0ad2 100644 --- a/vendor/github.com/containers/image/v5/signature/internal/json.go +++ b/vendor/github.com/containers/image/v5/signature/internal/json.go @@ -5,8 +5,6 @@ import ( "encoding/json" "fmt" "io" - - "github.com/containers/image/v5/internal/set" ) // JSONFormatError is returned when JSON does not match expected format. @@ -22,8 +20,8 @@ func (err JSONFormatError) Error() string { // // The fieldResolver approach is useful for decoding the Policy.Transports map; using it for structs is a bit lazy, // we could use reflection to automate this. Later? -func ParanoidUnmarshalJSONObject(data []byte, fieldResolver func(string) any) error { - seenKeys := set.New[string]() +func ParanoidUnmarshalJSONObject(data []byte, fieldResolver func(string) interface{}) error { + seenKeys := map[string]struct{}{} dec := json.NewDecoder(bytes.NewReader(data)) t, err := dec.Token() @@ -47,10 +45,10 @@ func ParanoidUnmarshalJSONObject(data []byte, fieldResolver func(string) any) er // Coverage: This should never happen, dec.Token() rejects non-string-literals in this state. return JSONFormatError(fmt.Sprintf("Key string literal expected, got \"%s\"", t)) } - if seenKeys.Contains(key) { + if _, ok := seenKeys[key]; ok { return JSONFormatError(fmt.Sprintf("Duplicate key \"%s\"", key)) } - seenKeys.Add(key) + seenKeys[key] = struct{}{} valuePtr := fieldResolver(key) if valuePtr == nil { @@ -70,11 +68,11 @@ func ParanoidUnmarshalJSONObject(data []byte, fieldResolver func(string) any) er // ParanoidUnmarshalJSONObjectExactFields unmarshals data as a JSON object, but failing on the slightest unexpected aspect // (including duplicated keys, unrecognized keys, and non-matching types). Each of the fields in exactFields // must be present exactly once, and none other fields are accepted. -func ParanoidUnmarshalJSONObjectExactFields(data []byte, exactFields map[string]any) error { - seenKeys := set.New[string]() - if err := ParanoidUnmarshalJSONObject(data, func(key string) any { +func ParanoidUnmarshalJSONObjectExactFields(data []byte, exactFields map[string]interface{}) error { + seenKeys := map[string]struct{}{} + if err := ParanoidUnmarshalJSONObject(data, func(key string) interface{} { if valuePtr, ok := exactFields[key]; ok { - seenKeys.Add(key) + seenKeys[key] = struct{}{} return valuePtr } return nil @@ -82,7 +80,7 @@ func ParanoidUnmarshalJSONObjectExactFields(data []byte, exactFields map[string] return err } for key := range exactFields { - if !seenKeys.Contains(key) { + if _, ok := seenKeys[key]; !ok { return JSONFormatError(fmt.Sprintf(`Key "%s" missing in a JSON object`, key)) } } diff --git a/vendor/github.com/containers/image/v5/signature/internal/rekor_set.go b/vendor/github.com/containers/image/v5/signature/internal/rekor_set.go deleted file mode 100644 index d439b5f7a7..0000000000 --- a/vendor/github.com/containers/image/v5/signature/internal/rekor_set.go +++ /dev/null @@ -1,237 +0,0 @@ -package internal - -import ( - "bytes" - "crypto/ecdsa" - "crypto/sha256" - "encoding/base64" - "encoding/hex" - "encoding/json" - "encoding/pem" - "fmt" - "time" - - "github.com/cyberphone/json-canonicalization/go/src/webpki.org/jsoncanonicalizer" - "github.com/sigstore/rekor/pkg/generated/models" -) - -// This is the github.com/sigstore/rekor/pkg/generated/models.Hashedrekord.APIVersion for github.com/sigstore/rekor/pkg/generated/models.HashedrekordV001Schema. -// We could alternatively use github.com/sigstore/rekor/pkg/types/hashedrekord.APIVERSION, but that subpackage adds too many dependencies. -const HashedRekordV001APIVersion = "0.0.1" - -// UntrustedRekorSET is a parsed content of the sigstore-signature Rekor SET -// (note that this a signature-specific format, not a format directly used by the Rekor API). -// This corresponds to github.com/sigstore/cosign/bundle.RekorBundle, but we impose a stricter decoder. -type UntrustedRekorSET struct { - UntrustedSignedEntryTimestamp []byte // A signature over some canonical JSON form of UntrustedPayload - UntrustedPayload json.RawMessage -} - -type UntrustedRekorPayload struct { - Body []byte // In cosign, this is an any, but only a string works - IntegratedTime int64 - LogIndex int64 - LogID string -} - -// A compile-time check that UntrustedRekorSET implements json.Unmarshaler -var _ json.Unmarshaler = (*UntrustedRekorSET)(nil) - -// UnmarshalJSON implements the json.Unmarshaler interface -func (s *UntrustedRekorSET) UnmarshalJSON(data []byte) error { - err := s.strictUnmarshalJSON(data) - if err != nil { - if formatErr, ok := err.(JSONFormatError); ok { - err = NewInvalidSignatureError(formatErr.Error()) - } - } - return err -} - -// strictUnmarshalJSON is UnmarshalJSON, except that it may return the internal JSONFormatError error type. -// Splitting it into a separate function allows us to do the JSONFormatError → InvalidSignatureError in a single place, the caller. -func (s *UntrustedRekorSET) strictUnmarshalJSON(data []byte) error { - return ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ - "SignedEntryTimestamp": &s.UntrustedSignedEntryTimestamp, - "Payload": &s.UntrustedPayload, - }) -} - -// A compile-time check that UntrustedRekorSET and *UntrustedRekorSET implements json.Marshaler -var _ json.Marshaler = UntrustedRekorSET{} -var _ json.Marshaler = (*UntrustedRekorSET)(nil) - -// MarshalJSON implements the json.Marshaler interface. -func (s UntrustedRekorSET) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]any{ - "SignedEntryTimestamp": s.UntrustedSignedEntryTimestamp, - "Payload": s.UntrustedPayload, - }) -} - -// A compile-time check that UntrustedRekorPayload implements json.Unmarshaler -var _ json.Unmarshaler = (*UntrustedRekorPayload)(nil) - -// UnmarshalJSON implements the json.Unmarshaler interface -func (p *UntrustedRekorPayload) UnmarshalJSON(data []byte) error { - err := p.strictUnmarshalJSON(data) - if err != nil { - if formatErr, ok := err.(JSONFormatError); ok { - err = NewInvalidSignatureError(formatErr.Error()) - } - } - return err -} - -// strictUnmarshalJSON is UnmarshalJSON, except that it may return the internal JSONFormatError error type. -// Splitting it into a separate function allows us to do the JSONFormatError → InvalidSignatureError in a single place, the caller. -func (p *UntrustedRekorPayload) strictUnmarshalJSON(data []byte) error { - return ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ - "body": &p.Body, - "integratedTime": &p.IntegratedTime, - "logIndex": &p.LogIndex, - "logID": &p.LogID, - }) -} - -// A compile-time check that UntrustedRekorPayload and *UntrustedRekorPayload implements json.Marshaler -var _ json.Marshaler = UntrustedRekorPayload{} -var _ json.Marshaler = (*UntrustedRekorPayload)(nil) - -// MarshalJSON implements the json.Marshaler interface. -func (p UntrustedRekorPayload) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]any{ - "body": p.Body, - "integratedTime": p.IntegratedTime, - "logIndex": p.LogIndex, - "logID": p.LogID, - }) -} - -// VerifyRekorSET verifies that unverifiedRekorSET is correctly signed by publicKey and matches the rest of the data. -// Returns bundle upload time on success. -func VerifyRekorSET(publicKey *ecdsa.PublicKey, unverifiedRekorSET []byte, unverifiedKeyOrCertBytes []byte, unverifiedBase64Signature string, unverifiedPayloadBytes []byte) (time.Time, error) { - // FIXME: Should the publicKey parameter hard-code ecdsa? - - // == Parse SET bytes - var untrustedSET UntrustedRekorSET - // Sadly. we need to parse and transform untrusted data before verifying a cryptographic signature... - if err := json.Unmarshal(unverifiedRekorSET, &untrustedSET); err != nil { - return time.Time{}, NewInvalidSignatureError(err.Error()) - } - // == Verify SET signature - // Cosign unmarshals and re-marshals UntrustedPayload; that seems unnecessary, - // assuming jsoncanonicalizer is designed to operate on untrusted data. - untrustedSETPayloadCanonicalBytes, err := jsoncanonicalizer.Transform(untrustedSET.UntrustedPayload) - if err != nil { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("canonicalizing Rekor SET JSON: %v", err)) - } - untrustedSETPayloadHash := sha256.Sum256(untrustedSETPayloadCanonicalBytes) - if !ecdsa.VerifyASN1(publicKey, untrustedSETPayloadHash[:], untrustedSET.UntrustedSignedEntryTimestamp) { - return time.Time{}, NewInvalidSignatureError("cryptographic signature verification of Rekor SET failed") - } - - // == Parse SET payload - // Parse the cryptographically-verified canonicalized variant, NOT the originally-delivered representation, - // to decrease risk of exploiting the JSON parser. Note that if there were an arbitrary execution vulnerability, the attacker - // could have exploited the parsing of unverifiedRekorSET above already; so this, at best, ensures more consistent processing - // of the SET payload. - var rekorPayload UntrustedRekorPayload - if err := json.Unmarshal(untrustedSETPayloadCanonicalBytes, &rekorPayload); err != nil { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("parsing Rekor SET payload: %v", err.Error())) - } - // FIXME: Use a different decoder implementation? The Swagger-generated code is kinda ridiculous, with the need to re-marshal - // hashedRekor.Spec and so on. - // Especially if we anticipate needing to decode different data formats… - // That would also allow being much more strict about JSON. - // - // Alternatively, rely on the existing .Validate() methods instead of manually checking for nil all over the place. - var hashedRekord models.Hashedrekord - if err := json.Unmarshal(rekorPayload.Body, &hashedRekord); err != nil { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("decoding the body of a Rekor SET payload: %v", err)) - } - // The decode of models.HashedRekord validates the "kind": "hashedrecord" field, which is otherwise invisible to us. - if hashedRekord.APIVersion == nil { - return time.Time{}, NewInvalidSignatureError("missing Rekor SET Payload API version") - } - if *hashedRekord.APIVersion != HashedRekordV001APIVersion { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("unsupported Rekor SET Payload hashedrekord version %#v", hashedRekord.APIVersion)) - } - hashedRekordV001Bytes, err := json.Marshal(hashedRekord.Spec) - if err != nil { - // Coverage: hashedRekord.Spec is an any that was just unmarshaled, - // so this should never fail. - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("re-creating hashedrekord spec: %v", err)) - } - var hashedRekordV001 models.HashedrekordV001Schema - if err := json.Unmarshal(hashedRekordV001Bytes, &hashedRekordV001); err != nil { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("decoding hashedrekod spec: %v", err)) - } - - // == Match unverifiedKeyOrCertBytes - if hashedRekordV001.Signature == nil { - return time.Time{}, NewInvalidSignatureError(`Missing "signature" field in hashedrekord`) - } - if hashedRekordV001.Signature.PublicKey == nil { - return time.Time{}, NewInvalidSignatureError(`Missing "signature.publicKey" field in hashedrekord`) - - } - rekorKeyOrCertPEM, rest := pem.Decode(hashedRekordV001.Signature.PublicKey.Content) - if rekorKeyOrCertPEM == nil { - return time.Time{}, NewInvalidSignatureError("publicKey in Rekor SET is not in PEM format") - } - if len(rest) != 0 { - return time.Time{}, NewInvalidSignatureError("publicKey in Rekor SET has trailing data") - } - // FIXME: For public keys, let the caller provide the DER-formatted blob instead - // of round-tripping through PEM. - unverifiedKeyOrCertPEM, rest := pem.Decode(unverifiedKeyOrCertBytes) - if unverifiedKeyOrCertPEM == nil { - return time.Time{}, NewInvalidSignatureError("public key or cert to be matched against publicKey in Rekor SET is not in PEM format") - } - if len(rest) != 0 { - return time.Time{}, NewInvalidSignatureError("public key or cert to be matched against publicKey in Rekor SET has trailing data") - } - // NOTE: This compares the PEM payload, but not the object type or headers. - if !bytes.Equal(rekorKeyOrCertPEM.Bytes, unverifiedKeyOrCertPEM.Bytes) { - return time.Time{}, NewInvalidSignatureError("publicKey in Rekor SET does not match") - } - // == Match unverifiedSignatureBytes - unverifiedSignatureBytes, err := base64.StdEncoding.DecodeString(unverifiedBase64Signature) - if err != nil { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("decoding signature base64: %v", err)) - } - if !bytes.Equal(hashedRekordV001.Signature.Content, unverifiedSignatureBytes) { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf("signature in Rekor SET does not match: %#v vs. %#v", - string(hashedRekordV001.Signature.Content), string(unverifiedSignatureBytes))) - } - - // == Match unverifiedPayloadBytes - if hashedRekordV001.Data == nil { - return time.Time{}, NewInvalidSignatureError(`Missing "data" field in hashedrekord`) - } - if hashedRekordV001.Data.Hash == nil { - return time.Time{}, NewInvalidSignatureError(`Missing "data.hash" field in hashedrekord`) - } - if hashedRekordV001.Data.Hash.Algorithm == nil { - return time.Time{}, NewInvalidSignatureError(`Missing "data.hash.algorithm" field in hashedrekord`) - } - if *hashedRekordV001.Data.Hash.Algorithm != models.HashedrekordV001SchemaDataHashAlgorithmSha256 { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf(`Unexpected "data.hash.algorithm" value %#v`, *hashedRekordV001.Data.Hash.Algorithm)) - } - if hashedRekordV001.Data.Hash.Value == nil { - return time.Time{}, NewInvalidSignatureError(`Missing "data.hash.value" field in hashedrekord`) - } - rekorPayloadHash, err := hex.DecodeString(*hashedRekordV001.Data.Hash.Value) - if err != nil { - return time.Time{}, NewInvalidSignatureError(fmt.Sprintf(`Invalid "data.hash.value" field in hashedrekord: %v`, err)) - - } - unverifiedPayloadHash := sha256.Sum256(unverifiedPayloadBytes) - if !bytes.Equal(rekorPayloadHash, unverifiedPayloadHash[:]) { - return time.Time{}, NewInvalidSignatureError("payload in Rekor SET does not match") - } - - // == All OK; return the relevant time. - return time.Unix(rekorPayload.IntegratedTime, 0), nil -} diff --git a/vendor/github.com/containers/image/v5/signature/internal/sigstore_payload.go b/vendor/github.com/containers/image/v5/signature/internal/sigstore_payload.go index f8ec66564d..bb5e9139d7 100644 --- a/vendor/github.com/containers/image/v5/signature/internal/sigstore_payload.go +++ b/vendor/github.com/containers/image/v5/signature/internal/sigstore_payload.go @@ -21,14 +21,14 @@ const ( // UntrustedSigstorePayload is a parsed content of a sigstore signature payload (not the full signature) type UntrustedSigstorePayload struct { - untrustedDockerManifestDigest digest.Digest - untrustedDockerReference string // FIXME: more precise type? - untrustedCreatorID *string + UntrustedDockerManifestDigest digest.Digest + UntrustedDockerReference string // FIXME: more precise type? + UntrustedCreatorID *string // This is intentionally an int64; the native JSON float64 type would allow to represent _some_ sub-second precision, // but not nearly enough (with current timestamp values, a single unit in the last place is on the order of hundreds of nanoseconds). // So, this is explicitly an int64, and we reject fractional values. If we did need more precise timestamps eventually, // we would add another field, UntrustedTimestampNS int64. - untrustedTimestamp *int64 + UntrustedTimestamp *int64 } // NewUntrustedSigstorePayload returns an UntrustedSigstorePayload object with @@ -39,35 +39,34 @@ func NewUntrustedSigstorePayload(dockerManifestDigest digest.Digest, dockerRefer creatorID := "containers/image " + version.Version timestamp := time.Now().Unix() return UntrustedSigstorePayload{ - untrustedDockerManifestDigest: dockerManifestDigest, - untrustedDockerReference: dockerReference, - untrustedCreatorID: &creatorID, - untrustedTimestamp: ×tamp, + UntrustedDockerManifestDigest: dockerManifestDigest, + UntrustedDockerReference: dockerReference, + UntrustedCreatorID: &creatorID, + UntrustedTimestamp: ×tamp, } } -// A compile-time check that UntrustedSigstorePayload and *UntrustedSigstorePayload implements json.Marshaler -var _ json.Marshaler = UntrustedSigstorePayload{} +// Compile-time check that UntrustedSigstorePayload implements json.Marshaler var _ json.Marshaler = (*UntrustedSigstorePayload)(nil) // MarshalJSON implements the json.Marshaler interface. func (s UntrustedSigstorePayload) MarshalJSON() ([]byte, error) { - if s.untrustedDockerManifestDigest == "" || s.untrustedDockerReference == "" { + if s.UntrustedDockerManifestDigest == "" || s.UntrustedDockerReference == "" { return nil, errors.New("Unexpected empty signature content") } - critical := map[string]any{ + critical := map[string]interface{}{ "type": sigstoreSignatureType, - "image": map[string]string{"docker-manifest-digest": s.untrustedDockerManifestDigest.String()}, - "identity": map[string]string{"docker-reference": s.untrustedDockerReference}, + "image": map[string]string{"docker-manifest-digest": s.UntrustedDockerManifestDigest.String()}, + "identity": map[string]string{"docker-reference": s.UntrustedDockerReference}, } - optional := map[string]any{} - if s.untrustedCreatorID != nil { - optional["creator"] = *s.untrustedCreatorID + optional := map[string]interface{}{} + if s.UntrustedCreatorID != nil { + optional["creator"] = *s.UntrustedCreatorID } - if s.untrustedTimestamp != nil { - optional["timestamp"] = *s.untrustedTimestamp + if s.UntrustedTimestamp != nil { + optional["timestamp"] = *s.UntrustedTimestamp } - signature := map[string]any{ + signature := map[string]interface{}{ "critical": critical, "optional": optional, } @@ -92,7 +91,7 @@ func (s *UntrustedSigstorePayload) UnmarshalJSON(data []byte) error { // Splitting it into a separate function allows us to do the JSONFormatError → InvalidSignatureError in a single place, the caller. func (s *UntrustedSigstorePayload) strictUnmarshalJSON(data []byte) error { var critical, optional json.RawMessage - if err := ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "critical": &critical, "optional": &optional, }); err != nil { @@ -104,7 +103,7 @@ func (s *UntrustedSigstorePayload) strictUnmarshalJSON(data []byte) error { var gotCreatorID, gotTimestamp = false, false // /usr/bin/cosign generates "optional": null if there are no user-specified annotations. if !bytes.Equal(optional, []byte("null")) { - if err := ParanoidUnmarshalJSONObject(optional, func(key string) any { + if err := ParanoidUnmarshalJSONObject(optional, func(key string) interface{} { switch key { case "creator": gotCreatorID = true @@ -113,7 +112,7 @@ func (s *UntrustedSigstorePayload) strictUnmarshalJSON(data []byte) error { gotTimestamp = true return ×tamp default: - var ignore any + var ignore interface{} return &ignore } }); err != nil { @@ -121,19 +120,19 @@ func (s *UntrustedSigstorePayload) strictUnmarshalJSON(data []byte) error { } } if gotCreatorID { - s.untrustedCreatorID = &creatorID + s.UntrustedCreatorID = &creatorID } if gotTimestamp { intTimestamp := int64(timestamp) if float64(intTimestamp) != timestamp { return NewInvalidSignatureError("Field optional.timestamp is not is not an integer") } - s.untrustedTimestamp = &intTimestamp + s.UntrustedTimestamp = &intTimestamp } var t string var image, identity json.RawMessage - if err := ParanoidUnmarshalJSONObjectExactFields(critical, map[string]any{ + if err := ParanoidUnmarshalJSONObjectExactFields(critical, map[string]interface{}{ "type": &t, "image": &image, "identity": &identity, @@ -145,15 +144,15 @@ func (s *UntrustedSigstorePayload) strictUnmarshalJSON(data []byte) error { } var digestString string - if err := ParanoidUnmarshalJSONObjectExactFields(image, map[string]any{ + if err := ParanoidUnmarshalJSONObjectExactFields(image, map[string]interface{}{ "docker-manifest-digest": &digestString, }); err != nil { return err } - s.untrustedDockerManifestDigest = digest.Digest(digestString) + s.UntrustedDockerManifestDigest = digest.Digest(digestString) - return ParanoidUnmarshalJSONObjectExactFields(identity, map[string]any{ - "docker-reference": &s.untrustedDockerReference, + return ParanoidUnmarshalJSONObjectExactFields(identity, map[string]interface{}{ + "docker-reference": &s.UntrustedDockerReference, }) } @@ -191,10 +190,10 @@ func VerifySigstorePayload(publicKey crypto.PublicKey, unverifiedPayload []byte, if err := json.Unmarshal(unverifiedPayload, &unmatchedPayload); err != nil { return nil, NewInvalidSignatureError(err.Error()) } - if err := rules.ValidateSignedDockerManifestDigest(unmatchedPayload.untrustedDockerManifestDigest); err != nil { + if err := rules.ValidateSignedDockerManifestDigest(unmatchedPayload.UntrustedDockerManifestDigest); err != nil { return nil, err } - if err := rules.ValidateSignedDockerReference(unmatchedPayload.untrustedDockerReference); err != nil { + if err := rules.ValidateSignedDockerReference(unmatchedPayload.UntrustedDockerReference); err != nil { return nil, err } // SigstorePayloadAcceptanceRules have accepted this value. diff --git a/vendor/github.com/containers/image/v5/signature/policy_config.go b/vendor/github.com/containers/image/v5/signature/policy_config.go index 7eb5cab7d8..f8fdce2da5 100644 --- a/vendor/github.com/containers/image/v5/signature/policy_config.go +++ b/vendor/github.com/containers/image/v5/signature/policy_config.go @@ -19,13 +19,13 @@ import ( "fmt" "os" "path/filepath" + "regexp" "github.com/containers/image/v5/docker/reference" "github.com/containers/image/v5/signature/internal" "github.com/containers/image/v5/transports" "github.com/containers/image/v5/types" "github.com/containers/storage/pkg/homedir" - "github.com/containers/storage/pkg/regexp" ) // systemDefaultPolicyPath is the policy path used for DefaultPolicy(). @@ -104,7 +104,7 @@ var _ json.Unmarshaler = (*Policy)(nil) func (p *Policy) UnmarshalJSON(data []byte) error { *p = Policy{} transports := policyTransportsMap{} - if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) any { + if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) interface{} { switch key { case "default": return &p.Default @@ -135,7 +135,7 @@ func (m *policyTransportsMap) UnmarshalJSON(data []byte) error { // We can't unmarshal directly into map values because it is not possible to take an address of a map value. // So, use a temporary map of pointers-to-slices and convert. tmpMap := map[string]*PolicyTransportScopes{} - if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) any { + if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) interface{} { // transport can be nil transport := transports.Get(key) // internal.ParanoidUnmarshalJSONObject detects key duplication for us, check just to be safe. @@ -181,7 +181,7 @@ func (m *policyTransportScopesWithTransport) UnmarshalJSON(data []byte) error { // We can't unmarshal directly into map values because it is not possible to take an address of a map value. // So, use a temporary map of pointers-to-slices and convert. tmpMap := map[string]*PolicyRequirements{} - if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) any { + if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) interface{} { // internal.ParanoidUnmarshalJSONObject detects key duplication for us, check just to be safe. if _, ok := tmpMap[key]; ok { return nil @@ -271,7 +271,7 @@ var _ json.Unmarshaler = (*prInsecureAcceptAnything)(nil) func (pr *prInsecureAcceptAnything) UnmarshalJSON(data []byte) error { *pr = prInsecureAcceptAnything{} var tmp prInsecureAcceptAnything - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, }); err != nil { return err @@ -301,7 +301,7 @@ var _ json.Unmarshaler = (*prReject)(nil) func (pr *prReject) UnmarshalJSON(data []byte) error { *pr = prReject{} var tmp prReject - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, }); err != nil { return err @@ -384,7 +384,7 @@ func (pr *prSignedBy) UnmarshalJSON(data []byte) error { var tmp prSignedBy var gotKeyPath, gotKeyPaths, gotKeyData = false, false, false var signedIdentity json.RawMessage - if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) any { + if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) interface{} { switch key { case "type": return &tmp.Type @@ -495,7 +495,7 @@ func (pr *prSignedBaseLayer) UnmarshalJSON(data []byte) error { *pr = prSignedBaseLayer{} var tmp prSignedBaseLayer var baseLayerIdentity json.RawMessage - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, "baseLayerIdentity": &baseLayerIdentity, }); err != nil { @@ -518,6 +518,107 @@ func (pr *prSignedBaseLayer) UnmarshalJSON(data []byte) error { return nil } +// newPRSigstoreSigned returns a new prSigstoreSigned if parameters are valid. +func newPRSigstoreSigned(keyPath string, keyData []byte, signedIdentity PolicyReferenceMatch) (*prSigstoreSigned, error) { + if len(keyPath) > 0 && len(keyData) > 0 { + return nil, InvalidPolicyFormatError("keyType and keyData cannot be used simultaneously") + } + if signedIdentity == nil { + return nil, InvalidPolicyFormatError("signedIdentity not specified") + } + return &prSigstoreSigned{ + prCommon: prCommon{Type: prTypeSigstoreSigned}, + KeyPath: keyPath, + KeyData: keyData, + SignedIdentity: signedIdentity, + }, nil +} + +// newPRSigstoreSignedKeyPath is NewPRSigstoreSignedKeyPath, except it returns the private type. +func newPRSigstoreSignedKeyPath(keyPath string, signedIdentity PolicyReferenceMatch) (*prSigstoreSigned, error) { + return newPRSigstoreSigned(keyPath, nil, signedIdentity) +} + +// NewPRSigstoreSignedKeyPath returns a new "sigstoreSigned" PolicyRequirement using a KeyPath +func NewPRSigstoreSignedKeyPath(keyPath string, signedIdentity PolicyReferenceMatch) (PolicyRequirement, error) { + return newPRSigstoreSignedKeyPath(keyPath, signedIdentity) +} + +// newPRSigstoreSignedKeyData is NewPRSigstoreSignedKeyData, except it returns the private type. +func newPRSigstoreSignedKeyData(keyData []byte, signedIdentity PolicyReferenceMatch) (*prSigstoreSigned, error) { + return newPRSigstoreSigned("", keyData, signedIdentity) +} + +// NewPRSigstoreSignedKeyData returns a new "sigstoreSigned" PolicyRequirement using a KeyData +func NewPRSigstoreSignedKeyData(keyData []byte, signedIdentity PolicyReferenceMatch) (PolicyRequirement, error) { + return newPRSigstoreSignedKeyData(keyData, signedIdentity) +} + +// Compile-time check that prSigstoreSigned implements json.Unmarshaler. +var _ json.Unmarshaler = (*prSigstoreSigned)(nil) + +// UnmarshalJSON implements the json.Unmarshaler interface. +func (pr *prSigstoreSigned) UnmarshalJSON(data []byte) error { + *pr = prSigstoreSigned{} + var tmp prSigstoreSigned + var gotKeyPath, gotKeyData = false, false + var signedIdentity json.RawMessage + if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) interface{} { + switch key { + case "type": + return &tmp.Type + case "keyPath": + gotKeyPath = true + return &tmp.KeyPath + case "keyData": + gotKeyData = true + return &tmp.KeyData + case "signedIdentity": + return &signedIdentity + default: + return nil + } + }); err != nil { + return err + } + + if tmp.Type != prTypeSigstoreSigned { + return InvalidPolicyFormatError(fmt.Sprintf("Unexpected policy requirement type \"%s\"", tmp.Type)) + } + if signedIdentity == nil { + tmp.SignedIdentity = NewPRMMatchRepoDigestOrExact() + } else { + si, err := newPolicyReferenceMatchFromJSON(signedIdentity) + if err != nil { + return err + } + tmp.SignedIdentity = si + } + + var res *prSigstoreSigned + var err error + switch { + case gotKeyPath && gotKeyData: + return InvalidPolicyFormatError("keyPath and keyData cannot be used simultaneously") + case gotKeyPath && !gotKeyData: + res, err = newPRSigstoreSignedKeyPath(tmp.KeyPath, tmp.SignedIdentity) + case !gotKeyPath && gotKeyData: + res, err = newPRSigstoreSignedKeyData(tmp.KeyData, tmp.SignedIdentity) + case !gotKeyPath && !gotKeyData: + return InvalidPolicyFormatError("At least one of keyPath and keyData must be specified") + default: // Coverage: This should never happen + return fmt.Errorf("Impossible keyPath/keyData presence combination!?") + } + if err != nil { + // Coverage: This cannot currently happen, creating a prSigstoreSigned only fails + // if signedIdentity is nil, which we replace with a default above. + return err + } + *pr = *res + + return nil +} + // newPolicyReferenceMatchFromJSON parses JSON data into a PolicyReferenceMatch implementation. func newPolicyReferenceMatchFromJSON(data []byte) (PolicyReferenceMatch, error) { var typeField prmCommon @@ -564,7 +665,7 @@ var _ json.Unmarshaler = (*prmMatchExact)(nil) func (prm *prmMatchExact) UnmarshalJSON(data []byte) error { *prm = prmMatchExact{} var tmp prmMatchExact - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, }); err != nil { return err @@ -594,7 +695,7 @@ var _ json.Unmarshaler = (*prmMatchRepoDigestOrExact)(nil) func (prm *prmMatchRepoDigestOrExact) UnmarshalJSON(data []byte) error { *prm = prmMatchRepoDigestOrExact{} var tmp prmMatchRepoDigestOrExact - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, }); err != nil { return err @@ -624,7 +725,7 @@ var _ json.Unmarshaler = (*prmMatchRepository)(nil) func (prm *prmMatchRepository) UnmarshalJSON(data []byte) error { *prm = prmMatchRepository{} var tmp prmMatchRepository - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, }); err != nil { return err @@ -664,7 +765,7 @@ var _ json.Unmarshaler = (*prmExactReference)(nil) func (prm *prmExactReference) UnmarshalJSON(data []byte) error { *prm = prmExactReference{} var tmp prmExactReference - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, "dockerReference": &tmp.DockerReference, }); err != nil { @@ -706,7 +807,7 @@ var _ json.Unmarshaler = (*prmExactRepository)(nil) func (prm *prmExactRepository) UnmarshalJSON(data []byte) error { *prm = prmExactRepository{} var tmp prmExactRepository - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, "dockerRepository": &tmp.DockerRepository, }); err != nil { @@ -728,12 +829,12 @@ func (prm *prmExactRepository) UnmarshalJSON(data []byte) error { // Private objects for validateIdentityRemappingPrefix var ( // remapIdentityDomainRegexp matches exactly a reference domain (name[:port]) - remapIdentityDomainRegexp = regexp.Delayed("^" + reference.DomainRegexp.String() + "$") + remapIdentityDomainRegexp = regexp.MustCompile("^" + reference.DomainRegexp.String() + "$") // remapIdentityDomainPrefixRegexp matches a reference that starts with a domain; // we need this because reference.NameRegexp accepts short names with docker.io implied. - remapIdentityDomainPrefixRegexp = regexp.Delayed("^" + reference.DomainRegexp.String() + "/") + remapIdentityDomainPrefixRegexp = regexp.MustCompile("^" + reference.DomainRegexp.String() + "/") // remapIdentityNameRegexp matches exactly a reference.Named name (possibly unnormalized) - remapIdentityNameRegexp = regexp.Delayed("^" + reference.NameRegexp.String() + "$") + remapIdentityNameRegexp = regexp.MustCompile("^" + reference.NameRegexp.String() + "$") ) // validateIdentityRemappingPrefix returns an InvalidPolicyFormatError if s is detected to be invalid @@ -778,7 +879,7 @@ var _ json.Unmarshaler = (*prmRemapIdentity)(nil) func (prm *prmRemapIdentity) UnmarshalJSON(data []byte) error { *prm = prmRemapIdentity{} var tmp prmRemapIdentity - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "type": &tmp.Type, "prefix": &tmp.Prefix, "signedPrefix": &tmp.SignedPrefix, diff --git a/vendor/github.com/containers/image/v5/signature/policy_config_sigstore.go b/vendor/github.com/containers/image/v5/signature/policy_config_sigstore.go deleted file mode 100644 index d8c6a97f1b..0000000000 --- a/vendor/github.com/containers/image/v5/signature/policy_config_sigstore.go +++ /dev/null @@ -1,343 +0,0 @@ -package signature - -import ( - "encoding/json" - "errors" - "fmt" - - "github.com/containers/image/v5/signature/internal" -) - -// PRSigstoreSignedOption is way to pass values to NewPRSigstoreSigned -type PRSigstoreSignedOption func(*prSigstoreSigned) error - -// PRSigstoreSignedWithKeyPath specifies a value for the "keyPath" field when calling NewPRSigstoreSigned. -func PRSigstoreSignedWithKeyPath(keyPath string) PRSigstoreSignedOption { - return func(pr *prSigstoreSigned) error { - if pr.KeyPath != "" { - return errors.New(`"keyPath" already specified`) - } - pr.KeyPath = keyPath - return nil - } -} - -// PRSigstoreSignedWithKeyData specifies a value for the "keyData" field when calling NewPRSigstoreSigned. -func PRSigstoreSignedWithKeyData(keyData []byte) PRSigstoreSignedOption { - return func(pr *prSigstoreSigned) error { - if pr.KeyData != nil { - return errors.New(`"keyData" already specified`) - } - pr.KeyData = keyData - return nil - } -} - -// PRSigstoreSignedWithFulcio specifies a value for the "fulcio" field when calling NewPRSigstoreSigned. -func PRSigstoreSignedWithFulcio(fulcio PRSigstoreSignedFulcio) PRSigstoreSignedOption { - return func(pr *prSigstoreSigned) error { - if pr.Fulcio != nil { - return errors.New(`"fulcio" already specified`) - } - pr.Fulcio = fulcio - return nil - } -} - -// PRSigstoreSignedWithRekorPublicKeyPath specifies a value for the "rekorPublicKeyPath" field when calling NewPRSigstoreSigned. -func PRSigstoreSignedWithRekorPublicKeyPath(rekorPublicKeyPath string) PRSigstoreSignedOption { - return func(pr *prSigstoreSigned) error { - if pr.RekorPublicKeyPath != "" { - return errors.New(`"rekorPublicKeyPath" already specified`) - } - pr.RekorPublicKeyPath = rekorPublicKeyPath - return nil - } -} - -// PRSigstoreSignedWithRekorPublicKeyData specifies a value for the "rekorPublicKeyData" field when calling NewPRSigstoreSigned. -func PRSigstoreSignedWithRekorPublicKeyData(rekorPublicKeyData []byte) PRSigstoreSignedOption { - return func(pr *prSigstoreSigned) error { - if pr.RekorPublicKeyData != nil { - return errors.New(`"rekorPublicKeyData" already specified`) - } - pr.RekorPublicKeyData = rekorPublicKeyData - return nil - } -} - -// PRSigstoreSignedWithSignedIdentity specifies a value for the "signedIdentity" field when calling NewPRSigstoreSigned. -func PRSigstoreSignedWithSignedIdentity(signedIdentity PolicyReferenceMatch) PRSigstoreSignedOption { - return func(pr *prSigstoreSigned) error { - if pr.SignedIdentity != nil { - return errors.New(`"signedIdentity" already specified`) - } - pr.SignedIdentity = signedIdentity - return nil - } -} - -// newPRSigstoreSigned is NewPRSigstoreSigned, except it returns the private type. -func newPRSigstoreSigned(options ...PRSigstoreSignedOption) (*prSigstoreSigned, error) { - res := prSigstoreSigned{ - prCommon: prCommon{Type: prTypeSigstoreSigned}, - } - for _, o := range options { - if err := o(&res); err != nil { - return nil, err - } - } - - keySources := 0 - if res.KeyPath != "" { - keySources++ - } - if res.KeyData != nil { - keySources++ - } - if res.Fulcio != nil { - keySources++ - } - if keySources != 1 { - return nil, InvalidPolicyFormatError("exactly one of keyPath, keyData and fulcio must be specified") - } - - if res.RekorPublicKeyPath != "" && res.RekorPublicKeyData != nil { - return nil, InvalidPolicyFormatError("rekorPublickeyType and rekorPublickeyData cannot be used simultaneously") - } - if res.Fulcio != nil && res.RekorPublicKeyPath == "" && res.RekorPublicKeyData == nil { - return nil, InvalidPolicyFormatError("At least one of RekorPublickeyPath and RekorPublickeyData must be specified if fulcio is used") - } - - if res.SignedIdentity == nil { - return nil, InvalidPolicyFormatError("signedIdentity not specified") - } - - return &res, nil -} - -// NewPRSigstoreSigned returns a new "sigstoreSigned" PolicyRequirement based on options. -func NewPRSigstoreSigned(options ...PRSigstoreSignedOption) (PolicyRequirement, error) { - return newPRSigstoreSigned(options...) -} - -// NewPRSigstoreSignedKeyPath returns a new "sigstoreSigned" PolicyRequirement using a KeyPath -func NewPRSigstoreSignedKeyPath(keyPath string, signedIdentity PolicyReferenceMatch) (PolicyRequirement, error) { - return NewPRSigstoreSigned( - PRSigstoreSignedWithKeyPath(keyPath), - PRSigstoreSignedWithSignedIdentity(signedIdentity), - ) -} - -// NewPRSigstoreSignedKeyData returns a new "sigstoreSigned" PolicyRequirement using a KeyData -func NewPRSigstoreSignedKeyData(keyData []byte, signedIdentity PolicyReferenceMatch) (PolicyRequirement, error) { - return NewPRSigstoreSigned( - PRSigstoreSignedWithKeyData(keyData), - PRSigstoreSignedWithSignedIdentity(signedIdentity), - ) -} - -// Compile-time check that prSigstoreSigned implements json.Unmarshaler. -var _ json.Unmarshaler = (*prSigstoreSigned)(nil) - -// UnmarshalJSON implements the json.Unmarshaler interface. -func (pr *prSigstoreSigned) UnmarshalJSON(data []byte) error { - *pr = prSigstoreSigned{} - var tmp prSigstoreSigned - var gotKeyPath, gotKeyData, gotFulcio, gotRekorPublicKeyPath, gotRekorPublicKeyData bool - var fulcio prSigstoreSignedFulcio - var signedIdentity json.RawMessage - if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) any { - switch key { - case "type": - return &tmp.Type - case "keyPath": - gotKeyPath = true - return &tmp.KeyPath - case "keyData": - gotKeyData = true - return &tmp.KeyData - case "fulcio": - gotFulcio = true - return &fulcio - case "rekorPublicKeyPath": - gotRekorPublicKeyPath = true - return &tmp.RekorPublicKeyPath - case "rekorPublicKeyData": - gotRekorPublicKeyData = true - return &tmp.RekorPublicKeyData - case "signedIdentity": - return &signedIdentity - default: - return nil - } - }); err != nil { - return err - } - - if tmp.Type != prTypeSigstoreSigned { - return InvalidPolicyFormatError(fmt.Sprintf("Unexpected policy requirement type \"%s\"", tmp.Type)) - } - if signedIdentity == nil { - tmp.SignedIdentity = NewPRMMatchRepoDigestOrExact() - } else { - si, err := newPolicyReferenceMatchFromJSON(signedIdentity) - if err != nil { - return err - } - tmp.SignedIdentity = si - } - - var opts []PRSigstoreSignedOption - if gotKeyPath { - opts = append(opts, PRSigstoreSignedWithKeyPath(tmp.KeyPath)) - } - if gotKeyData { - opts = append(opts, PRSigstoreSignedWithKeyData(tmp.KeyData)) - } - if gotFulcio { - opts = append(opts, PRSigstoreSignedWithFulcio(&fulcio)) - } - if gotRekorPublicKeyPath { - opts = append(opts, PRSigstoreSignedWithRekorPublicKeyPath(tmp.RekorPublicKeyPath)) - } - if gotRekorPublicKeyData { - opts = append(opts, PRSigstoreSignedWithRekorPublicKeyData(tmp.RekorPublicKeyData)) - } - opts = append(opts, PRSigstoreSignedWithSignedIdentity(tmp.SignedIdentity)) - - res, err := newPRSigstoreSigned(opts...) - if err != nil { - return err - } - *pr = *res - return nil -} - -// PRSigstoreSignedFulcioOption is a way to pass values to NewPRSigstoreSignedFulcio -type PRSigstoreSignedFulcioOption func(*prSigstoreSignedFulcio) error - -// PRSigstoreSignedFulcioWithCAPath specifies a value for the "caPath" field when calling NewPRSigstoreSignedFulcio -func PRSigstoreSignedFulcioWithCAPath(caPath string) PRSigstoreSignedFulcioOption { - return func(f *prSigstoreSignedFulcio) error { - if f.CAPath != "" { - return errors.New(`"caPath" already specified`) - } - f.CAPath = caPath - return nil - } -} - -// PRSigstoreSignedFulcioWithCAData specifies a value for the "caData" field when calling NewPRSigstoreSignedFulcio -func PRSigstoreSignedFulcioWithCAData(caData []byte) PRSigstoreSignedFulcioOption { - return func(f *prSigstoreSignedFulcio) error { - if f.CAData != nil { - return errors.New(`"caData" already specified`) - } - f.CAData = caData - return nil - } -} - -// PRSigstoreSignedFulcioWithOIDCIssuer specifies a value for the "oidcIssuer" field when calling NewPRSigstoreSignedFulcio -func PRSigstoreSignedFulcioWithOIDCIssuer(oidcIssuer string) PRSigstoreSignedFulcioOption { - return func(f *prSigstoreSignedFulcio) error { - if f.OIDCIssuer != "" { - return errors.New(`"oidcIssuer" already specified`) - } - f.OIDCIssuer = oidcIssuer - return nil - } -} - -// PRSigstoreSignedFulcioWithSubjectEmail specifies a value for the "subjectEmail" field when calling NewPRSigstoreSignedFulcio -func PRSigstoreSignedFulcioWithSubjectEmail(subjectEmail string) PRSigstoreSignedFulcioOption { - return func(f *prSigstoreSignedFulcio) error { - if f.SubjectEmail != "" { - return errors.New(`"subjectEmail" already specified`) - } - f.SubjectEmail = subjectEmail - return nil - } -} - -// newPRSigstoreSignedFulcio is NewPRSigstoreSignedFulcio, except it returns the private type -func newPRSigstoreSignedFulcio(options ...PRSigstoreSignedFulcioOption) (*prSigstoreSignedFulcio, error) { - res := prSigstoreSignedFulcio{} - for _, o := range options { - if err := o(&res); err != nil { - return nil, err - } - } - - if res.CAPath != "" && res.CAData != nil { - return nil, InvalidPolicyFormatError("caPath and caData cannot be used simultaneously") - } - if res.CAPath == "" && res.CAData == nil { - return nil, InvalidPolicyFormatError("At least one of caPath and caData must be specified") - } - if res.OIDCIssuer == "" { - return nil, InvalidPolicyFormatError("oidcIssuer not specified") - } - if res.SubjectEmail == "" { - return nil, InvalidPolicyFormatError("subjectEmail not specified") - } - - return &res, nil -} - -// NewPRSigstoreSignedFulcio returns a PRSigstoreSignedFulcio based on options. -func NewPRSigstoreSignedFulcio(options ...PRSigstoreSignedFulcioOption) (PRSigstoreSignedFulcio, error) { - return newPRSigstoreSignedFulcio(options...) -} - -// Compile-time check that prSigstoreSignedFulcio implements json.Unmarshaler. -var _ json.Unmarshaler = (*prSigstoreSignedFulcio)(nil) - -func (f *prSigstoreSignedFulcio) UnmarshalJSON(data []byte) error { - *f = prSigstoreSignedFulcio{} - var tmp prSigstoreSignedFulcio - var gotCAPath, gotCAData, gotOIDCIssuer, gotSubjectEmail bool // = false... - if err := internal.ParanoidUnmarshalJSONObject(data, func(key string) any { - switch key { - case "caPath": - gotCAPath = true - return &tmp.CAPath - case "caData": - gotCAData = true - return &tmp.CAData - case "oidcIssuer": - gotOIDCIssuer = true - return &tmp.OIDCIssuer - case "subjectEmail": - gotSubjectEmail = true - return &tmp.SubjectEmail - default: - return nil - } - }); err != nil { - return err - } - - var opts []PRSigstoreSignedFulcioOption - if gotCAPath { - opts = append(opts, PRSigstoreSignedFulcioWithCAPath(tmp.CAPath)) - } - if gotCAData { - opts = append(opts, PRSigstoreSignedFulcioWithCAData(tmp.CAData)) - } - if gotOIDCIssuer { - opts = append(opts, PRSigstoreSignedFulcioWithOIDCIssuer(tmp.OIDCIssuer)) - } - if gotSubjectEmail { - opts = append(opts, PRSigstoreSignedFulcioWithSubjectEmail(tmp.SubjectEmail)) - } - - res, err := newPRSigstoreSignedFulcio(opts...) - if err != nil { - return err - } - - *f = *res - return nil -} diff --git a/vendor/github.com/containers/image/v5/signature/policy_eval.go b/vendor/github.com/containers/image/v5/signature/policy_eval.go index 4f8d0da389..2edf8397c2 100644 --- a/vendor/github.com/containers/image/v5/signature/policy_eval.go +++ b/vendor/github.com/containers/image/v5/signature/policy_eval.go @@ -46,7 +46,7 @@ type PolicyRequirement interface { // - sarRejected if the signature has not been verified; // in that case error must be non-nil, and should be an PolicyRequirementError if evaluation // succeeded but the result was rejection. - // - sarUnknown if this PolicyRequirement does not deal with signatures. + // - sarUnknown if if this PolicyRequirement does not deal with signatures. // NOTE: sarUnknown should not be returned if this PolicyRequirement should make a decision but something failed. // Returning sarUnknown and a non-nil error value is invalid. // WARNING: This makes the signature contents acceptable for further processing, @@ -172,10 +172,10 @@ func (pc *PolicyContext) requirementsForImageRef(ref types.ImageReference) Polic // but it does not necessarily mean that the contents of the signature are // consistent with local policy. // For example: -// - Do not use a an existence of an accepted signature to determine whether to run -// a container based on this image; use IsRunningImageAllowed instead. -// - Just because a signature is accepted does not automatically mean the contents of the -// signature are authorized to run code as root, or to affect system or cluster configuration. +// - Do not use a an existence of an accepted signature to determine whether to run +// a container based on this image; use IsRunningImageAllowed instead. +// - Just because a signature is accepted does not automatically mean the contents of the +// signature are authorized to run code as root, or to affect system or cluster configuration. func (pc *PolicyContext) GetSignaturesWithAcceptedAuthor(ctx context.Context, publicImage types.UnparsedImage) (sigs []*Signature, finalErr error) { if err := pc.changeState(pcReady, pcInUse); err != nil { return nil, err diff --git a/vendor/github.com/containers/image/v5/signature/policy_eval_signedby.go b/vendor/github.com/containers/image/v5/signature/policy_eval_signedby.go index a4187735b7..ef98b8b83f 100644 --- a/vendor/github.com/containers/image/v5/signature/policy_eval_signedby.go +++ b/vendor/github.com/containers/image/v5/signature/policy_eval_signedby.go @@ -12,7 +12,6 @@ import ( "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/manifest" digest "github.com/opencontainers/go-digest" - "golang.org/x/exp/slices" ) func (pr *prSignedBy) isSignatureAuthorAccepted(ctx context.Context, image private.UnparsedImage, sig []byte) (signatureAcceptanceResult, *Signature, error) { @@ -68,8 +67,10 @@ func (pr *prSignedBy) isSignatureAuthorAccepted(ctx context.Context, image priva signature, err := verifyAndExtractSignature(mech, sig, signatureAcceptanceRules{ validateKeyIdentity: func(keyIdentity string) error { - if slices.Contains(trustedIdentities, keyIdentity) { - return nil + for _, trustedIdentity := range trustedIdentities { + if keyIdentity == trustedIdentity { + return nil + } } // Coverage: We use a private GPG home directory and only import trusted keys, so this should // not be reachable. diff --git a/vendor/github.com/containers/image/v5/signature/policy_eval_sigstore.go b/vendor/github.com/containers/image/v5/signature/policy_eval_sigstore.go index dcf5592a8e..ccf1d80ac8 100644 --- a/vendor/github.com/containers/image/v5/signature/policy_eval_sigstore.go +++ b/vendor/github.com/containers/image/v5/signature/policy_eval_sigstore.go @@ -4,9 +4,6 @@ package signature import ( "context" - "crypto" - "crypto/ecdsa" - "crypto/x509" "errors" "fmt" "os" @@ -20,100 +17,6 @@ import ( "github.com/sigstore/sigstore/pkg/cryptoutils" ) -// loadBytesFromDataOrPath ensures there is at most one of ${prefix}Data and ${prefix}Path set, -// and returns the referenced data, or nil if neither is set. -func loadBytesFromDataOrPath(prefix string, data []byte, path string) ([]byte, error) { - switch { - case data != nil && path != "": - return nil, fmt.Errorf(`Internal inconsistency: both "%sPath" and "%sData" specified`, prefix, prefix) - case path != "": - d, err := os.ReadFile(path) - if err != nil { - return nil, err - } - return d, nil - case data != nil: - return data, nil - default: // Nothing - return nil, nil - } -} - -// prepareTrustRoot creates a fulcioTrustRoot from the input data. -// (This also prevents external implementations of this interface, ensuring that prSigstoreSignedFulcio is the only one.) -func (f *prSigstoreSignedFulcio) prepareTrustRoot() (*fulcioTrustRoot, error) { - caCertBytes, err := loadBytesFromDataOrPath("fulcioCA", f.CAData, f.CAPath) - if err != nil { - return nil, err - } - if caCertBytes == nil { - return nil, errors.New(`Internal inconsistency: Fulcio specified with neither "caPath" nor "caData"`) - } - certs := x509.NewCertPool() - if ok := certs.AppendCertsFromPEM(caCertBytes); !ok { - return nil, errors.New("error loading Fulcio CA certificates") - } - fulcio := fulcioTrustRoot{ - caCertificates: certs, - oidcIssuer: f.OIDCIssuer, - subjectEmail: f.SubjectEmail, - } - if err := fulcio.validate(); err != nil { - return nil, err - } - return &fulcio, nil -} - -// sigstoreSignedTrustRoot contains an already parsed version of the prSigstoreSigned policy -type sigstoreSignedTrustRoot struct { - publicKey crypto.PublicKey - fulcio *fulcioTrustRoot - rekorPublicKey *ecdsa.PublicKey -} - -func (pr *prSigstoreSigned) prepareTrustRoot() (*sigstoreSignedTrustRoot, error) { - res := sigstoreSignedTrustRoot{} - - publicKeyPEM, err := loadBytesFromDataOrPath("key", pr.KeyData, pr.KeyPath) - if err != nil { - return nil, err - } - if publicKeyPEM != nil { - pk, err := cryptoutils.UnmarshalPEMToPublicKey(publicKeyPEM) - if err != nil { - return nil, fmt.Errorf("parsing public key: %w", err) - } - res.publicKey = pk - } - - if pr.Fulcio != nil { - f, err := pr.Fulcio.prepareTrustRoot() - if err != nil { - return nil, err - } - res.fulcio = f - } - - rekorPublicKeyPEM, err := loadBytesFromDataOrPath("rekorPublicKey", pr.RekorPublicKeyData, pr.RekorPublicKeyPath) - if err != nil { - return nil, err - } - if rekorPublicKeyPEM != nil { - pk, err := cryptoutils.UnmarshalPEMToPublicKey(rekorPublicKeyPEM) - if err != nil { - return nil, fmt.Errorf("parsing Rekor public key: %w", err) - } - pkECDSA, ok := pk.(*ecdsa.PublicKey) - if !ok { - return nil, fmt.Errorf("Rekor public key is not using ECDSA") - - } - res.rekorPublicKey = pkECDSA - } - - return &res, nil -} - func (pr *prSigstoreSigned) isSignatureAuthorAccepted(ctx context.Context, image private.UnparsedImage, sig []byte) (signatureAcceptanceResult, *Signature, error) { // We don’t know of a single user of this API, and we might return unexpected values in Signature. // For now, just punt. @@ -121,10 +24,24 @@ func (pr *prSigstoreSigned) isSignatureAuthorAccepted(ctx context.Context, image } func (pr *prSigstoreSigned) isSignatureAccepted(ctx context.Context, image private.UnparsedImage, sig signature.Sigstore) (signatureAcceptanceResult, error) { + if pr.KeyPath != "" && pr.KeyData != nil { + return sarRejected, errors.New(`Internal inconsistency: both "keyPath" and "keyData" specified`) + } // FIXME: move this to per-context initialization - trustRoot, err := pr.prepareTrustRoot() + var publicKeyPEM []byte + if pr.KeyData != nil { + publicKeyPEM = pr.KeyData + } else { + d, err := os.ReadFile(pr.KeyPath) + if err != nil { + return sarRejected, err + } + publicKeyPEM = d + } + + publicKey, err := cryptoutils.UnmarshalPEMToPublicKey(publicKeyPEM) if err != nil { - return sarRejected, err + return sarRejected, fmt.Errorf("parsing public key: %w", err) } untrustedAnnotations := sig.UntrustedAnnotations() @@ -132,66 +49,8 @@ func (pr *prSigstoreSigned) isSignatureAccepted(ctx context.Context, image priva if !ok { return sarRejected, fmt.Errorf("missing %s annotation", signature.SigstoreSignatureAnnotationKey) } - untrustedPayload := sig.UntrustedPayload() - - var publicKey crypto.PublicKey - switch { - case trustRoot.publicKey != nil && trustRoot.fulcio != nil: // newPRSigstoreSigned rejects such combinations. - return sarRejected, errors.New("Internal inconsistency: Both a public key and Fulcio CA specified") - case trustRoot.publicKey == nil && trustRoot.fulcio == nil: // newPRSigstoreSigned rejects such combinations. - return sarRejected, errors.New("Internal inconsistency: Neither a public key nor a Fulcio CA specified") - case trustRoot.publicKey != nil: - if trustRoot.rekorPublicKey != nil { - untrustedSET, ok := untrustedAnnotations[signature.SigstoreSETAnnotationKey] - if !ok { // For user convenience; passing an empty []byte to VerifyRekorSet should work. - return sarRejected, fmt.Errorf("missing %s annotation", signature.SigstoreSETAnnotationKey) - } - // We could use publicKeyPEM directly, but let’s re-marshal to avoid inconsistencies. - // FIXME: We could just generate DER instead of the full PEM text - recreatedPublicKeyPEM, err := cryptoutils.MarshalPublicKeyToPEM(trustRoot.publicKey) - if err != nil { - // Coverage: The key was loaded from a PEM format, so it’s unclear how this could fail. - // (PEM is not essential, MarshalPublicKeyToPEM can only fail if marshaling to ASN1.DER fails.) - return sarRejected, fmt.Errorf("re-marshaling public key to PEM: %w", err) - - } - // We don’t care about the Rekor timestamp, just about log presence. - if _, err := internal.VerifyRekorSET(trustRoot.rekorPublicKey, []byte(untrustedSET), recreatedPublicKeyPEM, untrustedBase64Signature, untrustedPayload); err != nil { - return sarRejected, err - } - } - publicKey = trustRoot.publicKey - - case trustRoot.fulcio != nil: - if trustRoot.rekorPublicKey == nil { // newPRSigstoreSigned rejects such combinations. - return sarRejected, errors.New("Internal inconsistency: Fulcio CA specified without a Rekor public key") - } - untrustedSET, ok := untrustedAnnotations[signature.SigstoreSETAnnotationKey] - if !ok { // For user convenience; passing an empty []byte to VerifyRekorSet should correctly reject it anyway. - return sarRejected, fmt.Errorf("missing %s annotation", signature.SigstoreSETAnnotationKey) - } - untrustedCert, ok := untrustedAnnotations[signature.SigstoreCertificateAnnotationKey] - if !ok { // For user convenience; passing an empty []byte to VerifyRekorSet should correctly reject it anyway. - return sarRejected, fmt.Errorf("missing %s annotation", signature.SigstoreCertificateAnnotationKey) - } - var untrustedIntermediateChainBytes []byte - if untrustedIntermediateChain, ok := untrustedAnnotations[signature.SigstoreIntermediateCertificateChainAnnotationKey]; ok { - untrustedIntermediateChainBytes = []byte(untrustedIntermediateChain) - } - pk, err := verifyRekorFulcio(trustRoot.rekorPublicKey, trustRoot.fulcio, - []byte(untrustedSET), []byte(untrustedCert), untrustedIntermediateChainBytes, untrustedBase64Signature, untrustedPayload) - if err != nil { - return sarRejected, err - } - publicKey = pk - } - - if publicKey == nil { - // Coverage: This should never happen, we have already excluded the possibility in the switch above. - return sarRejected, fmt.Errorf("Internal inconsistency: publicKey not set before verifying sigstore payload") - } - signature, err := internal.VerifySigstorePayload(publicKey, untrustedPayload, untrustedBase64Signature, internal.SigstorePayloadAcceptanceRules{ + signature, err := internal.VerifySigstorePayload(publicKey, sig.UntrustedPayload(), untrustedBase64Signature, internal.SigstorePayloadAcceptanceRules{ ValidateSignedDockerReference: func(ref string) error { if !pr.SignedIdentity.matchesDockerReference(image, ref) { return PolicyRequirementError(fmt.Sprintf("Signature for identity %s is not accepted", ref)) diff --git a/vendor/github.com/containers/image/v5/signature/policy_types.go b/vendor/github.com/containers/image/v5/signature/policy_types.go index 96e91a0a9c..9e837452a7 100644 --- a/vendor/github.com/containers/image/v5/signature/policy_types.go +++ b/vendor/github.com/containers/image/v5/signature/policy_types.go @@ -111,24 +111,13 @@ type prSignedBaseLayer struct { type prSigstoreSigned struct { prCommon - // KeyPath is a pathname to a local file containing the trusted key. Exactly one of KeyPath, KeyData, Fulcio must be specified. + // KeyPath is a pathname to a local file containing the trusted key. Exactly one of KeyPath and KeyData must be specified. KeyPath string `json:"keyPath,omitempty"` - // KeyData contains the trusted key, base64-encoded. Exactly one of KeyPath, KeyData, Fulcio must be specified. + // KeyData contains the trusted key, base64-encoded. Exactly one of KeyPath and KeyData must be specified. KeyData []byte `json:"keyData,omitempty"` // FIXME: Multiple public keys? - // Fulcio specifies which Fulcio-generated certificates are accepted. Exactly one of KeyPath, KeyData, Fulcio must be specified. - // If Fulcio is specified, one of RekorPublicKeyPath or RekorPublicKeyData must be specified as well. - Fulcio PRSigstoreSignedFulcio `json:"fulcio,omitempty"` - - // RekorPublicKeyPath is a pathname to local file containing a public key of a Rekor server which must record acceptable signatures. - // If Fulcio is used, one of RekorPublicKeyPath or RekorPublicKeyData must be specified as well; otherwise it is optional - // (and Rekor inclusion is not required if a Rekor public key is not specified). - RekorPublicKeyPath string `json:"rekorPublicKeyPath,omitempty"` - // RekorPublicKeyPath contain a base64-encoded public key of a Rekor server which must record acceptable signatures. - // If Fulcio is used, one of RekorPublicKeyPath or RekorPublicKeyData must be specified as well; otherwise it is optional - // (and Rekor inclusion is not required if a Rekor public key is not specified). - RekorPublicKeyData []byte `json:"rekorPublicKeyData,omitempty"` + // FIXME: Support fulcio+rekor as an alternative. // SignedIdentity specifies what image identity the signature must be claiming about the image. // Defaults to "matchRepoDigestOrExact" if not specified. @@ -136,26 +125,6 @@ type prSigstoreSigned struct { SignedIdentity PolicyReferenceMatch `json:"signedIdentity"` } -// PRSigstoreSignedFulcio contains Fulcio configuration options for a "sigstoreSigned" PolicyRequirement. -// This is a public type with a single private implementation. -type PRSigstoreSignedFulcio interface { - // toFulcioTrustRoot creates a fulcioTrustRoot from the input data. - // (This also prevents external implementations of this interface, ensuring that prSigstoreSignedFulcio is the only one.) - prepareTrustRoot() (*fulcioTrustRoot, error) -} - -// prSigstoreSignedFulcio collects Fulcio configuration options for prSigstoreSigned -type prSigstoreSignedFulcio struct { - // CAPath a path to a file containing accepted CA root certificates, in PEM format. Exactly one of CAPath and CAData must be specified. - CAPath string `json:"caPath,omitempty"` - // CAData contains accepted CA root certificates in PEM format, all of that base64-encoded. Exactly one of CAPath and CAData must be specified. - CAData []byte `json:"caData,omitempty"` - // OIDCIssuer specifies the expected OIDC issuer, recorded by Fulcio into the generated certificates. - OIDCIssuer string `json:"oidcIssuer,omitempty"` - // SubjectEmail specifies the expected email address of the authenticated OIDC identity, recorded by Fulcio into the generated certificates. - SubjectEmail string `json:"subjectEmail,omitempty"` -} - // PolicyReferenceMatch specifies a set of image identities accepted in PolicyRequirement. // The type is public, but its implementation is private. diff --git a/vendor/github.com/containers/image/v5/signature/signer/signer.go b/vendor/github.com/containers/image/v5/signature/signer/signer.go deleted file mode 100644 index 73ae550aa5..0000000000 --- a/vendor/github.com/containers/image/v5/signature/signer/signer.go +++ /dev/null @@ -1,9 +0,0 @@ -package signer - -import "github.com/containers/image/v5/internal/signer" - -// Signer is an object, possibly carrying state, that can be used by copy.Image to sign one or more container images. -// It can only be created from within the containers/image package; it can’t be implemented externally. -// -// The owner of a Signer must call Close() when done. -type Signer = signer.Signer diff --git a/vendor/github.com/containers/image/v5/signature/sigstore/copied.go b/vendor/github.com/containers/image/v5/signature/sigstore/copied.go index 2e510f60e3..dbc03ec0a0 100644 --- a/vendor/github.com/containers/image/v5/signature/sigstore/copied.go +++ b/vendor/github.com/containers/image/v5/signature/sigstore/copied.go @@ -10,9 +10,8 @@ import ( "errors" "fmt" - "github.com/secure-systems-lab/go-securesystemslib/encrypted" - "github.com/sigstore/sigstore/pkg/cryptoutils" "github.com/sigstore/sigstore/pkg/signature" + "github.com/theupdateframework/go-tuf/encrypted" ) // The following code was copied from github.com/sigstore. @@ -33,21 +32,19 @@ import ( // limitations under the License. const ( - // from sigstore/cosign/pkg/cosign.CosignPrivateKeyPemType. - cosignPrivateKeyPemType = "ENCRYPTED COSIGN PRIVATE KEY" - // from sigstore/cosign/pkg/cosign.SigstorePrivateKeyPemType. - sigstorePrivateKeyPemType = "ENCRYPTED SIGSTORE PRIVATE KEY" + // from sigstore/cosign/pkg/cosign.sigstorePrivateKeyPemType + sigstorePrivateKeyPemType = "ENCRYPTED COSIGN PRIVATE KEY" ) // from sigstore/cosign/pkg/cosign.loadPrivateKey -// FIXME: Do we need all of these key formats? +// FIXME: Do we need all of these key formats, and all of those func loadPrivateKey(key []byte, pass []byte) (signature.SignerVerifier, error) { // Decrypt first p, _ := pem.Decode(key) if p == nil { return nil, errors.New("invalid pem block") } - if p.Type != sigstorePrivateKeyPemType && p.Type != cosignPrivateKeyPemType { + if p.Type != sigstorePrivateKeyPemType { return nil, fmt.Errorf("unsupported pem type: %s", p.Type) } @@ -71,33 +68,3 @@ func loadPrivateKey(key []byte, pass []byte) (signature.SignerVerifier, error) { return nil, errors.New("unsupported key type") } } - -// simplified from sigstore/cosign/pkg/cosign.marshalKeyPair -// loadPrivateKey always requires a encryption, so this always requires a passphrase. -func marshalKeyPair(privateKey crypto.PrivateKey, publicKey crypto.PublicKey, password []byte) (_privateKey []byte, _publicKey []byte, err error) { - x509Encoded, err := x509.MarshalPKCS8PrivateKey(privateKey) - if err != nil { - return nil, nil, fmt.Errorf("x509 encoding private key: %w", err) - } - - encBytes, err := encrypted.Encrypt(x509Encoded, password) - if err != nil { - return nil, nil, err - } - - // store in PEM format - privBytes := pem.EncodeToMemory(&pem.Block{ - Bytes: encBytes, - // Use the older “COSIGN” type name; as of 2023-03-30 cosign’s main branch generates “SIGSTORE” types, - // but a version of cosign that can accept them has not yet been released. - Type: cosignPrivateKeyPemType, - }) - - // Now do the public key - pubBytes, err := cryptoutils.MarshalPublicKeyToPEM(publicKey) - if err != nil { - return nil, nil, err - } - - return privBytes, pubBytes, nil -} diff --git a/vendor/github.com/containers/image/v5/signature/sigstore/generate.go b/vendor/github.com/containers/image/v5/signature/sigstore/generate.go deleted file mode 100644 index 77520c1232..0000000000 --- a/vendor/github.com/containers/image/v5/signature/sigstore/generate.go +++ /dev/null @@ -1,35 +0,0 @@ -package sigstore - -import ( - "crypto/ecdsa" - "crypto/elliptic" - "crypto/rand" -) - -// GenerateKeyPairResult is a struct to ensure the private and public parts can not be confused by the caller. -type GenerateKeyPairResult struct { - PublicKey []byte - PrivateKey []byte -} - -// GenerateKeyPair generates a public/private key pair usable for signing images using the sigstore format, -// and returns key representations suitable for storing in long-term files (with the private key encrypted using the provided passphrase). -// The specific key kind (e.g. algorithm, size), as well as the file format, are unspecified by this API, -// and can change with best practices over time. -func GenerateKeyPair(passphrase []byte) (*GenerateKeyPairResult, error) { - // https://github.com/sigstore/cosign/blob/main/specs/SIGNATURE_SPEC.md#signature-schemes - // only requires ECDSA-P256 to be supported, so that’s what we must use. - rawKey, err := ecdsa.GenerateKey(elliptic.P256(), rand.Reader) - if err != nil { - // Coverage: This can fail only if the randomness source fails - return nil, err - } - private, public, err := marshalKeyPair(rawKey, rawKey.Public(), passphrase) - if err != nil { - return nil, err - } - return &GenerateKeyPairResult{ - PublicKey: public, - PrivateKey: private, - }, nil -} diff --git a/vendor/github.com/containers/image/v5/signature/sigstore/internal/signer.go b/vendor/github.com/containers/image/v5/signature/sigstore/internal/signer.go deleted file mode 100644 index c6258f408f..0000000000 --- a/vendor/github.com/containers/image/v5/signature/sigstore/internal/signer.go +++ /dev/null @@ -1,95 +0,0 @@ -package internal - -import ( - "bytes" - "context" - "encoding/base64" - "encoding/json" - "errors" - "fmt" - - "github.com/containers/image/v5/docker/reference" - "github.com/containers/image/v5/internal/signature" - "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/signature/internal" - sigstoreSignature "github.com/sigstore/sigstore/pkg/signature" -) - -type Option func(*SigstoreSigner) error - -// SigstoreSigner is a signer.SignerImplementation implementation for sigstore signatures. -// It is initialized using various closures that implement Option, sadly over several subpackages, to decrease the -// dependency impact. -type SigstoreSigner struct { - PrivateKey sigstoreSignature.Signer // May be nil during initialization - SigningKeyOrCert []byte // For possible Rekor upload; always initialized together with PrivateKey - - // Fulcio results to include - FulcioGeneratedCertificate []byte // Or nil - FulcioGeneratedCertificateChain []byte // Or nil - - // Rekor state - RekorUploader func(ctx context.Context, keyOrCertBytes []byte, signatureBytes []byte, payloadBytes []byte) ([]byte, error) // Or nil -} - -// ProgressMessage returns a human-readable sentence that makes sense to write before starting to create a single signature. -func (s *SigstoreSigner) ProgressMessage() string { - return "Signing image using a sigstore signature" -} - -// SignImageManifest creates a new signature for manifest m as dockerReference. -func (s *SigstoreSigner) SignImageManifest(ctx context.Context, m []byte, dockerReference reference.Named) (signature.Signature, error) { - if s.PrivateKey == nil { - return nil, errors.New("internal error: nothing to sign with, should have been detected in NewSigner") - } - - if reference.IsNameOnly(dockerReference) { - return nil, fmt.Errorf("reference %s can’t be signed, it has neither a tag nor a digest", dockerReference.String()) - } - manifestDigest, err := manifest.Digest(m) - if err != nil { - return nil, err - } - // sigstore/cosign completely ignores dockerReference for actual policy decisions. - // They record the repo (but NOT THE TAG) in the value; without the tag we can’t detect version rollbacks. - // So, just do what simple signing does, and cosign won’t mind. - payloadData := internal.NewUntrustedSigstorePayload(manifestDigest, dockerReference.String()) - payloadBytes, err := json.Marshal(payloadData) - if err != nil { - return nil, err - } - - // github.com/sigstore/cosign/internal/pkg/cosign.payloadSigner uses signatureoptions.WithContext(), - // which seems to be not used by anything. So we don’t bother. - signatureBytes, err := s.PrivateKey.SignMessage(bytes.NewReader(payloadBytes)) - if err != nil { - return nil, fmt.Errorf("creating signature: %w", err) - } - base64Signature := base64.StdEncoding.EncodeToString(signatureBytes) - var rekorSETBytes []byte // = nil - if s.RekorUploader != nil { - set, err := s.RekorUploader(ctx, s.SigningKeyOrCert, signatureBytes, payloadBytes) - if err != nil { - return nil, err - } - rekorSETBytes = set - } - - annotations := map[string]string{ - signature.SigstoreSignatureAnnotationKey: base64Signature, - } - if s.FulcioGeneratedCertificate != nil { - annotations[signature.SigstoreCertificateAnnotationKey] = string(s.FulcioGeneratedCertificate) - } - if s.FulcioGeneratedCertificateChain != nil { - annotations[signature.SigstoreIntermediateCertificateChainAnnotationKey] = string(s.FulcioGeneratedCertificateChain) - } - if rekorSETBytes != nil { - annotations[signature.SigstoreSETAnnotationKey] = string(rekorSETBytes) - } - return signature.SigstoreFromComponents(signature.SigstoreSignatureMIMEType, payloadBytes, annotations), nil -} - -func (s *SigstoreSigner) Close() error { - return nil -} diff --git a/vendor/github.com/containers/image/v5/signature/sigstore/sign.go b/vendor/github.com/containers/image/v5/signature/sigstore/sign.go new file mode 100644 index 0000000000..daa6ab387c --- /dev/null +++ b/vendor/github.com/containers/image/v5/signature/sigstore/sign.go @@ -0,0 +1,65 @@ +package sigstore + +import ( + "bytes" + "encoding/base64" + "encoding/json" + "fmt" + "os" + + "github.com/containers/image/v5/docker/reference" + "github.com/containers/image/v5/internal/signature" + "github.com/containers/image/v5/manifest" + "github.com/containers/image/v5/signature/internal" + sigstoreSignature "github.com/sigstore/sigstore/pkg/signature" +) + +// SignDockerManifestWithPrivateKeyFileUnstable returns a signature for manifest as the specified dockerReference, +// using a private key and an optional passphrase. +// +// Yes, this returns an internal type, and should currently not be used outside of c/image. +// There is NO COMITTMENT TO STABLE API. +func SignDockerManifestWithPrivateKeyFileUnstable(m []byte, dockerReference reference.Named, privateKeyFile string, passphrase []byte) (signature.Sigstore, error) { + privateKeyPEM, err := os.ReadFile(privateKeyFile) + if err != nil { + return signature.Sigstore{}, fmt.Errorf("reading private key from %s: %w", privateKeyFile, err) + } + signer, err := loadPrivateKey(privateKeyPEM, passphrase) + if err != nil { + return signature.Sigstore{}, fmt.Errorf("initializing private key: %w", err) + } + + return signDockerManifest(m, dockerReference, signer) +} + +func signDockerManifest(m []byte, dockerReference reference.Named, signer sigstoreSignature.Signer) (signature.Sigstore, error) { + if reference.IsNameOnly(dockerReference) { + return signature.Sigstore{}, fmt.Errorf("reference %s can’t be signed, it has neither a tag nor a digest", dockerReference.String()) + } + manifestDigest, err := manifest.Digest(m) + if err != nil { + return signature.Sigstore{}, err + } + // sigstore/cosign completely ignores dockerReference for actual policy decisions. + // They record the repo (but NOT THE TAG) in the value; without the tag we can’t detect version rollbacks. + // So, just do what simple signing does, and cosign won’t mind. + payloadData := internal.NewUntrustedSigstorePayload(manifestDigest, dockerReference.String()) + payloadBytes, err := json.Marshal(payloadData) + if err != nil { + return signature.Sigstore{}, err + } + + // github.com/sigstore/cosign/internal/pkg/cosign.payloadSigner uses signatureoptions.WithContext(), + // which seems to be not used by anything. So we don’t bother. + signatureBytes, err := signer.SignMessage(bytes.NewReader(payloadBytes)) + if err != nil { + return signature.Sigstore{}, fmt.Errorf("creating signature: %w", err) + } + base64Signature := base64.StdEncoding.EncodeToString(signatureBytes) + + return signature.SigstoreFromComponents(signature.SigstoreSignatureMIMEType, + payloadBytes, + map[string]string{ + signature.SigstoreSignatureAnnotationKey: base64Signature, + }), nil +} diff --git a/vendor/github.com/containers/image/v5/signature/sigstore/signer.go b/vendor/github.com/containers/image/v5/signature/sigstore/signer.go deleted file mode 100644 index fb825ada9d..0000000000 --- a/vendor/github.com/containers/image/v5/signature/sigstore/signer.go +++ /dev/null @@ -1,60 +0,0 @@ -package sigstore - -import ( - "errors" - "fmt" - "os" - - internalSigner "github.com/containers/image/v5/internal/signer" - "github.com/containers/image/v5/signature/signer" - "github.com/containers/image/v5/signature/sigstore/internal" - "github.com/sigstore/sigstore/pkg/cryptoutils" -) - -type Option = internal.Option - -func WithPrivateKeyFile(file string, passphrase []byte) Option { - return func(s *internal.SigstoreSigner) error { - if s.PrivateKey != nil { - return fmt.Errorf("multiple private key sources specified when preparing to create sigstore signatures") - } - - if passphrase == nil { - return errors.New("private key passphrase not provided") - } - - privateKeyPEM, err := os.ReadFile(file) - if err != nil { - return fmt.Errorf("reading private key from %s: %w", file, err) - } - signerVerifier, err := loadPrivateKey(privateKeyPEM, passphrase) - if err != nil { - return fmt.Errorf("initializing private key: %w", err) - } - publicKey, err := signerVerifier.PublicKey() - if err != nil { - return fmt.Errorf("getting public key from private key: %w", err) - } - publicKeyPEM, err := cryptoutils.MarshalPublicKeyToPEM(publicKey) - if err != nil { - return fmt.Errorf("converting public key to PEM: %w", err) - } - s.PrivateKey = signerVerifier - s.SigningKeyOrCert = publicKeyPEM - return nil - } -} - -func NewSigner(opts ...Option) (*signer.Signer, error) { - s := internal.SigstoreSigner{} - for _, o := range opts { - if err := o(&s); err != nil { - return nil, err - } - } - if s.PrivateKey == nil { - return nil, errors.New("no private key source provided (neither a private key nor Fulcio) when preparing to create sigstore signatures") - } - - return internalSigner.NewSigner(&s), nil -} diff --git a/vendor/github.com/containers/image/v5/signature/simple.go b/vendor/github.com/containers/image/v5/signature/simple.go index 56b222eda4..1ca571e5aa 100644 --- a/vendor/github.com/containers/image/v5/signature/simple.go +++ b/vendor/github.com/containers/image/v5/signature/simple.go @@ -31,14 +31,14 @@ type Signature struct { // untrustedSignature is a parsed content of a signature. type untrustedSignature struct { - untrustedDockerManifestDigest digest.Digest - untrustedDockerReference string // FIXME: more precise type? - untrustedCreatorID *string + UntrustedDockerManifestDigest digest.Digest + UntrustedDockerReference string // FIXME: more precise type? + UntrustedCreatorID *string // This is intentionally an int64; the native JSON float64 type would allow to represent _some_ sub-second precision, // but not nearly enough (with current timestamp values, a single unit in the last place is on the order of hundreds of nanoseconds). // So, this is explicitly an int64, and we reject fractional values. If we did need more precise timestamps eventually, // we would add another field, UntrustedTimestampNS int64. - untrustedTimestamp *int64 + UntrustedTimestamp *int64 } // UntrustedSignatureInformation is information available in an untrusted signature. @@ -65,35 +65,34 @@ func newUntrustedSignature(dockerManifestDigest digest.Digest, dockerReference s creatorID := "atomic " + version.Version timestamp := time.Now().Unix() return untrustedSignature{ - untrustedDockerManifestDigest: dockerManifestDigest, - untrustedDockerReference: dockerReference, - untrustedCreatorID: &creatorID, - untrustedTimestamp: ×tamp, + UntrustedDockerManifestDigest: dockerManifestDigest, + UntrustedDockerReference: dockerReference, + UntrustedCreatorID: &creatorID, + UntrustedTimestamp: ×tamp, } } -// A compile-time check that untrustedSignature and *untrustedSignature implements json.Marshaler -var _ json.Marshaler = untrustedSignature{} +// Compile-time check that untrustedSignature implements json.Marshaler var _ json.Marshaler = (*untrustedSignature)(nil) // MarshalJSON implements the json.Marshaler interface. func (s untrustedSignature) MarshalJSON() ([]byte, error) { - if s.untrustedDockerManifestDigest == "" || s.untrustedDockerReference == "" { + if s.UntrustedDockerManifestDigest == "" || s.UntrustedDockerReference == "" { return nil, errors.New("Unexpected empty signature content") } - critical := map[string]any{ + critical := map[string]interface{}{ "type": signatureType, - "image": map[string]string{"docker-manifest-digest": s.untrustedDockerManifestDigest.String()}, - "identity": map[string]string{"docker-reference": s.untrustedDockerReference}, + "image": map[string]string{"docker-manifest-digest": s.UntrustedDockerManifestDigest.String()}, + "identity": map[string]string{"docker-reference": s.UntrustedDockerReference}, } - optional := map[string]any{} - if s.untrustedCreatorID != nil { - optional["creator"] = *s.untrustedCreatorID + optional := map[string]interface{}{} + if s.UntrustedCreatorID != nil { + optional["creator"] = *s.UntrustedCreatorID } - if s.untrustedTimestamp != nil { - optional["timestamp"] = *s.untrustedTimestamp + if s.UntrustedTimestamp != nil { + optional["timestamp"] = *s.UntrustedTimestamp } - signature := map[string]any{ + signature := map[string]interface{}{ "critical": critical, "optional": optional, } @@ -118,7 +117,7 @@ func (s *untrustedSignature) UnmarshalJSON(data []byte) error { // Splitting it into a separate function allows us to do the internal.JSONFormatError → InvalidSignatureError in a single place, the caller. func (s *untrustedSignature) strictUnmarshalJSON(data []byte) error { var critical, optional json.RawMessage - if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(data, map[string]interface{}{ "critical": &critical, "optional": &optional, }); err != nil { @@ -128,7 +127,7 @@ func (s *untrustedSignature) strictUnmarshalJSON(data []byte) error { var creatorID string var timestamp float64 var gotCreatorID, gotTimestamp = false, false - if err := internal.ParanoidUnmarshalJSONObject(optional, func(key string) any { + if err := internal.ParanoidUnmarshalJSONObject(optional, func(key string) interface{} { switch key { case "creator": gotCreatorID = true @@ -137,26 +136,26 @@ func (s *untrustedSignature) strictUnmarshalJSON(data []byte) error { gotTimestamp = true return ×tamp default: - var ignore any + var ignore interface{} return &ignore } }); err != nil { return err } if gotCreatorID { - s.untrustedCreatorID = &creatorID + s.UntrustedCreatorID = &creatorID } if gotTimestamp { intTimestamp := int64(timestamp) if float64(intTimestamp) != timestamp { return internal.NewInvalidSignatureError("Field optional.timestamp is not is not an integer") } - s.untrustedTimestamp = &intTimestamp + s.UntrustedTimestamp = &intTimestamp } var t string var image, identity json.RawMessage - if err := internal.ParanoidUnmarshalJSONObjectExactFields(critical, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(critical, map[string]interface{}{ "type": &t, "image": &image, "identity": &identity, @@ -168,15 +167,15 @@ func (s *untrustedSignature) strictUnmarshalJSON(data []byte) error { } var digestString string - if err := internal.ParanoidUnmarshalJSONObjectExactFields(image, map[string]any{ + if err := internal.ParanoidUnmarshalJSONObjectExactFields(image, map[string]interface{}{ "docker-manifest-digest": &digestString, }); err != nil { return err } - s.untrustedDockerManifestDigest = digest.Digest(digestString) + s.UntrustedDockerManifestDigest = digest.Digest(digestString) - return internal.ParanoidUnmarshalJSONObjectExactFields(identity, map[string]any{ - "docker-reference": &s.untrustedDockerReference, + return internal.ParanoidUnmarshalJSONObjectExactFields(identity, map[string]interface{}{ + "docker-reference": &s.UntrustedDockerReference, }) } @@ -229,16 +228,16 @@ func verifyAndExtractSignature(mech SigningMechanism, unverifiedSignature []byte if err := json.Unmarshal(signed, &unmatchedSignature); err != nil { return nil, internal.NewInvalidSignatureError(err.Error()) } - if err := rules.validateSignedDockerManifestDigest(unmatchedSignature.untrustedDockerManifestDigest); err != nil { + if err := rules.validateSignedDockerManifestDigest(unmatchedSignature.UntrustedDockerManifestDigest); err != nil { return nil, err } - if err := rules.validateSignedDockerReference(unmatchedSignature.untrustedDockerReference); err != nil { + if err := rules.validateSignedDockerReference(unmatchedSignature.UntrustedDockerReference); err != nil { return nil, err } // signatureAcceptanceRules have accepted this value. return &Signature{ - DockerManifestDigest: unmatchedSignature.untrustedDockerManifestDigest, - DockerReference: unmatchedSignature.untrustedDockerReference, + DockerManifestDigest: unmatchedSignature.UntrustedDockerManifestDigest, + DockerReference: unmatchedSignature.UntrustedDockerReference, }, nil } @@ -269,14 +268,14 @@ func GetUntrustedSignatureInformationWithoutVerifying(untrustedSignatureBytes [] } var timestamp *time.Time // = nil - if untrustedDecodedContents.untrustedTimestamp != nil { - ts := time.Unix(*untrustedDecodedContents.untrustedTimestamp, 0) + if untrustedDecodedContents.UntrustedTimestamp != nil { + ts := time.Unix(*untrustedDecodedContents.UntrustedTimestamp, 0) timestamp = &ts } return &UntrustedSignatureInformation{ - UntrustedDockerManifestDigest: untrustedDecodedContents.untrustedDockerManifestDigest, - UntrustedDockerReference: untrustedDecodedContents.untrustedDockerReference, - UntrustedCreatorID: untrustedDecodedContents.untrustedCreatorID, + UntrustedDockerManifestDigest: untrustedDecodedContents.UntrustedDockerManifestDigest, + UntrustedDockerReference: untrustedDecodedContents.UntrustedDockerReference, + UntrustedCreatorID: untrustedDecodedContents.UntrustedCreatorID, UntrustedTimestamp: timestamp, UntrustedShortKeyIdentifier: shortKeyIdentifier, }, nil diff --git a/vendor/github.com/containers/image/v5/signature/simplesigning/signer.go b/vendor/github.com/containers/image/v5/signature/simplesigning/signer.go deleted file mode 100644 index 983bbb10b5..0000000000 --- a/vendor/github.com/containers/image/v5/signature/simplesigning/signer.go +++ /dev/null @@ -1,105 +0,0 @@ -package simplesigning - -import ( - "context" - "errors" - "fmt" - "strings" - - "github.com/containers/image/v5/docker/reference" - internalSig "github.com/containers/image/v5/internal/signature" - internalSigner "github.com/containers/image/v5/internal/signer" - "github.com/containers/image/v5/signature" - "github.com/containers/image/v5/signature/signer" -) - -// simpleSigner is a signer.SignerImplementation implementation for simple signing signatures. -type simpleSigner struct { - mech signature.SigningMechanism - keyFingerprint string - passphrase string // "" if not provided. -} - -type Option func(*simpleSigner) error - -// WithKeyFingerprint returns an Option for NewSigner, specifying a key to sign with, using the provided GPG key fingerprint. -func WithKeyFingerprint(keyFingerprint string) Option { - return func(s *simpleSigner) error { - s.keyFingerprint = keyFingerprint - return nil - } -} - -// WithPassphrase returns an Option for NewSigner, specifying a passphrase for the private key. -// If this is not specified, the system may interactively prompt using a gpg-agent / pinentry. -func WithPassphrase(passphrase string) Option { - return func(s *simpleSigner) error { - // The gpgme implementation can’t use passphrase with \n; reject it here for consistent behavior. - if strings.Contains(passphrase, "\n") { - return errors.New("invalid passphrase: must not contain a line break") - } - s.passphrase = passphrase - return nil - } -} - -// NewSigner returns a signature.Signer which creates “simple signing” signatures using the user’s default -// GPG configuration ($GNUPGHOME / ~/.gnupg). -// -// The set of options must identify a key to sign with, probably using a WithKeyFingerprint. -// -// The caller must call Close() on the returned Signer. -func NewSigner(opts ...Option) (*signer.Signer, error) { - mech, err := signature.NewGPGSigningMechanism() - if err != nil { - return nil, fmt.Errorf("initializing GPG: %w", err) - } - succeeded := false - defer func() { - if !succeeded { - mech.Close() - } - }() - if err := mech.SupportsSigning(); err != nil { - return nil, fmt.Errorf("Signing not supported: %w", err) - } - - s := simpleSigner{ - mech: mech, - } - for _, o := range opts { - if err := o(&s); err != nil { - return nil, err - } - } - if s.keyFingerprint == "" { - return nil, errors.New("no key identity provided for simple signing") - } - // Ideally, we should look up (and unlock?) the key at this point already, but our current SigningMechanism API does not allow that. - - succeeded = true - return internalSigner.NewSigner(&s), nil -} - -// ProgressMessage returns a human-readable sentence that makes sense to write before starting to create a single signature. -func (s *simpleSigner) ProgressMessage() string { - return "Signing image using simple signing" -} - -// SignImageManifest creates a new signature for manifest m as dockerReference. -func (s *simpleSigner) SignImageManifest(ctx context.Context, m []byte, dockerReference reference.Named) (internalSig.Signature, error) { - if reference.IsNameOnly(dockerReference) { - return nil, fmt.Errorf("reference %s can’t be signed, it has neither a tag nor a digest", dockerReference.String()) - } - simpleSig, err := signature.SignDockerManifestWithOptions(m, dockerReference.String(), s.mech, s.keyFingerprint, &signature.SignOptions{ - Passphrase: s.passphrase, - }) - if err != nil { - return nil, err - } - return internalSig.SimpleSigningFromBlob(simpleSig), nil -} - -func (s *simpleSigner) Close() error { - return s.mech.Close() -} diff --git a/vendor/github.com/containers/image/v5/storage/storage_dest.go b/vendor/github.com/containers/image/v5/storage/storage_dest.go index 07e1d5e1f9..ae3bfa8fa4 100644 --- a/vendor/github.com/containers/image/v5/storage/storage_dest.go +++ b/vendor/github.com/containers/image/v5/storage/storage_dest.go @@ -21,7 +21,6 @@ import ( "github.com/containers/image/v5/internal/imagedestination/stubs" "github.com/containers/image/v5/internal/private" "github.com/containers/image/v5/internal/putblobdigest" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/internal/signature" "github.com/containers/image/v5/internal/tmpdir" "github.com/containers/image/v5/manifest" @@ -35,7 +34,6 @@ import ( digest "github.com/opencontainers/go-digest" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" ) var ( @@ -57,7 +55,7 @@ type storageImageDestination struct { imageRef storageReference directory string // Temporary directory where we store blobs until Commit() time - nextTempFileID atomic.Int32 // A counter that we use for computing filenames to assign to blobs + nextTempFileID int32 // A counter that we use for computing filenames to assign to blobs manifest []byte // Manifest contents, temporary manifestDigest digest.Digest // Valid if len(manifest) != 0 signatures []byte // Signature contents, temporary @@ -77,25 +75,19 @@ type storageImageDestination struct { indexToStorageID map[int]*string // All accesses to below data are protected by `lock` which is made // *explicit* in the code. - blobDiffIDs map[digest.Digest]digest.Digest // Mapping from layer blobsums to their corresponding DiffIDs - fileSizes map[digest.Digest]int64 // Mapping from layer blobsums to their sizes - filenames map[digest.Digest]string // Mapping from layer blobsums to names of files we used to hold them - currentIndex int // The index of the layer to be committed (i.e., lower indices have already been committed) - indexToAddedLayerInfo map[int]addedLayerInfo // Mapping from layer (by index) to blob to add to the image - blobAdditionalLayer map[digest.Digest]storage.AdditionalLayer // Mapping from layer blobsums to their corresponding additional layer - diffOutputs map[digest.Digest]*graphdriver.DriverWithDifferOutput // Mapping from digest to differ output -} - -// addedLayerInfo records data about a layer to use in this image. -type addedLayerInfo struct { - digest digest.Digest - emptyLayer bool // The layer is an “empty”/“throwaway” one, and may or may not be physically represented in various transport / storage systems. false if the manifest type does not have the concept. + blobDiffIDs map[digest.Digest]digest.Digest // Mapping from layer blobsums to their corresponding DiffIDs + fileSizes map[digest.Digest]int64 // Mapping from layer blobsums to their sizes + filenames map[digest.Digest]string // Mapping from layer blobsums to names of files we used to hold them + currentIndex int // The index of the layer to be committed (i.e., lower indices have already been committed) + indexToPulledLayerInfo map[int]*manifest.LayerInfo // Mapping from layer (by index) to pulled down blob + blobAdditionalLayer map[digest.Digest]storage.AdditionalLayer // Mapping from layer blobsums to their corresponding additional layer + diffOutputs map[digest.Digest]*graphdriver.DriverWithDifferOutput // Mapping from digest to differ output } // newImageDestination sets us up to write a new image, caching blobs in a temporary directory until // it's time to Commit() the image func newImageDestination(sys *types.SystemContext, imageRef storageReference) (*storageImageDestination, error) { - directory, err := tmpdir.MkDirBigFileTemp(sys, "storage") + directory, err := os.MkdirTemp(tmpdir.TemporaryDirectoryForBigFiles(sys), "storage") if err != nil { return nil, fmt.Errorf("creating a temporary directory: %w", err) } @@ -117,18 +109,18 @@ func newImageDestination(sys *types.SystemContext, imageRef storageReference) (* HasThreadSafePutBlob: true, }), - imageRef: imageRef, - directory: directory, - signatureses: make(map[digest.Digest][]byte), - blobDiffIDs: make(map[digest.Digest]digest.Digest), - blobAdditionalLayer: make(map[digest.Digest]storage.AdditionalLayer), - fileSizes: make(map[digest.Digest]int64), - filenames: make(map[digest.Digest]string), - SignatureSizes: []int{}, - SignaturesSizes: make(map[digest.Digest][]int), - indexToStorageID: make(map[int]*string), - indexToAddedLayerInfo: make(map[int]addedLayerInfo), - diffOutputs: make(map[digest.Digest]*graphdriver.DriverWithDifferOutput), + imageRef: imageRef, + directory: directory, + signatureses: make(map[digest.Digest][]byte), + blobDiffIDs: make(map[digest.Digest]digest.Digest), + blobAdditionalLayer: make(map[digest.Digest]storage.AdditionalLayer), + fileSizes: make(map[digest.Digest]int64), + filenames: make(map[digest.Digest]string), + SignatureSizes: []int{}, + SignaturesSizes: make(map[digest.Digest][]int), + indexToStorageID: make(map[int]*string), + indexToPulledLayerInfo: make(map[int]*manifest.LayerInfo), + diffOutputs: make(map[digest.Digest]*graphdriver.DriverWithDifferOutput), } dest.Compat = impl.AddCompat(dest) return dest, nil @@ -154,7 +146,7 @@ func (s *storageImageDestination) Close() error { } func (s *storageImageDestination) computeNextBlobCacheFile() string { - return filepath.Join(s.directory, fmt.Sprintf("%d", s.nextTempFileID.Add(1))) + return filepath.Join(s.directory, fmt.Sprintf("%d", atomic.AddInt32(&s.nextTempFileID, 1))) } // PutBlobWithOptions writes contents of stream and returns data representing the result. @@ -164,8 +156,8 @@ func (s *storageImageDestination) computeNextBlobCacheFile() string { // WARNING: The contents of stream are being verified on the fly. Until stream.Read() returns io.EOF, the contents of the data SHOULD NOT be available // to any other readers for download using the supplied digest. // If stream.Read() at any time, ESPECIALLY at end of input, returns an error, PutBlob MUST 1) fail, and 2) delete any data stored so far. -func (s *storageImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, blobinfo types.BlobInfo, options private.PutBlobOptions) (private.UploadedBlob, error) { - info, err := s.putBlobToPendingFile(stream, blobinfo, &options) +func (s *storageImageDestination) PutBlobWithOptions(ctx context.Context, stream io.Reader, blobinfo types.BlobInfo, options private.PutBlobOptions) (types.BlobInfo, error) { + info, err := s.putBlobToPendingFile(ctx, stream, blobinfo, &options) if err != nil { return info, err } @@ -174,20 +166,21 @@ func (s *storageImageDestination) PutBlobWithOptions(ctx context.Context, stream return info, nil } - return info, s.queueOrCommit(*options.LayerIndex, addedLayerInfo{ - digest: info.Digest, - emptyLayer: options.EmptyLayer, - }) + return info, s.queueOrCommit(ctx, info, *options.LayerIndex, options.EmptyLayer) } // putBlobToPendingFile implements ImageDestination.PutBlobWithOptions, storing stream into an on-disk file. // The caller must arrange the blob to be eventually committed using s.commitLayer(). -func (s *storageImageDestination) putBlobToPendingFile(stream io.Reader, blobinfo types.BlobInfo, options *private.PutBlobOptions) (private.UploadedBlob, error) { +func (s *storageImageDestination) putBlobToPendingFile(ctx context.Context, stream io.Reader, blobinfo types.BlobInfo, options *private.PutBlobOptions) (types.BlobInfo, error) { // Stores a layer or data blob in our temporary directory, checking that any information // in the blobinfo matches the incoming data. + errorBlobInfo := types.BlobInfo{ + Digest: "", + Size: -1, + } if blobinfo.Digest != "" { if err := blobinfo.Digest.Validate(); err != nil { - return private.UploadedBlob{}, fmt.Errorf("invalid digest %#v: %w", blobinfo.Digest.String(), err) + return errorBlobInfo, fmt.Errorf("invalid digest %#v: %w", blobinfo.Digest.String(), err) } } @@ -195,7 +188,7 @@ func (s *storageImageDestination) putBlobToPendingFile(stream io.Reader, blobinf filename := s.computeNextBlobCacheFile() file, err := os.OpenFile(filename, os.O_CREATE|os.O_TRUNC|os.O_WRONLY|os.O_EXCL, 0600) if err != nil { - return private.UploadedBlob{}, fmt.Errorf("creating temporary file %q: %w", filename, err) + return errorBlobInfo, fmt.Errorf("creating temporary file %q: %w", filename, err) } defer file.Close() counter := ioutils.NewWriteCounter(file) @@ -203,16 +196,16 @@ func (s *storageImageDestination) putBlobToPendingFile(stream io.Reader, blobinf digester, stream := putblobdigest.DigestIfUnknown(stream, blobinfo) decompressed, err := archive.DecompressStream(stream) if err != nil { - return private.UploadedBlob{}, fmt.Errorf("setting up to decompress blob: %w", err) + return errorBlobInfo, fmt.Errorf("setting up to decompress blob: %w", err) } diffID := digest.Canonical.Digester() // Copy the data to the file. - // TODO: This can take quite some time, and should ideally be cancellable using context.Context. + // TODO: This can take quite some time, and should ideally be cancellable using ctx.Done(). _, err = io.Copy(diffID.Hash(), decompressed) decompressed.Close() if err != nil { - return private.UploadedBlob{}, fmt.Errorf("storing blob to file %q: %w", filename, err) + return errorBlobInfo, fmt.Errorf("storing blob to file %q: %w", filename, err) } // Determine blob properties, and fail if information that we were given about the blob @@ -222,7 +215,7 @@ func (s *storageImageDestination) putBlobToPendingFile(stream io.Reader, blobinf if blobSize < 0 { blobSize = counter.Count } else if blobinfo.Size != counter.Count { - return private.UploadedBlob{}, ErrBlobSizeMismatch + return errorBlobInfo, ErrBlobSizeMismatch } // Record information about the blob. @@ -234,9 +227,10 @@ func (s *storageImageDestination) putBlobToPendingFile(stream io.Reader, blobinf // This is safe because we have just computed diffID, and blobDigest was either computed // by us, or validated by the caller (usually copy.digestingReader). options.Cache.RecordDigestUncompressedPair(blobDigest, diffID.Digest()) - return private.UploadedBlob{ - Digest: blobDigest, - Size: blobSize, + return types.BlobInfo{ + Digest: blobDigest, + Size: blobSize, + MediaType: blobinfo.MediaType, }, nil } @@ -248,7 +242,7 @@ type zstdFetcher struct { // GetBlobAt converts from chunked.GetBlobAt to BlobChunkAccessor.GetBlobAt. func (f *zstdFetcher) GetBlobAt(chunks []chunked.ImageSourceChunk) (chan io.ReadCloser, chan error, error) { - newChunks := make([]private.ImageSourceChunk, 0, len(chunks)) + var newChunks []private.ImageSourceChunk for _, v := range chunks { i := private.ImageSourceChunk{ Offset: v.Offset, @@ -269,7 +263,7 @@ func (f *zstdFetcher) GetBlobAt(chunks []chunked.ImageSourceChunk) (chan io.Read // It is available only if SupportsPutBlobPartial(). // Even if SupportsPutBlobPartial() returns true, the call can fail, in which case the caller // should fall back to PutBlobWithOptions. -func (s *storageImageDestination) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (private.UploadedBlob, error) { +func (s *storageImageDestination) PutBlobPartial(ctx context.Context, chunkAccessor private.BlobChunkAccessor, srcInfo types.BlobInfo, cache blobinfocache.BlobInfoCache2) (types.BlobInfo, error) { fetcher := zstdFetcher{ chunkAccessor: chunkAccessor, ctx: ctx, @@ -278,12 +272,12 @@ func (s *storageImageDestination) PutBlobPartial(ctx context.Context, chunkAcces differ, err := chunked.GetDiffer(ctx, s.imageRef.transport.store, srcInfo.Size, srcInfo.Annotations, &fetcher) if err != nil { - return private.UploadedBlob{}, err + return srcInfo, err } out, err := s.imageRef.transport.store.ApplyDiffWithDiffer("", nil, differ) if err != nil { - return private.UploadedBlob{}, err + return srcInfo, err } blobDigest := srcInfo.Digest @@ -295,129 +289,124 @@ func (s *storageImageDestination) PutBlobPartial(ctx context.Context, chunkAcces s.diffOutputs[blobDigest] = out s.lock.Unlock() - return private.UploadedBlob{ - Digest: blobDigest, - Size: srcInfo.Size, - }, nil + return srcInfo, nil } // TryReusingBlobWithOptions checks whether the transport already contains, or can efficiently reuse, a blob, and if so, applies it to the current destination // (e.g. if the blob is a filesystem layer, this signifies that the changes it describes need to be applied again when composing a filesystem tree). // info.Digest must not be empty. -// If the blob has been successfully reused, returns (true, info, nil). +// If the blob has been successfully reused, returns (true, info, nil); info must contain at least a digest and size, and may +// include CompressionOperation and CompressionAlgorithm fields to indicate that a change to the compression type should be +// reflected in the manifest that will be written. // If the transport can not reuse the requested blob, TryReusingBlob returns (false, {}, nil); it returns a non-nil error only on an unexpected failure. -func (s *storageImageDestination) TryReusingBlobWithOptions(ctx context.Context, blobinfo types.BlobInfo, options private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { - if !impl.OriginalBlobMatchesRequiredCompression(options) { - return false, private.ReusedBlob{}, nil - } - reused, info, err := s.tryReusingBlobAsPending(blobinfo.Digest, blobinfo.Size, &options) +func (s *storageImageDestination) TryReusingBlobWithOptions(ctx context.Context, blobinfo types.BlobInfo, options private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { + reused, info, err := s.tryReusingBlobAsPending(ctx, blobinfo, &options) if err != nil || !reused || options.LayerIndex == nil { return reused, info, err } - return reused, info, s.queueOrCommit(*options.LayerIndex, addedLayerInfo{ - digest: info.Digest, - emptyLayer: options.EmptyLayer, - }) + return reused, info, s.queueOrCommit(ctx, info, *options.LayerIndex, options.EmptyLayer) } -// tryReusingBlobAsPending implements TryReusingBlobWithOptions for (digest, size or -1), filling s.blobDiffIDs and other metadata. +// tryReusingBlobAsPending implements TryReusingBlobWithOptions, filling s.blobDiffIDs and other metadata. // The caller must arrange the blob to be eventually committed using s.commitLayer(). -func (s *storageImageDestination) tryReusingBlobAsPending(digest digest.Digest, size int64, options *private.TryReusingBlobOptions) (bool, private.ReusedBlob, error) { +func (s *storageImageDestination) tryReusingBlobAsPending(ctx context.Context, blobinfo types.BlobInfo, options *private.TryReusingBlobOptions) (bool, types.BlobInfo, error) { // lock the entire method as it executes fairly quickly s.lock.Lock() defer s.lock.Unlock() if options.SrcRef != nil { // Check if we have the layer in the underlying additional layer store. - aLayer, err := s.imageRef.transport.store.LookupAdditionalLayer(digest, options.SrcRef.String()) + aLayer, err := s.imageRef.transport.store.LookupAdditionalLayer(blobinfo.Digest, options.SrcRef.String()) if err != nil && !errors.Is(err, storage.ErrLayerUnknown) { - return false, private.ReusedBlob{}, fmt.Errorf(`looking for compressed layers with digest %q and labels: %w`, digest, err) + return false, types.BlobInfo{}, fmt.Errorf(`looking for compressed layers with digest %q and labels: %w`, blobinfo.Digest, err) } else if err == nil { // Record the uncompressed value so that we can use it to calculate layer IDs. - s.blobDiffIDs[digest] = aLayer.UncompressedDigest() - s.blobAdditionalLayer[digest] = aLayer - return true, private.ReusedBlob{ - Digest: digest, - Size: aLayer.CompressedSize(), + s.blobDiffIDs[blobinfo.Digest] = aLayer.UncompressedDigest() + s.blobAdditionalLayer[blobinfo.Digest] = aLayer + return true, types.BlobInfo{ + Digest: blobinfo.Digest, + Size: aLayer.CompressedSize(), + MediaType: blobinfo.MediaType, }, nil } } - if digest == "" { - return false, private.ReusedBlob{}, errors.New(`Can not check for a blob with unknown digest`) + if blobinfo.Digest == "" { + return false, types.BlobInfo{}, errors.New(`Can not check for a blob with unknown digest`) } - if err := digest.Validate(); err != nil { - return false, private.ReusedBlob{}, fmt.Errorf("Can not check for a blob with invalid digest: %w", err) + if err := blobinfo.Digest.Validate(); err != nil { + return false, types.BlobInfo{}, fmt.Errorf("Can not check for a blob with invalid digest: %w", err) } // Check if we've already cached it in a file. - if size, ok := s.fileSizes[digest]; ok { - return true, private.ReusedBlob{ - Digest: digest, - Size: size, + if size, ok := s.fileSizes[blobinfo.Digest]; ok { + return true, types.BlobInfo{ + Digest: blobinfo.Digest, + Size: size, + MediaType: blobinfo.MediaType, }, nil } // Check if we have a wasn't-compressed layer in storage that's based on that blob. - layers, err := s.imageRef.transport.store.LayersByUncompressedDigest(digest) + layers, err := s.imageRef.transport.store.LayersByUncompressedDigest(blobinfo.Digest) if err != nil && !errors.Is(err, storage.ErrLayerUnknown) { - return false, private.ReusedBlob{}, fmt.Errorf(`looking for layers with digest %q: %w`, digest, err) + return false, types.BlobInfo{}, fmt.Errorf(`looking for layers with digest %q: %w`, blobinfo.Digest, err) } if len(layers) > 0 { // Save this for completeness. - s.blobDiffIDs[digest] = layers[0].UncompressedDigest - return true, private.ReusedBlob{ - Digest: digest, - Size: layers[0].UncompressedSize, + s.blobDiffIDs[blobinfo.Digest] = layers[0].UncompressedDigest + return true, types.BlobInfo{ + Digest: blobinfo.Digest, + Size: layers[0].UncompressedSize, + MediaType: blobinfo.MediaType, }, nil } // Check if we have a was-compressed layer in storage that's based on that blob. - layers, err = s.imageRef.transport.store.LayersByCompressedDigest(digest) + layers, err = s.imageRef.transport.store.LayersByCompressedDigest(blobinfo.Digest) if err != nil && !errors.Is(err, storage.ErrLayerUnknown) { - return false, private.ReusedBlob{}, fmt.Errorf(`looking for compressed layers with digest %q: %w`, digest, err) + return false, types.BlobInfo{}, fmt.Errorf(`looking for compressed layers with digest %q: %w`, blobinfo.Digest, err) } if len(layers) > 0 { // Record the uncompressed value so that we can use it to calculate layer IDs. - s.blobDiffIDs[digest] = layers[0].UncompressedDigest - return true, private.ReusedBlob{ - Digest: digest, - Size: layers[0].CompressedSize, + s.blobDiffIDs[blobinfo.Digest] = layers[0].UncompressedDigest + return true, types.BlobInfo{ + Digest: blobinfo.Digest, + Size: layers[0].CompressedSize, + MediaType: blobinfo.MediaType, }, nil } // Does the blob correspond to a known DiffID which we already have available? // Because we must return the size, which is unknown for unavailable compressed blobs, the returned BlobInfo refers to the // uncompressed layer, and that can happen only if options.CanSubstitute, or if the incoming manifest already specifies the size. - if options.CanSubstitute || size != -1 { - if uncompressedDigest := options.Cache.UncompressedDigest(digest); uncompressedDigest != "" && uncompressedDigest != digest { + if options.CanSubstitute || blobinfo.Size != -1 { + if uncompressedDigest := options.Cache.UncompressedDigest(blobinfo.Digest); uncompressedDigest != "" && uncompressedDigest != blobinfo.Digest { layers, err := s.imageRef.transport.store.LayersByUncompressedDigest(uncompressedDigest) if err != nil && !errors.Is(err, storage.ErrLayerUnknown) { - return false, private.ReusedBlob{}, fmt.Errorf(`looking for layers with digest %q: %w`, uncompressedDigest, err) + return false, types.BlobInfo{}, fmt.Errorf(`looking for layers with digest %q: %w`, uncompressedDigest, err) } if len(layers) > 0 { - if size != -1 { - s.blobDiffIDs[digest] = layers[0].UncompressedDigest - return true, private.ReusedBlob{ - Digest: digest, - Size: size, - }, nil + if blobinfo.Size != -1 { + s.blobDiffIDs[blobinfo.Digest] = layers[0].UncompressedDigest + return true, blobinfo, nil } if !options.CanSubstitute { - return false, private.ReusedBlob{}, fmt.Errorf("Internal error: options.CanSubstitute was expected to be true for blob with digest %s", digest) + return false, types.BlobInfo{}, fmt.Errorf("Internal error: options.CanSubstitute was expected to be true for blobInfo %v", blobinfo) } s.blobDiffIDs[uncompressedDigest] = layers[0].UncompressedDigest - return true, private.ReusedBlob{ - Digest: uncompressedDigest, - Size: layers[0].UncompressedSize, + return true, types.BlobInfo{ + Digest: uncompressedDigest, + Size: layers[0].UncompressedSize, + MediaType: blobinfo.MediaType, }, nil } } } // Nope, we don't have it. - return false, private.ReusedBlob{}, nil + return false, types.BlobInfo{}, nil } // computeID computes a recommended image ID based on information we have so far. If @@ -479,10 +468,10 @@ func (s *storageImageDestination) getConfigBlob(info types.BlobInfo) ([]byte, er return nil, errors.New("blob not found") } -// queueOrCommit queues the specified layer to be committed to the storage. +// queueOrCommit queues in the specified blob to be committed to the storage. // If no other goroutine is already committing layers, the layer and all // subsequent layers (if already queued) will be committed to the storage. -func (s *storageImageDestination) queueOrCommit(index int, info addedLayerInfo) error { +func (s *storageImageDestination) queueOrCommit(ctx context.Context, blob types.BlobInfo, index int, emptyLayer bool) error { // NOTE: whenever the code below is touched, make sure that all code // paths unlock the lock and to unlock it exactly once. // @@ -502,7 +491,10 @@ func (s *storageImageDestination) queueOrCommit(index int, info addedLayerInfo) // caller is the "worker" routine committing layers. All other routines // can continue pulling and queuing in layers. s.lock.Lock() - s.indexToAddedLayerInfo[index] = info + s.indexToPulledLayerInfo[index] = &manifest.LayerInfo{ + BlobInfo: blob, + EmptyLayer: emptyLayer, + } // We're still waiting for at least one previous/parent layer to be // committed, so there's nothing to do. @@ -511,14 +503,10 @@ func (s *storageImageDestination) queueOrCommit(index int, info addedLayerInfo) return nil } - for { - info, ok := s.indexToAddedLayerInfo[index] - if !ok { - break - } + for info := s.indexToPulledLayerInfo[index]; info != nil; info = s.indexToPulledLayerInfo[index] { s.lock.Unlock() // Note: commitLayer locks on-demand. - if err := s.commitLayer(index, info, -1); err != nil { + if err := s.commitLayer(ctx, *info, index); err != nil { return err } s.lock.Lock() @@ -532,15 +520,13 @@ func (s *storageImageDestination) queueOrCommit(index int, info addedLayerInfo) return nil } -// commitLayer commits the specified layer with the given index to the storage. -// size can usually be -1; it can be provided if the layer is not known to be already present in blobDiffIDs. -// +// commitLayer commits the specified blob with the given index to the storage. // Note that the previous layer is expected to already be committed. // // Caution: this function must be called without holding `s.lock`. Callers // must guarantee that, at any given time, at most one goroutine may execute // `commitLayer()`. -func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, size int64) error { +func (s *storageImageDestination) commitLayer(ctx context.Context, blob manifest.LayerInfo, index int) error { // Already committed? Return early. if _, alreadyCommitted := s.indexToStorageID[index]; alreadyCommitted { return nil @@ -555,7 +541,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si } // Carry over the previous ID for empty non-base layers. - if info.emptyLayer { + if blob.EmptyLayer { s.indexToStorageID[index] = &lastLayer return nil } @@ -563,7 +549,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si // Check if there's already a layer with the ID that we'd give to the result of applying // this layer blob to its parent, if it has one, or the blob's hex value otherwise. s.lock.Lock() - diffID, haveDiffID := s.blobDiffIDs[info.digest] + diffID, haveDiffID := s.blobDiffIDs[blob.Digest] s.lock.Unlock() if !haveDiffID { // Check if it's elsewhere and the caller just forgot to pass it to us in a PutBlob(), @@ -572,21 +558,18 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si // that relies on using a blob digest that has never been seen by the store had better call // TryReusingBlob; not calling PutBlob already violates the documented API, so there’s only // so far we are going to accommodate that (if we should be doing that at all). - logrus.Debugf("looking for diffID for blob %+v", info.digest) - // Use tryReusingBlobAsPending, not the top-level TryReusingBlobWithOptions, to prevent recursion via queueOrCommit. - has, _, err := s.tryReusingBlobAsPending(info.digest, size, &private.TryReusingBlobOptions{ - Cache: none.NoCache, - CanSubstitute: false, - }) + logrus.Debugf("looking for diffID for blob %+v", blob.Digest) + // NOTE: use `TryReusingBlob` to prevent recursion. + has, _, err := s.TryReusingBlob(ctx, blob.BlobInfo, none.NoCache, false) if err != nil { - return fmt.Errorf("checking for a layer based on blob %q: %w", info.digest.String(), err) + return fmt.Errorf("checking for a layer based on blob %q: %w", blob.Digest.String(), err) } if !has { - return fmt.Errorf("error determining uncompressed digest for blob %q", info.digest.String()) + return fmt.Errorf("error determining uncompressed digest for blob %q", blob.Digest.String()) } - diffID, haveDiffID = s.blobDiffIDs[info.digest] + diffID, haveDiffID = s.blobDiffIDs[blob.Digest] if !haveDiffID { - return fmt.Errorf("we have blob %q, but don't know its uncompressed digest", info.digest.String()) + return fmt.Errorf("we have blob %q, but don't know its uncompressed digest", blob.Digest.String()) } } id := diffID.Hex() @@ -601,7 +584,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si } s.lock.Lock() - diffOutput, ok := s.diffOutputs[info.digest] + diffOutput, ok := s.diffOutputs[blob.Digest] s.lock.Unlock() if ok { layer, err := s.imageRef.transport.store.CreateLayer(id, lastLayer, nil, "", false, nil) @@ -610,7 +593,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si } // FIXME: what to do with the uncompressed digest? - diffOutput.UncompressedDigest = info.digest + diffOutput.UncompressedDigest = blob.Digest if err := s.imageRef.transport.store.ApplyDiffFromStagingDirectory(layer.ID, diffOutput.Target, diffOutput, nil); err != nil { _ = s.imageRef.transport.store.Delete(layer.ID) @@ -622,7 +605,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si } s.lock.Lock() - al, ok := s.blobAdditionalLayer[info.digest] + al, ok := s.blobAdditionalLayer[blob.Digest] s.lock.Unlock() if ok { layer, err := al.PutAs(id, lastLayer, nil) @@ -637,7 +620,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si // Check if we previously cached a file with that blob's contents. If we didn't, // then we need to read the desired contents from a layer. s.lock.Lock() - filename, ok := s.filenames[info.digest] + filename, ok := s.filenames[blob.Digest] s.lock.Unlock() if !ok { // Try to find the layer with contents matching that blobsum. @@ -646,13 +629,13 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si if err2 == nil && len(layers) > 0 { layer = layers[0].ID } else { - layers, err2 = s.imageRef.transport.store.LayersByCompressedDigest(info.digest) + layers, err2 = s.imageRef.transport.store.LayersByCompressedDigest(blob.Digest) if err2 == nil && len(layers) > 0 { layer = layers[0].ID } } if layer == "" { - return fmt.Errorf("locating layer for blob %q: %w", info.digest, err2) + return fmt.Errorf("locating layer for blob %q: %w", blob.Digest, err2) } // Read the layer's contents. noCompression := archive.Uncompressed @@ -661,7 +644,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si } diff, err2 := s.imageRef.transport.store.Diff("", layer, diffOptions) if err2 != nil { - return fmt.Errorf("reading layer %q for blob %q: %w", layer, info.digest, err2) + return fmt.Errorf("reading layer %q for blob %q: %w", layer, blob.Digest, err2) } // Copy the layer diff to a file. Diff() takes a lock that it holds // until the ReadCloser that it returns is closed, and PutLayer() wants @@ -685,7 +668,7 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si // Make sure that we can find this file later, should we need the layer's // contents again. s.lock.Lock() - s.filenames[info.digest] = filename + s.filenames[blob.Digest] = filename s.lock.Unlock() } // Read the cached blob and use it as a diff. @@ -697,11 +680,11 @@ func (s *storageImageDestination) commitLayer(index int, info addedLayerInfo, si // Build the new layer using the diff, regardless of where it came from. // TODO: This can take quite some time, and should ideally be cancellable using ctx.Done(). layer, _, err := s.imageRef.transport.store.PutLayer(id, lastLayer, nil, "", false, &storage.LayerOptions{ - OriginalDigest: info.digest, + OriginalDigest: blob.Digest, UncompressedDigest: diffID, }, file) if err != nil && !errors.Is(err, storage.ErrDuplicateID) { - return fmt.Errorf("adding layer with blob %q: %w", info.digest, err) + return fmt.Errorf("adding layer with blob %q: %w", blob.Digest, err) } s.indexToStorageID[index] = &layer.ID @@ -752,10 +735,7 @@ func (s *storageImageDestination) Commit(ctx context.Context, unparsedToplevel t // Extract, commit, or find the layers. for i, blob := range layerBlobs { - if err := s.commitLayer(i, addedLayerInfo{ - digest: blob.Digest, - emptyLayer: blob.EmptyLayer, - }, blob.Size); err != nil { + if err := s.commitLayer(ctx, blob, i); err != nil { return err } } @@ -763,7 +743,7 @@ func (s *storageImageDestination) Commit(ctx context.Context, unparsedToplevel t if len(layerBlobs) > 0 { // Can happen when using caches prev := s.indexToStorageID[len(layerBlobs)-1] if prev == nil { - return fmt.Errorf("Internal error: storageImageDestination.Commit(): previous layer %d hasn't been committed (lastLayer == nil)", len(layerBlobs)-1) + return fmt.Errorf("Internal error: StorageImageDestination.Commit(): previous layer %d hasn't been committed (lastLayer == nil)", len(layerBlobs)-1) } lastLayer = *prev } @@ -775,78 +755,6 @@ func (s *storageImageDestination) Commit(ctx context.Context, unparsedToplevel t logrus.Debugf("setting image creation date to %s", inspect.Created) options.CreationDate = *inspect.Created } - - // Set up to save the non-layer blobs as data items. Since we only share layers, they should all be in files, so - // we just need to screen out the ones that are actually layers to get the list of non-layers. - dataBlobs := set.New[digest.Digest]() - for blob := range s.filenames { - dataBlobs.Add(blob) - } - for _, layerBlob := range layerBlobs { - dataBlobs.Delete(layerBlob.Digest) - } - for _, blob := range dataBlobs.Values() { - v, err := os.ReadFile(s.filenames[blob]) - if err != nil { - return fmt.Errorf("copying non-layer blob %q to image: %w", blob, err) - } - options.BigData = append(options.BigData, storage.ImageBigDataOption{ - Key: blob.String(), - Data: v, - Digest: digest.Canonical.FromBytes(v), - }) - } - // Set up to save the unparsedToplevel's manifest if it differs from - // the per-platform one, which is saved below. - if len(toplevelManifest) != 0 && !bytes.Equal(toplevelManifest, s.manifest) { - manifestDigest, err := manifest.Digest(toplevelManifest) - if err != nil { - return fmt.Errorf("digesting top-level manifest: %w", err) - } - options.BigData = append(options.BigData, storage.ImageBigDataOption{ - Key: manifestBigDataKey(manifestDigest), - Data: toplevelManifest, - Digest: manifestDigest, - }) - } - // Set up to save the image's manifest. Allow looking it up by digest by using the key convention defined by the Store. - // Record the manifest twice: using a digest-specific key to allow references to that specific digest instance, - // and using storage.ImageDigestBigDataKey for future users that don’t specify any digest and for compatibility with older readers. - options.BigData = append(options.BigData, storage.ImageBigDataOption{ - Key: manifestBigDataKey(s.manifestDigest), - Data: s.manifest, - Digest: s.manifestDigest, - }) - options.BigData = append(options.BigData, storage.ImageBigDataOption{ - Key: storage.ImageDigestBigDataKey, - Data: s.manifest, - Digest: s.manifestDigest, - }) - // Set up to save the signatures, if we have any. - if len(s.signatures) > 0 { - options.BigData = append(options.BigData, storage.ImageBigDataOption{ - Key: "signatures", - Data: s.signatures, - Digest: digest.Canonical.FromBytes(s.signatures), - }) - } - for instanceDigest, signatures := range s.signatureses { - options.BigData = append(options.BigData, storage.ImageBigDataOption{ - Key: signatureBigDataKey(instanceDigest), - Data: signatures, - Digest: digest.Canonical.FromBytes(signatures), - }) - } - - // Set up to save our metadata. - metadata, err := json.Marshal(s) - if err != nil { - return fmt.Errorf("encoding metadata for image: %w", err) - } - if len(metadata) != 0 { - options.Metadata = string(metadata) - } - // Create the image record, pointing to the most-recently added layer. intendedID := s.imageRef.id if intendedID == "" { @@ -869,26 +777,8 @@ func (s *storageImageDestination) Commit(ctx context.Context, unparsedToplevel t } logrus.Debugf("reusing image ID %q", img.ID) oldNames = append(oldNames, img.Names...) - // set the data items and metadata on the already-present image - // FIXME: this _replaces_ any "signatures" blobs and their - // sizes (tracked in the metadata) which might have already - // been present with new values, when ideally we'd find a way - // to merge them since they all apply to the same image - for _, data := range options.BigData { - if err := s.imageRef.transport.store.SetImageBigData(img.ID, data.Key, data.Data, manifest.Digest); err != nil { - logrus.Debugf("error saving big data %q for image %q: %v", data.Key, img.ID, err) - return fmt.Errorf("saving big data %q for image %q: %w", data.Key, img.ID, err) - } - } - if options.Metadata != "" { - if err := s.imageRef.transport.store.SetMetadata(img.ID, options.Metadata); err != nil { - logrus.Debugf("error saving metadata for image %q: %v", img.ID, err) - return fmt.Errorf("saving metadata for image %q: %w", img.ID, err) - } - logrus.Debugf("saved image metadata %q", options.Metadata) - } } else { - logrus.Debugf("created new image ID %q with metadata %q", img.ID, options.Metadata) + logrus.Debugf("created new image ID %q", img.ID) } // Clean up the unfinished image on any error. @@ -903,7 +793,78 @@ func (s *storageImageDestination) Commit(ctx context.Context, unparsedToplevel t } }() - // Add the reference's name on the image. We don't need to worry about avoiding duplicate + // Add the non-layer blobs as data items. Since we only share layers, they should all be in files, so + // we just need to screen out the ones that are actually layers to get the list of non-layers. + dataBlobs := make(map[digest.Digest]struct{}) + for blob := range s.filenames { + dataBlobs[blob] = struct{}{} + } + for _, layerBlob := range layerBlobs { + delete(dataBlobs, layerBlob.Digest) + } + for blob := range dataBlobs { + v, err := os.ReadFile(s.filenames[blob]) + if err != nil { + return fmt.Errorf("copying non-layer blob %q to image: %w", blob, err) + } + if err := s.imageRef.transport.store.SetImageBigData(img.ID, blob.String(), v, manifest.Digest); err != nil { + logrus.Debugf("error saving big data %q for image %q: %v", blob.String(), img.ID, err) + return fmt.Errorf("saving big data %q for image %q: %w", blob.String(), img.ID, err) + } + } + // Save the unparsedToplevel's manifest if it differs from the per-platform one, which is saved below. + if len(toplevelManifest) != 0 && !bytes.Equal(toplevelManifest, s.manifest) { + manifestDigest, err := manifest.Digest(toplevelManifest) + if err != nil { + return fmt.Errorf("digesting top-level manifest: %w", err) + } + key := manifestBigDataKey(manifestDigest) + if err := s.imageRef.transport.store.SetImageBigData(img.ID, key, toplevelManifest, manifest.Digest); err != nil { + logrus.Debugf("error saving top-level manifest for image %q: %v", img.ID, err) + return fmt.Errorf("saving top-level manifest for image %q: %w", img.ID, err) + } + } + // Save the image's manifest. Allow looking it up by digest by using the key convention defined by the Store. + // Record the manifest twice: using a digest-specific key to allow references to that specific digest instance, + // and using storage.ImageDigestBigDataKey for future users that don’t specify any digest and for compatibility with older readers. + key := manifestBigDataKey(s.manifestDigest) + if err := s.imageRef.transport.store.SetImageBigData(img.ID, key, s.manifest, manifest.Digest); err != nil { + logrus.Debugf("error saving manifest for image %q: %v", img.ID, err) + return fmt.Errorf("saving manifest for image %q: %w", img.ID, err) + } + key = storage.ImageDigestBigDataKey + if err := s.imageRef.transport.store.SetImageBigData(img.ID, key, s.manifest, manifest.Digest); err != nil { + logrus.Debugf("error saving manifest for image %q: %v", img.ID, err) + return fmt.Errorf("saving manifest for image %q: %w", img.ID, err) + } + // Save the signatures, if we have any. + if len(s.signatures) > 0 { + if err := s.imageRef.transport.store.SetImageBigData(img.ID, "signatures", s.signatures, manifest.Digest); err != nil { + logrus.Debugf("error saving signatures for image %q: %v", img.ID, err) + return fmt.Errorf("saving signatures for image %q: %w", img.ID, err) + } + } + for instanceDigest, signatures := range s.signatureses { + key := signatureBigDataKey(instanceDigest) + if err := s.imageRef.transport.store.SetImageBigData(img.ID, key, signatures, manifest.Digest); err != nil { + logrus.Debugf("error saving signatures for image %q: %v", img.ID, err) + return fmt.Errorf("saving signatures for image %q: %w", img.ID, err) + } + } + // Save our metadata. + metadata, err := json.Marshal(s) + if err != nil { + logrus.Debugf("error encoding metadata for image %q: %v", img.ID, err) + return fmt.Errorf("encoding metadata for image %q: %w", img.ID, err) + } + if len(metadata) != 0 { + if err = s.imageRef.transport.store.SetMetadata(img.ID, string(metadata)); err != nil { + logrus.Debugf("error saving metadata for image %q: %v", img.ID, err) + return fmt.Errorf("saving metadata for image %q: %w", img.ID, err) + } + logrus.Debugf("saved image metadata %q", string(metadata)) + } + // Adds the reference's name on the image. We don't need to worry about avoiding duplicate // values because AddNames() will deduplicate the list that we pass to it. if name := s.imageRef.DockerReference(); name != nil { if err := s.imageRef.transport.store.AddNames(img.ID, []string{name.String()}); err != nil { @@ -922,7 +883,9 @@ func (s *storageImageDestination) PutManifest(ctx context.Context, manifestBlob if err != nil { return err } - s.manifest = slices.Clone(manifestBlob) + newBlob := make([]byte, len(manifestBlob)) + copy(newBlob, manifestBlob) + s.manifest = newBlob s.manifestDigest = digest return nil } @@ -940,7 +903,10 @@ func (s *storageImageDestination) PutSignaturesWithFormat(ctx context.Context, s return err } sizes = append(sizes, len(sig)) - sigblob = append(sigblob, sig...) + newblob := make([]byte, len(sigblob)+len(sig)) + copy(newblob, sigblob) + copy(newblob[len(sigblob):], sig) + sigblob = newblob } if instanceDigest == nil { s.signatures = sigblob diff --git a/vendor/github.com/containers/image/v5/storage/storage_image.go b/vendor/github.com/containers/image/v5/storage/storage_image.go index ac09f3dbbc..9f16dd334d 100644 --- a/vendor/github.com/containers/image/v5/storage/storage_image.go +++ b/vendor/github.com/containers/image/v5/storage/storage_image.go @@ -43,7 +43,7 @@ func (s *storageImageCloser) Size() (int64, error) { // newImage creates an image that also knows its size func newImage(ctx context.Context, sys *types.SystemContext, s storageReference) (types.ImageCloser, error) { - src, err := newImageSource(sys, s) + src, err := newImageSource(ctx, sys, s) if err != nil { return nil, err } diff --git a/vendor/github.com/containers/image/v5/storage/storage_reference.go b/vendor/github.com/containers/image/v5/storage/storage_reference.go index a55e34054a..dbb9804a6b 100644 --- a/vendor/github.com/containers/image/v5/storage/storage_reference.go +++ b/vendor/github.com/containers/image/v5/storage/storage_reference.go @@ -10,12 +10,10 @@ import ( "github.com/containers/image/v5/docker/reference" "github.com/containers/image/v5/manifest" - "github.com/containers/image/v5/transports" "github.com/containers/image/v5/types" "github.com/containers/storage" digest "github.com/opencontainers/go-digest" "github.com/sirupsen/logrus" - "golang.org/x/exp/slices" ) // A storageReference holds an arbitrary name and/or an ID, which is a 32-byte @@ -54,15 +52,17 @@ func newReference(transport storageTransport, named reference.Named, id string) // imageMatchesRepo returns true iff image.Names contains an element with the same repo as ref func imageMatchesRepo(image *storage.Image, ref reference.Named) bool { repo := ref.Name() - return slices.ContainsFunc(image.Names, func(name string) bool { - if named, err := reference.ParseNormalizedNamed(name); err == nil && named.Name() == repo { - return true + for _, name := range image.Names { + if named, err := reference.ParseNormalizedNamed(name); err == nil { + if named.Name() == repo { + return true + } } - return false - }) + } + return false } -// multiArchImageMatchesSystemContext returns true if the passed-in image both contains a +// multiArchImageMatchesSystemContext returns true if if the passed-in image both contains a // multi-arch manifest that matches the passed-in digest, and the image is the per-platform // image instance that matches sys. // @@ -102,8 +102,6 @@ func multiArchImageMatchesSystemContext(store storage.Store, img *storage.Image, // Resolve the reference's name to an image ID in the store, if there's already // one present with the same name or ID, and return the image. -// -// Returns an error matching ErrNoSuchImage if an image matching ref was not found. func (s *storageReference) resolveImage(sys *types.SystemContext) (*storage.Image, error) { var loadedImage *storage.Image if s.id == "" && s.named != nil { @@ -172,9 +170,11 @@ func (s *storageReference) resolveImage(sys *types.SystemContext) (*storage.Imag // sake of older consumers that don't know there's a whole list in there now. if s.named != nil { if digested, ok := s.named.(reference.Digested); ok { - digest := digested.Digest() - if slices.Contains(loadedImage.Digests, digest) { - loadedImage.Digest = digest + for _, digest := range loadedImage.Digests { + if digest == digested.Digest() { + loadedImage.Digest = digest + break + } } } } @@ -207,10 +207,10 @@ func (s storageReference) StringWithinTransport() string { } res := "[" + s.transport.store.GraphDriverName() + "@" + s.transport.store.GraphRoot() + "+" + s.transport.store.RunRoot() + optionsList + "]" if s.named != nil { - res += s.named.String() + res = res + s.named.String() } if s.id != "" { - res += "@" + s.id + res = res + "@" + s.id } return res } @@ -218,10 +218,10 @@ func (s storageReference) StringWithinTransport() string { func (s storageReference) PolicyConfigurationIdentity() string { res := "[" + s.transport.store.GraphDriverName() + "@" + s.transport.store.GraphRoot() + "]" if s.named != nil { - res += s.named.String() + res = res + s.named.String() } if s.id != "" { - res += "@" + s.id + res = res + "@" + s.id } return res } @@ -280,37 +280,9 @@ func (s storageReference) DeleteImage(ctx context.Context, sys *types.SystemCont } func (s storageReference) NewImageSource(ctx context.Context, sys *types.SystemContext) (types.ImageSource, error) { - return newImageSource(sys, s) + return newImageSource(ctx, sys, s) } func (s storageReference) NewImageDestination(ctx context.Context, sys *types.SystemContext) (types.ImageDestination, error) { return newImageDestination(sys, s) } - -// ResolveReference finds the underlying storage image for a storage.Transport reference. -// It returns that image, and an updated reference which can be used to refer back to the _same_ -// image again. -// -// This matters if the input reference contains a tagged name; the destination of the tag can -// move in local storage. The updated reference returned by this function contains the resolved -// image ID, so later uses of that updated reference will either continue to refer to the same -// image, or fail. -// -// Note that it _is_ possible for the later uses to fail, either because the image was removed -// completely, or because the name used in the reference was untaged (even if the underlying image -// ID still exists in local storage). -// -// Returns an error matching ErrNoSuchImage if an image matching ref was not found. -func ResolveReference(ref types.ImageReference) (types.ImageReference, *storage.Image, error) { - sref, ok := ref.(*storageReference) - if !ok { - return nil, nil, fmt.Errorf("trying to resolve a non-%s: reference %q", Transport.Name(), - transports.ImageName(ref)) - } - clone := *sref // A shallow copy we can update - img, err := clone.resolveImage(nil) - if err != nil { - return nil, nil, err - } - return clone, img, nil -} diff --git a/vendor/github.com/containers/image/v5/storage/storage_src.go b/vendor/github.com/containers/image/v5/storage/storage_src.go index f1ce0861e0..d4288dade5 100644 --- a/vendor/github.com/containers/image/v5/storage/storage_src.go +++ b/vendor/github.com/containers/image/v5/storage/storage_src.go @@ -45,7 +45,7 @@ type storageImageSource struct { } // newImageSource sets up an image for reading. -func newImageSource(sys *types.SystemContext, imageRef storageReference) (*storageImageSource, error) { +func newImageSource(ctx context.Context, sys *types.SystemContext, imageRef storageReference) (*storageImageSource, error) { // First, locate the image. img, err := imageRef.resolveImage(sys) if err != nil { @@ -89,93 +89,70 @@ func (s *storageImageSource) Close() error { // The Digest field in BlobInfo is guaranteed to be provided, Size may be -1 and MediaType may be optionally provided. // May update BlobInfoCache, preferably after it knows for certain that a blob truly exists at a specific location. func (s *storageImageSource) GetBlob(ctx context.Context, info types.BlobInfo, cache types.BlobInfoCache) (rc io.ReadCloser, n int64, err error) { - // We need a valid digest value. - digest := info.Digest - err = digest.Validate() - if err != nil { - return nil, 0, err - } - - if digest == image.GzippedEmptyLayerDigest { + if info.Digest == image.GzippedEmptyLayerDigest { return io.NopCloser(bytes.NewReader(image.GzippedEmptyLayer)), int64(len(image.GzippedEmptyLayer)), nil } - // Check if the blob corresponds to a diff that was used to initialize any layers. Our - // callers should try to retrieve layers using their uncompressed digests, so no need to - // check if they're using one of the compressed digests, which we can't reproduce anyway. - layers, _ := s.imageRef.transport.store.LayersByUncompressedDigest(digest) - - // If it's not a layer, then it must be a data item. - if len(layers) == 0 { - b, err := s.imageRef.transport.store.ImageBigData(s.image.ID, digest.String()) - if err != nil { - return nil, 0, err - } - r := bytes.NewReader(b) - logrus.Debugf("exporting opaque data as blob %q", digest.String()) - return io.NopCloser(r), int64(r.Len()), nil - } - // NOTE: the blob is first written to a temporary file and subsequently // closed. The intention is to keep the time we own the storage lock // as short as possible to allow other processes to access the storage. - rc, n, _, err = s.getBlobAndLayerID(digest, layers) + rc, n, _, err = s.getBlobAndLayerID(info) if err != nil { return nil, 0, err } defer rc.Close() - tmpFile, err := tmpdir.CreateBigFileTemp(s.systemContext, "") + tmpFile, err := os.CreateTemp(tmpdir.TemporaryDirectoryForBigFiles(s.systemContext), "") if err != nil { return nil, 0, err } - success := false - tmpFileRemovePending := true - defer func() { - if !success { - tmpFile.Close() - if tmpFileRemovePending { - os.Remove(tmpFile.Name()) - } - } - }() - // On Unix and modern Windows (2022 at least) we can eagerly unlink the file to ensure it's automatically - // cleaned up on process termination (or if the caller forgets to invoke Close()) - // On older versions of Windows we will have to fallback to relying on the caller to invoke Close() - if err := os.Remove(tmpFile.Name()); err != nil { - tmpFileRemovePending = false - } if _, err := io.Copy(tmpFile, rc); err != nil { return nil, 0, err } - if _, err := tmpFile.Seek(0, io.SeekStart); err != nil { + + if _, err := tmpFile.Seek(0, 0); err != nil { return nil, 0, err } - success = true + wrapper := ioutils.NewReadCloserWrapper(tmpFile, func() error { + defer os.Remove(tmpFile.Name()) + return tmpFile.Close() + }) - if tmpFileRemovePending { - return ioutils.NewReadCloserWrapper(tmpFile, func() error { - tmpFile.Close() - return os.Remove(tmpFile.Name()) - }), n, nil - } - - return tmpFile, n, nil + return wrapper, n, err } // getBlobAndLayer reads the data blob or filesystem layer which matches the digest and size, if given. -func (s *storageImageSource) getBlobAndLayerID(digest digest.Digest, layers []storage.Layer) (rc io.ReadCloser, n int64, layerID string, err error) { +func (s *storageImageSource) getBlobAndLayerID(info types.BlobInfo) (rc io.ReadCloser, n int64, layerID string, err error) { var layer storage.Layer var diffOptions *storage.DiffOptions + // We need a valid digest value. + err = info.Digest.Validate() + if err != nil { + return nil, -1, "", err + } + // Check if the blob corresponds to a diff that was used to initialize any layers. Our + // callers should try to retrieve layers using their uncompressed digests, so no need to + // check if they're using one of the compressed digests, which we can't reproduce anyway. + layers, _ := s.imageRef.transport.store.LayersByUncompressedDigest(info.Digest) + // If it's not a layer, then it must be a data item. + if len(layers) == 0 { + b, err := s.imageRef.transport.store.ImageBigData(s.image.ID, info.Digest.String()) + if err != nil { + return nil, -1, "", err + } + r := bytes.NewReader(b) + logrus.Debugf("exporting opaque data as blob %q", info.Digest.String()) + return io.NopCloser(r), int64(r.Len()), "", nil + } // Step through the list of matching layers. Tests may want to verify that if we have multiple layers // which claim to have the same contents, that we actually do have multiple layers, otherwise we could // just go ahead and use the first one every time. s.getBlobMutex.Lock() - i := s.layerPosition[digest] - s.layerPosition[digest] = i + 1 + i := s.layerPosition[info.Digest] + s.layerPosition[info.Digest] = i + 1 s.getBlobMutex.Unlock() if len(layers) > 0 { layer = layers[i%len(layers)] @@ -191,7 +168,7 @@ func (s *storageImageSource) getBlobAndLayerID(digest digest.Digest, layers []st } else { n = layer.UncompressedSize } - logrus.Debugf("exporting filesystem layer %q without compression for blob %q", layer.ID, digest) + logrus.Debugf("exporting filesystem layer %q without compression for blob %q", layer.ID, info.Digest) rc, err = s.imageRef.transport.store.Diff("", layer.ID, diffOptions) if err != nil { return nil, -1, "", err @@ -200,7 +177,7 @@ func (s *storageImageSource) getBlobAndLayerID(digest digest.Digest, layers []st } // GetManifest() reads the image's manifest. -func (s *storageImageSource) GetManifest(ctx context.Context, instanceDigest *digest.Digest) (manifestBlob []byte, mimeType string, err error) { +func (s *storageImageSource) GetManifest(ctx context.Context, instanceDigest *digest.Digest) (manifestBlob []byte, MIMEType string, err error) { if instanceDigest != nil { key := manifestBigDataKey(*instanceDigest) blob, err := s.imageRef.transport.store.ImageBigData(s.image.ID, key) @@ -307,7 +284,7 @@ func buildLayerInfosForCopy(manifestInfos []manifest.LayerInfo, physicalInfos [] if nextPhysical >= len(physicalInfos) { return nil, fmt.Errorf("expected more than %d physical layers to exist", len(physicalInfos)) } - res[i] = physicalInfos[nextPhysical] // FIXME? Should we preserve more data in manifestInfos? Notably the current approach correctly removes zstd:chunked metadata annotations. + res[i] = physicalInfos[nextPhysical] nextPhysical++ } } diff --git a/vendor/github.com/containers/image/v5/storage/storage_transport.go b/vendor/github.com/containers/image/v5/storage/storage_transport.go index deb500b4d2..104e9d8cca 100644 --- a/vendor/github.com/containers/image/v5/storage/storage_transport.go +++ b/vendor/github.com/containers/image/v5/storage/storage_transport.go @@ -48,26 +48,9 @@ type StoreTransport interface { GetStoreIfSet() storage.Store // GetImage retrieves the image from the transport's store that's named // by the reference. - // Deprecated: Surprisingly, with a StoreTransport reference which contains an ID, - // this ignores that ID; and repeated calls of GetStoreImage with the same named reference - // can return different images, with no way for the caller to "freeze" the storage.Image identity - // without discarding the name entirely. - // - // Use storage.ResolveReference instead; note that if the image is not found, ResolveReference returns - // c/image/v5/storage.ErrNoSuchImage, not c/storage.ErrImageUnknown. GetImage(types.ImageReference) (*storage.Image, error) // GetStoreImage retrieves the image from a specified store that's named // by the reference. - // - // Deprecated: Surprisingly, with a StoreTransport reference which contains an ID, - // this ignores that ID; and repeated calls of GetStoreImage with the same named reference - // can return different images, with no way for the caller to "freeze" the storage.Image identity - // without discarding the name entirely. - // - // Also, a StoreTransport reference already contains a store, so providing another one is redundant. - // - // Use storage.ResolveReference instead; note that if the image is not found, ResolveReference returns - // c/image/v5/storage.ErrNoSuchImage, not c/storage.ErrImageUnknown. GetStoreImage(storage.Store, types.ImageReference) (*storage.Image, error) // ParseStoreReference parses a reference, overriding any store // specification that it may contain. @@ -251,30 +234,35 @@ func (s *storageTransport) ParseReference(reference string) (types.ImageReferenc reference = reference[closeIndex+1:] // Peel off a "driver@" from the start. driverInfo := "" - driverPart1, driverPart2, gotDriver := strings.Cut(storeSpec, "@") - if !gotDriver { - storeSpec = driverPart1 + driverSplit := strings.SplitN(storeSpec, "@", 2) + if len(driverSplit) != 2 { if storeSpec == "" { return nil, ErrInvalidReference } } else { - driverInfo = driverPart1 + driverInfo = driverSplit[0] if driverInfo == "" { return nil, ErrInvalidReference } - storeSpec = driverPart2 + storeSpec = driverSplit[1] if storeSpec == "" { return nil, ErrInvalidReference } } // Peel off a ":options" from the end. var options []string - storeSpec, optionsPart, gotOptions := strings.Cut(storeSpec, ":") - if gotOptions { - options = strings.Split(optionsPart, ",") + optionsSplit := strings.SplitN(storeSpec, ":", 2) + if len(optionsSplit) == 2 { + options = strings.Split(optionsSplit[1], ",") + storeSpec = optionsSplit[0] } // Peel off a "+runroot" from the new end. - storeSpec, runRootInfo, _ := strings.Cut(storeSpec, "+") // runRootInfo is "" if there is no "+" + runRootInfo := "" + runRootSplit := strings.SplitN(storeSpec, "+", 2) + if len(runRootSplit) == 2 { + runRootInfo = runRootSplit[1] + storeSpec = runRootSplit[0] + } // The rest is our graph root. rootInfo := storeSpec // Check that any paths are absolute paths. @@ -307,15 +295,6 @@ func (s *storageTransport) ParseReference(reference string) (types.ImageReferenc return s.ParseStoreReference(store, reference) } -// Deprecated: Surprisingly, with a StoreTransport reference which contains an ID, -// this ignores that ID; and repeated calls of GetStoreImage with the same named reference -// can return different images, with no way for the caller to "freeze" the storage.Image identity -// without discarding the name entirely. -// -// Also, a StoreTransport reference already contains a store, so providing another one is redundant. -// -// Use storage.ResolveReference instead; note that if the image is not found, ResolveReference returns -// c/image/v5/storage.ErrNoSuchImage, not c/storage.ErrImageUnknown. func (s storageTransport) GetStoreImage(store storage.Store, ref types.ImageReference) (*storage.Image, error) { dref := ref.DockerReference() if dref != nil { @@ -332,13 +311,6 @@ func (s storageTransport) GetStoreImage(store storage.Store, ref types.ImageRefe return nil, storage.ErrImageUnknown } -// Deprecated: Surprisingly, with a StoreTransport reference which contains an ID, -// this ignores that ID; and repeated calls of GetStoreImage with the same named reference -// can return different images, with no way for the caller to "freeze" the storage.Image identity -// without discarding the name entirely. -// -// Use storage.ResolveReference instead; note that if the image is not found, ResolveReference returns -// c/image/v5/storage.ErrNoSuchImage, not c/storage.ErrImageUnknown. func (s *storageTransport) GetImage(ref types.ImageReference) (*storage.Image, error) { store, err := s.GetStore() if err != nil { diff --git a/vendor/github.com/containers/image/v5/tarball/doc.go b/vendor/github.com/containers/image/v5/tarball/doc.go index 064c78b177..e9d321b8f8 100644 --- a/vendor/github.com/containers/image/v5/tarball/doc.go +++ b/vendor/github.com/containers/image/v5/tarball/doc.go @@ -2,7 +2,6 @@ // tarballs and an optional template configuration. // // An example: -// // package main // // import ( diff --git a/vendor/github.com/containers/image/v5/tarball/tarball_reference.go b/vendor/github.com/containers/image/v5/tarball/tarball_reference.go index d5578d9e8a..690067ec3d 100644 --- a/vendor/github.com/containers/image/v5/tarball/tarball_reference.go +++ b/vendor/github.com/containers/image/v5/tarball/tarball_reference.go @@ -9,8 +9,8 @@ import ( "github.com/containers/image/v5/docker/reference" "github.com/containers/image/v5/internal/image" "github.com/containers/image/v5/types" + imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/maps" ) // ConfigUpdater is an interface that ImageReferences for "tarball" images also @@ -35,7 +35,9 @@ func (r *tarballReference) ConfigUpdate(config imgspecv1.Image, annotations map[ if r.annotations == nil { r.annotations = make(map[string]string) } - maps.Copy(r.annotations, annotations) + for k, v := range annotations { + r.annotations[k] = v + } return nil } @@ -71,7 +73,7 @@ func (r *tarballReference) NewImage(ctx context.Context, sys *types.SystemContex func (r *tarballReference) DeleteImage(ctx context.Context, sys *types.SystemContext) error { for _, filename := range r.filenames { if err := os.Remove(filename); err != nil && !os.IsNotExist(err) { - return fmt.Errorf("error removing %q: %w", filename, err) + return fmt.Errorf("error removing %q: %v", filename, err) } } return nil diff --git a/vendor/github.com/containers/image/v5/tarball/tarball_src.go b/vendor/github.com/containers/image/v5/tarball/tarball_src.go index 6f9bfaf756..1dc4c3ad94 100644 --- a/vendor/github.com/containers/image/v5/tarball/tarball_src.go +++ b/vendor/github.com/containers/image/v5/tarball/tarball_src.go @@ -18,7 +18,6 @@ import ( digest "github.com/opencontainers/go-digest" imgspecs "github.com/opencontainers/image-spec/specs-go" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" - "golang.org/x/exp/maps" ) type tarballImageSource struct { @@ -28,58 +27,51 @@ type tarballImageSource struct { impl.DoesNotAffectLayerInfosForCopy stubs.NoGetBlobAtInitialize - reference tarballReference - blobs map[digest.Digest]tarballBlob - manifest []byte -} - -// tarballBlob is a blob that tarballImagSource can return by GetBlob. -type tarballBlob struct { - contents []byte // or nil to read from filename below - filename string // valid if contents == nil - size int64 + reference tarballReference + filenames []string + diffIDs []digest.Digest + diffSizes []int64 + blobIDs []digest.Digest + blobSizes []int64 + blobTypes []string + config []byte + configID digest.Digest + configSize int64 + manifest []byte } func (r *tarballReference) NewImageSource(ctx context.Context, sys *types.SystemContext) (types.ImageSource, error) { - // Pick up the layer comment from the configuration's history list, if one is set. - comment := "imported from tarball" - if len(r.config.History) > 0 && r.config.History[0].Comment != "" { - comment = r.config.History[0].Comment - } - - // Gather up the digests, sizes, and history information for all of the files. - blobs := map[digest.Digest]tarballBlob{} + // Gather up the digests, sizes, and date information for all of the files. + filenames := []string{} diffIDs := []digest.Digest{} - created := time.Time{} - history := []imgspecv1.History{} - layerDescriptors := []imgspecv1.Descriptor{} + diffSizes := []int64{} + blobIDs := []digest.Digest{} + blobSizes := []int64{} + blobTimes := []time.Time{} + blobTypes := []string{} for _, filename := range r.filenames { - var reader io.Reader + var file *os.File + var err error + var blobSize int64 var blobTime time.Time - var blob tarballBlob + var reader io.Reader if filename == "-" { - reader = bytes.NewReader(r.stdin) + blobSize = int64(len(r.stdin)) blobTime = time.Now() - blob = tarballBlob{ - contents: r.stdin, - size: int64(len(r.stdin)), - } + reader = bytes.NewReader(r.stdin) } else { - file, err := os.Open(filename) + file, err = os.Open(filename) if err != nil { - return nil, err + return nil, fmt.Errorf("error opening %q for reading: %v", filename, err) } defer file.Close() reader = file fileinfo, err := file.Stat() if err != nil { - return nil, fmt.Errorf("error reading size of %q: %w", filename, err) + return nil, fmt.Errorf("error reading size of %q: %v", filename, err) } + blobSize = fileinfo.Size() blobTime = fileinfo.ModTime() - blob = tarballBlob{ - filename: filename, - size: fileinfo.Size(), - } } // Default to assuming the layer is compressed. @@ -102,7 +94,8 @@ func (r *tarballReference) NewImageSource(ctx context.Context, sys *types.System uncompressed = nil } // TODO: This can take quite some time, and should ideally be cancellable using ctx.Done(). - if _, err := io.Copy(io.Discard, reader); err != nil { + n, err := io.Copy(io.Discard, reader) + if err != nil { return nil, fmt.Errorf("error reading %q: %v", filename, err) } if uncompressed != nil { @@ -110,26 +103,38 @@ func (r *tarballReference) NewImageSource(ctx context.Context, sys *types.System } // Grab our uncompressed and possibly-compressed digests and sizes. - diffID := diffIDdigester.Digest() - blobID := blobIDdigester.Digest() - diffIDs = append(diffIDs, diffID) - blobs[blobID] = blob + filenames = append(filenames, filename) + diffIDs = append(diffIDs, diffIDdigester.Digest()) + diffSizes = append(diffSizes, n) + blobIDs = append(blobIDs, blobIDdigester.Digest()) + blobSizes = append(blobSizes, blobSize) + blobTimes = append(blobTimes, blobTime) + blobTypes = append(blobTypes, layerType) + } + // Build the rootfs and history for the configuration blob. + rootfs := imgspecv1.RootFS{ + Type: "layers", + DiffIDs: diffIDs, + } + created := time.Time{} + history := []imgspecv1.History{} + // Pick up the layer comment from the configuration's history list, if one is set. + comment := "imported from tarball" + if len(r.config.History) > 0 && r.config.History[0].Comment != "" { + comment = r.config.History[0].Comment + } + for i := range diffIDs { + createdBy := fmt.Sprintf("/bin/sh -c #(nop) ADD file:%s in %c", diffIDs[i].Hex(), os.PathSeparator) history = append(history, imgspecv1.History{ - Created: &blobTime, - CreatedBy: fmt.Sprintf("/bin/sh -c #(nop) ADD file:%s in %c", diffID.Hex(), os.PathSeparator), + Created: &blobTimes[i], + CreatedBy: createdBy, Comment: comment, }) // Use the mtime of the most recently modified file as the image's creation time. - if created.Before(blobTime) { - created = blobTime + if created.Before(blobTimes[i]) { + created = blobTimes[i] } - - layerDescriptors = append(layerDescriptors, imgspecv1.Descriptor{ - Digest: blobID, - Size: blob.size, - MediaType: layerType, - }) } // Pick up other defaults from the config in the reference. @@ -143,10 +148,7 @@ func (r *tarballReference) NewImageSource(ctx context.Context, sys *types.System if config.OS == "" { config.OS = runtime.GOOS } - config.RootFS = imgspecv1.RootFS{ - Type: "layers", - DiffIDs: diffIDs, - } + config.RootFS = rootfs config.History = history // Encode and digest the image configuration blob. @@ -155,23 +157,32 @@ func (r *tarballReference) NewImageSource(ctx context.Context, sys *types.System return nil, fmt.Errorf("error generating configuration blob for %q: %v", strings.Join(r.filenames, separator), err) } configID := digest.Canonical.FromBytes(configBytes) - blobs[configID] = tarballBlob{ - contents: configBytes, - size: int64(len(configBytes)), - } + configSize := int64(len(configBytes)) - // Populate a manifest with the configuration blob and the layers. + // Populate a manifest with the configuration blob and the file as the single layer. + layerDescriptors := []imgspecv1.Descriptor{} + for i := range blobIDs { + layerDescriptors = append(layerDescriptors, imgspecv1.Descriptor{ + Digest: blobIDs[i], + Size: blobSizes[i], + MediaType: blobTypes[i], + }) + } + annotations := make(map[string]string) + for k, v := range r.annotations { + annotations[k] = v + } manifest := imgspecv1.Manifest{ Versioned: imgspecs.Versioned{ SchemaVersion: 2, }, Config: imgspecv1.Descriptor{ Digest: configID, - Size: int64(len(configBytes)), + Size: configSize, MediaType: imgspecv1.MediaTypeImageConfig, }, Layers: layerDescriptors, - Annotations: maps.Clone(r.annotations), + Annotations: annotations, } // Encode the manifest. @@ -187,9 +198,17 @@ func (r *tarballReference) NewImageSource(ctx context.Context, sys *types.System }), NoGetBlobAtInitialize: stubs.NoGetBlobAt(r), - reference: *r, - blobs: blobs, - manifest: manifestBytes, + reference: *r, + filenames: filenames, + diffIDs: diffIDs, + diffSizes: diffSizes, + blobIDs: blobIDs, + blobSizes: blobSizes, + blobTypes: blobTypes, + config: configBytes, + configID: configID, + configSize: configSize, + manifest: manifestBytes, } src.Compat = impl.AddCompat(src) @@ -204,18 +223,25 @@ func (is *tarballImageSource) Close() error { // The Digest field in BlobInfo is guaranteed to be provided, Size may be -1 and MediaType may be optionally provided. // May update BlobInfoCache, preferably after it knows for certain that a blob truly exists at a specific location. func (is *tarballImageSource) GetBlob(ctx context.Context, blobinfo types.BlobInfo, cache types.BlobInfoCache) (io.ReadCloser, int64, error) { - blob, ok := is.blobs[blobinfo.Digest] - if !ok { - return nil, -1, fmt.Errorf("no blob with digest %q found", blobinfo.Digest.String()) - } - if blob.contents != nil { - return io.NopCloser(bytes.NewReader(blob.contents)), int64(len(blob.contents)), nil + // We should only be asked about things in the manifest. Maybe the configuration blob. + if blobinfo.Digest == is.configID { + return io.NopCloser(bytes.NewBuffer(is.config)), is.configSize, nil } - reader, err := os.Open(blob.filename) - if err != nil { - return nil, -1, err + // Maybe one of the layer blobs. + for i := range is.blobIDs { + if blobinfo.Digest == is.blobIDs[i] { + // We want to read that layer: open the file or memory block and hand it back. + if is.filenames[i] == "-" { + return io.NopCloser(bytes.NewBuffer(is.reference.stdin)), int64(len(is.reference.stdin)), nil + } + reader, err := os.Open(is.filenames[i]) + if err != nil { + return nil, -1, fmt.Errorf("error opening %q: %v", is.filenames[i], err) + } + return reader, is.blobSizes[i], nil + } } - return reader, blob.size, nil + return nil, -1, fmt.Errorf("no blob with digest %q found", blobinfo.Digest.String()) } // GetManifest returns the image's manifest along with its MIME type (which may be empty when it can't be determined but the manifest is available). diff --git a/vendor/github.com/containers/image/v5/transports/alltransports/alltransports.go b/vendor/github.com/containers/image/v5/transports/alltransports/alltransports.go index a8f1c13adc..62d767b583 100644 --- a/vendor/github.com/containers/image/v5/transports/alltransports/alltransports.go +++ b/vendor/github.com/containers/image/v5/transports/alltransports/alltransports.go @@ -4,11 +4,8 @@ import ( "fmt" "strings" - "github.com/containers/image/v5/transports" - "github.com/containers/image/v5/types" - - // Register all known transports. - // NOTE: Make sure docs/containers-transports.5.md and docs/containers-policy.json.5.md are updated when adding or updating + // register all known transports + // NOTE: Make sure docs/containers-policy.json.5.md is updated when adding or updating // a transport. _ "github.com/containers/image/v5/directory" _ "github.com/containers/image/v5/docker" @@ -18,32 +15,34 @@ import ( _ "github.com/containers/image/v5/openshift" _ "github.com/containers/image/v5/sif" _ "github.com/containers/image/v5/tarball" - // The docker-daemon transport is registeredy by docker_daemon*.go + // The ostree transport is registered by ostree*.go // The storage transport is registered by storage*.go + "github.com/containers/image/v5/transports" + "github.com/containers/image/v5/types" ) // ParseImageName converts a URL-like image name to a types.ImageReference. func ParseImageName(imgName string) (types.ImageReference, error) { // Keep this in sync with TransportFromImageName! - transportName, withinTransport, valid := strings.Cut(imgName, ":") - if !valid { + parts := strings.SplitN(imgName, ":", 2) + if len(parts) != 2 { return nil, fmt.Errorf(`Invalid image name "%s", expected colon-separated transport:reference`, imgName) } - transport := transports.Get(transportName) + transport := transports.Get(parts[0]) if transport == nil { - return nil, fmt.Errorf(`Invalid image name "%s", unknown transport "%s"`, imgName, transportName) + return nil, fmt.Errorf(`Invalid image name "%s", unknown transport "%s"`, imgName, parts[0]) } - return transport.ParseReference(withinTransport) + return transport.ParseReference(parts[1]) } // TransportFromImageName converts an URL-like name to a types.ImageTransport or nil when // the transport is unknown or when the input is invalid. func TransportFromImageName(imageName string) types.ImageTransport { // Keep this in sync with ParseImageName! - transportName, _, valid := strings.Cut(imageName, ":") - if valid { - return transports.Get(transportName) + parts := strings.SplitN(imageName, ":", 2) + if len(parts) == 2 { + return transports.Get(parts[0]) } return nil } diff --git a/vendor/github.com/containers/image/v5/transports/transports.go b/vendor/github.com/containers/image/v5/transports/transports.go index 834f33b489..46ee3710fc 100644 --- a/vendor/github.com/containers/image/v5/transports/transports.go +++ b/vendor/github.com/containers/image/v5/transports/transports.go @@ -5,7 +5,6 @@ import ( "sort" "sync" - "github.com/containers/image/v5/internal/set" "github.com/containers/image/v5/types" ) @@ -67,21 +66,22 @@ func Register(t types.ImageTransport) { // This is the generally recommended way to refer to images in the UI. // // NOTE: The returned string is not promised to be equal to the original input to ParseImageName; -// e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. +// e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. func ImageName(ref types.ImageReference) string { return ref.Transport().Name() + ":" + ref.StringWithinTransport() } -var deprecatedTransports = set.NewWithValues("atomic") - // ListNames returns a list of non deprecated transport names. // Deprecated transports can be used, but are not presented to users. func ListNames() []string { kt.mu.Lock() defer kt.mu.Unlock() + deprecated := map[string]bool{ + "atomic": true, + } var names []string for _, transport := range kt.transports { - if !deprecatedTransports.Contains(transport.Name()) { + if !deprecated[transport.Name()] { names = append(names, transport.Name()) } } diff --git a/vendor/github.com/containers/image/v5/types/types.go b/vendor/github.com/containers/image/v5/types/types.go index 180a98c5ba..dcff8caf76 100644 --- a/vendor/github.com/containers/image/v5/types/types.go +++ b/vendor/github.com/containers/image/v5/types/types.go @@ -11,7 +11,7 @@ import ( v1 "github.com/opencontainers/image-spec/specs-go/v1" ) -// ImageTransport is a top-level namespace for ways to store/load an image. +// ImageTransport is a top-level namespace for ways to to store/load an image. // It should generally correspond to ImageSource/ImageDestination implementations. // // Note that ImageTransport is based on "ways the users refer to image storage", not necessarily on the underlying physical transport. @@ -48,7 +48,7 @@ type ImageReference interface { // StringWithinTransport returns a string representation of the reference, which MUST be such that // reference.Transport().ParseReference(reference.StringWithinTransport()) returns an equivalent reference. // NOTE: The returned string is not promised to be equal to the original input to ParseReference; - // e.g. default attribute values omitted by the user may be filled in the return value, or vice versa. + // e.g. default attribute values omitted by the user may be filled in in the return value, or vice versa. // WARNING: Do not use the return value in the UI to describe an image, it does not contain the Transport().Name() prefix; // instead, see transports.ImageName(). StringWithinTransport() string @@ -125,20 +125,13 @@ type BlobInfo struct { URLs []string Annotations map[string]string MediaType string - - // NOTE: The following fields contain desired _edits_ to blob infos. - // Conceptually then don't belong in the BlobInfo object at all; - // the edits should be provided specifically as parameters to the edit implementation. - // We can’t remove the fields without breaking compatibility, but don’t - // add any more. - // CompressionOperation is used in Image.UpdateLayerInfos to instruct // whether the original layer's "compressed or not" should be preserved, // possibly while changing the compression algorithm from one to another, // or if it should be compressed or decompressed. The field defaults to // preserve the original layer's compressedness. // TODO: To remove together with CryptoOperation in re-design to remove - // field out of BlobInfo. + // field out out of BlobInfo. CompressionOperation LayerCompression // CompressionAlgorithm is used in Image.UpdateLayerInfos to set the correct // MIME type for compressed layers (e.g., gzip or zstd). This field MUST be @@ -149,9 +142,8 @@ type BlobInfo struct { // CryptoOperation is used in Image.UpdateLayerInfos to instruct // whether the original layer was encrypted/decrypted // TODO: To remove together with CompressionOperation in re-design to - // remove field out of BlobInfo. + // remove field out out of BlobInfo. CryptoOperation LayerCrypto - // Before adding any fields to this struct, read the NOTE above. } // BICTransportScope encapsulates transport-dependent representation of a “scope” where blobs are or are not present. @@ -185,25 +177,24 @@ type BICReplacementCandidate struct { // BlobInfoCache records data useful for reusing blobs, or substituting equivalent ones, to avoid unnecessary blob copies. // // It records two kinds of data: +// - Sets of corresponding digest vs. uncompressed digest ("DiffID") pairs: +// One of the two digests is known to be uncompressed, and a single uncompressed digest may correspond to more than one compressed digest. +// This allows matching compressed layer blobs to existing local uncompressed layers (to avoid unnecessary download and decompression), +// or uncompressed layer blobs to existing remote compressed layers (to avoid unnecessary compression and upload)/ // -// - Sets of corresponding digest vs. uncompressed digest ("DiffID") pairs: -// One of the two digests is known to be uncompressed, and a single uncompressed digest may correspond to more than one compressed digest. -// This allows matching compressed layer blobs to existing local uncompressed layers (to avoid unnecessary download and decompression), -// or uncompressed layer blobs to existing remote compressed layers (to avoid unnecessary compression and upload)/ -// -// It is allowed to record an (uncompressed digest, the same uncompressed digest) correspondence, to express that the digest is known -// to be uncompressed (i.e. that a conversion from schema1 does not have to decompress the blob to compute a DiffID value). +// It is allowed to record an (uncompressed digest, the same uncompressed digest) correspondence, to express that the digest is known +// to be uncompressed (i.e. that a conversion from schema1 does not have to decompress the blob to compute a DiffID value). // -// This mapping is primarily maintained in generic copy.Image code, but transports may want to contribute more data points if they independently -// compress/decompress blobs for their own purposes. +// This mapping is primarily maintained in generic copy.Image code, but transports may want to contribute more data points if they independently +// compress/decompress blobs for their own purposes. // -// - Known blob locations, managed by individual transports: -// The transports call RecordKnownLocation when encountering a blob that could possibly be reused (typically in GetBlob/PutBlob/TryReusingBlob), -// recording transport-specific information that allows the transport to reuse the blob in the future; -// then, TryReusingBlob implementations can call CandidateLocations to look up previously recorded blob locations that could be reused. +// - Known blob locations, managed by individual transports: +// The transports call RecordKnownLocation when encountering a blob that could possibly be reused (typically in GetBlob/PutBlob/TryReusingBlob), +// recording transport-specific information that allows the transport to reuse the blob in the future; +// then, TryReusingBlob implementations can call CandidateLocations to look up previously recorded blob locations that could be reused. // -// Each transport defines its own “scopes” within which blob reuse is possible (e.g. in, the docker/distribution case, blobs -// can be directly reused within a registry, or mounted across registries within a registry server.) +// Each transport defines its own “scopes” within which blob reuse is possible (e.g. in, the docker/distribution case, blobs +// can be directly reused within a registry, or mounted across registries within a registry server.) // // None of the methods return an error indication: errors when neither reading from, nor writing to, the cache, should be fatal; // users of the cache should just fall back to copying the blobs the usual way. @@ -445,7 +436,7 @@ type ImageCloser interface { Close() error } -// ManifestUpdateOptions is a way to pass named optional arguments to Image.UpdatedImage +// ManifestUpdateOptions is a way to pass named optional arguments to Image.UpdatedManifest type ManifestUpdateOptions struct { LayerInfos []BlobInfo // Complete BlobInfos (size+digest+urls+annotations) which should replace the originals, in order (the root layer first, and then successive layered layers). BlobInfos' MediaType fields are ignored. EmbeddedDockerReference reference.Named @@ -457,7 +448,7 @@ type ManifestUpdateOptions struct { // ManifestUpdateInformation is a component of ManifestUpdateOptions, named here // only to make writing struct literals possible. type ManifestUpdateInformation struct { - Destination ImageDestination // and yes, UpdatedImage may write to Destination (see the schema2 → schema1 conversion logic in image/docker_schema2.go) + Destination ImageDestination // and yes, UpdatedManifest may write to Destination (see the schema2 → schema1 conversion logic in image/docker_schema2.go) LayerInfos []BlobInfo // Complete BlobInfos (size+digest) which have been uploaded, in order (the root layer first, and then successive layered layers) LayerDiffIDs []digest.Digest // Digest values for the _uncompressed_ contents of the blobs which have been uploaded, in the same order. } @@ -474,17 +465,7 @@ type ImageInspectInfo struct { Variant string Os string Layers []string - LayersData []ImageInspectLayer Env []string - Author string -} - -// ImageInspectLayer is a set of metadata describing an image layers' detail -type ImageInspectLayer struct { - MIMEType string // "" if unknown. - Digest digest.Digest - Size int64 // -1 if unknown. - Annotations map[string]string } // DockerAuthConfig contains authorization information for connecting to a registry. @@ -585,19 +566,15 @@ type SystemContext struct { // resolving to Docker Hub in the Docker-compatible REST API of Podman; it should never be used outside this // specific context. PodmanOnlyShortNamesIgnoreRegistriesConfAndForceDockerHub bool - // If not "", overrides the default path for the registry authentication file, but only new format files + // If not "", overrides the default path for the authentication file, but only new format files AuthFilePath string - // if not "", overrides the default path for the registry authentication file, but with the legacy format; + // if not "", overrides the default path for the authentication file, but with the legacy format; // the code currently will by default look for legacy format files like .dockercfg in the $HOME dir; // but in addition to the home dir, openshift may mount .dockercfg files (via secret mount) // in locations other than the home dir; openshift components should then set this field in those cases; // this field is ignored if `AuthFilePath` is set (we favor the newer format); // only reading of this data is supported; LegacyFormatAuthFilePath string - // If set, a path to a Docker-compatible "config.json" file containing credentials; and no other files are processed. - // This must not be set if AuthFilePath is set. - // Only credentials and credential helpers in this file apre processed, not any other configuration in this file. - DockerCompatAuthFilePath string // If not "", overrides the use of platform.GOARCH when choosing an image or verifying architecture match. ArchitectureChoice string // If not "", overrides the use of platform.GOOS when choosing an image or verifying OS match. diff --git a/vendor/github.com/containers/image/v5/version/version.go b/vendor/github.com/containers/image/v5/version/version.go index f5ee5a7fed..9774054b0d 100644 --- a/vendor/github.com/containers/image/v5/version/version.go +++ b/vendor/github.com/containers/image/v5/version/version.go @@ -6,7 +6,7 @@ const ( // VersionMajor is for an API incompatible changes VersionMajor = 5 // VersionMinor is for functionality in a backwards-compatible manner - VersionMinor = 29 + VersionMinor = 22 // VersionPatch is for backwards-compatible bug fixes VersionPatch = 1 diff --git a/vendor/github.com/containers/storage/.cirrus.yml b/vendor/github.com/containers/storage/.cirrus.yml index c41dd5da2c..8ef38e2cd2 100644 --- a/vendor/github.com/containers/storage/.cirrus.yml +++ b/vendor/github.com/containers/storage/.cirrus.yml @@ -17,13 +17,13 @@ env: #### #### Cache-image names to test with (double-quotes around names are critical) ### - FEDORA_NAME: "fedora-39ß" + FEDORA_NAME: "fedora-38" DEBIAN_NAME: "debian-13" # GCE project where images live IMAGE_PROJECT: "libpod-218412" # VM Image built in containers/automation_images - IMAGE_SUFFIX: "c20231004t194547z-f39f38d13" + IMAGE_SUFFIX: "c20230614t132754z-f38f37d13" FEDORA_CACHE_IMAGE_NAME: "fedora-${IMAGE_SUFFIX}" DEBIAN_CACHE_IMAGE_NAME: "debian-${IMAGE_SUFFIX}" @@ -113,6 +113,8 @@ debian_testing_task: &debian_testing TEST_DRIVER: "fuse-overlay-whiteout" - env: TEST_DRIVER: "btrfs" + - env: + TEST_DRIVER: "zfs" lint_task: diff --git a/vendor/github.com/containers/storage/Makefile b/vendor/github.com/containers/storage/Makefile index 77189d49ea..6cb354c2c0 100644 --- a/vendor/github.com/containers/storage/Makefile +++ b/vendor/github.com/containers/storage/Makefile @@ -49,7 +49,7 @@ local-gccgo gccgo: ## build using gccgo on the host GCCGO=$(PWD)/hack/gccgo-wrapper.sh $(GO) build -compiler gccgo $(BUILDFLAGS) -o containers-storage.gccgo ./cmd/containers-storage local-cross cross: ## cross build the binaries for arm, darwin, and freebsd - @for target in linux/amd64 linux/386 linux/arm linux/arm64 linux/ppc64 linux/ppc64le linux/riscv64 linux/s390x linux/mips linux/mipsle linux/mips64 linux/mips64le darwin/amd64 windows/amd64 freebsd/amd64 freebsd/arm64 ; do \ + @for target in linux/amd64 linux/386 linux/arm linux/arm64 linux/ppc64 linux/ppc64le linux/s390x linux/mips linux/mipsle linux/mips64 linux/mips64le darwin/amd64 windows/amd64 freebsd/amd64 freebsd/arm64 ; do \ os=`echo $${target} | cut -f1 -d/` ; \ arch=`echo $${target} | cut -f2 -d/` ; \ suffix=$${os}.$${arch} ; \ diff --git a/vendor/github.com/containers/storage/OWNERS b/vendor/github.com/containers/storage/OWNERS deleted file mode 100644 index c169581dec..0000000000 --- a/vendor/github.com/containers/storage/OWNERS +++ /dev/null @@ -1,32 +0,0 @@ -approvers: - - Luap99 - - TomSweeneyRedHat - - cevich - - edsantiago - - flouthoc - - giuseppe - - haircommander - - kolyshkin - - mrunalp - - mtrmac - - nalind - - rhatdan - - saschagrunert - - umohnani8 - - vrothberg -reviewers: - - Luap99 - - TomSweeneyRedHat - - cevich - - edsantiago - - flouthoc - - giuseppe - - haircommander - - kolyshkin - - mrunalp - - mtrmac - - nalind - - rhatdan - - saschagrunert - - umohnani8 - - vrothberg diff --git a/vendor/github.com/containers/storage/VERSION b/vendor/github.com/containers/storage/VERSION index ba0a719118..5525f03fa6 100644 --- a/vendor/github.com/containers/storage/VERSION +++ b/vendor/github.com/containers/storage/VERSION @@ -1 +1 @@ -1.51.0 +1.48.1 diff --git a/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go b/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go index fd93d4e84d..42d55c1a73 100644 --- a/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go +++ b/vendor/github.com/containers/storage/drivers/btrfs/btrfs.go @@ -675,7 +675,8 @@ func (d *Driver) Exists(id string) bool { // List all of the layers known to the driver. func (d *Driver) ListLayers() ([]string, error) { - entries, err := os.ReadDir(d.subvolumesDir()) + subvolumesDir := filepath.Join(d.home, "subvolumes") + entries, err := os.ReadDir(subvolumesDir) if err != nil { return nil, err } diff --git a/vendor/github.com/containers/storage/drivers/driver.go b/vendor/github.com/containers/storage/drivers/driver.go index ab32d652e7..f7b0d6891b 100644 --- a/vendor/github.com/containers/storage/drivers/driver.go +++ b/vendor/github.com/containers/storage/drivers/driver.go @@ -189,32 +189,12 @@ type DriverWithDifferOutput struct { BigData map[string][]byte TarSplit []byte TOCDigest digest.Digest - // Artifacts is a collection of additional artifacts - // generated by the differ that the storage driver can use. - Artifacts map[string]interface{} -} - -type DifferOutputFormat int - -const ( - // DifferOutputFormatDir means the output is a directory and it will - // keep the original layout. - DifferOutputFormatDir = iota - // DifferOutputFormatFlat will store the files by their checksum, in the form - // checksum[0:2]/checksum[2:] - DifferOutputFormatFlat -) - -// DifferOptions overrides how the differ work -type DifferOptions struct { - // Format defines the destination directory layout format - Format DifferOutputFormat } // Differ defines the interface for using a custom differ. // This API is experimental and can be changed without bumping the major version number. type Differ interface { - ApplyDiff(dest string, options *archive.TarOptions, differOpts *DifferOptions) (DriverWithDifferOutput, error) + ApplyDiff(dest string, options *archive.TarOptions) (DriverWithDifferOutput, error) } // DriverWithDiffer is the interface for direct diff access. diff --git a/vendor/github.com/containers/storage/drivers/overlay/check.go b/vendor/github.com/containers/storage/drivers/overlay/check.go index d8139f6566..60980994b2 100644 --- a/vendor/github.com/containers/storage/drivers/overlay/check.go +++ b/vendor/github.com/containers/storage/drivers/overlay/check.go @@ -275,36 +275,3 @@ func supportsIdmappedLowerLayers(home string) (bool, error) { }() return true, nil } - -// supportsDataOnlyLayers checks if the kernel supports mounting a overlay file system -// that uses data-only layers. -func supportsDataOnlyLayers(home string) (bool, error) { - layerDir, err := os.MkdirTemp(home, "compat") - if err != nil { - return false, err - } - defer func() { - _ = os.RemoveAll(layerDir) - }() - - mergedDir := filepath.Join(layerDir, "merged") - lowerDir := filepath.Join(layerDir, "lower") - lowerDirDataOnly := filepath.Join(layerDir, "lower-data") - upperDir := filepath.Join(layerDir, "upper") - workDir := filepath.Join(layerDir, "work") - - _ = idtools.MkdirAs(mergedDir, 0o700, 0, 0) - _ = idtools.MkdirAs(lowerDir, 0o700, 0, 0) - _ = idtools.MkdirAs(lowerDirDataOnly, 0o700, 0, 0) - _ = idtools.MkdirAs(upperDir, 0o700, 0, 0) - _ = idtools.MkdirAs(workDir, 0o700, 0, 0) - - opts := fmt.Sprintf("lowerdir=%s::%s,upperdir=%s,workdir=%s,metacopy=on", lowerDir, lowerDirDataOnly, upperDir, workDir) - flags := uintptr(0) - if err := unix.Mount("overlay", mergedDir, "overlay", flags, opts); err != nil { - return false, err - } - _ = unix.Unmount(mergedDir, unix.MNT_DETACH) - - return true, nil -} diff --git a/vendor/github.com/containers/storage/drivers/overlay/composefs_notsupported.go b/vendor/github.com/containers/storage/drivers/overlay/composefs_notsupported.go deleted file mode 100644 index 347e4d35c4..0000000000 --- a/vendor/github.com/containers/storage/drivers/overlay/composefs_notsupported.go +++ /dev/null @@ -1,24 +0,0 @@ -//go:build !linux || !composefs || !cgo -// +build !linux !composefs !cgo - -package overlay - -import ( - "fmt" -) - -func composeFsSupported() bool { - return false -} - -func generateComposeFsBlob(verityDigests map[string]string, toc interface{}, composefsDir string) error { - return fmt.Errorf("composefs is not supported") -} - -func mountComposefsBlob(dataDir, mountPoint string) error { - return fmt.Errorf("composefs is not supported") -} - -func enableVerityRecursive(path string) (map[string]string, error) { - return nil, fmt.Errorf("composefs is not supported") -} diff --git a/vendor/github.com/containers/storage/drivers/overlay/composefs_supported.go b/vendor/github.com/containers/storage/drivers/overlay/composefs_supported.go deleted file mode 100644 index 26dd36866c..0000000000 --- a/vendor/github.com/containers/storage/drivers/overlay/composefs_supported.go +++ /dev/null @@ -1,219 +0,0 @@ -//go:build linux && composefs && cgo -// +build linux,composefs,cgo - -package overlay - -import ( - "encoding/binary" - "errors" - "fmt" - "io/fs" - "os" - "os/exec" - "path/filepath" - "sync" - "syscall" - "unsafe" - - "github.com/containers/storage/pkg/chunked/dump" - "github.com/containers/storage/pkg/loopback" - "github.com/sirupsen/logrus" - "golang.org/x/sys/unix" -) - -var ( - composeFsHelperOnce sync.Once - composeFsHelperPath string - composeFsHelperErr error -) - -func getComposeFsHelper() (string, error) { - composeFsHelperOnce.Do(func() { - composeFsHelperPath, composeFsHelperErr = exec.LookPath("mkcomposefs") - }) - return composeFsHelperPath, composeFsHelperErr -} - -func composeFsSupported() bool { - _, err := getComposeFsHelper() - return err == nil -} - -func enableVerity(description string, fd int) error { - enableArg := unix.FsverityEnableArg{ - Version: 1, - Hash_algorithm: unix.FS_VERITY_HASH_ALG_SHA256, - Block_size: 4096, - } - - _, _, e1 := syscall.Syscall(unix.SYS_IOCTL, uintptr(fd), uintptr(unix.FS_IOC_ENABLE_VERITY), uintptr(unsafe.Pointer(&enableArg))) - if e1 != 0 && !errors.Is(e1, unix.EEXIST) { - return fmt.Errorf("failed to enable verity for %q: %w", description, e1) - } - return nil -} - -type verityDigest struct { - Fsv unix.FsverityDigest - Buf [64]byte -} - -func measureVerity(description string, fd int) (string, error) { - var digest verityDigest - digest.Fsv.Size = 64 - _, _, e1 := syscall.Syscall(unix.SYS_IOCTL, uintptr(fd), uintptr(unix.FS_IOC_MEASURE_VERITY), uintptr(unsafe.Pointer(&digest))) - if e1 != 0 { - return "", fmt.Errorf("failed to measure verity for %q: %w", description, e1) - } - return fmt.Sprintf("%x", digest.Buf[:digest.Fsv.Size]), nil -} - -func enableVerityRecursive(root string) (map[string]string, error) { - digests := make(map[string]string) - walkFn := func(path string, d fs.DirEntry, err error) error { - if err != nil { - return err - } - if !d.Type().IsRegular() { - return nil - } - - f, err := os.Open(path) - if err != nil { - return err - } - defer f.Close() - - if err := enableVerity(path, int(f.Fd())); err != nil { - return err - } - - verity, err := measureVerity(path, int(f.Fd())) - if err != nil { - return err - } - - relPath, err := filepath.Rel(root, path) - if err != nil { - return err - } - - digests[relPath] = verity - return nil - } - err := filepath.WalkDir(root, walkFn) - return digests, err -} - -func getComposefsBlob(dataDir string) string { - return filepath.Join(dataDir, "composefs.blob") -} - -func generateComposeFsBlob(verityDigests map[string]string, toc interface{}, composefsDir string) error { - if err := os.MkdirAll(composefsDir, 0o700); err != nil { - return err - } - - dumpReader, err := dump.GenerateDump(toc, verityDigests) - if err != nil { - return err - } - - destFile := getComposefsBlob(composefsDir) - writerJson, err := getComposeFsHelper() - if err != nil { - return fmt.Errorf("failed to find mkcomposefs: %w", err) - } - - fd, err := unix.Openat(unix.AT_FDCWD, destFile, unix.O_WRONLY|unix.O_CREAT|unix.O_TRUNC|unix.O_EXCL|unix.O_CLOEXEC, 0o644) - if err != nil { - return fmt.Errorf("failed to open output file %q: %w", destFile, err) - } - outFd := os.NewFile(uintptr(fd), "outFd") - - fd, err = unix.Open(fmt.Sprintf("/proc/self/fd/%d", outFd.Fd()), unix.O_RDONLY|unix.O_CLOEXEC, 0) - if err != nil { - outFd.Close() - return fmt.Errorf("failed to dup output file: %w", err) - } - newFd := os.NewFile(uintptr(fd), "newFd") - defer newFd.Close() - - err = func() error { - // a scope to close outFd before setting fsverity on the read-only fd. - defer outFd.Close() - - cmd := exec.Command(writerJson, "--from-file", "-", "/proc/self/fd/3") - cmd.ExtraFiles = []*os.File{outFd} - cmd.Stderr = os.Stderr - cmd.Stdin = dumpReader - if err := cmd.Run(); err != nil { - return fmt.Errorf("failed to convert json to erofs: %w", err) - } - return nil - }() - if err != nil { - return err - } - - if err := enableVerity("manifest file", int(newFd.Fd())); err != nil && !errors.Is(err, unix.ENOTSUP) && !errors.Is(err, unix.ENOTTY) { - logrus.Warningf("%s", err) - } - - return nil -} - -/* -typedef enum { - LCFS_EROFS_FLAGS_HAS_ACL = (1 << 0), -} lcfs_erofs_flag_t; - -struct lcfs_erofs_header_s { - uint32_t magic; - uint32_t version; - uint32_t flags; - uint32_t unused[5]; -} __attribute__((__packed__)); -*/ - -// hasACL returns true if the erofs blob has ACLs enabled -func hasACL(path string) (bool, error) { - const LCFS_EROFS_FLAGS_HAS_ACL = (1 << 0) - - fd, err := unix.Openat(unix.AT_FDCWD, path, unix.O_RDONLY|unix.O_CLOEXEC, 0) - if err != nil { - return false, err - } - defer unix.Close(fd) - // do not worry about checking the magic number, if the file is invalid - // we will fail to mount it anyway - flags := make([]byte, 4) - nread, err := unix.Pread(fd, flags, 8) - if err != nil { - return false, err - } - if nread != 4 { - return false, fmt.Errorf("failed to read flags from %q", path) - } - return binary.LittleEndian.Uint32(flags)&LCFS_EROFS_FLAGS_HAS_ACL != 0, nil -} - -func mountComposefsBlob(dataDir, mountPoint string) error { - blobFile := getComposefsBlob(dataDir) - loop, err := loopback.AttachLoopDeviceRO(blobFile) - if err != nil { - return err - } - defer loop.Close() - - hasACL, err := hasACL(blobFile) - if err != nil { - return err - } - mountOpts := "ro" - if !hasACL { - mountOpts += ",noacl" - } - - return unix.Mount(loop.Name(), mountPoint, "erofs", unix.MS_RDONLY, mountOpts) -} diff --git a/vendor/github.com/containers/storage/drivers/overlay/mount.go b/vendor/github.com/containers/storage/drivers/overlay/mount.go index 8829e55e98..33e60b1189 100644 --- a/vendor/github.com/containers/storage/drivers/overlay/mount.go +++ b/vendor/github.com/containers/storage/drivers/overlay/mount.go @@ -141,27 +141,14 @@ func mountOverlayFromMain() { // the new value for the list of lowers, because it's shorter. if lowerv != "" { lowers := strings.Split(lowerv, ":") - var newLowers []string - dataOnly := false - for _, lowerPath := range lowers { - if lowerPath == "" { - dataOnly = true - continue - } - lowerFd, err := unix.Open(lowerPath, unix.O_RDONLY, 0) + for i := range lowers { + lowerFd, err := unix.Open(lowers[i], unix.O_RDONLY, 0) if err != nil { fatal(err) } - var lower string - if dataOnly { - lower = fmt.Sprintf(":%d", lowerFd) - dataOnly = false - } else { - lower = fmt.Sprintf("%d", lowerFd) - } - newLowers = append(newLowers, lower) + lowers[i] = fmt.Sprintf("%d", lowerFd) } - lowerv = strings.Join(newLowers, ":") + lowerv = strings.Join(lowers, ":") } // Reconstruct the Label field. diff --git a/vendor/github.com/containers/storage/drivers/overlay/overlay.go b/vendor/github.com/containers/storage/drivers/overlay/overlay.go index 04ecf871fd..18b9fc1fb7 100644 --- a/vendor/github.com/containers/storage/drivers/overlay/overlay.go +++ b/vendor/github.com/containers/storage/drivers/overlay/overlay.go @@ -82,8 +82,6 @@ const ( lowerFile = "lower" maxDepth = 500 - tocArtifact = "toc" - // idLength represents the number of random characters // which can be used to create the unique link identifier // for every layer. If this value is too long then the @@ -782,10 +780,6 @@ func supportsOverlay(home string, homeMagic graphdriver.FsMagic, rootUID, rootGI } func (d *Driver) useNaiveDiff() bool { - if d.useComposeFs() { - return true - } - useNaiveDiffLock.Do(func() { if d.options.mountProgram != "" { useNaiveDiffOnly = true @@ -820,17 +814,11 @@ func (d *Driver) String() string { // Status returns current driver information in a two dimensional string array. // Output contains "Backing Filesystem" used in this implementation. func (d *Driver) Status() [][2]string { - supportsVolatile, err := d.getSupportsVolatile() - if err != nil { - supportsVolatile = false - } return [][2]string{ {"Backing Filesystem", backingFs}, {"Supports d_type", strconv.FormatBool(d.supportsDType)}, {"Native Overlay Diff", strconv.FormatBool(!d.useNaiveDiff())}, {"Using metacopy", strconv.FormatBool(d.usingMetacopy)}, - {"Supports shifting", strconv.FormatBool(d.SupportsShifting())}, - {"Supports volatile", strconv.FormatBool(supportsVolatile)}, } } @@ -1003,10 +991,8 @@ func (d *Driver) create(id, parent string, opts *graphdriver.CreateOpts, disable } } if parent != "" { - parentBase, parentImageStore, inAdditionalStore := d.dir2(parent) - // If parentBase path is additional image store, select the image contained in parentBase. - // See https://github.com/containers/podman/issues/19748 - if parentImageStore != "" && !inAdditionalStore { + parentBase, parentImageStore, _ := d.dir2(parent) + if parentImageStore != "" { parentBase = parentImageStore } st, err := system.Stat(filepath.Join(parentBase, "diff")) @@ -1081,13 +1067,12 @@ func (d *Driver) create(id, parent string, opts *graphdriver.CreateOpts, disable } if parent != "" { - parentBase, parentImageStore, inAdditionalStore := d.dir2(parent) - // If parentBase path is additional image store, select the image contained in parentBase. - // See https://github.com/containers/podman/issues/19748 - if parentImageStore != "" && !inAdditionalStore { - parentBase = parentImageStore + parentDir, parentImageStore, _ := d.dir2(parent) + base := parentDir + if parentImageStore != "" { + base = parentImageStore } - st, err := system.Stat(filepath.Join(parentBase, "diff")) + st, err := system.Stat(filepath.Join(base, "diff")) if err != nil { return err } @@ -1116,7 +1101,7 @@ func (d *Driver) create(id, parent string, opts *graphdriver.CreateOpts, disable if err := idtools.MkdirAs(path.Join(workDirBase, "work"), 0o700, rootUID, rootGID); err != nil { return err } - if err := idtools.MkdirAs(path.Join(workDirBase, "merged"), 0o700, rootUID, rootGID); err != nil { + if err := idtools.MkdirAs(path.Join(dir, "merged"), 0o700, rootUID, rootGID); err != nil { return err } @@ -1446,13 +1431,8 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO logLevel = logrus.DebugLevel } optsList := options.Options - - needsIDMapping := !disableShifting && len(options.UidMaps) > 0 && len(options.GidMaps) > 0 && d.options.mountProgram == "" - if len(optsList) == 0 { - if d.options.mountOptions != "" { - optsList = strings.Split(d.options.mountOptions, ",") - } + optsList = strings.Split(d.options.mountOptions, ",") } else { // If metacopy=on is present in d.options.mountOptions it must be present in the mount // options otherwise the kernel refuses to follow the metacopy xattr. @@ -1519,75 +1499,12 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO } } - idmappedMountProcessPid := -1 - if needsIDMapping { - pid, cleanupFunc, err := idmap.CreateUsernsProcess(options.UidMaps, options.GidMaps) - if err != nil { - return "", err - } - idmappedMountProcessPid = int(pid) - defer cleanupFunc() - } - - skipIDMappingLayers := make(map[string]string) - - composefsMounts := []string{} - defer func() { - for _, m := range composefsMounts { - defer unix.Unmount(m, unix.MNT_DETACH) - } - }() - - composeFsLayers := []string{} - composeFsLayersDir := filepath.Join(workDirBase, "composefs-layers") - maybeAddComposefsMount := func(lowerID string, i int, readWrite bool) (string, error) { - composefsBlob := d.getComposefsData(lowerID) - _, err = os.Stat(composefsBlob) - if err != nil { - if os.IsNotExist(err) { - return "", nil - } - return "", err - } - logrus.Debugf("overlay: using composefs blob %s for lower %s", composefsBlob, lowerID) - - if readWrite && i == 0 { - return "", fmt.Errorf("cannot mount a composefs layer as writeable") - } - - dest := filepath.Join(composeFsLayersDir, fmt.Sprintf("%d", i)) - if err := os.MkdirAll(dest, 0o700); err != nil { - return "", err - } - - if err := mountComposefsBlob(composefsBlob, dest); err != nil { - return "", err - } - composefsMounts = append(composefsMounts, dest) - composeFsPath, err := d.getDiffPath(lowerID) - if err != nil { - return "", err - } - composeFsLayers = append(composeFsLayers, composeFsPath) - skipIDMappingLayers[composeFsPath] = composeFsPath - return dest, nil - } - - diffDir := path.Join(workDirBase, "diff") - - if dest, err := maybeAddComposefsMount(id, 0, readWrite); err != nil { - return "", err - } else if dest != "" { - diffDir = dest - } - // For each lower, resolve its path, and append it and any additional diffN // directories to the lowers list. - for i, l := range splitLowers { + for _, l := range splitLowers { if l == "" { continue } - lower := "" newpath := path.Join(d.home, l) if st, err := os.Stat(newpath); err != nil { @@ -1621,30 +1538,6 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO } lower = newpath } - - linkContent, err := os.Readlink(lower) - if err != nil { - return "", err - } - lowerID := filepath.Base(filepath.Dir(linkContent)) - composefsMount, err := maybeAddComposefsMount(lowerID, i+1, readWrite) - if err != nil { - return "", err - } - if composefsMount != "" { - if needsIDMapping { - if err := idmap.CreateIDMappedMount(composefsMount, composefsMount, idmappedMountProcessPid); err != nil { - return "", fmt.Errorf("create mapped mount for %q: %w", composefsMount, err) - } - skipIDMappingLayers[composefsMount] = composefsMount - // overlay takes a reference on the mount, so it is safe to unmount - // the mapped idmounts as soon as the final overlay file system is mounted. - defer unix.Unmount(composefsMount, unix.MNT_DETACH) - } - absLowers = append(absLowers, composefsMount) - continue - } - absLowers = append(absLowers, lower) diffN = 1 _, err = os.Stat(dumbJoin(lower, "..", nameWithSuffix("diff", diffN))) @@ -1655,25 +1548,20 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO } } - if len(composeFsLayers) > 0 { - optsList = append(optsList, "metacopy=on", "redirect_dir=on") - } - if len(absLowers) == 0 { absLowers = append(absLowers, path.Join(dir, "empty")) } - // user namespace requires this to move a directory from lower to upper. rootUID, rootGID, err := idtools.GetRootUIDGID(options.UidMaps, options.GidMaps) if err != nil { return "", err } - + diffDir := path.Join(workDirBase, "diff") if err := idtools.MkdirAllAs(diffDir, perms, rootUID, rootGID); err != nil { return "", err } - mergedDir := path.Join(workDirBase, "merged") + mergedDir := path.Join(dir, "merged") // Create the driver merged dir if err := idtools.MkdirAs(mergedDir, 0o700, rootUID, rootGID); err != nil && !os.IsExist(err) { return "", err @@ -1708,30 +1596,31 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO } } - if needsIDMapping { + if !disableShifting && len(options.UidMaps) > 0 && len(options.GidMaps) > 0 && d.options.mountProgram == "" { var newAbsDir []string - idMappedMounts := make(map[string]string) - mappedRoot := filepath.Join(d.home, id, "mapped") if err := os.MkdirAll(mappedRoot, 0o700); err != nil { return "", err } + pid, cleanupFunc, err := idmap.CreateUsernsProcess(options.UidMaps, options.GidMaps) + if err != nil { + return "", err + } + defer cleanupFunc() + + idMappedMounts := make(map[string]string) + // rewrite the lower dirs to their idmapped mount. c := 0 for _, absLower := range absLowers { mappedMountSrc := getMappedMountRoot(absLower) - if _, ok := skipIDMappingLayers[absLower]; ok { - newAbsDir = append(newAbsDir, absLower) - continue - } - root, found := idMappedMounts[mappedMountSrc] if !found { root = filepath.Join(mappedRoot, fmt.Sprintf("%d", c)) c++ - if err := idmap.CreateIDMappedMount(mappedMountSrc, root, idmappedMountProcessPid); err != nil { + if err := idmap.CreateIDMappedMount(mappedMountSrc, root, int(pid)); err != nil { return "", fmt.Errorf("create mapped mount for %q on %q: %w", mappedMountSrc, root, err) } idMappedMounts[mappedMountSrc] = root @@ -1752,20 +1641,11 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO absLowers = newAbsDir } - lowerDirs := strings.Join(absLowers, ":") - if len(composeFsLayers) > 0 { - composeFsLayersLowerDirs := strings.Join(composeFsLayers, "::") - lowerDirs = lowerDirs + "::" + composeFsLayersLowerDirs - } - // absLowers is not valid anymore now as we have added composeFsLayers to it, so prevent - // its usage. - absLowers = nil //nolint:ineffassign - var opts string if readWrite { - opts = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s", lowerDirs, diffDir, workdir) + opts = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s", strings.Join(absLowers, ":"), diffDir, workdir) } else { - opts = fmt.Sprintf("lowerdir=%s:%s", diffDir, lowerDirs) + opts = fmt.Sprintf("lowerdir=%s:%s", diffDir, strings.Join(absLowers, ":")) } if len(optsList) > 0 { opts = fmt.Sprintf("%s,%s", opts, strings.Join(optsList, ",")) @@ -1809,9 +1689,9 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO if readWrite { diffDir := path.Join(id, "diff") workDir := path.Join(id, "work") - opts = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s", lowerDirs, diffDir, workDir) + opts = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s", strings.Join(absLowers, ":"), diffDir, workDir) } else { - opts = fmt.Sprintf("lowerdir=%s:%s", diffDir, lowerDirs) + opts = fmt.Sprintf("lowerdir=%s:%s", diffDir, strings.Join(absLowers, ":")) } if len(optsList) > 0 { opts = strings.Join(append([]string{opts}, optsList...), ",") @@ -1896,9 +1776,7 @@ func (d *Driver) Put(id string) error { if !unmounted { if err := unix.Unmount(mountpoint, unix.MNT_DETACH); err != nil && !os.IsNotExist(err) { logrus.Debugf("Failed to unmount %s overlay: %s - %v", id, mountpoint, err) - if !errors.Is(err, unix.EINVAL) { - return fmt.Errorf("unmounting %q: %w", mountpoint, err) - } + return fmt.Errorf("unmounting %q: %w", mountpoint, err) } } @@ -2018,36 +1896,6 @@ func (d *Driver) CleanupStagingDirectory(stagingDirectory string) error { return os.RemoveAll(stagingDirectory) } -func (d *Driver) supportsDataOnlyLayers() (bool, error) { - feature := "dataonly-layers" - overlayCacheResult, overlayCacheText, err := cachedFeatureCheck(d.runhome, feature) - if err == nil { - if overlayCacheResult { - logrus.Debugf("Cached value indicated that data-only layers for overlay are supported") - return true, nil - } - logrus.Debugf("Cached value indicated that data-only layers for overlay are not supported") - return false, errors.New(overlayCacheText) - } - supportsDataOnly, err := supportsDataOnlyLayers(d.home) - if err2 := cachedFeatureRecord(d.runhome, feature, supportsDataOnly, ""); err2 != nil { - return false, fmt.Errorf("recording overlay data-only layers support status: %w", err2) - } - return supportsDataOnly, err -} - -func (d *Driver) useComposeFs() bool { - if !composeFsSupported() || unshare.IsRootless() { - return false - } - supportsDataOnlyLayers, err := d.supportsDataOnlyLayers() - if err != nil { - logrus.Debugf("Check for data-only layers failed with: %v", err) - return false - } - return supportsDataOnlyLayers -} - // ApplyDiff applies the changes in the new layer using the specified function func (d *Driver) ApplyDiffWithDiffer(id, parent string, options *graphdriver.ApplyDiffOpts, differ graphdriver.Differ) (output graphdriver.DriverWithDifferOutput, err error) { var idMappings *idtools.IDMappings @@ -2080,22 +1928,14 @@ func (d *Driver) ApplyDiffWithDiffer(id, parent string, options *graphdriver.App logrus.Debugf("Applying differ in %s", applyDir) - differOptions := graphdriver.DifferOptions{ - Format: graphdriver.DifferOutputFormatDir, - } - if d.useComposeFs() { - differOptions.Format = graphdriver.DifferOutputFormatFlat - } out, err := differ.ApplyDiff(applyDir, &archive.TarOptions{ UIDMaps: idMappings.UIDs(), GIDMaps: idMappings.GIDs(), IgnoreChownErrors: d.options.ignoreChownErrors, WhiteoutFormat: d.getWhiteoutFormat(), InUserNS: unshare.IsRootless(), - }, &differOptions) - + }) out.Target = applyDir - return out, err } @@ -2105,29 +1945,17 @@ func (d *Driver) ApplyDiffFromStagingDirectory(id, parent, stagingDirectory stri return fmt.Errorf("%q is not a staging directory", stagingDirectory) } - if d.useComposeFs() { - // FIXME: move this logic into the differ so we don't have to open - // the file twice. - verityDigests, err := enableVerityRecursive(stagingDirectory) - if err != nil && !errors.Is(err, unix.ENOTSUP) && !errors.Is(err, unix.ENOTTY) { - logrus.Warningf("%s", err) - } - toc := diffOutput.Artifacts[tocArtifact] - if err := generateComposeFsBlob(verityDigests, toc, d.getComposefsData(id)); err != nil { - return err - } - } - diffPath, err := d.getDiffPath(id) + diff, err := d.getDiffPath(id) if err != nil { return err } - if err := os.RemoveAll(diffPath); err != nil && !os.IsNotExist(err) { + if err := os.RemoveAll(diff); err != nil && !os.IsNotExist(err) { return err } diffOutput.UncompressedDigest = diffOutput.TOCDigest - return os.Rename(stagingDirectory, diffPath) + return os.Rename(stagingDirectory, diff) } // DifferTarget gets the location where files are stored for the layer. @@ -2173,11 +2001,6 @@ func (d *Driver) ApplyDiff(id, parent string, options graphdriver.ApplyDiffOpts) return directory.Size(applyDir) } -func (d *Driver) getComposefsData(id string) string { - dir := d.dir(id) - return path.Join(dir, "composefs-data") -} - func (d *Driver) getDiffPath(id string) (string, error) { dir, imagestore, _ := d.dir2(id) base := dir diff --git a/vendor/github.com/containers/storage/drivers/quota/projectquota.go b/vendor/github.com/containers/storage/drivers/quota/projectquota.go index 2be79698d3..10ea3c5a56 100644 --- a/vendor/github.com/containers/storage/drivers/quota/projectquota.go +++ b/vendor/github.com/containers/storage/drivers/quota/projectquota.go @@ -58,7 +58,6 @@ import ( "os" "path" "path/filepath" - "sync" "syscall" "unsafe" @@ -84,7 +83,7 @@ type Quota struct { type Control struct { backingFsBlockDev string nextProjectID uint32 - quotas *sync.Map + quotas map[string]uint32 basePath string } @@ -169,7 +168,7 @@ func NewControl(basePath string) (*Control, error) { q := Control{ backingFsBlockDev: backingFsBlockDev, nextProjectID: minProjectID + 1, - quotas: &sync.Map{}, + quotas: make(map[string]uint32), basePath: basePath, } @@ -192,11 +191,7 @@ func NewControl(basePath string) (*Control, error) { // SetQuota - assign a unique project id to directory and set the quota limits // for that project id func (q *Control) SetQuota(targetPath string, quota Quota) error { - var projectID uint32 - value, ok := q.quotas.Load(targetPath) - if ok { - projectID, ok = value.(uint32) - } + projectID, ok := q.quotas[targetPath] if !ok { projectID = q.nextProjectID @@ -208,7 +203,7 @@ func (q *Control) SetQuota(targetPath string, quota Quota) error { return err } - q.quotas.Store(targetPath, projectID) + q.quotas[targetPath] = projectID q.nextProjectID++ } @@ -222,7 +217,7 @@ func (q *Control) SetQuota(targetPath string, quota Quota) error { // ClearQuota removes the map entry in the quotas map for targetPath. // It does so to prevent the map leaking entries as directories are deleted. func (q *Control) ClearQuota(targetPath string) { - q.quotas.Delete(targetPath) + delete(q.quotas, targetPath) } // setProjectQuota - set the quota for project id on xfs block device @@ -302,11 +297,8 @@ func (q *Control) GetDiskUsage(targetPath string, usage *directory.DiskUsage) er func (q *Control) fsDiskQuotaFromPath(targetPath string) (C.fs_disk_quota_t, error) { var d C.fs_disk_quota_t - var projectID uint32 - value, ok := q.quotas.Load(targetPath) - if ok { - projectID, ok = value.(uint32) - } + + projectID, ok := q.quotas[targetPath] if !ok { return d, fmt.Errorf("quota not found for path : %s", targetPath) } @@ -388,7 +380,7 @@ func (q *Control) findNextProjectID() error { return err } if projid > 0 { - q.quotas.Store(path, projid) + q.quotas[path] = projid } if q.nextProjectID <= projid { q.nextProjectID = projid + 1 diff --git a/vendor/github.com/containers/storage/layers.go b/vendor/github.com/containers/storage/layers.go index d105e73f6c..e5835757f6 100644 --- a/vendor/github.com/containers/storage/layers.go +++ b/vendor/github.com/containers/storage/layers.go @@ -1245,8 +1245,8 @@ func (r *layerStore) create(id string, parentLayer *Layer, names []string, mount if parentLayer != nil { parent = parentLayer.ID } + var parentMappings, templateIDMappings, oldMappings *idtools.IDMappings var ( - templateIDMappings *idtools.IDMappings templateMetadata string templateCompressedDigest digest.Digest templateCompressedSize int64 @@ -1274,6 +1274,11 @@ func (r *layerStore) create(id string, parentLayer *Layer, names []string, mount } else { templateIDMappings = &idtools.IDMappings{} } + if parentLayer != nil { + parentMappings = idtools.NewIDMappingsFromMaps(parentLayer.UIDMap, parentLayer.GIDMap) + } else { + parentMappings = &idtools.IDMappings{} + } if mountLabel != "" { selinux.ReserveLabel(mountLabel) } @@ -1348,12 +1353,6 @@ func (r *layerStore) create(id string, parentLayer *Layer, names []string, mount IDMappings: idMappings, } - var parentMappings, oldMappings *idtools.IDMappings - if parentLayer != nil { - parentMappings = idtools.NewIDMappingsFromMaps(parentLayer.UIDMap, parentLayer.GIDMap) - } else { - parentMappings = &idtools.IDMappings{} - } if moreOptions.TemplateLayer != "" { if err = r.driver.CreateFromTemplate(id, moreOptions.TemplateLayer, templateIDMappings, parent, parentMappings, &opts, writeable); err != nil { cleanupFailureContext = fmt.Sprintf("creating a layer from template layer %q", moreOptions.TemplateLayer) @@ -1372,13 +1371,10 @@ func (r *layerStore) create(id string, parentLayer *Layer, names []string, mount return nil, -1, fmt.Errorf("creating read-only layer with ID %q: %w", id, err) } } - if parentLayer != nil { - oldMappings = parentMappings - } + oldMappings = parentMappings } - if oldMappings != nil && - (!reflect.DeepEqual(oldMappings.UIDs(), idMappings.UIDs()) || !reflect.DeepEqual(oldMappings.GIDs(), idMappings.GIDs())) { + if !reflect.DeepEqual(oldMappings.UIDs(), idMappings.UIDs()) || !reflect.DeepEqual(oldMappings.GIDs(), idMappings.GIDs()) { if err = r.driver.UpdateLayerIDMap(id, oldMappings, idMappings, mountLabel); err != nil { cleanupFailureContext = "in UpdateLayerIDMap" return nil, -1, err diff --git a/vendor/github.com/containers/storage/pkg/archive/archive.go b/vendor/github.com/containers/storage/pkg/archive/archive.go index 05d2571182..29f800b2af 100644 --- a/vendor/github.com/containers/storage/pkg/archive/archive.go +++ b/vendor/github.com/containers/storage/pkg/archive/archive.go @@ -955,8 +955,14 @@ func Unpack(decompressedArchive io.Reader, dest string, options *TarOptions) err if options.ForceMask != nil { // if ForceMask is in place, make sure lchown is disabled. doChown = false + uid, gid, mode, err := GetFileOwner(dest) + if err == nil { + value := fmt.Sprintf("%d:%d:0%o", uid, gid, mode) + if err := system.Lsetxattr(dest, idtools.ContainersOverrideXattr, []byte(value), 0); err != nil { + return err + } + } } - var rootHdr *tar.Header // Iterate through the files in the archive. loop: @@ -1001,9 +1007,6 @@ loop: if err != nil { return err } - if rel == "." { - rootHdr = hdr - } if strings.HasPrefix(rel, ".."+string(os.PathSeparator)) { return breakoutError(fmt.Errorf("%q is outside of %q", hdr.Name, dest)) } @@ -1077,14 +1080,6 @@ loop: return err } } - - if options.ForceMask != nil && rootHdr != nil { - value := fmt.Sprintf("%d:%d:0%o", rootHdr.Uid, rootHdr.Gid, rootHdr.Mode) - if err := system.Lsetxattr(dest, idtools.ContainersOverrideXattr, []byte(value), 0); err != nil { - return err - } - } - return nil } diff --git a/vendor/github.com/containers/storage/pkg/archive/changes_other.go b/vendor/github.com/containers/storage/pkg/archive/changes_other.go index ca272e68fc..c27930e97d 100644 --- a/vendor/github.com/containers/storage/pkg/archive/changes_other.go +++ b/vendor/github.com/containers/storage/pkg/archive/changes_other.go @@ -92,10 +92,7 @@ func collectFileInfo(sourceDir string, idMappings *idtools.IDMappings) (*FileInf return err } - // Don't cross mount points. This ignores file mounts to avoid - // generating a diff which deletes all files following the - // mount. - if s.Dev() != sourceStat.Dev() && s.IsDir() { + if s.Dev() != sourceStat.Dev() { return filepath.SkipDir } diff --git a/vendor/github.com/containers/storage/pkg/chunked/cache_linux.go b/vendor/github.com/containers/storage/pkg/chunked/cache_linux.go index 5d4befc234..cd13212e6d 100644 --- a/vendor/github.com/containers/storage/pkg/chunked/cache_linux.go +++ b/vendor/github.com/containers/storage/pkg/chunked/cache_linux.go @@ -15,7 +15,6 @@ import ( "unsafe" storage "github.com/containers/storage" - graphdriver "github.com/containers/storage/drivers" "github.com/containers/storage/pkg/chunked/internal" "github.com/containers/storage/pkg/ioutils" jsoniter "github.com/json-iterator/go" @@ -26,8 +25,6 @@ import ( const ( cacheKey = "chunked-manifest-cache" cacheVersion = 1 - - digestSha256Empty = "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" ) type metadata struct { @@ -112,7 +109,7 @@ func (c *layersCache) load() error { } bigData, err := c.store.LayerBigData(r.ID, cacheKey) - // if the cache already exists, read and use it + // if the cache areadly exists, read and use it if err == nil { defer bigData.Close() metadata, err := readMetadataFromCache(bigData) @@ -125,23 +122,6 @@ func (c *layersCache) load() error { return err } - var lcd chunkedLayerData - - clFile, err := c.store.LayerBigData(r.ID, chunkedLayerDataKey) - if err != nil && !errors.Is(err, os.ErrNotExist) { - return err - } - if clFile != nil { - cl, err := io.ReadAll(clFile) - if err != nil { - return fmt.Errorf("open manifest file for layer %q: %w", r.ID, err) - } - json := jsoniter.ConfigCompatibleWithStandardLibrary - if err := json.Unmarshal(cl, &lcd); err != nil { - return err - } - } - // otherwise create it from the layer TOC. manifestReader, err := c.store.LayerBigData(r.ID, bigDataKey) if err != nil { @@ -154,7 +134,7 @@ func (c *layersCache) load() error { return fmt.Errorf("open manifest file for layer %q: %w", r.ID, err) } - metadata, err := writeCache(manifest, lcd.Format, r.ID, c.store) + metadata, err := writeCache(manifest, r.ID, c.store) if err == nil { c.addLayer(r.ID, metadata) } @@ -231,13 +211,13 @@ type setBigData interface { // - digest(file.payload)) // - digest(digest(file.payload) + file.UID + file.GID + file.mode + file.xattrs) // - digest(i) for each i in chunks(file payload) -func writeCache(manifest []byte, format graphdriver.DifferOutputFormat, id string, dest setBigData) (*metadata, error) { +func writeCache(manifest []byte, id string, dest setBigData) (*metadata, error) { var vdata bytes.Buffer tagLen := 0 digestLen := 0 var tagsBuffer bytes.Buffer - toc, err := prepareMetadata(manifest, format) + toc, err := prepareMetadata(manifest) if err != nil { return nil, err } @@ -416,7 +396,7 @@ func readMetadataFromCache(bigData io.Reader) (*metadata, error) { }, nil } -func prepareMetadata(manifest []byte, format graphdriver.DifferOutputFormat) ([]*internal.FileMetadata, error) { +func prepareMetadata(manifest []byte) ([]*internal.FileMetadata, error) { toc, err := unmarshalToc(manifest) if err != nil { // ignore errors here. They might be caused by a different manifest format. @@ -424,17 +404,6 @@ func prepareMetadata(manifest []byte, format graphdriver.DifferOutputFormat) ([] return nil, nil //nolint: nilnil } - switch format { - case graphdriver.DifferOutputFormatDir: - case graphdriver.DifferOutputFormatFlat: - toc.Entries, err = makeEntriesFlat(toc.Entries) - if err != nil { - return nil, err - } - default: - return nil, fmt.Errorf("unknown format %q", format) - } - var r []*internal.FileMetadata chunkSeen := make(map[string]bool) for i := range toc.Entries { @@ -451,7 +420,6 @@ func prepareMetadata(manifest []byte, format graphdriver.DifferOutputFormat) ([] chunkSeen[cd] = true } } - return r, nil } @@ -652,9 +620,6 @@ func unmarshalToc(manifest []byte) (*internal.TOC, error) { iter.Skip() } } - if m.Type == TypeReg && m.Size == 0 && m.Digest == "" { - m.Digest = digestSha256Empty - } toc.Entries = append(toc.Entries, m) } break diff --git a/vendor/github.com/containers/storage/pkg/chunked/compression_linux.go b/vendor/github.com/containers/storage/pkg/chunked/compression_linux.go index 1d8141e387..2ee79dd23e 100644 --- a/vendor/github.com/containers/storage/pkg/chunked/compression_linux.go +++ b/vendor/github.com/containers/storage/pkg/chunked/compression_linux.go @@ -2,6 +2,9 @@ package chunked import ( archivetar "archive/tar" + "bytes" + "context" + "encoding/binary" "errors" "fmt" "io" @@ -33,6 +36,13 @@ func typeToTarType(t string) (byte, error) { return r, nil } +func isZstdChunkedFrameMagic(data []byte) bool { + if len(data) < 8 { + return false + } + return bytes.Equal(internal.ZstdChunkedFrameMagic, data[:8]) +} + func readEstargzChunkedManifest(blobStream ImageSourceSeekable, blobSize int64, annotations map[string]string) ([]byte, int64, error) { // information on the format here https://github.com/containerd/stargz-snapshotter/blob/main/docs/stargz-estargz.md footerSize := int64(51) @@ -140,20 +150,33 @@ func readEstargzChunkedManifest(blobStream ImageSourceSeekable, blobSize int64, // readZstdChunkedManifest reads the zstd:chunked manifest from the seekable stream blobStream. The blob total size must // be specified. // This function uses the io.github.containers.zstd-chunked. annotations when specified. -func readZstdChunkedManifest(blobStream ImageSourceSeekable, blobSize int64, annotations map[string]string) ([]byte, []byte, int64, error) { +func readZstdChunkedManifest(ctx context.Context, blobStream ImageSourceSeekable, blobSize int64, annotations map[string]string) ([]byte, []byte, int64, error) { footerSize := int64(internal.FooterSizeSupported) if blobSize <= footerSize { return nil, nil, 0, errors.New("blob too small") } - var footerData internal.ZstdChunkedFooterData + manifestChecksumAnnotation := annotations[internal.ManifestChecksumKey] + if manifestChecksumAnnotation == "" { + return nil, nil, 0, fmt.Errorf("manifest checksum annotation %q not found", internal.ManifestChecksumKey) + } + + var offset, length, lengthUncompressed, manifestType uint64 + + var offsetTarSplit, lengthTarSplit, lengthUncompressedTarSplit uint64 + tarSplitChecksumAnnotation := "" if offsetMetadata := annotations[internal.ManifestInfoKey]; offsetMetadata != "" { - var err error - footerData, err = internal.ReadFooterDataFromAnnotations(annotations) - if err != nil { + if _, err := fmt.Sscanf(offsetMetadata, "%d:%d:%d:%d", &offset, &length, &lengthUncompressed, &manifestType); err != nil { return nil, nil, 0, err } + + if tarSplitInfoKeyAnnotation, found := annotations[internal.TarSplitInfoKey]; found { + if _, err := fmt.Sscanf(tarSplitInfoKeyAnnotation, "%d:%d:%d", &offsetTarSplit, &lengthTarSplit, &lengthUncompressedTarSplit); err != nil { + return nil, nil, 0, err + } + tarSplitChecksumAnnotation = annotations[internal.TarSplitChecksumKey] + } } else { chunk := ImageSourceChunk{ Offset: uint64(blobSize - footerSize), @@ -175,35 +198,38 @@ func readZstdChunkedManifest(blobStream ImageSourceSeekable, blobSize int64, ann return nil, nil, 0, err } - footerData, err = internal.ReadFooterDataFromBlob(footer) - if err != nil { - return nil, nil, 0, err + offset = binary.LittleEndian.Uint64(footer[0:8]) + length = binary.LittleEndian.Uint64(footer[8:16]) + lengthUncompressed = binary.LittleEndian.Uint64(footer[16:24]) + manifestType = binary.LittleEndian.Uint64(footer[24:32]) + if !isZstdChunkedFrameMagic(footer[48:56]) { + return nil, nil, 0, errors.New("invalid magic number") } } - if footerData.ManifestType != internal.ManifestTypeCRFS { + if manifestType != internal.ManifestTypeCRFS { return nil, nil, 0, errors.New("invalid manifest type") } // set a reasonable limit - if footerData.LengthCompressed > (1<<20)*50 { + if length > (1<<20)*50 { return nil, nil, 0, errors.New("manifest too big") } - if footerData.LengthUncompressed > (1<<20)*50 { + if lengthUncompressed > (1<<20)*50 { return nil, nil, 0, errors.New("manifest too big") } chunk := ImageSourceChunk{ - Offset: footerData.Offset, - Length: footerData.LengthCompressed, + Offset: offset, + Length: length, } chunks := []ImageSourceChunk{chunk} - if footerData.OffsetTarSplit > 0 { + if offsetTarSplit > 0 { chunkTarSplit := ImageSourceChunk{ - Offset: footerData.OffsetTarSplit, - Length: footerData.LengthCompressedTarSplit, + Offset: offsetTarSplit, + Length: lengthTarSplit, } chunks = append(chunks, chunkTarSplit) } @@ -233,28 +259,28 @@ func readZstdChunkedManifest(blobStream ImageSourceSeekable, blobSize int64, ann return blob, nil } - manifest, err := readBlob(footerData.LengthCompressed) + manifest, err := readBlob(length) if err != nil { return nil, nil, 0, err } - decodedBlob, err := decodeAndValidateBlob(manifest, footerData.LengthUncompressed, footerData.ChecksumAnnotation) + decodedBlob, err := decodeAndValidateBlob(manifest, lengthUncompressed, manifestChecksumAnnotation) if err != nil { return nil, nil, 0, err } decodedTarSplit := []byte{} - if footerData.OffsetTarSplit > 0 { - tarSplit, err := readBlob(footerData.LengthCompressedTarSplit) + if offsetTarSplit > 0 { + tarSplit, err := readBlob(lengthTarSplit) if err != nil { return nil, nil, 0, err } - decodedTarSplit, err = decodeAndValidateBlob(tarSplit, footerData.LengthUncompressedTarSplit, footerData.ChecksumAnnotationTarSplit) + decodedTarSplit, err = decodeAndValidateBlob(tarSplit, lengthUncompressedTarSplit, tarSplitChecksumAnnotation) if err != nil { return nil, nil, 0, err } } - return decodedBlob, decodedTarSplit, int64(footerData.Offset), err + return decodedBlob, decodedTarSplit, int64(offset), err } func decodeAndValidateBlob(blob []byte, lengthUncompressed uint64, expectedUncompressedChecksum string) ([]byte, error) { diff --git a/vendor/github.com/containers/storage/pkg/chunked/dump/dump.go b/vendor/github.com/containers/storage/pkg/chunked/dump/dump.go deleted file mode 100644 index a08928034a..0000000000 --- a/vendor/github.com/containers/storage/pkg/chunked/dump/dump.go +++ /dev/null @@ -1,230 +0,0 @@ -package dump - -import ( - "bufio" - "fmt" - "io" - "strings" - "time" - "unicode" - - "github.com/containers/storage/pkg/chunked/internal" - "golang.org/x/sys/unix" -) - -const ( - ESCAPE_STANDARD = 0 - NOESCAPE_SPACE = 1 << iota - ESCAPE_EQUAL - ESCAPE_LONE_DASH -) - -func escaped(val string, escape int) string { - noescapeSpace := escape&NOESCAPE_SPACE != 0 - escapeEqual := escape&ESCAPE_EQUAL != 0 - escapeLoneDash := escape&ESCAPE_LONE_DASH != 0 - - length := len(val) - - if escapeLoneDash && val == "-" { - return fmt.Sprintf("\\x%.2x", val[0]) - } - - var result string - for i := 0; i < length; i++ { - c := val[i] - hexEscape := false - var special string - - switch c { - case '\\': - special = "\\\\" - case '\n': - special = "\\n" - case '\r': - special = "\\r" - case '\t': - special = "\\t" - case '=': - hexEscape = escapeEqual - default: - if noescapeSpace { - hexEscape = !unicode.IsPrint(rune(c)) - } else { - hexEscape = !unicode.IsGraphic(rune(c)) - } - } - - if special != "" { - result += special - } else if hexEscape { - result += fmt.Sprintf("\\x%.2x", c) - } else { - result += string(c) - } - } - return result -} - -func escapedOptional(val string, escape int) string { - if val == "" { - return "-" - } - return escaped(val, escape) -} - -func getStMode(mode uint32, typ string) (uint32, error) { - switch typ { - case internal.TypeReg, internal.TypeLink: - mode |= unix.S_IFREG - case internal.TypeChar: - mode |= unix.S_IFCHR - case internal.TypeBlock: - mode |= unix.S_IFBLK - case internal.TypeDir: - mode |= unix.S_IFDIR - case internal.TypeFifo: - mode |= unix.S_IFIFO - case internal.TypeSymlink: - mode |= unix.S_IFLNK - default: - return 0, fmt.Errorf("unknown type %s", typ) - } - return mode, nil -} - -func dumpNode(out io.Writer, links map[string]int, verityDigests map[string]string, entry *internal.FileMetadata) error { - path := entry.Name - if path == "" { - path = "/" - } else if path[0] != '/' { - path = "/" + path - } - - if _, err := fmt.Fprint(out, escaped(path, ESCAPE_STANDARD)); err != nil { - return err - } - - nlinks := links[entry.Name] + links[entry.Linkname] + 1 - link := "" - if entry.Type == internal.TypeLink { - link = "@" - } - - rdev := unix.Mkdev(uint32(entry.Devmajor), uint32(entry.Devminor)) - - entryTime := entry.ModTime - if entryTime == nil { - t := time.Unix(0, 0) - entryTime = &t - } - - mode, err := getStMode(uint32(entry.Mode), entry.Type) - if err != nil { - return err - } - - if _, err := fmt.Fprintf(out, " %d %s%o %d %d %d %d %d.%d ", entry.Size, - link, mode, - nlinks, entry.UID, entry.GID, rdev, - entryTime.Unix(), entryTime.Nanosecond()); err != nil { - return err - } - - var payload string - if entry.Linkname != "" { - payload = entry.Linkname - if entry.Type == internal.TypeLink && payload[0] != '/' { - payload = "/" + payload - } - } else { - if len(entry.Digest) > 10 { - d := strings.Replace(entry.Digest, "sha256:", "", 1) - payload = d[:2] + "/" + d[2:] - } - } - - if _, err := fmt.Fprintf(out, escapedOptional(payload, ESCAPE_LONE_DASH)); err != nil { - return err - } - - /* inline content. */ - if _, err := fmt.Fprint(out, " -"); err != nil { - return err - } - - /* store the digest. */ - if _, err := fmt.Fprint(out, " "); err != nil { - return err - } - digest := verityDigests[payload] - if _, err := fmt.Fprintf(out, escapedOptional(digest, ESCAPE_LONE_DASH)); err != nil { - return err - } - - for k, v := range entry.Xattrs { - name := escaped(k, ESCAPE_EQUAL) - value := escaped(v, ESCAPE_EQUAL) - - if _, err := fmt.Fprintf(out, " %s=%s", name, value); err != nil { - return err - } - } - if _, err := fmt.Fprint(out, "\n"); err != nil { - return err - } - return nil -} - -// GenerateDump generates a dump of the TOC in the same format as `composefs-info dump` -func GenerateDump(tocI interface{}, verityDigests map[string]string) (io.Reader, error) { - toc, ok := tocI.(*internal.TOC) - if !ok { - return nil, fmt.Errorf("invalid TOC type") - } - pipeR, pipeW := io.Pipe() - go func() { - closed := false - w := bufio.NewWriter(pipeW) - defer func() { - if !closed { - w.Flush() - pipeW.Close() - } - }() - - links := make(map[string]int) - for _, e := range toc.Entries { - if e.Linkname == "" { - continue - } - links[e.Linkname] = links[e.Linkname] + 1 - } - - if len(toc.Entries) == 0 || (toc.Entries[0].Name != "" && toc.Entries[0].Name != "/") { - root := &internal.FileMetadata{ - Name: "/", - Type: internal.TypeDir, - Mode: 0o755, - } - - if err := dumpNode(w, links, verityDigests, root); err != nil { - pipeW.CloseWithError(err) - closed = true - return - } - } - - for _, e := range toc.Entries { - if e.Type == internal.TypeChunk { - continue - } - if err := dumpNode(w, links, verityDigests, &e); err != nil { - pipeW.CloseWithError(err) - closed = true - return - } - } - }() - return pipeR, nil -} diff --git a/vendor/github.com/containers/storage/pkg/chunked/internal/compression.go b/vendor/github.com/containers/storage/pkg/chunked/internal/compression.go index caa581efe6..49074eadfc 100644 --- a/vendor/github.com/containers/storage/pkg/chunked/internal/compression.go +++ b/vendor/github.com/containers/storage/pkg/chunked/internal/compression.go @@ -8,7 +8,6 @@ import ( "archive/tar" "bytes" "encoding/binary" - "errors" "fmt" "io" "time" @@ -100,7 +99,7 @@ const ( // FooterSizeSupported is the footer size supported by this implementation. // Newer versions of the image format might increase this value, so reject // any version that is not supported. - FooterSizeSupported = 64 + FooterSizeSupported = 56 ) var ( @@ -109,7 +108,7 @@ var ( // https://tools.ietf.org/html/rfc8478#section-3.1.2 skippableFrameMagic = []byte{0x50, 0x2a, 0x4d, 0x18} - ZstdChunkedFrameMagic = []byte{0x47, 0x4e, 0x55, 0x6c, 0x49, 0x6e, 0x55, 0x78} + ZstdChunkedFrameMagic = []byte{0x47, 0x6e, 0x55, 0x6c, 0x49, 0x6e, 0x55, 0x78} ) func appendZstdSkippableFrame(dest io.Writer, data []byte) error { @@ -184,19 +183,13 @@ func WriteZstdChunkedManifest(dest io.Writer, outMetadata map[string]string, off return err } - footer := ZstdChunkedFooterData{ - ManifestType: uint64(ManifestTypeCRFS), - Offset: manifestOffset, - LengthCompressed: uint64(len(compressedManifest)), - LengthUncompressed: uint64(len(manifest)), - ChecksumAnnotation: "", // unused - OffsetTarSplit: uint64(tarSplitOffset), - LengthCompressedTarSplit: uint64(len(tarSplitData.Data)), - LengthUncompressedTarSplit: uint64(tarSplitData.UncompressedSize), - ChecksumAnnotationTarSplit: "", // unused - } - - manifestDataLE := footerDataToBlob(footer) + // Store the offset to the manifest and its size in LE order + manifestDataLE := make([]byte, FooterSizeSupported) + binary.LittleEndian.PutUint64(manifestDataLE, manifestOffset) + binary.LittleEndian.PutUint64(manifestDataLE[8*1:], uint64(len(compressedManifest))) + binary.LittleEndian.PutUint64(manifestDataLE[8*2:], uint64(len(manifest))) + binary.LittleEndian.PutUint64(manifestDataLE[8*3:], uint64(ManifestTypeCRFS)) + copy(manifestDataLE[8*4:], ZstdChunkedFrameMagic) return appendZstdSkippableFrame(dest, manifestDataLE) } @@ -205,79 +198,3 @@ func ZstdWriterWithLevel(dest io.Writer, level int) (*zstd.Encoder, error) { el := zstd.EncoderLevelFromZstd(level) return zstd.NewWriter(dest, zstd.WithEncoderLevel(el)) } - -// ZstdChunkedFooterData contains all the data stored in the zstd:chunked footer. -type ZstdChunkedFooterData struct { - ManifestType uint64 - - Offset uint64 - LengthCompressed uint64 - LengthUncompressed uint64 - ChecksumAnnotation string // Only used when reading a layer, not when creating it - - OffsetTarSplit uint64 - LengthCompressedTarSplit uint64 - LengthUncompressedTarSplit uint64 - ChecksumAnnotationTarSplit string // Only used when reading a layer, not when creating it -} - -func footerDataToBlob(footer ZstdChunkedFooterData) []byte { - // Store the offset to the manifest and its size in LE order - manifestDataLE := make([]byte, FooterSizeSupported) - binary.LittleEndian.PutUint64(manifestDataLE[8*0:], footer.Offset) - binary.LittleEndian.PutUint64(manifestDataLE[8*1:], footer.LengthCompressed) - binary.LittleEndian.PutUint64(manifestDataLE[8*2:], footer.LengthUncompressed) - binary.LittleEndian.PutUint64(manifestDataLE[8*3:], footer.ManifestType) - binary.LittleEndian.PutUint64(manifestDataLE[8*4:], footer.OffsetTarSplit) - binary.LittleEndian.PutUint64(manifestDataLE[8*5:], footer.LengthCompressedTarSplit) - binary.LittleEndian.PutUint64(manifestDataLE[8*6:], footer.LengthUncompressedTarSplit) - copy(manifestDataLE[8*7:], ZstdChunkedFrameMagic) - - return manifestDataLE -} - -// ReadFooterDataFromAnnotations reads the zstd:chunked footer data from the given annotations. -func ReadFooterDataFromAnnotations(annotations map[string]string) (ZstdChunkedFooterData, error) { - var footerData ZstdChunkedFooterData - - footerData.ChecksumAnnotation = annotations[ManifestChecksumKey] - if footerData.ChecksumAnnotation == "" { - return footerData, fmt.Errorf("manifest checksum annotation %q not found", ManifestChecksumKey) - } - - offsetMetadata := annotations[ManifestInfoKey] - - if _, err := fmt.Sscanf(offsetMetadata, "%d:%d:%d:%d", &footerData.Offset, &footerData.LengthCompressed, &footerData.LengthUncompressed, &footerData.ManifestType); err != nil { - return footerData, err - } - - if tarSplitInfoKeyAnnotation, found := annotations[TarSplitInfoKey]; found { - if _, err := fmt.Sscanf(tarSplitInfoKeyAnnotation, "%d:%d:%d", &footerData.OffsetTarSplit, &footerData.LengthCompressedTarSplit, &footerData.LengthUncompressedTarSplit); err != nil { - return footerData, err - } - footerData.ChecksumAnnotationTarSplit = annotations[TarSplitChecksumKey] - } - return footerData, nil -} - -// ReadFooterDataFromBlob reads the zstd:chunked footer from the binary buffer. -func ReadFooterDataFromBlob(footer []byte) (ZstdChunkedFooterData, error) { - var footerData ZstdChunkedFooterData - - if len(footer) < FooterSizeSupported { - return footerData, errors.New("blob too small") - } - footerData.Offset = binary.LittleEndian.Uint64(footer[0:8]) - footerData.LengthCompressed = binary.LittleEndian.Uint64(footer[8:16]) - footerData.LengthUncompressed = binary.LittleEndian.Uint64(footer[16:24]) - footerData.ManifestType = binary.LittleEndian.Uint64(footer[24:32]) - footerData.OffsetTarSplit = binary.LittleEndian.Uint64(footer[32:40]) - footerData.LengthCompressedTarSplit = binary.LittleEndian.Uint64(footer[40:48]) - footerData.LengthUncompressedTarSplit = binary.LittleEndian.Uint64(footer[48:56]) - - // the magic number is stored in the last 8 bytes - if !bytes.Equal(ZstdChunkedFrameMagic, footer[len(footer)-len(ZstdChunkedFrameMagic):]) { - return footerData, errors.New("invalid magic number") - } - return footerData, nil -} diff --git a/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go b/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go index 8493a2c19a..a80b28fb58 100644 --- a/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go +++ b/vendor/github.com/containers/storage/pkg/chunked/storage_linux.go @@ -23,13 +23,11 @@ import ( graphdriver "github.com/containers/storage/drivers" driversCopy "github.com/containers/storage/drivers/copy" "github.com/containers/storage/pkg/archive" - "github.com/containers/storage/pkg/chunked/compressor" "github.com/containers/storage/pkg/chunked/internal" "github.com/containers/storage/pkg/idtools" "github.com/containers/storage/pkg/system" "github.com/containers/storage/types" securejoin "github.com/cyphar/filepath-securejoin" - jsoniter "github.com/json-iterator/go" "github.com/klauspost/compress/zstd" "github.com/klauspost/pgzip" digest "github.com/opencontainers/go-digest" @@ -43,9 +41,6 @@ const ( newFileFlags = (unix.O_CREAT | unix.O_TRUNC | unix.O_EXCL | unix.O_WRONLY) containersOverrideXattr = "user.containers.override_stat" bigDataKey = "zstd-chunked-manifest" - chunkedData = "zstd-chunked-data" - chunkedLayerDataKey = "zstd-chunked-layer-data" - tocKey = "toc" fileTypeZstdChunked = iota fileTypeEstargz @@ -71,35 +66,13 @@ type chunkedDiffer struct { zstdReader *zstd.Decoder rawReader io.Reader - // contentDigest is the digest of the uncompressed content - // (diffID) when the layer is fully retrieved. If the layer - // is not fully retrieved, instead of using the digest of the - // uncompressed content, it refers to the digest of the TOC. - contentDigest digest.Digest - - // convertedToZstdChunked is set to true if the layer needs to - // be converted to the zstd:chunked format before it can be - // handled. - convertToZstdChunked bool - - // skipValidation is set to true if the individual files in - // the layer are trusted and should not be validated. - skipValidation bool - - blobSize int64 - - storeOpts *types.StoreOptions + tocDigest digest.Digest } var xattrsToIgnore = map[string]interface{}{ "security.selinux": true, } -// chunkedLayerData is used to store additional information about the layer -type chunkedLayerData struct { - Format graphdriver.DifferOutputFormat `json:"format"` -} - func timeToTimespec(time *time.Time) (ts unix.Timespec) { if time == nil || time.IsZero() { // Return UTIME_OMIT special value @@ -165,132 +138,39 @@ func copyFileContent(srcFd int, destFile string, dirfd int, mode os.FileMode, us return dstFile, st.Size(), nil } -type seekableFile struct { - file *os.File -} - -func (f *seekableFile) Close() error { - return f.file.Close() -} - -func (f *seekableFile) GetBlobAt(chunks []ImageSourceChunk) (chan io.ReadCloser, chan error, error) { - streams := make(chan io.ReadCloser) - errs := make(chan error) - - go func() { - for _, chunk := range chunks { - streams <- io.NopCloser(io.NewSectionReader(f.file, int64(chunk.Offset), int64(chunk.Length))) +// GetTOCDigest returns the digest of the TOC as recorded in the annotations. +// This is an experimental feature and may be changed/removed in the future. +func GetTOCDigest(annotations map[string]string) (*digest.Digest, error) { + if tocDigest, ok := annotations[estargz.TOCJSONDigestAnnotation]; ok { + d, err := digest.Parse(tocDigest) + if err != nil { + return nil, err } - close(streams) - close(errs) - }() - - return streams, errs, nil -} - -func convertTarToZstdChunked(destDirectory string, blobSize int64, iss ImageSourceSeekable) (*seekableFile, digest.Digest, map[string]string, error) { - var payload io.ReadCloser - var streams chan io.ReadCloser - var errs chan error - var err error - - chunksToRequest := []ImageSourceChunk{ - { - Offset: 0, - Length: uint64(blobSize), - }, - } - - streams, errs, err = iss.GetBlobAt(chunksToRequest) - if err != nil { - return nil, "", nil, err - } - select { - case p := <-streams: - payload = p - case err := <-errs: - return nil, "", nil, err - } - if payload == nil { - return nil, "", nil, errors.New("invalid stream returned") - } - - diff, err := archive.DecompressStream(payload) - if err != nil { - return nil, "", nil, err - } - - fd, err := unix.Open(destDirectory, unix.O_TMPFILE|unix.O_RDWR|unix.O_CLOEXEC, 0o600) - if err != nil { - return nil, "", nil, err - } - - f := os.NewFile(uintptr(fd), destDirectory) - - newAnnotations := make(map[string]string) - level := 1 - chunked, err := compressor.ZstdCompressor(f, newAnnotations, &level) - if err != nil { - f.Close() - return nil, "", nil, err + return &d, nil } - - digester := digest.Canonical.Digester() - hash := digester.Hash() - - if _, err := io.Copy(io.MultiWriter(chunked, hash), diff); err != nil { - f.Close() - return nil, "", nil, err - } - if err := chunked.Close(); err != nil { - f.Close() - return nil, "", nil, err - } - is := seekableFile{ - file: f, + if tocDigest, ok := annotations[internal.ManifestChecksumKey]; ok { + d, err := digest.Parse(tocDigest) + if err != nil { + return nil, err + } + return &d, nil } - return &is, digester.Digest(), newAnnotations, nil + return nil, nil } // GetDiffer returns a differ than can be used with ApplyDiffWithDiffer. func GetDiffer(ctx context.Context, store storage.Store, blobSize int64, annotations map[string]string, iss ImageSourceSeekable) (graphdriver.Differ, error) { - storeOpts, err := types.DefaultStoreOptionsAutoDetectUID() - if err != nil { - return nil, err - } - if _, ok := annotations[internal.ManifestChecksumKey]; ok { - return makeZstdChunkedDiffer(ctx, store, blobSize, annotations, iss, &storeOpts) + return makeZstdChunkedDiffer(ctx, store, blobSize, annotations, iss) } if _, ok := annotations[estargz.TOCJSONDigestAnnotation]; ok { - return makeEstargzChunkedDiffer(ctx, store, blobSize, annotations, iss, &storeOpts) + return makeEstargzChunkedDiffer(ctx, store, blobSize, annotations, iss) } - - return makeConvertFromRawDiffer(ctx, store, blobSize, annotations, iss, &storeOpts) + return nil, errors.New("blob type not supported for partial retrieval") } -func makeConvertFromRawDiffer(ctx context.Context, store storage.Store, blobSize int64, annotations map[string]string, iss ImageSourceSeekable, storeOpts *types.StoreOptions) (*chunkedDiffer, error) { - if !parseBooleanPullOption(storeOpts, "convert_images", false) { - return nil, errors.New("convert_images not configured") - } - - layersCache, err := getLayersCache(store) - if err != nil { - return nil, err - } - - return &chunkedDiffer{ - blobSize: blobSize, - convertToZstdChunked: true, - copyBuffer: makeCopyBuffer(), - layersCache: layersCache, - storeOpts: storeOpts, - stream: iss, - }, nil -} - -func makeZstdChunkedDiffer(ctx context.Context, store storage.Store, blobSize int64, annotations map[string]string, iss ImageSourceSeekable, storeOpts *types.StoreOptions) (*chunkedDiffer, error) { - manifest, tarSplit, tocOffset, err := readZstdChunkedManifest(iss, blobSize, annotations) +func makeZstdChunkedDiffer(ctx context.Context, store storage.Store, blobSize int64, annotations map[string]string, iss ImageSourceSeekable) (*chunkedDiffer, error) { + manifest, tarSplit, tocOffset, err := readZstdChunkedManifest(ctx, iss, blobSize, annotations) if err != nil { return nil, fmt.Errorf("read zstd:chunked manifest: %w", err) } @@ -299,26 +179,24 @@ func makeZstdChunkedDiffer(ctx context.Context, store storage.Store, blobSize in return nil, err } - contentDigest, err := digest.Parse(annotations[internal.ManifestChecksumKey]) + tocDigest, err := digest.Parse(annotations[internal.ManifestChecksumKey]) if err != nil { return nil, fmt.Errorf("parse TOC digest %q: %w", annotations[internal.ManifestChecksumKey], err) } return &chunkedDiffer{ - blobSize: blobSize, - contentDigest: contentDigest, - copyBuffer: makeCopyBuffer(), - fileType: fileTypeZstdChunked, - layersCache: layersCache, - manifest: manifest, - storeOpts: storeOpts, - stream: iss, - tarSplit: tarSplit, - tocOffset: tocOffset, + copyBuffer: makeCopyBuffer(), + fileType: fileTypeZstdChunked, + layersCache: layersCache, + manifest: manifest, + stream: iss, + tarSplit: tarSplit, + tocOffset: tocOffset, + tocDigest: tocDigest, }, nil } -func makeEstargzChunkedDiffer(ctx context.Context, store storage.Store, blobSize int64, annotations map[string]string, iss ImageSourceSeekable, storeOpts *types.StoreOptions) (*chunkedDiffer, error) { +func makeEstargzChunkedDiffer(ctx context.Context, store storage.Store, blobSize int64, annotations map[string]string, iss ImageSourceSeekable) (*chunkedDiffer, error) { manifest, tocOffset, err := readEstargzChunkedManifest(iss, blobSize, annotations) if err != nil { return nil, fmt.Errorf("read zstd:chunked manifest: %w", err) @@ -328,21 +206,19 @@ func makeEstargzChunkedDiffer(ctx context.Context, store storage.Store, blobSize return nil, err } - contentDigest, err := digest.Parse(annotations[estargz.TOCJSONDigestAnnotation]) + tocDigest, err := digest.Parse(annotations[estargz.TOCJSONDigestAnnotation]) if err != nil { return nil, fmt.Errorf("parse TOC digest %q: %w", annotations[estargz.TOCJSONDigestAnnotation], err) } return &chunkedDiffer{ - blobSize: blobSize, - contentDigest: contentDigest, - copyBuffer: makeCopyBuffer(), - fileType: fileTypeEstargz, - layersCache: layersCache, - manifest: manifest, - storeOpts: storeOpts, - stream: iss, - tocOffset: tocOffset, + copyBuffer: makeCopyBuffer(), + stream: iss, + manifest: manifest, + layersCache: layersCache, + tocOffset: tocOffset, + fileType: fileTypeEstargz, + tocDigest: tocDigest, }, nil } @@ -365,7 +241,7 @@ func copyFileFromOtherLayer(file *internal.FileMetadata, source string, name str srcFile, err := openFileUnderRoot(name, srcDirfd, unix.O_RDONLY, 0) if err != nil { - return false, nil, 0, fmt.Errorf("open source file under target rootfs (%s): %w", name, err) + return false, nil, 0, fmt.Errorf("open source file under target rootfs: %w", err) } defer srcFile.Close() @@ -928,10 +804,8 @@ func (c *chunkedDiffer) appendCompressedStreamToFile(compression compressedFileT if err := appendHole(int(destFile.file.Fd()), size); err != nil { return err } - if destFile.hash != nil { - if err := hashHole(destFile.hash, size, c.copyBuffer); err != nil { - return err - } + if err := hashHole(destFile.hash, size, c.copyBuffer); err != nil { + return err } default: return fmt.Errorf("unknown file type %q", c.fileType) @@ -940,62 +814,43 @@ func (c *chunkedDiffer) appendCompressedStreamToFile(compression compressedFileT } type destinationFile struct { - digester digest.Digester - dirfd int - file *os.File - hash hash.Hash - metadata *internal.FileMetadata - options *archive.TarOptions - skipValidation bool - to io.Writer + dirfd int + file *os.File + digester digest.Digester + hash hash.Hash + to io.Writer + metadata *internal.FileMetadata + options *archive.TarOptions } -func openDestinationFile(dirfd int, metadata *internal.FileMetadata, options *archive.TarOptions, skipValidation bool) (*destinationFile, error) { +func openDestinationFile(dirfd int, metadata *internal.FileMetadata, options *archive.TarOptions) (*destinationFile, error) { file, err := openFileUnderRoot(metadata.Name, dirfd, newFileFlags, 0) if err != nil { return nil, err } - var digester digest.Digester - var hash hash.Hash - var to io.Writer - - if skipValidation { - to = file - } else { - digester = digest.Canonical.Digester() - hash = digester.Hash() - to = io.MultiWriter(file, hash) - } + digester := digest.Canonical.Digester() + hash := digester.Hash() + to := io.MultiWriter(file, hash) return &destinationFile{ - file: file, - digester: digester, - hash: hash, - to: to, - metadata: metadata, - options: options, - dirfd: dirfd, - skipValidation: skipValidation, + file: file, + digester: digester, + hash: hash, + to: to, + metadata: metadata, + options: options, + dirfd: dirfd, }, nil } -func (d *destinationFile) Close() (Err error) { - defer func() { - err := d.file.Close() - if Err == nil { - Err = err - } - }() - - if !d.skipValidation { - manifestChecksum, err := digest.Parse(d.metadata.Digest) - if err != nil { - return err - } - if d.digester.Digest() != manifestChecksum { - return fmt.Errorf("checksum mismatch for %q (got %q instead of %q)", d.file.Name(), d.digester.Digest(), manifestChecksum) - } +func (d *destinationFile) Close() error { + manifestChecksum, err := digest.Parse(d.metadata.Digest) + if err != nil { + return err + } + if d.digester.Digest() != manifestChecksum { + return fmt.Errorf("checksum mismatch for %q (got %q instead of %q)", d.file.Name(), d.digester.Digest(), manifestChecksum) } return setFileAttrs(d.dirfd, d.file, os.FileMode(d.metadata.Mode), d.metadata, d.options, false) @@ -1095,7 +950,7 @@ func (c *chunkedDiffer) storeMissingFiles(streams chan io.ReadCloser, errs chan } filesToClose <- destFile } - destFile, err = openDestinationFile(dirfd, mf.File, options, c.skipValidation) + destFile, err = openDestinationFile(dirfd, mf.File, options) if err != nil { Err = err goto exit @@ -1206,7 +1061,7 @@ func mergeMissingChunks(missingParts []missingPart, target int) []missingPart { return newMissingParts } -func (c *chunkedDiffer) retrieveMissingFiles(stream ImageSourceSeekable, dest string, dirfd int, missingParts []missingPart, options *archive.TarOptions) error { +func (c *chunkedDiffer) retrieveMissingFiles(dest string, dirfd int, missingParts []missingPart, options *archive.TarOptions) error { var chunksToRequest []ImageSourceChunk calculateChunksToRequest := func() { @@ -1225,7 +1080,7 @@ func (c *chunkedDiffer) retrieveMissingFiles(stream ImageSourceSeekable, dest st var err error var errs chan error for { - streams, errs, err = stream.GetBlobAt(chunksToRequest) + streams, errs, err = c.stream.GetBlobAt(chunksToRequest) if err == nil { break } @@ -1462,36 +1317,7 @@ func (c *chunkedDiffer) findAndCopyFile(dirfd int, r *internal.FileMetadata, cop return false, nil } -func makeEntriesFlat(mergedEntries []internal.FileMetadata) ([]internal.FileMetadata, error) { - var new []internal.FileMetadata - - hashes := make(map[string]string) - for i := range mergedEntries { - if mergedEntries[i].Type != TypeReg { - continue - } - if mergedEntries[i].Digest == "" { - return nil, fmt.Errorf("missing digest for %q", mergedEntries[i].Name) - } - digest, err := digest.Parse(mergedEntries[i].Digest) - if err != nil { - return nil, err - } - d := digest.Encoded() - - if hashes[d] != "" { - continue - } - hashes[d] = d - - mergedEntries[i].Name = fmt.Sprintf("%s/%s", d[0:2], d[2:]) - - new = append(new, mergedEntries[i]) - } - return new, nil -} - -func (c *chunkedDiffer) ApplyDiff(dest string, options *archive.TarOptions, differOpts *graphdriver.DifferOptions) (graphdriver.DriverWithDifferOutput, error) { +func (c *chunkedDiffer) ApplyDiff(dest string, options *archive.TarOptions) (graphdriver.DriverWithDifferOutput, error) { defer c.layersCache.release() defer func() { if c.zstdReader != nil { @@ -1499,77 +1325,36 @@ func (c *chunkedDiffer) ApplyDiff(dest string, options *archive.TarOptions, diff } }() - // stream to use for reading the zstd:chunked or Estargz file. - stream := c.stream - - if c.convertToZstdChunked { - fileSource, diffID, annotations, err := convertTarToZstdChunked(dest, c.blobSize, c.stream) - if err != nil { - return graphdriver.DriverWithDifferOutput{}, err - } - // fileSource is a O_TMPFILE file descriptor, so we - // need to keep it open until the entire file is processed. - defer fileSource.Close() - - manifest, tarSplit, tocOffset, err := readZstdChunkedManifest(fileSource, c.blobSize, annotations) - if err != nil { - return graphdriver.DriverWithDifferOutput{}, fmt.Errorf("read zstd:chunked manifest: %w", err) - } - - // Use the new file for accessing the zstd:chunked file. - stream = fileSource - - // fill the chunkedDiffer with the data we just read. - c.fileType = fileTypeZstdChunked - c.manifest = manifest - c.tarSplit = tarSplit - // since we retrieved the whole file and it was validated, use the diffID instead of the TOC digest. - c.contentDigest = diffID - c.tocOffset = tocOffset - - // the file was generated by us and the digest for each file was already computed, no need to validate it again. - c.skipValidation = true - } - - lcd := chunkedLayerData{ - Format: differOpts.Format, - } - - json := jsoniter.ConfigCompatibleWithStandardLibrary - lcdBigData, err := json.Marshal(lcd) - if err != nil { - return graphdriver.DriverWithDifferOutput{}, err - } - - // Generate the manifest - toc, err := unmarshalToc(c.manifest) - if err != nil { - return graphdriver.DriverWithDifferOutput{}, err - } - output := graphdriver.DriverWithDifferOutput{ Differ: c, TarSplit: c.tarSplit, BigData: map[string][]byte{ - bigDataKey: c.manifest, - chunkedLayerDataKey: lcdBigData, + bigDataKey: c.manifest, }, - Artifacts: map[string]interface{}{ - tocKey: toc, - }, - TOCDigest: c.contentDigest, + TOCDigest: c.tocDigest, + } + + storeOpts, err := types.DefaultStoreOptionsAutoDetectUID() + if err != nil { + return output, err } - if !parseBooleanPullOption(c.storeOpts, "enable_partial_images", false) { + if !parseBooleanPullOption(&storeOpts, "enable_partial_images", false) { return output, errors.New("enable_partial_images not configured") } // When the hard links deduplication is used, file attributes are ignored because setting them // modifies the source file as well. - useHardLinks := parseBooleanPullOption(c.storeOpts, "use_hard_links", false) + useHardLinks := parseBooleanPullOption(&storeOpts, "use_hard_links", false) // List of OSTree repositories to use for deduplication - ostreeRepos := strings.Split(c.storeOpts.PullOptions["ostree_repos"], ":") + ostreeRepos := strings.Split(storeOpts.PullOptions["ostree_repos"], ":") + + // Generate the manifest + toc, err := unmarshalToc(c.manifest) + if err != nil { + return output, err + } whiteoutConverter := archive.GetWhiteoutConverter(options.WhiteoutFormat, options.WhiteoutData) @@ -1604,21 +1389,6 @@ func (c *chunkedDiffer) ApplyDiff(dest string, options *archive.TarOptions, diff } defer unix.Close(dirfd) - if differOpts != nil && differOpts.Format == graphdriver.DifferOutputFormatFlat { - mergedEntries, err = makeEntriesFlat(mergedEntries) - if err != nil { - return output, err - } - createdDirs := make(map[string]struct{}) - for _, e := range mergedEntries { - d := e.Name[0:2] - if _, found := createdDirs[d]; !found { - unix.Mkdirat(dirfd, d, 0o755) - createdDirs[d] = struct{}{} - } - } - } - // hardlinks can point to missing files. So create them after all files // are retrieved var hardLinks []hardLinkToCreate @@ -1852,7 +1622,7 @@ func (c *chunkedDiffer) ApplyDiff(dest string, options *archive.TarOptions, diff // There are some missing files. Prepare a multirange request for the missing chunks. if len(missingParts) > 0 { missingParts = mergeMissingChunks(missingParts, maxNumberMissingChunks) - if err := c.retrieveMissingFiles(stream, dest, dirfd, missingParts, options); err != nil { + if err := c.retrieveMissingFiles(dest, dirfd, missingParts, options); err != nil { return output, err } } diff --git a/vendor/github.com/containers/storage/pkg/chunked/storage_unsupported.go b/vendor/github.com/containers/storage/pkg/chunked/storage_unsupported.go index 8d3fcf2ba4..cc37ab1d8f 100644 --- a/vendor/github.com/containers/storage/pkg/chunked/storage_unsupported.go +++ b/vendor/github.com/containers/storage/pkg/chunked/storage_unsupported.go @@ -9,9 +9,16 @@ import ( storage "github.com/containers/storage" graphdriver "github.com/containers/storage/drivers" + digest "github.com/opencontainers/go-digest" ) // GetDiffer returns a differ than can be used with ApplyDiffWithDiffer. func GetDiffer(ctx context.Context, store storage.Store, blobSize int64, annotations map[string]string, iss ImageSourceSeekable) (graphdriver.Differ, error) { return nil, errors.New("format not supported on this system") } + +// GetTOCDigest returns the digest of the TOC as recorded in the annotations. +// This is an experimental feature and may be changed/removed in the future. +func GetTOCDigest(annotations map[string]string) (*digest.Digest, error) { + return nil, errors.New("format not supported on this system") +} diff --git a/vendor/github.com/containers/storage/pkg/idmap/idmapped_utils.go b/vendor/github.com/containers/storage/pkg/idmap/idmapped_utils.go index 87484d95b6..68c8c867dd 100644 --- a/vendor/github.com/containers/storage/pkg/idmap/idmapped_utils.go +++ b/vendor/github.com/containers/storage/pkg/idmap/idmapped_utils.go @@ -8,11 +8,75 @@ import ( "os" "runtime" "syscall" + "unsafe" "github.com/containers/storage/pkg/idtools" "golang.org/x/sys/unix" ) +type attr struct { + attrSet uint64 + attrClr uint64 + propagation uint64 + userNs uint64 +} + +// openTree is a wrapper for the open_tree syscall +func openTree(path string, flags int) (fd int, err error) { + var _p0 *byte + + if _p0, err = syscall.BytePtrFromString(path); err != nil { + return 0, err + } + + r, _, e1 := syscall.Syscall6(uintptr(unix.SYS_OPEN_TREE), uintptr(0), uintptr(unsafe.Pointer(_p0)), + uintptr(flags), 0, 0, 0) + if e1 != 0 { + err = e1 + } + return int(r), err +} + +// moveMount is a wrapper for the move_mount syscall. +func moveMount(fdTree int, target string) (err error) { + var _p0, _p1 *byte + + empty := "" + + if _p0, err = syscall.BytePtrFromString(target); err != nil { + return err + } + if _p1, err = syscall.BytePtrFromString(empty); err != nil { + return err + } + + flags := unix.MOVE_MOUNT_F_EMPTY_PATH + + _, _, e1 := syscall.Syscall6(uintptr(unix.SYS_MOVE_MOUNT), + uintptr(fdTree), uintptr(unsafe.Pointer(_p1)), + 0, uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0) + if e1 != 0 { + err = e1 + } + return +} + +// mountSetAttr is a wrapper for the mount_setattr syscall +func mountSetAttr(dfd int, path string, flags uint, attr *attr, size uint) (err error) { + var _p0 *byte + + if _p0, err = syscall.BytePtrFromString(path); err != nil { + return err + } + + _, _, e1 := syscall.Syscall6(uintptr(unix.SYS_MOUNT_SETATTR), uintptr(dfd), uintptr(unsafe.Pointer(_p0)), + uintptr(flags), uintptr(unsafe.Pointer(attr)), uintptr(size), 0) + if e1 != 0 { + err = e1 + } + return +} + // CreateIDMappedMount creates a IDMapped bind mount from SOURCE to TARGET using the user namespace // for the PID process. func CreateIDMappedMount(source, target string, pid int) error { @@ -21,26 +85,29 @@ func CreateIDMappedMount(source, target string, pid int) error { if err != nil { return fmt.Errorf("unable to get user ns file descriptor for %q: %w", path, err) } + + var attr attr + attr.attrSet = unix.MOUNT_ATTR_IDMAP + attr.attrClr = 0 + attr.propagation = 0 + attr.userNs = uint64(userNsFile.Fd()) + defer userNsFile.Close() - targetDirFd, err := unix.OpenTree(0, source, unix.OPEN_TREE_CLONE) + targetDirFd, err := openTree(source, unix.OPEN_TREE_CLONE) if err != nil { return err } defer unix.Close(targetDirFd) - if err := unix.MountSetattr(targetDirFd, "", unix.AT_EMPTY_PATH|unix.AT_RECURSIVE, - &unix.MountAttr{ - Attr_set: unix.MOUNT_ATTR_IDMAP, - Userns_fd: uint64(userNsFile.Fd()), - }); err != nil { + if err := mountSetAttr(targetDirFd, "", unix.AT_EMPTY_PATH|unix.AT_RECURSIVE, + &attr, uint(unsafe.Sizeof(attr))); err != nil { return err } if err := os.Mkdir(target, 0o700); err != nil && !os.IsExist(err) { return err } - - return unix.MoveMount(targetDirFd, "", 0, target, unix.MOVE_MOUNT_F_EMPTY_PATH) + return moveMount(targetDirFd, target) } // CreateUsernsProcess forks the current process and creates a user namespace using the specified diff --git a/vendor/github.com/containers/storage/pkg/lockfile/lastwrite.go b/vendor/github.com/containers/storage/pkg/lockfile/lastwrite.go deleted file mode 100644 index 93fb1fea87..0000000000 --- a/vendor/github.com/containers/storage/pkg/lockfile/lastwrite.go +++ /dev/null @@ -1,82 +0,0 @@ -package lockfile - -import ( - "bytes" - cryptorand "crypto/rand" - "encoding/binary" - "os" - "sync/atomic" - "time" -) - -// LastWrite is an opaque identifier of the last write to some *LockFile. -// It can be used by users of a *LockFile to determine if the lock indicates changes -// since the last check. -// -// Never construct a LastWrite manually; only accept it from *LockFile methods, and pass it back. -type LastWrite struct { - // Never modify fields of a LastWrite object; it has value semantics. - state []byte // Contents of the lock file. -} - -var lastWriterIDCounter uint64 // Private state for newLastWriterID - -const lastWriterIDSize = 64 // This must be the same as len(stringid.GenerateRandomID) -// newLastWrite returns a new "last write" ID. -// The value must be different on every call, and also differ from values -// generated by other processes. -func newLastWrite() LastWrite { - // The ID is (PID, time, per-process counter, random) - // PID + time represents both a unique process across reboots, - // and a specific time within the process; the per-process counter - // is an extra safeguard for in-process concurrency. - // The random part disambiguates across process namespaces - // (where PID values might collide), serves as a general-purpose - // extra safety, _and_ is used to pad the output to lastWriterIDSize, - // because other versions of this code exist and they don't work - // efficiently if the size of the value changes. - pid := os.Getpid() - tm := time.Now().UnixNano() - counter := atomic.AddUint64(&lastWriterIDCounter, 1) - - res := make([]byte, lastWriterIDSize) - binary.LittleEndian.PutUint64(res[0:8], uint64(tm)) - binary.LittleEndian.PutUint64(res[8:16], counter) - binary.LittleEndian.PutUint32(res[16:20], uint32(pid)) - if n, err := cryptorand.Read(res[20:lastWriterIDSize]); err != nil || n != lastWriterIDSize-20 { - panic(err) // This shouldn't happen - } - - return LastWrite{ - state: res, - } -} - -// serialize returns bytes to write to the lock file to represent the specified write. -func (lw LastWrite) serialize() []byte { - if lw.state == nil { - panic("LastWrite.serialize on an uninitialized object") - } - return lw.state -} - -// Equals returns true if lw matches other -func (lw LastWrite) equals(other LastWrite) bool { - if lw.state == nil { - panic("LastWrite.equals on an uninitialized object") - } - if other.state == nil { - panic("LastWrite.equals with an uninitialized counterparty") - } - return bytes.Equal(lw.state, other.state) -} - -// newLastWriteFromData returns a LastWrite corresponding to data that came from a previous LastWrite.serialize -func newLastWriteFromData(serialized []byte) LastWrite { - if serialized == nil { - panic("newLastWriteFromData with nil data") - } - return LastWrite{ - state: serialized, - } -} diff --git a/vendor/github.com/containers/storage/pkg/lockfile/lockfile.go b/vendor/github.com/containers/storage/pkg/lockfile/lockfile.go index 5dd6741086..ec25f8a9cf 100644 --- a/vendor/github.com/containers/storage/pkg/lockfile/lockfile.go +++ b/vendor/github.com/containers/storage/pkg/lockfile/lockfile.go @@ -2,7 +2,6 @@ package lockfile import ( "fmt" - "os" "path/filepath" "sync" "time" @@ -55,38 +54,6 @@ type Locker interface { AssertLockedForWriting() } -type lockType byte - -const ( - readLock lockType = iota - writeLock -) - -// LockFile represents a file lock where the file is used to cache an -// identifier of the last party that made changes to whatever's being protected -// by the lock. -// -// It MUST NOT be created manually. Use GetLockFile or GetROLockFile instead. -type LockFile struct { - // The following fields are only set when constructing *LockFile, and must never be modified afterwards. - // They are safe to access without any other locking. - file string - ro bool - - // rwMutex serializes concurrent reader-writer acquisitions in the same process space - rwMutex *sync.RWMutex - // stateMutex is used to synchronize concurrent accesses to the state below - stateMutex *sync.Mutex - counter int64 - lw LastWrite // A global value valid as of the last .Touch() or .Modified() - lockType lockType - locked bool - // The following fields are only modified on transitions between counter == 0 / counter != 0. - // Thus, they can be safely accessed by users _that currently hold the LockFile_ without locking. - // In other cases, they need to be protected using stateMutex. - fd fileHandle -} - var ( lockFiles map[string]*LockFile lockFilesLock sync.Mutex @@ -124,156 +91,6 @@ func GetROLockfile(path string) (Locker, error) { return GetROLockFile(path) } -// Lock locks the lockfile as a writer. Panic if the lock is a read-only one. -func (l *LockFile) Lock() { - if l.ro { - panic("can't take write lock on read-only lock file") - } else { - l.lock(writeLock) - } -} - -// LockRead locks the lockfile as a reader. -func (l *LockFile) RLock() { - l.lock(readLock) -} - -// Unlock unlocks the lockfile. -func (l *LockFile) Unlock() { - l.stateMutex.Lock() - if !l.locked { - // Panic when unlocking an unlocked lock. That's a violation - // of the lock semantics and will reveal such. - panic("calling Unlock on unlocked lock") - } - l.counter-- - if l.counter < 0 { - // Panic when the counter is negative. There is no way we can - // recover from a corrupted lock and we need to protect the - // storage from corruption. - panic(fmt.Sprintf("lock %q has been unlocked too often", l.file)) - } - if l.counter == 0 { - // We should only release the lock when the counter is 0 to - // avoid releasing read-locks too early; a given process may - // acquire a read lock multiple times. - l.locked = false - // Close the file descriptor on the last unlock, releasing the - // file lock. - unlockAndCloseHandle(l.fd) - } - if l.lockType == readLock { - l.rwMutex.RUnlock() - } else { - l.rwMutex.Unlock() - } - l.stateMutex.Unlock() -} - -func (l *LockFile) AssertLocked() { - // DO NOT provide a variant that returns the value of l.locked. - // - // If the caller does not hold the lock, l.locked might nevertheless be true because another goroutine does hold it, and - // we can’t tell the difference. - // - // Hence, this “AssertLocked” method, which exists only for sanity checks. - - // Don’t even bother with l.stateMutex: The caller is expected to hold the lock, and in that case l.locked is constant true - // with no possible writers. - // If the caller does not hold the lock, we are violating the locking/memory model anyway, and accessing the data - // without the lock is more efficient for callers, and potentially more visible to lock analysers for incorrect callers. - if !l.locked { - panic("internal error: lock is not held by the expected owner") - } -} - -func (l *LockFile) AssertLockedForWriting() { - // DO NOT provide a variant that returns the current lock state. - // - // The same caveats as for AssertLocked apply equally. - - l.AssertLocked() - // Like AssertLocked, don’t even bother with l.stateMutex. - if l.lockType == readLock { - panic("internal error: lock is not held for writing") - } -} - -// ModifiedSince checks if the lock has been changed since a provided LastWrite value, -// and returns the one to record instead. -// -// If ModifiedSince reports no modification, the previous LastWrite value -// is still valid and can continue to be used. -// -// If this function fails, the LastWriter value of the lock is indeterminate; -// the caller should fail and keep using the previously-recorded LastWrite value, -// so that it continues failing until the situation is resolved. Similarly, -// it should only update the recorded LastWrite value after processing the update: -// -// lw2, modified, err := state.lock.ModifiedSince(state.lastWrite) -// if err != nil { /* fail */ } -// state.lastWrite = lw2 -// if modified { -// if err := reload(); err != nil { /* fail */ } -// state.lastWrite = lw2 -// } -// -// The caller must hold the lock (for reading or writing). -func (l *LockFile) ModifiedSince(previous LastWrite) (LastWrite, bool, error) { - l.AssertLocked() - currentLW, err := l.GetLastWrite() - if err != nil { - return LastWrite{}, false, err - } - modified := !previous.equals(currentLW) - return currentLW, modified, nil -} - -// Modified indicates if the lockfile has been updated since the last time it -// was loaded. -// NOTE: Unlike ModifiedSince, this returns true the first time it is called on a *LockFile. -// Callers cannot, in general, rely on this, because that might have happened for some other -// owner of the same *LockFile who created it previously. -// -// Deprecated: Use *LockFile.ModifiedSince. -func (l *LockFile) Modified() (bool, error) { - l.stateMutex.Lock() - if !l.locked { - panic("attempted to check last-writer in lockfile without locking it first") - } - defer l.stateMutex.Unlock() - oldLW := l.lw - // Note that this is called with stateMutex held; that’s fine because ModifiedSince doesn’t need to lock it. - currentLW, modified, err := l.ModifiedSince(oldLW) - if err != nil { - return true, err - } - l.lw = currentLW - return modified, nil -} - -// Touch updates the lock file with to record that the current lock holder has modified the lock-protected data. -// -// Deprecated: Use *LockFile.RecordWrite. -func (l *LockFile) Touch() error { - lw, err := l.RecordWrite() - if err != nil { - return err - } - l.stateMutex.Lock() - if !l.locked || (l.lockType == readLock) { - panic("attempted to update last-writer in lockfile without the write lock") - } - defer l.stateMutex.Unlock() - l.lw = lw - return nil -} - -// IsReadWrite indicates if the lock file is a read-write lock. -func (l *LockFile) IsReadWrite() bool { - return !l.ro -} - // getLockFile returns a *LockFile object, possibly (depending on the platform) // working inter-process, and associated with the specified path. // @@ -311,99 +128,3 @@ func getLockfile(path string, ro bool) (*LockFile, error) { lockFiles[cleanPath] = lockFile return lockFile, nil } - -// createLockFileForPath returns new *LockFile object, possibly (depending on the platform) -// working inter-process and associated with the specified path. -// -// This function will be called at most once for each path value within a single process. -// -// If ro, the lock is a read-write lock and the returned *LockFile should correspond to the -// “lock for reading” (shared) operation; otherwise, the lock is either an exclusive lock, -// or a read-write lock and *LockFile should correspond to the “lock for writing” (exclusive) operation. -// -// WARNING: -// - The lock may or MAY NOT be inter-process. -// - There may or MAY NOT be an actual object on the filesystem created for the specified path. -// - Even if ro, the lock MAY be exclusive. -func createLockFileForPath(path string, ro bool) (*LockFile, error) { - // Check if we can open the lock. - fd, err := openLock(path, ro) - if err != nil { - return nil, err - } - unlockAndCloseHandle(fd) - - lType := writeLock - if ro { - lType = readLock - } - - return &LockFile{ - file: path, - ro: ro, - - rwMutex: &sync.RWMutex{}, - stateMutex: &sync.Mutex{}, - lw: newLastWrite(), // For compatibility, the first call of .Modified() will always report a change. - lockType: lType, - locked: false, - }, nil -} - -// openLock opens the file at path and returns the corresponding file -// descriptor. The path is opened either read-only or read-write, -// depending on the value of ro argument. -// -// openLock will create the file and its parent directories, -// if necessary. -func openLock(path string, ro bool) (fd fileHandle, err error) { - flags := os.O_CREATE - if ro { - flags |= os.O_RDONLY - } else { - flags |= os.O_RDWR - } - fd, err = openHandle(path, flags) - if err == nil { - return fd, nil - } - - // the directory of the lockfile seems to be removed, try to create it - if os.IsNotExist(err) { - if err := os.MkdirAll(filepath.Dir(path), 0o700); err != nil { - return fd, fmt.Errorf("creating lock file directory: %w", err) - } - - return openLock(path, ro) - } - - return fd, &os.PathError{Op: "open", Path: path, Err: err} -} - -// lock locks the lockfile via syscall based on the specified type and -// command. -func (l *LockFile) lock(lType lockType) { - if lType == readLock { - l.rwMutex.RLock() - } else { - l.rwMutex.Lock() - } - l.stateMutex.Lock() - defer l.stateMutex.Unlock() - if l.counter == 0 { - // If we're the first reference on the lock, we need to open the file again. - fd, err := openLock(l.file, l.ro) - if err != nil { - panic(err) - } - l.fd = fd - - // Optimization: only use the (expensive) syscall when - // the counter is 0. In this case, we're either the first - // reader lock or a writer lock. - lockHandle(l.fd, lType) - } - l.lockType = lType - l.locked = true - l.counter++ -} diff --git a/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go b/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go index 38e737e265..a357b809e0 100644 --- a/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go +++ b/vendor/github.com/containers/storage/pkg/lockfile/lockfile_unix.go @@ -4,13 +4,297 @@ package lockfile import ( + "bytes" + cryptorand "crypto/rand" + "encoding/binary" + "fmt" + "os" + "path/filepath" + "sync" + "sync/atomic" "time" "github.com/containers/storage/pkg/system" "golang.org/x/sys/unix" ) -type fileHandle uintptr +// *LockFile represents a file lock where the file is used to cache an +// identifier of the last party that made changes to whatever's being protected +// by the lock. +// +// It MUST NOT be created manually. Use GetLockFile or GetROLockFile instead. +type LockFile struct { + // The following fields are only set when constructing *LockFile, and must never be modified afterwards. + // They are safe to access without any other locking. + file string + ro bool + + // rwMutex serializes concurrent reader-writer acquisitions in the same process space + rwMutex *sync.RWMutex + // stateMutex is used to synchronize concurrent accesses to the state below + stateMutex *sync.Mutex + counter int64 + lw LastWrite // A global value valid as of the last .Touch() or .Modified() + locktype int16 + locked bool + // The following fields are only modified on transitions between counter == 0 / counter != 0. + // Thus, they can be safely accessed by users _that currently hold the LockFile_ without locking. + // In other cases, they need to be protected using stateMutex. + fd uintptr +} + +// LastWrite is an opaque identifier of the last write to some *LockFile. +// It can be used by users of a *LockFile to determine if the lock indicates changes +// since the last check. +// +// Never construct a LastWrite manually; only accept it from *LockFile methods, and pass it back. +type LastWrite struct { + // Never modify fields of a LastWrite object; it has value semantics. + state []byte // Contents of the lock file. +} + +const lastWriterIDSize = 64 // This must be the same as len(stringid.GenerateRandomID) +var lastWriterIDCounter uint64 // Private state for newLastWriterID + +// newLastWrite returns a new "last write" ID. +// The value must be different on every call, and also differ from values +// generated by other processes. +func newLastWrite() LastWrite { + // The ID is (PID, time, per-process counter, random) + // PID + time represents both a unique process across reboots, + // and a specific time within the process; the per-process counter + // is an extra safeguard for in-process concurrency. + // The random part disambiguates across process namespaces + // (where PID values might collide), serves as a general-purpose + // extra safety, _and_ is used to pad the output to lastWriterIDSize, + // because other versions of this code exist and they don't work + // efficiently if the size of the value changes. + pid := os.Getpid() + tm := time.Now().UnixNano() + counter := atomic.AddUint64(&lastWriterIDCounter, 1) + + res := make([]byte, lastWriterIDSize) + binary.LittleEndian.PutUint64(res[0:8], uint64(tm)) + binary.LittleEndian.PutUint64(res[8:16], counter) + binary.LittleEndian.PutUint32(res[16:20], uint32(pid)) + if n, err := cryptorand.Read(res[20:lastWriterIDSize]); err != nil || n != lastWriterIDSize-20 { + panic(err) // This shouldn't happen + } + + return LastWrite{ + state: res, + } +} + +// newLastWriteFromData returns a LastWrite corresponding to data that came from a previous LastWrite.serialize +func newLastWriteFromData(serialized []byte) LastWrite { + if serialized == nil { + panic("newLastWriteFromData with nil data") + } + return LastWrite{ + state: serialized, + } +} + +// serialize returns bytes to write to the lock file to represent the specified write. +func (lw LastWrite) serialize() []byte { + if lw.state == nil { + panic("LastWrite.serialize on an uninitialized object") + } + return lw.state +} + +// Equals returns true if lw matches other +func (lw LastWrite) equals(other LastWrite) bool { + if lw.state == nil { + panic("LastWrite.equals on an uninitialized object") + } + if other.state == nil { + panic("LastWrite.equals with an uninitialized counterparty") + } + return bytes.Equal(lw.state, other.state) +} + +// openLock opens the file at path and returns the corresponding file +// descriptor. The path is opened either read-only or read-write, +// depending on the value of ro argument. +// +// openLock will create the file and its parent directories, +// if necessary. +func openLock(path string, ro bool) (fd int, err error) { + flags := unix.O_CLOEXEC | os.O_CREATE + if ro { + flags |= os.O_RDONLY + } else { + flags |= os.O_RDWR + } + fd, err = unix.Open(path, flags, 0o644) + if err == nil { + return fd, nil + } + + // the directory of the lockfile seems to be removed, try to create it + if os.IsNotExist(err) { + if err := os.MkdirAll(filepath.Dir(path), 0o700); err != nil { + return fd, fmt.Errorf("creating lock file directory: %w", err) + } + + return openLock(path, ro) + } + + return fd, &os.PathError{Op: "open", Path: path, Err: err} +} + +// createLockFileForPath returns new *LockFile object, possibly (depending on the platform) +// working inter-process and associated with the specified path. +// +// This function will be called at most once for each path value within a single process. +// +// If ro, the lock is a read-write lock and the returned *LockFile should correspond to the +// “lock for reading” (shared) operation; otherwise, the lock is either an exclusive lock, +// or a read-write lock and *LockFile should correspond to the “lock for writing” (exclusive) operation. +// +// WARNING: +// - The lock may or MAY NOT be inter-process. +// - There may or MAY NOT be an actual object on the filesystem created for the specified path. +// - Even if ro, the lock MAY be exclusive. +func createLockFileForPath(path string, ro bool) (*LockFile, error) { + // Check if we can open the lock. + fd, err := openLock(path, ro) + if err != nil { + return nil, err + } + unix.Close(fd) + + locktype := unix.F_WRLCK + if ro { + locktype = unix.F_RDLCK + } + return &LockFile{ + file: path, + ro: ro, + + rwMutex: &sync.RWMutex{}, + stateMutex: &sync.Mutex{}, + lw: newLastWrite(), // For compatibility, the first call of .Modified() will always report a change. + locktype: int16(locktype), + locked: false, + }, nil +} + +// lock locks the lockfile via FCTNL(2) based on the specified type and +// command. +func (l *LockFile) lock(lType int16) { + lk := unix.Flock_t{ + Type: lType, + Whence: int16(unix.SEEK_SET), + Start: 0, + Len: 0, + } + switch lType { + case unix.F_RDLCK: + l.rwMutex.RLock() + case unix.F_WRLCK: + l.rwMutex.Lock() + default: + panic(fmt.Sprintf("attempted to acquire a file lock of unrecognized type %d", lType)) + } + l.stateMutex.Lock() + defer l.stateMutex.Unlock() + if l.counter == 0 { + // If we're the first reference on the lock, we need to open the file again. + fd, err := openLock(l.file, l.ro) + if err != nil { + panic(err) + } + l.fd = uintptr(fd) + + // Optimization: only use the (expensive) fcntl syscall when + // the counter is 0. In this case, we're either the first + // reader lock or a writer lock. + for unix.FcntlFlock(l.fd, unix.F_SETLKW, &lk) != nil { + time.Sleep(10 * time.Millisecond) + } + } + l.locktype = lType + l.locked = true + l.counter++ +} + +// Lock locks the lockfile as a writer. Panic if the lock is a read-only one. +func (l *LockFile) Lock() { + if l.ro { + panic("can't take write lock on read-only lock file") + } else { + l.lock(unix.F_WRLCK) + } +} + +// LockRead locks the lockfile as a reader. +func (l *LockFile) RLock() { + l.lock(unix.F_RDLCK) +} + +// Unlock unlocks the lockfile. +func (l *LockFile) Unlock() { + l.stateMutex.Lock() + if !l.locked { + // Panic when unlocking an unlocked lock. That's a violation + // of the lock semantics and will reveal such. + panic("calling Unlock on unlocked lock") + } + l.counter-- + if l.counter < 0 { + // Panic when the counter is negative. There is no way we can + // recover from a corrupted lock and we need to protect the + // storage from corruption. + panic(fmt.Sprintf("lock %q has been unlocked too often", l.file)) + } + if l.counter == 0 { + // We should only release the lock when the counter is 0 to + // avoid releasing read-locks too early; a given process may + // acquire a read lock multiple times. + l.locked = false + // Close the file descriptor on the last unlock, releasing the + // file lock. + unix.Close(int(l.fd)) + } + if l.locktype == unix.F_RDLCK { + l.rwMutex.RUnlock() + } else { + l.rwMutex.Unlock() + } + l.stateMutex.Unlock() +} + +func (l *LockFile) AssertLocked() { + // DO NOT provide a variant that returns the value of l.locked. + // + // If the caller does not hold the lock, l.locked might nevertheless be true because another goroutine does hold it, and + // we can’t tell the difference. + // + // Hence, this “AssertLocked” method, which exists only for sanity checks. + + // Don’t even bother with l.stateMutex: The caller is expected to hold the lock, and in that case l.locked is constant true + // with no possible writers. + // If the caller does not hold the lock, we are violating the locking/memory model anyway, and accessing the data + // without the lock is more efficient for callers, and potentially more visible to lock analysers for incorrect callers. + if !l.locked { + panic("internal error: lock is not held by the expected owner") + } +} + +func (l *LockFile) AssertLockedForWriting() { + // DO NOT provide a variant that returns the current lock state. + // + // The same caveats as for AssertLocked apply equally. + + l.AssertLocked() + // Like AssertLocked, don’t even bother with l.stateMutex. + if l.locktype != unix.F_WRLCK { + panic("internal error: lock is not held for writing") + } +} // GetLastWrite returns a LastWrite value corresponding to current state of the lock. // This is typically called before (_not after_) loading the state when initializing a consumer @@ -57,39 +341,88 @@ func (l *LockFile) RecordWrite() (LastWrite, error) { return lw, nil } -// TouchedSince indicates if the lock file has been touched since the specified time -func (l *LockFile) TouchedSince(when time.Time) bool { - st, err := system.Fstat(int(l.fd)) +// ModifiedSince checks if the lock has been changed since a provided LastWrite value, +// and returns the one to record instead. +// +// If ModifiedSince reports no modification, the previous LastWrite value +// is still valid and can continue to be used. +// +// If this function fails, the LastWriter value of the lock is indeterminate; +// the caller should fail and keep using the previously-recorded LastWrite value, +// so that it continues failing until the situation is resolved. Similarly, +// it should only update the recorded LastWrite value after processing the update: +// +// lw2, modified, err := state.lock.ModifiedSince(state.lastWrite) +// if err != nil { /* fail */ } +// state.lastWrite = lw2 +// if modified { +// if err := reload(); err != nil { /* fail */ } +// state.lastWrite = lw2 +// } +// +// The caller must hold the lock (for reading or writing). +func (l *LockFile) ModifiedSince(previous LastWrite) (LastWrite, bool, error) { + l.AssertLocked() + currentLW, err := l.GetLastWrite() if err != nil { - return true + return LastWrite{}, false, err } - mtim := st.Mtim() - touched := time.Unix(mtim.Unix()) - return when.Before(touched) + modified := !previous.equals(currentLW) + return currentLW, modified, nil } -func openHandle(path string, mode int) (fileHandle, error) { - mode |= unix.O_CLOEXEC - fd, err := unix.Open(path, mode, 0o644) - return fileHandle(fd), err +// Touch updates the lock file with to record that the current lock holder has modified the lock-protected data. +// +// Deprecated: Use *LockFile.RecordWrite. +func (l *LockFile) Touch() error { + lw, err := l.RecordWrite() + if err != nil { + return err + } + l.stateMutex.Lock() + if !l.locked || (l.locktype != unix.F_WRLCK) { + panic("attempted to update last-writer in lockfile without the write lock") + } + defer l.stateMutex.Unlock() + l.lw = lw + return nil } -func lockHandle(fd fileHandle, lType lockType) { - fType := unix.F_RDLCK - if lType != readLock { - fType = unix.F_WRLCK - } - lk := unix.Flock_t{ - Type: int16(fType), - Whence: int16(unix.SEEK_SET), - Start: 0, - Len: 0, +// Modified indicates if the lockfile has been updated since the last time it +// was loaded. +// NOTE: Unlike ModifiedSince, this returns true the first time it is called on a *LockFile. +// Callers cannot, in general, rely on this, because that might have happened for some other +// owner of the same *LockFile who created it previously. +// +// Deprecated: Use *LockFile.ModifiedSince. +func (l *LockFile) Modified() (bool, error) { + l.stateMutex.Lock() + if !l.locked { + panic("attempted to check last-writer in lockfile without locking it first") } - for unix.FcntlFlock(uintptr(fd), unix.F_SETLKW, &lk) != nil { - time.Sleep(10 * time.Millisecond) + defer l.stateMutex.Unlock() + oldLW := l.lw + // Note that this is called with stateMutex held; that’s fine because ModifiedSince doesn’t need to lock it. + currentLW, modified, err := l.ModifiedSince(oldLW) + if err != nil { + return true, err } + l.lw = currentLW + return modified, nil +} + +// IsReadWriteLock indicates if the lock file is a read-write lock. +func (l *LockFile) IsReadWrite() bool { + return !l.ro } -func unlockAndCloseHandle(fd fileHandle) { - unix.Close(int(fd)) +// TouchedSince indicates if the lock file has been touched since the specified time +func (l *LockFile) TouchedSince(when time.Time) bool { + st, err := system.Fstat(int(l.fd)) + if err != nil { + return true + } + mtim := st.Mtim() + touched := time.Unix(mtim.Unix()) + return when.Before(touched) } diff --git a/vendor/github.com/containers/storage/pkg/lockfile/lockfile_windows.go b/vendor/github.com/containers/storage/pkg/lockfile/lockfile_windows.go index 304c92b158..ca27a483d9 100644 --- a/vendor/github.com/containers/storage/pkg/lockfile/lockfile_windows.go +++ b/vendor/github.com/containers/storage/pkg/lockfile/lockfile_windows.go @@ -5,19 +5,81 @@ package lockfile import ( "os" + "sync" "time" - - "golang.org/x/sys/windows" ) -const ( - reserved = 0 - allBytes = ^uint32(0) -) +// createLockFileForPath returns a *LockFile object, possibly (depending on the platform) +// working inter-process and associated with the specified path. +// +// This function will be called at most once for each path value within a single process. +// +// If ro, the lock is a read-write lock and the returned *LockFile should correspond to the +// “lock for reading” (shared) operation; otherwise, the lock is either an exclusive lock, +// or a read-write lock and *LockFile should correspond to the “lock for writing” (exclusive) operation. +// +// WARNING: +// - The lock may or MAY NOT be inter-process. +// - There may or MAY NOT be an actual object on the filesystem created for the specified path. +// - Even if ro, the lock MAY be exclusive. +func createLockFileForPath(path string, ro bool) (*LockFile, error) { + return &LockFile{locked: false}, nil +} + +// *LockFile represents a file lock where the file is used to cache an +// identifier of the last party that made changes to whatever's being protected +// by the lock. +// +// It MUST NOT be created manually. Use GetLockFile or GetROLockFile instead. +type LockFile struct { + mu sync.Mutex + file string + locked bool +} + +// LastWrite is an opaque identifier of the last write to some *LockFile. +// It can be used by users of a *LockFile to determine if the lock indicates changes +// since the last check. +// A default-initialized LastWrite never matches any last write, i.e. it always indicates changes. +type LastWrite struct { + // Nothing: The Windows “implementation” does not actually track writes. +} + +func (l *LockFile) Lock() { + l.mu.Lock() + l.locked = true +} + +func (l *LockFile) RLock() { + l.mu.Lock() + l.locked = true +} + +func (l *LockFile) Unlock() { + l.locked = false + l.mu.Unlock() +} + +func (l *LockFile) AssertLocked() { + // DO NOT provide a variant that returns the value of l.locked. + // + // If the caller does not hold the lock, l.locked might nevertheless be true because another goroutine does hold it, and + // we can’t tell the difference. + // + // Hence, this “AssertLocked” method, which exists only for sanity checks. + if !l.locked { + panic("internal error: lock is not held by the expected owner") + } +} -type fileHandle windows.Handle +func (l *LockFile) AssertLockedForWriting() { + // DO NOT provide a variant that returns the current lock state. + // + // The same caveats as for AssertLocked apply equally. + l.AssertLocked() // The current implementation does not distinguish between read and write locks. +} -// GetLastWrite returns a LastWrite value corresponding to current state of the lock. +// GetLastWrite() returns a LastWrite value corresponding to current state of the lock. // This is typically called before (_not after_) loading the state when initializing a consumer // of the data protected by the lock. // During the lifetime of the consumer, the consumer should usually call ModifiedSince instead. @@ -25,18 +87,7 @@ type fileHandle windows.Handle // The caller must hold the lock (for reading or writing) before this function is called. func (l *LockFile) GetLastWrite() (LastWrite, error) { l.AssertLocked() - contents := make([]byte, lastWriterIDSize) - ol := new(windows.Overlapped) - var n uint32 - err := windows.ReadFile(windows.Handle(l.fd), contents, &n, ol) - if err != nil && err != windows.ERROR_HANDLE_EOF { - return LastWrite{}, err - } - // It is important to handle the partial read case, because - // the initial size of the lock file is zero, which is a valid - // state (no writes yet) - contents = contents[:n] - return newLastWriteFromData(contents), nil + return LastWrite{}, nil } // RecordWrite updates the lock with a new LastWrite value, and returns the new value. @@ -51,49 +102,51 @@ func (l *LockFile) GetLastWrite() (LastWrite, error) { // // The caller must hold the lock for writing. func (l *LockFile) RecordWrite() (LastWrite, error) { - l.AssertLockedForWriting() - lw := newLastWrite() - lockContents := lw.serialize() - ol := new(windows.Overlapped) - var n uint32 - err := windows.WriteFile(windows.Handle(l.fd), lockContents, &n, ol) - if err != nil { - return LastWrite{}, err - } - if int(n) != len(lockContents) { - return LastWrite{}, windows.ERROR_DISK_FULL - } - return lw, nil + return LastWrite{}, nil } -// TouchedSince indicates if the lock file has been touched since the specified time -func (l *LockFile) TouchedSince(when time.Time) bool { - stat, err := os.Stat(l.file) - if err != nil { - return true - } - return when.Before(stat.ModTime()) +// ModifiedSince checks if the lock has been changed since a provided LastWrite value, +// and returns the one to record instead. +// +// If ModifiedSince reports no modification, the previous LastWrite value +// is still valid and can continue to be used. +// +// If this function fails, the LastWriter value of the lock is indeterminate; +// the caller should fail and keep using the previously-recorded LastWrite value, +// so that it continues failing until the situation is resolved. Similarly, +// it should only update the recorded LastWrite value after processing the update: +// +// lw2, modified, err := state.lock.ModifiedSince(state.lastWrite) +// if err != nil { /* fail */ } +// state.lastWrite = lw2 +// if modified { +// if err := reload(); err != nil { /* fail */ } +// state.lastWrite = lw2 +// } +// +// The caller must hold the lock (for reading or writing). +func (l *LockFile) ModifiedSince(previous LastWrite) (LastWrite, bool, error) { + return LastWrite{}, false, nil } -func openHandle(path string, mode int) (fileHandle, error) { - mode |= windows.O_CLOEXEC - fd, err := windows.Open(path, mode, windows.S_IWRITE) - return fileHandle(fd), err +// Deprecated: Use *LockFile.ModifiedSince. +func (l *LockFile) Modified() (bool, error) { + return false, nil } -func lockHandle(fd fileHandle, lType lockType) { - flags := 0 - if lType != readLock { - flags = windows.LOCKFILE_EXCLUSIVE_LOCK - } - ol := new(windows.Overlapped) - if err := windows.LockFileEx(windows.Handle(fd), uint32(flags), reserved, allBytes, allBytes, ol); err != nil { - panic(err) - } +// Deprecated: Use *LockFile.RecordWrite. +func (l *LockFile) Touch() error { + return nil } -func unlockAndCloseHandle(fd fileHandle) { - ol := new(windows.Overlapped) - windows.UnlockFileEx(windows.Handle(fd), reserved, allBytes, allBytes, ol) - windows.Close(windows.Handle(fd)) +func (l *LockFile) IsReadWrite() bool { + return false +} + +func (l *LockFile) TouchedSince(when time.Time) bool { + stat, err := os.Stat(l.file) + if err != nil { + return true + } + return when.Before(stat.ModTime()) } diff --git a/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go b/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go index 40d8fd2b89..b8bfa58977 100644 --- a/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go +++ b/vendor/github.com/containers/storage/pkg/loopback/attach_loopback.go @@ -114,16 +114,6 @@ func openNextAvailableLoopback(index int, sparseName string, sparseFile *os.File // AttachLoopDevice attaches the given sparse file to the next // available loopback device. It returns an opened *os.File. func AttachLoopDevice(sparseName string) (loop *os.File, err error) { - return attachLoopDevice(sparseName, false) -} - -// AttachLoopDeviceRO attaches the given sparse file opened read-only to -// the next available loopback device. It returns an opened *os.File. -func AttachLoopDeviceRO(sparseName string) (loop *os.File, err error) { - return attachLoopDevice(sparseName, true) -} - -func attachLoopDevice(sparseName string, readonly bool) (loop *os.File, err error) { // Try to retrieve the next available loopback device via syscall. // If it fails, we discard error and start looping for a // loopback from index 0. @@ -132,14 +122,8 @@ func attachLoopDevice(sparseName string, readonly bool) (loop *os.File, err erro logrus.Debugf("Error retrieving the next available loopback: %s", err) } - var sparseFile *os.File - // OpenFile adds O_CLOEXEC - if readonly { - sparseFile, err = os.OpenFile(sparseName, os.O_RDONLY, 0o644) - } else { - sparseFile, err = os.OpenFile(sparseName, os.O_RDWR, 0o644) - } + sparseFile, err := os.OpenFile(sparseName, os.O_RDWR, 0o644) if err != nil { logrus.Errorf("Opening sparse file: %v", err) return nil, ErrAttachLoopbackDevice diff --git a/vendor/github.com/containers/storage/pkg/system/rm.go b/vendor/github.com/containers/storage/pkg/system/rm.go index 12243707ac..5917fa251d 100644 --- a/vendor/github.com/containers/storage/pkg/system/rm.go +++ b/vendor/github.com/containers/storage/pkg/system/rm.go @@ -28,7 +28,7 @@ func EnsureRemoveAll(dir string) error { // track retries exitOnErr := make(map[string]int) - maxRetry := 1000 + maxRetry := 100 // Attempt a simple remove all first, this avoids the more expensive // RecursiveUnmount call if not needed. @@ -38,7 +38,7 @@ func EnsureRemoveAll(dir string) error { // Attempt to unmount anything beneath this dir first if err := mount.RecursiveUnmount(dir); err != nil { - logrus.Debugf("RecursiveUnmount on %s failed: %v", dir, err) + logrus.Debugf("RecusiveUnmount on %s failed: %v", dir, err) } for { @@ -94,6 +94,6 @@ func EnsureRemoveAll(dir string) error { return err } exitOnErr[pe.Path]++ - time.Sleep(10 * time.Millisecond) + time.Sleep(100 * time.Millisecond) } } diff --git a/vendor/github.com/containers/storage/pkg/system/stat_unix.go b/vendor/github.com/containers/storage/pkg/system/stat_unix.go index e552e91d7a..47ae899f8b 100644 --- a/vendor/github.com/containers/storage/pkg/system/stat_unix.go +++ b/vendor/github.com/containers/storage/pkg/system/stat_unix.go @@ -7,8 +7,6 @@ import ( "os" "strconv" "syscall" - - "golang.org/x/sys/unix" ) // StatT type contains status of a file. It contains metadata @@ -59,10 +57,6 @@ func (s StatT) Dev() uint64 { return s.dev } -func (s StatT) IsDir() bool { - return (s.mode & unix.S_IFDIR) != 0 -} - // Stat takes a path to a file and returns // a system.StatT type pertaining to that file. // diff --git a/vendor/github.com/containers/storage/pkg/system/stat_windows.go b/vendor/github.com/containers/storage/pkg/system/stat_windows.go index 828be20882..6d5c6c142e 100644 --- a/vendor/github.com/containers/storage/pkg/system/stat_windows.go +++ b/vendor/github.com/containers/storage/pkg/system/stat_windows.go @@ -48,10 +48,6 @@ func (s StatT) Dev() uint64 { return 0 } -func (s StatT) IsDir() bool { - return s.Mode().IsDir() -} - // Stat takes a path to a file and returns // a system.StatT type pertaining to that file. // diff --git a/vendor/github.com/containers/storage/pkg/unshare/unshare_darwin.go b/vendor/github.com/containers/storage/pkg/unshare/unshare_darwin.go index 480e2fcb09..86ac12ecab 100644 --- a/vendor/github.com/containers/storage/pkg/unshare/unshare_darwin.go +++ b/vendor/github.com/containers/storage/pkg/unshare/unshare_darwin.go @@ -25,11 +25,6 @@ func GetRootlessUID() int { return os.Getuid() } -// GetRootlessGID returns the GID of the user in the parent userNS -func GetRootlessGID() int { - return os.Getgid() -} - // RootlessEnv returns the environment settings for the rootless containers func RootlessEnv() []string { return append(os.Environ(), UsernsEnvName+"=") diff --git a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go index a8dc1ba038..e169633d05 100644 --- a/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go +++ b/vendor/github.com/containers/storage/pkg/unshare/unshare_linux.go @@ -441,16 +441,6 @@ func GetRootlessUID() int { return os.Getuid() } -// GetRootlessGID returns the GID of the user in the parent userNS -func GetRootlessGID() int { - gidEnv := getenv("_CONTAINERS_ROOTLESS_GID") - if gidEnv != "" { - u, _ := strconv.Atoi(gidEnv) - return u - } - return os.Getgid() -} - // RootlessEnv returns the environment settings for the rootless containers func RootlessEnv() []string { return append(os.Environ(), UsernsEnvName+"=done") diff --git a/vendor/github.com/containers/storage/pkg/unshare/unshare_unsupported.go b/vendor/github.com/containers/storage/pkg/unshare/unshare_unsupported.go index 83de680c20..66dd545966 100644 --- a/vendor/github.com/containers/storage/pkg/unshare/unshare_unsupported.go +++ b/vendor/github.com/containers/storage/pkg/unshare/unshare_unsupported.go @@ -25,11 +25,6 @@ func GetRootlessUID() int { return os.Getuid() } -// GetRootlessGID returns the GID of the user in the parent userNS -func GetRootlessGID() int { - return os.Getgid() -} - // RootlessEnv returns the environment settings for the rootless containers func RootlessEnv() []string { return append(os.Environ(), UsernsEnvName+"=") diff --git a/vendor/github.com/containers/storage/storage.conf b/vendor/github.com/containers/storage/storage.conf index cb4525f27d..93a9a236e7 100644 --- a/vendor/github.com/containers/storage/storage.conf +++ b/vendor/github.com/containers/storage/storage.conf @@ -27,10 +27,6 @@ runroot = "/run/containers/storage" # restorecon -R -v /NEWSTORAGEPATH graphroot = "/var/lib/containers/storage" -# Optional alternate location of image store if a location separate from the -# container store is required. If set, it must be different than graphroot. -# imagestore = "" - # Storage path for rootless users # diff --git a/vendor/github.com/containers/storage/storage.conf-freebsd b/vendor/github.com/containers/storage/storage.conf-freebsd index c8abee64fb..34d80152c0 100644 --- a/vendor/github.com/containers/storage/storage.conf-freebsd +++ b/vendor/github.com/containers/storage/storage.conf-freebsd @@ -22,10 +22,6 @@ runroot = "/var/run/containers/storage" # Primary Read/Write location of container storage graphroot = "/var/db/containers/storage" -# Optional value for image storage location -# If set, it must be different than graphroot. - -# imagestore = "" # Storage path for rootless users # diff --git a/vendor/github.com/containers/storage/store.go b/vendor/github.com/containers/storage/store.go index 6753b296ff..14c1edd7f8 100644 --- a/vendor/github.com/containers/storage/store.go +++ b/vendor/github.com/containers/storage/store.go @@ -142,7 +142,6 @@ type Store interface { // settings that were passed to GetStore() when the object was created. RunRoot() string GraphRoot() string - ImageStore() string TransientStore() bool GraphDriverName() string GraphOptions() []string @@ -863,10 +862,6 @@ func (s *store) GraphRoot() string { return s.graphRoot } -func (s *store) ImageStore() string { - return s.imageStoreDir -} - func (s *store) TransientStore() bool { return s.transientStore } @@ -1464,7 +1459,6 @@ func (s *store) PutLayer(id, parent string, names []string, mountLabel string, w layerOptions := LayerOptions{ OriginalDigest: options.OriginalDigest, UncompressedDigest: options.UncompressedDigest, - Flags: options.Flags, } if s.canUseShifting(uidMap, gidMap) { layerOptions.IDMappingOptions = types.IDMappingOptions{HostUIDMapping: true, HostGIDMapping: true, UIDMap: nil, GIDMap: nil} @@ -2666,23 +2660,34 @@ func (s *store) DeleteContainer(id string) error { } var wg multierror.Group + wg.Go(func() error { return s.containerStore.Delete(id) }) middleDir := s.graphDriverName + "-containers" wg.Go(func() error { gcpath := filepath.Join(s.GraphRoot(), middleDir, container.ID) + // attempt a simple rm -rf first + if err := os.RemoveAll(gcpath); err == nil { + return nil + } + // and if it fails get to the more complicated cleanup return system.EnsureRemoveAll(gcpath) }) wg.Go(func() error { rcpath := filepath.Join(s.RunRoot(), middleDir, container.ID) + // attempt a simple rm -rf first + if err := os.RemoveAll(rcpath); err == nil { + return nil + } + // and if it fails get to the more complicated cleanup return system.EnsureRemoveAll(rcpath) }) if multierr := wg.Wait(); multierr != nil { return multierr.ErrorOrNil() } - return s.containerStore.Delete(id) + return nil }) } @@ -3407,16 +3412,16 @@ func (s *store) Shutdown(force bool) ([]string, error) { err = fmt.Errorf("a layer is mounted: %w", ErrLayerUsedByContainer) } if err == nil { + err = s.graphDriver.Cleanup() // We don’t retain the lastWrite value, and treat this update as if someone else did the .Cleanup(), // so that we reload after a .Shutdown() the same way other processes would. // Shutdown() is basically an error path, so reliability is more important than performance. if _, err2 := s.graphLock.RecordWrite(); err2 != nil { - err = fmt.Errorf("graphLock.RecordWrite failed: %w", err2) - } - // Do the Cleanup() only after we are sure that the change was recorded with RecordWrite(), so that - // the next user picks it. - if err == nil { - err = s.graphDriver.Cleanup() + if err == nil { + err = err2 + } else { + err = fmt.Errorf("(graphLock.RecordWrite failed: %v) %w", err2, err) + } } } return mounted, err diff --git a/vendor/github.com/containers/storage/types/options.go b/vendor/github.com/containers/storage/types/options.go index 5ae667a493..3ff00ac647 100644 --- a/vendor/github.com/containers/storage/types/options.go +++ b/vendor/github.com/containers/storage/types/options.go @@ -179,10 +179,6 @@ func defaultStoreOptionsIsolated(rootless bool, rootlessUID int, storageConf str storageOpts.RootlessStoragePath = storagePath } - if storageOpts.ImageStore != "" && storageOpts.ImageStore == storageOpts.GraphRoot { - return storageOpts, fmt.Errorf("imagestore %s must either be not set or be a different than graphroot", storageOpts.ImageStore) - } - return storageOpts, nil } @@ -220,8 +216,9 @@ type StoreOptions struct { // GraphRoot is the filesystem path under which we will store the // contents of layers, images, and containers. GraphRoot string `json:"root,omitempty"` - // Image Store is the alternate location of image store if a location - // separate from the container store is required. + // Image Store is the location of image store which is seperated from the + // container store. Usually this is not recommended unless users wants + // seperate store for image and containers. ImageStore string `json:"imagestore,omitempty"` // RootlessStoragePath is the storage path for rootless users // default $HOME/.local/share/containers/storage diff --git a/vendor/github.com/cyberphone/json-canonicalization/LICENSE b/vendor/github.com/cyberphone/json-canonicalization/LICENSE deleted file mode 100644 index 591211595a..0000000000 --- a/vendor/github.com/cyberphone/json-canonicalization/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ - Copyright 2018 Anders Rundgren - - 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 - - https://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. diff --git a/vendor/github.com/cyberphone/json-canonicalization/go/src/webpki.org/jsoncanonicalizer/es6numfmt.go b/vendor/github.com/cyberphone/json-canonicalization/go/src/webpki.org/jsoncanonicalizer/es6numfmt.go deleted file mode 100644 index 92574a3f4f..0000000000 --- a/vendor/github.com/cyberphone/json-canonicalization/go/src/webpki.org/jsoncanonicalizer/es6numfmt.go +++ /dev/null @@ -1,71 +0,0 @@ -// -// Copyright 2006-2019 WebPKI.org (http://webpki.org). -// -// 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 -// -// https://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. -// - -// This package converts numbers in IEEE-754 double precision into the -// format specified for JSON in EcmaScript Version 6 and forward. -// The core application for this is canonicalization: -// https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-02 - -package jsoncanonicalizer - -import ( - "errors" - "math" - "strconv" - "strings" -) - -const invalidPattern uint64 = 0x7ff0000000000000 - -func NumberToJSON(ieeeF64 float64) (res string, err error) { - ieeeU64 := math.Float64bits(ieeeF64) - - // Special case: NaN and Infinity are invalid in JSON - if (ieeeU64 & invalidPattern) == invalidPattern { - return "null", errors.New("Invalid JSON number: " + strconv.FormatUint(ieeeU64, 16)) - } - - // Special case: eliminate "-0" as mandated by the ES6-JSON/JCS specifications - if ieeeF64 == 0 { // Right, this line takes both -0 and 0 - return "0", nil - } - - // Deal with the sign separately - var sign string = "" - if ieeeF64 < 0 { - ieeeF64 =-ieeeF64 - sign = "-" - } - - // ES6 has a unique "g" format - var format byte = 'e' - if ieeeF64 < 1e+21 && ieeeF64 >= 1e-6 { - format = 'f' - } - - // The following should do the trick: - es6Formatted := strconv.FormatFloat(ieeeF64, format, -1, 64) - - // Minor cleanup - exponent := strings.IndexByte(es6Formatted, 'e') - if exponent > 0 { - // Go outputs "1e+09" which must be rewritten as "1e+9" - if es6Formatted[exponent + 2] == '0' { - es6Formatted = es6Formatted[:exponent + 2] + es6Formatted[exponent + 3:] - } - } - return sign + es6Formatted, nil -} diff --git a/vendor/github.com/cyberphone/json-canonicalization/go/src/webpki.org/jsoncanonicalizer/jsoncanonicalizer.go b/vendor/github.com/cyberphone/json-canonicalization/go/src/webpki.org/jsoncanonicalizer/jsoncanonicalizer.go deleted file mode 100644 index 661f41055e..0000000000 --- a/vendor/github.com/cyberphone/json-canonicalization/go/src/webpki.org/jsoncanonicalizer/jsoncanonicalizer.go +++ /dev/null @@ -1,378 +0,0 @@ -// -// Copyright 2006-2019 WebPKI.org (http://webpki.org). -// -// 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 -// -// https://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. -// - -// This package transforms JSON data in UTF-8 according to: -// https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-02 - -package jsoncanonicalizer - -import ( - "errors" - "container/list" - "fmt" - "strconv" - "strings" - "unicode/utf16" -) - -type nameValueType struct { - name string - sortKey []uint16 - value string -} - -// JSON standard escapes (modulo \u) -var asciiEscapes = []byte{'\\', '"', 'b', 'f', 'n', 'r', 't'} -var binaryEscapes = []byte{'\\', '"', '\b', '\f', '\n', '\r', '\t'} - -// JSON literals -var literals = []string{"true", "false", "null"} - -func Transform(jsonData []byte) (result []byte, e error) { - - // JSON data MUST be UTF-8 encoded - var jsonDataLength int = len(jsonData) - - // Current pointer in jsonData - var index int = 0 - - // "Forward" declarations are needed for closures referring each other - var parseElement func() string - var parseSimpleType func() string - var parseQuotedString func() string - var parseObject func() string - var parseArray func() string - - var globalError error = nil - - checkError := func(e error) { - // We only honor the first reported error - if globalError == nil { - globalError = e - } - } - - setError := func(msg string) { - checkError(errors.New(msg)) - } - - isWhiteSpace := func(c byte) bool { - return c == 0x20 || c == 0x0a || c == 0x0d || c == 0x09 - } - - nextChar := func() byte { - if index < jsonDataLength { - c := jsonData[index] - if c > 0x7f { - setError("Unexpected non-ASCII character") - } - index++ - return c - } - setError("Unexpected EOF reached") - return '"' - } - - scan := func() byte { - for { - c := nextChar() - if isWhiteSpace(c) { - continue; - } - return c - } - } - - scanFor := func(expected byte) { - c := scan() - if c != expected { - setError("Expected '" + string(expected) + "' but got '" + string(c) + "'") - } - } - - getUEscape := func() rune { - start := index - nextChar() - nextChar() - nextChar() - nextChar() - if globalError != nil { - return 0 - } - u16, err := strconv.ParseUint(string(jsonData[start:index]), 16, 64) - checkError(err) - return rune(u16) - } - - testNextNonWhiteSpaceChar := func() byte { - save := index - c := scan() - index = save - return c - } - - decorateString := func(rawUTF8 string) string { - var quotedString strings.Builder - quotedString.WriteByte('"') - CoreLoop: - for _, c := range []byte(rawUTF8) { - // Is this within the JSON standard escapes? - for i, esc := range binaryEscapes { - if esc == c { - quotedString.WriteByte('\\') - quotedString.WriteByte(asciiEscapes[i]) - continue CoreLoop - } - } - if c < 0x20 { - // Other ASCII control characters must be escaped with \uhhhh - quotedString.WriteString(fmt.Sprintf("\\u%04x", c)) - } else { - quotedString.WriteByte(c) - } - } - quotedString.WriteByte('"') - return quotedString.String() - } - - parseQuotedString = func() string { - var rawString strings.Builder - CoreLoop: - for globalError == nil { - var c byte - if index < jsonDataLength { - c = jsonData[index] - index++ - } else { - nextChar() - break - } - if (c == '"') { - break; - } - if c < ' ' { - setError("Unterminated string literal") - } else if c == '\\' { - // Escape sequence - c = nextChar() - if c == 'u' { - // The \u escape - firstUTF16 := getUEscape() - if utf16.IsSurrogate(firstUTF16) { - // If the first UTF-16 code unit has a certain value there must be - // another succeeding UTF-16 code unit as well - if nextChar() != '\\' || nextChar() != 'u' { - setError("Missing surrogate") - } else { - // Output the UTF-32 code point as UTF-8 - rawString.WriteRune(utf16.DecodeRune(firstUTF16, getUEscape())) - } - } else { - // Single UTF-16 code identical to UTF-32. Output as UTF-8 - rawString.WriteRune(firstUTF16) - } - } else if c == '/' { - // Benign but useless escape - rawString.WriteByte('/') - } else { - // The JSON standard escapes - for i, esc := range asciiEscapes { - if esc == c { - rawString.WriteByte(binaryEscapes[i]) - continue CoreLoop - } - } - setError("Unexpected escape: \\" + string(c)) - } - } else { - // Just an ordinary ASCII character alternatively a UTF-8 byte - // outside of ASCII. - // Note that properly formatted UTF-8 never clashes with ASCII - // making byte per byte search for ASCII break characters work - // as expected. - rawString.WriteByte(c) - } - } - return rawString.String() - } - - parseSimpleType = func() string { - var token strings.Builder - index-- - for globalError == nil { - c := testNextNonWhiteSpaceChar() - if c == ',' || c == ']' || c == '}' { - break; - } - c = nextChar() - if isWhiteSpace(c) { - break - } - token.WriteByte(c) - } - if token.Len() == 0 { - setError("Missing argument") - } - value := token.String() - // Is it a JSON literal? - for _, literal := range literals { - if literal == value { - return literal - } - } - // Apparently not so we assume that it is a I-JSON number - ieeeF64, err := strconv.ParseFloat(value, 64) - checkError(err) - value, err = NumberToJSON(ieeeF64) - checkError(err) - return value - } - - parseElement = func() string { - switch scan() { - case '{': - return parseObject() - case '"': - return decorateString(parseQuotedString()) - case '[': - return parseArray() - default: - return parseSimpleType() - } - } - - parseArray = func() string { - var arrayData strings.Builder - arrayData.WriteByte('[') - var next bool = false - for globalError == nil && testNextNonWhiteSpaceChar() != ']' { - if next { - scanFor(',') - arrayData.WriteByte(',') - } else { - next = true - } - arrayData.WriteString(parseElement()) - } - scan() - arrayData.WriteByte(']') - return arrayData.String() - } - - lexicographicallyPrecedes := func(sortKey []uint16, e *list.Element) bool { - // Find the minimum length of the sortKeys - oldSortKey := e.Value.(nameValueType).sortKey - minLength := len(oldSortKey) - if minLength > len(sortKey) { - minLength = len(sortKey) - } - for q := 0; q < minLength; q++ { - diff := int(sortKey[q]) - int(oldSortKey[q]) - if diff < 0 { - // Smaller => Precedes - return true - } else if diff > 0 { - // Bigger => No match - return false - } - // Still equal => Continue - } - // The sortKeys compared equal up to minLength - if len(sortKey) < len(oldSortKey) { - // Shorter => Precedes - return true - } - if len(sortKey) == len(oldSortKey) { - setError("Duplicate key: " + e.Value.(nameValueType).name) - } - // Longer => No match - return false - } - - parseObject = func() string { - nameValueList := list.New() - var next bool = false - CoreLoop: - for globalError == nil && testNextNonWhiteSpaceChar() != '}' { - if next { - scanFor(',') - } - next = true - scanFor('"') - rawUTF8 := parseQuotedString() - if globalError != nil { - break; - } - // Sort keys on UTF-16 code units - // Since UTF-8 doesn't have endianess this is just a value transformation - // In the Go case the transformation is UTF-8 => UTF-32 => UTF-16 - sortKey := utf16.Encode([]rune(rawUTF8)) - scanFor(':') - nameValue := nameValueType{rawUTF8, sortKey, parseElement()} - for e := nameValueList.Front(); e != nil; e = e.Next() { - // Check if the key is smaller than a previous key - if lexicographicallyPrecedes(sortKey, e) { - // Precedes => Insert before and exit sorting - nameValueList.InsertBefore(nameValue, e) - continue CoreLoop - } - // Continue searching for a possibly succeeding sortKey - // (which is straightforward since the list is ordered) - } - // The sortKey is either the first or is succeeding all previous sortKeys - nameValueList.PushBack(nameValue) - } - // Scan away '}' - scan() - // Now everything is sorted so we can properly serialize the object - var objectData strings.Builder - objectData.WriteByte('{') - next = false - for e := nameValueList.Front(); e != nil; e = e.Next() { - if next { - objectData.WriteByte(',') - } - next = true - nameValue := e.Value.(nameValueType) - objectData.WriteString(decorateString(nameValue.name)) - objectData.WriteByte(':') - objectData.WriteString(nameValue.value) - } - objectData.WriteByte('}') - return objectData.String() - } - - ///////////////////////////////////////////////// - // This is where Transform actually begins... // - ///////////////////////////////////////////////// - var transformed string - - if testNextNonWhiteSpaceChar() == '[' { - scan() - transformed = parseArray() - } else { - scanFor('{') - transformed = parseObject() - } - for index < jsonDataLength { - if !isWhiteSpace(jsonData[index]) { - setError("Improperly terminated JSON object") - break; - } - index++ - } - return []byte(transformed), globalError -} \ No newline at end of file diff --git a/vendor/github.com/docker/distribution/.dockerignore b/vendor/github.com/docker/distribution/.dockerignore new file mode 100644 index 0000000000..e660fd93d3 --- /dev/null +++ b/vendor/github.com/docker/distribution/.dockerignore @@ -0,0 +1 @@ +bin/ diff --git a/vendor/github.com/docker/distribution/.gitignore b/vendor/github.com/docker/distribution/.gitignore new file mode 100644 index 0000000000..4cf7888e92 --- /dev/null +++ b/vendor/github.com/docker/distribution/.gitignore @@ -0,0 +1,38 @@ +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test +*.prof + +# never checkin from the bin file (for now) +bin/* + +# Test key files +*.pem + +# Cover profiles +*.out + +# Editor/IDE specific files. +*.sublime-project +*.sublime-workspace +.idea/* diff --git a/vendor/github.com/docker/distribution/.golangci.yml b/vendor/github.com/docker/distribution/.golangci.yml new file mode 100644 index 0000000000..61dd0e00eb --- /dev/null +++ b/vendor/github.com/docker/distribution/.golangci.yml @@ -0,0 +1,33 @@ +linters: + enable: + - staticcheck + - unconvert + - gofmt + - goimports + - golint + - ineffassign + - vet + - unused + - misspell + disable: + - errcheck + +linters-settings: + revive: + rules: + # TODO(thaJeztah): temporarily disabled the "unused-parameter" check. + # It produces many warnings, and some of those may need to be looked at. + - name: unused-parameter + disabled: true + +run: + deadline: 2m + skip-dirs: + - vendor + +issues: + exclude-rules: + # io/ioutil is deprecated, but won't be removed until Go v2. It's safe to ignore for the release/2.8 branch. + - text: "SA1019: \"io/ioutil\" has been deprecated since Go 1.16" + linters: + - staticcheck diff --git a/vendor/github.com/docker/distribution/.mailmap b/vendor/github.com/docker/distribution/.mailmap new file mode 100644 index 0000000000..d7b832d9ea --- /dev/null +++ b/vendor/github.com/docker/distribution/.mailmap @@ -0,0 +1,54 @@ +Stephen J Day Stephen Day +Stephen J Day Stephen Day +Olivier Gambier Olivier Gambier +Brian Bland Brian Bland +Brian Bland Brian Bland +Josh Hawn Josh Hawn +Richard Scothern Richard +Richard Scothern Richard Scothern +Andrew Meredith Andrew Meredith +harche harche +Jessie Frazelle +Sharif Nassar Sharif Nassar +Sven Dowideit Sven Dowideit +Vincent Giersch Vincent Giersch +davidli davidli +Omer Cohen Omer Cohen +Eric Yang Eric Yang +Nikita Tarasov Nikita +Yu Wang yuwaMSFT2 +Yu Wang Yu Wang (UC) +Olivier Gambier dmp +Olivier Gambier Olivier +Olivier Gambier Olivier +Elsan Li 李楠 elsanli(李楠) +Rui Cao ruicao +Gwendolynne Barr gbarr01 +Haibing Zhou 周海兵 zhouhaibing089 +Feng Honglin tifayuki +Helen Xie Helen-xie +Mike Brown Mike Brown +Manish Tomar Manish Tomar +Sakeven Jiang sakeven +Milos Gajdos Milos Gajdos +Derek McGowan Derek McGowa +Adrian Plata Adrian Plata <@users.noreply.github.com> +Sebastiaan van Stijn Sebastiaan van Stijn +Vishesh Jindal Vishesh Jindal +Wang Yan Wang Yan +Chris Patterson Chris Patterson +Eohyung Lee Eohyung Lee +João Pereira <484633+joaodrp@users.noreply.github.com> +Smasherr Smasherr +Thomas Berger Thomas Berger +Samuel Karp Samuel Karp +Justin Cormack +sayboras +CrazyMax <1951866+crazy-max@users.noreply.github.com> +Hayley Swimelar +Jose D. Gomez R +Shengjing Zhu +Silvin Lubecki <31478878+silvin-lubecki@users.noreply.github.com> +James Hewitt +Marcus Pettersen Irgens +Ben Manuel diff --git a/vendor/github.com/docker/distribution/BUILDING.md b/vendor/github.com/docker/distribution/BUILDING.md new file mode 100644 index 0000000000..4c43b03cb7 --- /dev/null +++ b/vendor/github.com/docker/distribution/BUILDING.md @@ -0,0 +1,117 @@ + +# Building the registry source + +## Use-case + +This is useful if you intend to actively work on the registry. + +### Alternatives + +Most people should use the [official Registry docker image](https://hub.docker.com/r/library/registry/). + +People looking for advanced operational use cases might consider rolling their own image with a custom Dockerfile inheriting `FROM registry:2`. + +OS X users who want to run natively can do so following [the instructions here](https://github.com/docker/docker.github.io/blob/master/registry/recipes/osx-setup-guide.md). + +### Gotchas + +You are expected to know your way around with go & git. + +If you are a casual user with no development experience, and no preliminary knowledge of go, building from source is probably not a good solution for you. + +## Build the development environment + +The first prerequisite of properly building distribution targets is to have a Go +development environment setup. Please follow [How to Write Go Code](https://golang.org/doc/code.html) +for proper setup. If done correctly, you should have a GOROOT and GOPATH set in the +environment. + +If a Go development environment is setup, one can use `go get` to install the +`registry` command from the current latest: + + go get github.com/docker/distribution/cmd/registry + +The above will install the source repository into the `GOPATH`. + +Now create the directory for the registry data (this might require you to set permissions properly) + + mkdir -p /var/lib/registry + +... or alternatively `export REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/somewhere` if you want to store data into another location. + +The `registry` +binary can then be run with the following: + + $ $GOPATH/bin/registry --version + $GOPATH/bin/registry github.com/docker/distribution v2.0.0-alpha.1+unknown + +> __NOTE:__ While you do not need to use `go get` to checkout the distribution +> project, for these build instructions to work, the project must be checked +> out in the correct location in the `GOPATH`. This should almost always be +> `$GOPATH/src/github.com/docker/distribution`. + +The registry can be run with the default config using the following +incantation: + + $ $GOPATH/bin/registry serve $GOPATH/src/github.com/docker/distribution/cmd/registry/config-example.yml + INFO[0000] endpoint local-5003 disabled, skipping app.id=34bbec38-a91a-494a-9a3f-b72f9010081f version=v2.0.0-alpha.1+unknown + INFO[0000] endpoint local-8083 disabled, skipping app.id=34bbec38-a91a-494a-9a3f-b72f9010081f version=v2.0.0-alpha.1+unknown + INFO[0000] listening on :5000 app.id=34bbec38-a91a-494a-9a3f-b72f9010081f version=v2.0.0-alpha.1+unknown + INFO[0000] debug server listening localhost:5001 + +If it is working, one should see the above log messages. + +### Repeatable Builds + +For the full development experience, one should `cd` into +`$GOPATH/src/github.com/docker/distribution`. From there, the regular `go` +commands, such as `go test`, should work per package (please see +[Developing](#developing) if they don't work). + +A `Makefile` has been provided as a convenience to support repeatable builds. +Please install the following into `GOPATH` for it to work: + + go get github.com/golang/lint/golint + +Once these commands are available in the `GOPATH`, run `make` to get a full +build: + + $ make + + clean + + fmt + + vet + + lint + + build + github.com/docker/docker/vendor/src/code.google.com/p/go/src/pkg/archive/tar + github.com/sirupsen/logrus + github.com/docker/libtrust + ... + github.com/yvasiyarov/gorelic + github.com/docker/distribution/registry/handlers + github.com/docker/distribution/cmd/registry + + test + ... + ok github.com/docker/distribution/digest 7.875s + ok github.com/docker/distribution/manifest 0.028s + ok github.com/docker/distribution/notifications 17.322s + ? github.com/docker/distribution/registry [no test files] + ok github.com/docker/distribution/registry/api/v2 0.101s + ? github.com/docker/distribution/registry/auth [no test files] + ok github.com/docker/distribution/registry/auth/silly 0.011s + ... + + /Users/sday/go/src/github.com/docker/distribution/bin/registry + + /Users/sday/go/src/github.com/docker/distribution/bin/registry-api-descriptor-template + + binaries + +The above provides a repeatable build using the contents of the vendor +directory. This includes formatting, vetting, linting, building, +testing and generating tagged binaries. We can verify this worked by running +the registry binary generated in the "./bin" directory: + + $ ./bin/registry --version + ./bin/registry github.com/docker/distribution v2.0.0-alpha.2-80-g16d8b2c.m + +### Optional build tags + +Optional [build tags](http://golang.org/pkg/go/build/) can be provided using +the environment variable `BUILDTAGS`. diff --git a/vendor/github.com/docker/distribution/CONTRIBUTING.md b/vendor/github.com/docker/distribution/CONTRIBUTING.md new file mode 100644 index 0000000000..4c067d9e7e --- /dev/null +++ b/vendor/github.com/docker/distribution/CONTRIBUTING.md @@ -0,0 +1,148 @@ +# Contributing to the registry + +## Before reporting an issue... + +### If your problem is with... + + - automated builds + - your account on the [Docker Hub](https://hub.docker.com/) + - any other [Docker Hub](https://hub.docker.com/) issue + +Then please do not report your issue here - you should instead report it to [https://support.docker.com](https://support.docker.com) + +### If you... + + - need help setting up your registry + - can't figure out something + - are not sure what's going on or what your problem is + +Then please do not open an issue here yet - you should first try one of the following support forums: + + - irc: #docker-distribution on freenode + - mailing-list: or https://groups.google.com/a/dockerproject.org/forum/#!forum/distribution + +### Reporting security issues + +The Docker maintainers take security seriously. If you discover a security +issue, please bring it to their attention right away! + +Please **DO NOT** file a public issue, instead send your report privately to +[security@docker.com](mailto:security@docker.com). + +## Reporting an issue properly + +By following these simple rules you will get better and faster feedback on your issue. + + - search the bugtracker for an already reported issue + +### If you found an issue that describes your problem: + + - please read other user comments first, and confirm this is the same issue: a given error condition might be indicative of different problems - you may also find a workaround in the comments + - please refrain from adding "same thing here" or "+1" comments + - you don't need to comment on an issue to get notified of updates: just hit the "subscribe" button + - comment if you have some new, technical and relevant information to add to the case + - __DO NOT__ comment on closed issues or merged PRs. If you think you have a related problem, open up a new issue and reference the PR or issue. + +### If you have not found an existing issue that describes your problem: + + 1. create a new issue, with a succinct title that describes your issue: + - bad title: "It doesn't work with my docker" + - good title: "Private registry push fail: 400 error with E_INVALID_DIGEST" + 2. copy the output of: + - `docker version` + - `docker info` + - `docker exec registry --version` + 3. copy the command line you used to launch your Registry + 4. restart your docker daemon in debug mode (add `-D` to the daemon launch arguments) + 5. reproduce your problem and get your docker daemon logs showing the error + 6. if relevant, copy your registry logs that show the error + 7. provide any relevant detail about your specific Registry configuration (e.g., storage backend used) + 8. indicate if you are using an enterprise proxy, Nginx, or anything else between you and your Registry + +## Contributing a patch for a known bug, or a small correction + +You should follow the basic GitHub workflow: + + 1. fork + 2. commit a change + 3. make sure the tests pass + 4. PR + +Additionally, you must [sign your commits](https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work). It's very simple: + + - configure your name with git: `git config user.name "Real Name" && git config user.email mail@example.com` + - sign your commits using `-s`: `git commit -s -m "My commit"` + +Some simple rules to ensure quick merge: + + - clearly point to the issue(s) you want to fix in your PR comment (e.g., `closes #12345`) + - prefer multiple (smaller) PRs addressing individual issues over a big one trying to address multiple issues at once + - if you need to amend your PR following comments, please squash instead of adding more commits + +## Contributing new features + +You are heavily encouraged to first discuss what you want to do. You can do so on the irc channel, or by opening an issue that clearly describes the use case you want to fulfill, or the problem you are trying to solve. + +If this is a major new feature, you should then submit a proposal that describes your technical solution and reasoning. +If you did discuss it first, this will likely be greenlighted very fast. It's advisable to address all feedback on this proposal before starting actual work. + +Then you should submit your implementation, clearly linking to the issue (and possible proposal). + +Your PR will be reviewed by the community, then ultimately by the project maintainers, before being merged. + +It's mandatory to: + + - interact respectfully with other community members and maintainers - more generally, you are expected to abide by the [Docker community rules](https://github.com/docker/docker/blob/master/CONTRIBUTING.md#docker-community-guidelines) + - address maintainers' comments and modify your submission accordingly + - write tests for any new code + +Complying to these simple rules will greatly accelerate the review process, and will ensure you have a pleasant experience in contributing code to the Registry. + +Have a look at a great, successful contribution: the [Swift driver PR](https://github.com/docker/distribution/pull/493) + +## Coding Style + +Unless explicitly stated, we follow all coding guidelines from the Go +community. While some of these standards may seem arbitrary, they somehow seem +to result in a solid, consistent codebase. + +It is possible that the code base does not currently comply with these +guidelines. We are not looking for a massive PR that fixes this, since that +goes against the spirit of the guidelines. All new contributions should make a +best effort to clean up and make the code base better than they left it. +Obviously, apply your best judgement. Remember, the goal here is to make the +code base easier for humans to navigate and understand. Always keep that in +mind when nudging others to comply. + +The rules: + +1. All code should be formatted with `gofmt -s`. +2. All code should pass the default levels of + [`golint`](https://github.com/golang/lint). +3. All code should follow the guidelines covered in [Effective + Go](http://golang.org/doc/effective_go.html) and [Go Code Review + Comments](https://github.com/golang/go/wiki/CodeReviewComments). +4. Comment the code. Tell us the why, the history and the context. +5. Document _all_ declarations and methods, even private ones. Declare + expectations, caveats and anything else that may be important. If a type + gets exported, having the comments already there will ensure it's ready. +6. Variable name length should be proportional to its context and no longer. + `noCommaALongVariableNameLikeThisIsNotMoreClearWhenASimpleCommentWouldDo`. + In practice, short methods will have short variable names and globals will + have longer names. +7. No underscores in package names. If you need a compound name, step back, + and re-examine why you need a compound name. If you still think you need a + compound name, lose the underscore. +8. No utils or helpers packages. If a function is not general enough to + warrant its own package, it has not been written generally enough to be a + part of a util package. Just leave it unexported and well-documented. +9. All tests should run with `go test` and outside tooling should not be + required. No, we don't need another unit testing framework. Assertion + packages are acceptable if they provide _real_ incremental value. +10. Even though we call these "rules" above, they are actually just + guidelines. Since you've read all the rules, you now know that. + +If you are having trouble getting into the mood of idiomatic Go, we recommend +reading through [Effective Go](http://golang.org/doc/effective_go.html). The +[Go Blog](http://blog.golang.org/) is also a great resource. Drinking the +kool-aid is a lot easier than going thirsty. diff --git a/vendor/github.com/docker/distribution/Dockerfile b/vendor/github.com/docker/distribution/Dockerfile new file mode 100644 index 0000000000..ebd42c242b --- /dev/null +++ b/vendor/github.com/docker/distribution/Dockerfile @@ -0,0 +1,60 @@ +# syntax=docker/dockerfile:1 + +ARG GO_VERSION=1.20.8 +ARG ALPINE_VERSION=3.18 +ARG XX_VERSION=1.2.1 + +FROM --platform=$BUILDPLATFORM tonistiigi/xx:${XX_VERSION} AS xx +FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS base +COPY --from=xx / / +RUN apk add --no-cache bash coreutils file git +ENV GO111MODULE=auto +ENV CGO_ENABLED=0 +WORKDIR /go/src/github.com/docker/distribution + +FROM base AS version +ARG PKG="github.com/docker/distribution" +RUN --mount=target=. \ + VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) REVISION=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi); \ + echo "-X ${PKG}/version.Version=${VERSION#v} -X ${PKG}/version.Revision=${REVISION} -X ${PKG}/version.Package=${PKG}" | tee /tmp/.ldflags; \ + echo -n "${VERSION}" | tee /tmp/.version; + +FROM base AS build +ARG TARGETPLATFORM +ARG LDFLAGS="-s -w" +ARG BUILDTAGS="include_oss,include_gcs" +RUN --mount=type=bind,target=/go/src/github.com/docker/distribution,rw \ + --mount=type=cache,target=/root/.cache/go-build \ + --mount=target=/go/pkg/mod,type=cache \ + --mount=type=bind,source=/tmp/.ldflags,target=/tmp/.ldflags,from=version \ + set -x ; xx-go build -tags "${BUILDTAGS}" -trimpath -ldflags "$(cat /tmp/.ldflags) ${LDFLAGS}" -o /usr/bin/registry ./cmd/registry \ + && xx-verify --static /usr/bin/registry + +FROM scratch AS binary +COPY --from=build /usr/bin/registry / + +FROM base AS releaser +ARG TARGETOS +ARG TARGETARCH +ARG TARGETVARIANT +WORKDIR /work +RUN --mount=from=binary,target=/build \ + --mount=type=bind,target=/src \ + --mount=type=bind,source=/tmp/.version,target=/tmp/.version,from=version \ + VERSION=$(cat /tmp/.version) \ + && mkdir -p /out \ + && cp /build/registry /src/README.md /src/LICENSE . \ + && tar -czvf "/out/registry_${VERSION#v}_${TARGETOS}_${TARGETARCH}${TARGETVARIANT}.tar.gz" * \ + && sha256sum -z "/out/registry_${VERSION#v}_${TARGETOS}_${TARGETARCH}${TARGETVARIANT}.tar.gz" | awk '{ print $1 }' > "/out/registry_${VERSION#v}_${TARGETOS}_${TARGETARCH}${TARGETVARIANT}.tar.gz.sha256" + +FROM scratch AS artifact +COPY --from=releaser /out / + +FROM alpine:${ALPINE_VERSION} +RUN apk add --no-cache ca-certificates +COPY cmd/registry/config-dev.yml /etc/docker/registry/config.yml +COPY --from=binary /registry /bin/registry +VOLUME ["/var/lib/registry"] +EXPOSE 5000 +ENTRYPOINT ["registry"] +CMD ["serve", "/etc/docker/registry/config.yml"] diff --git a/vendor/github.com/docker/distribution/MAINTAINERS b/vendor/github.com/docker/distribution/MAINTAINERS new file mode 100644 index 0000000000..3183620c57 --- /dev/null +++ b/vendor/github.com/docker/distribution/MAINTAINERS @@ -0,0 +1,243 @@ +# Distribution maintainers file +# +# This file describes who runs the docker/distribution project and how. +# This is a living document - if you see something out of date or missing, speak up! +# +# It is structured to be consumable by both humans and programs. +# To extract its contents programmatically, use any TOML-compliant parser. +# + +[Rules] + + [Rules.maintainers] + + title = "What is a maintainer?" + + text = """ +There are different types of maintainers, with different responsibilities, but +all maintainers have 3 things in common: + +1) They share responsibility in the project's success. +2) They have made a long-term, recurring time investment to improve the project. +3) They spend that time doing whatever needs to be done, not necessarily what +is the most interesting or fun. + +Maintainers are often under-appreciated, because their work is harder to appreciate. +It's easy to appreciate a really cool and technically advanced feature. It's harder +to appreciate the absence of bugs, the slow but steady improvement in stability, +or the reliability of a release process. But those things distinguish a good +project from a great one. +""" + + [Rules.reviewer] + + title = "What is a reviewer?" + + text = """ +A reviewer is a core role within the project. +They share in reviewing issues and pull requests and their LGTM count towards the +required LGTM count to merge a code change into the project. + +Reviewers are part of the organization but do not have write access. +Becoming a reviewer is a core aspect in the journey to becoming a maintainer. +""" + + [Rules.adding-maintainers] + + title = "How are maintainers added?" + + text = """ +Maintainers are first and foremost contributors that have shown they are +committed to the long term success of a project. Contributors wanting to become +maintainers are expected to be deeply involved in contributing code, pull +request review, and triage of issues in the project for more than three months. + +Just contributing does not make you a maintainer, it is about building trust +with the current maintainers of the project and being a person that they can +depend on and trust to make decisions in the best interest of the project. + +Periodically, the existing maintainers curate a list of contributors that have +shown regular activity on the project over the prior months. From this list, +maintainer candidates are selected and proposed on the maintainers mailing list. + +After a candidate has been announced on the maintainers mailing list, the +existing maintainers are given five business days to discuss the candidate, +raise objections and cast their vote. Candidates must be approved by at least 66% of the current maintainers by adding their vote on the mailing +list. Only maintainers of the repository that the candidate is proposed for are +allowed to vote. + +If a candidate is approved, a maintainer will contact the candidate to invite +the candidate to open a pull request that adds the contributor to the +MAINTAINERS file. The candidate becomes a maintainer once the pull request is +merged. +""" + + [Rules.stepping-down-policy] + + title = "Stepping down policy" + + text = """ +Life priorities, interests, and passions can change. If you're a maintainer but +feel you must remove yourself from the list, inform other maintainers that you +intend to step down, and if possible, help find someone to pick up your work. +At the very least, ensure your work can be continued where you left off. + +After you've informed other maintainers, create a pull request to remove +yourself from the MAINTAINERS file. +""" + + [Rules.inactive-maintainers] + + title = "Removal of inactive maintainers" + + text = """ +Similar to the procedure for adding new maintainers, existing maintainers can +be removed from the list if they do not show significant activity on the +project. Periodically, the maintainers review the list of maintainers and their +activity over the last three months. + +If a maintainer has shown insufficient activity over this period, a neutral +person will contact the maintainer to ask if they want to continue being +a maintainer. If the maintainer decides to step down as a maintainer, they +open a pull request to be removed from the MAINTAINERS file. + +If the maintainer wants to remain a maintainer, but is unable to perform the +required duties they can be removed with a vote of at least 66% of +the current maintainers. An e-mail is sent to the +mailing list, inviting maintainers of the project to vote. The voting period is +five business days. Issues related to a maintainer's performance should be +discussed with them among the other maintainers so that they are not surprised +by a pull request removing them. +""" + + [Rules.decisions] + + title = "How are decisions made?" + + text = """ +Short answer: EVERYTHING IS A PULL REQUEST. + +distribution is an open-source project with an open design philosophy. This means +that the repository is the source of truth for EVERY aspect of the project, +including its philosophy, design, road map, and APIs. *If it's part of the +project, it's in the repo. If it's in the repo, it's part of the project.* + +As a result, all decisions can be expressed as changes to the repository. An +implementation change is a change to the source code. An API change is a change +to the API specification. A philosophy change is a change to the philosophy +manifesto, and so on. + +All decisions affecting distribution, big and small, follow the same 3 steps: + +* Step 1: Open a pull request. Anyone can do this. + +* Step 2: Discuss the pull request. Anyone can do this. + +* Step 3: Merge or refuse the pull request. Who does this depends on the nature +of the pull request and which areas of the project it affects. +""" + + [Rules.DCO] + + title = "Helping contributors with the DCO" + + text = """ +The [DCO or `Sign your work`]( +https://github.com/moby/moby/blob/master/CONTRIBUTING.md#sign-your-work) +requirement is not intended as a roadblock or speed bump. + +Some distribution contributors are not as familiar with `git`, or have used a web +based editor, and thus asking them to `git commit --amend -s` is not the best +way forward. + +In this case, maintainers can update the commits based on clause (c) of the DCO. +The most trivial way for a contributor to allow the maintainer to do this, is to +add a DCO signature in a pull requests's comment, or a maintainer can simply +note that the change is sufficiently trivial that it does not substantially +change the existing contribution - i.e., a spelling change. + +When you add someone's DCO, please also add your own to keep a log. +""" + + [Rules."no direct push"] + + title = "I'm a maintainer. Should I make pull requests too?" + + text = """ +Yes. Nobody should ever push to master directly. All changes should be +made through a pull request. +""" + + [Rules.tsc] + + title = "Conflict Resolution and technical disputes" + + text = """ +distribution defers to the [Technical Steering Committee](https://github.com/moby/tsc) for escalations and resolution on disputes for technical matters." + """ + + [Rules.meta] + + title = "How is this process changed?" + + text = "Just like everything else: by making a pull request :)" + +# Current project organization +[Org] + + [Org.Maintainers] + people = [ + "dmcgowan", + "dmp42", + "stevvooe", + ] + [Org.Reviewers] + people = [ + "manishtomar", + "caervs", + "davidswu", + "RobbKistler" + ] + +[people] + +# A reference list of all people associated with the project. +# All other sections should refer to people by their canonical key +# in the people section. + + # ADD YOURSELF HERE IN ALPHABETICAL ORDER + + [people.caervs] + Name = "Ryan Abrams" + Email = "rdabrams@gmail.com" + GitHub = "caervs" + + [people.davidswu] + Name = "David Wu" + Email = "dwu7401@gmail.com" + GitHub = "davidswu" + + [people.dmcgowan] + Name = "Derek McGowan" + Email = "derek@mcgstyle.net" + GitHub = "dmcgowan" + + [people.dmp42] + Name = "Olivier Gambier" + Email = "olivier@docker.com" + GitHub = "dmp42" + + [people.manishtomar] + Name = "Manish Tomar" + Email = "manish.tomar@docker.com" + GitHub = "manishtomar" + + [people.RobbKistler] + Name = "Robb Kistler" + Email = "robb.kistler@docker.com" + GitHub = "RobbKistler" + + [people.stevvooe] + Name = "Stephen Day" + Email = "stephen.day@docker.com" + GitHub = "stevvooe" diff --git a/vendor/github.com/docker/distribution/Makefile b/vendor/github.com/docker/distribution/Makefile new file mode 100644 index 0000000000..dcdbcb5479 --- /dev/null +++ b/vendor/github.com/docker/distribution/Makefile @@ -0,0 +1,102 @@ +# Root directory of the project (absolute path). +ROOTDIR=$(dir $(abspath $(lastword $(MAKEFILE_LIST)))) + +# Used to populate version variable in main package. +VERSION=$(shell git describe --match 'v[0-9]*' --dirty='.m' --always) +REVISION=$(shell git rev-parse HEAD)$(shell if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi) + + +PKG=github.com/docker/distribution + +# Project packages. +PACKAGES=$(shell go list -tags "${BUILDTAGS}" ./... | grep -v /vendor/) +INTEGRATION_PACKAGE=${PKG} +COVERAGE_PACKAGES=$(filter-out ${PKG}/registry/storage/driver/%,${PACKAGES}) + + +# Project binaries. +COMMANDS=registry digest registry-api-descriptor-template + +# Allow turning off function inlining and variable registerization +ifeq (${DISABLE_OPTIMIZATION},true) + GO_GCFLAGS=-gcflags "-N -l" + VERSION:="$(VERSION)-noopt" +endif + +WHALE = "+" + +# Go files +# +TESTFLAGS_RACE= +GOFILES=$(shell find . -type f -name '*.go') +GO_TAGS=$(if $(BUILDTAGS),-tags "$(BUILDTAGS)",) +GO_LDFLAGS=-ldflags '-s -w -X $(PKG)/version.Version=$(VERSION) -X $(PKG)/version.Revision=$(REVISION) -X $(PKG)/version.Package=$(PKG) $(EXTRA_LDFLAGS)' + +BINARIES=$(addprefix bin/,$(COMMANDS)) + +# Flags passed to `go test` +TESTFLAGS ?= -v $(TESTFLAGS_RACE) +TESTFLAGS_PARALLEL ?= 8 + +.PHONY: all build binaries check clean test test-race test-full integration coverage +.DEFAULT: all + +all: binaries + +# This only needs to be generated by hand when cutting full releases. +version/version.go: + @echo "$(WHALE) $@" + ./version/version.sh > $@ + +check: ## run all linters (TODO: enable "unused", "varcheck", "ineffassign", "unconvert", "staticheck", "goimports", "structcheck") + @echo "$(WHALE) $@" + @GO111MODULE=off golangci-lint --build-tags "${BUILDTAGS}" run + +test: ## run tests, except integration test with test.short + @echo "$(WHALE) $@" + @go test ${GO_TAGS} -test.short ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) + +test-race: ## run tests, except integration test with test.short and race + @echo "$(WHALE) $@" + @go test ${GO_TAGS} -race -test.short ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) + +test-full: ## run tests, except integration tests + @echo "$(WHALE) $@" + @go test ${GO_TAGS} ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) + +integration: ## run integration tests + @echo "$(WHALE) $@" + @go test ${TESTFLAGS} -parallel ${TESTFLAGS_PARALLEL} ${INTEGRATION_PACKAGE} + +coverage: ## generate coverprofiles from the unit tests + @echo "$(WHALE) $@" + @rm -f coverage.txt + @go test ${GO_TAGS} -i ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${COVERAGE_PACKAGES}) 2> /dev/null + @( for pkg in $(filter-out ${INTEGRATION_PACKAGE},${COVERAGE_PACKAGES}); do \ + go test ${GO_TAGS} ${TESTFLAGS} \ + -cover \ + -coverprofile=profile.out \ + -covermode=atomic $$pkg || exit; \ + if [ -f profile.out ]; then \ + cat profile.out >> coverage.txt; \ + rm profile.out; \ + fi; \ + done ) + +FORCE: + +# Build a binary from a cmd. +bin/%: cmd/% FORCE + @echo "$(WHALE) $@${BINARY_SUFFIX}" + @go build ${GO_GCFLAGS} ${GO_BUILD_FLAGS} -o $@${BINARY_SUFFIX} ${GO_LDFLAGS} ${GO_TAGS} ./$< + +binaries: $(BINARIES) ## build binaries + @echo "$(WHALE) $@" + +build: + @echo "$(WHALE) $@" + @go build ${GO_GCFLAGS} ${GO_BUILD_FLAGS} ${GO_LDFLAGS} ${GO_TAGS} $(PACKAGES) + +clean: ## clean up binaries + @echo "$(WHALE) $@" + @rm -f $(BINARIES) diff --git a/vendor/github.com/docker/distribution/README.md b/vendor/github.com/docker/distribution/README.md new file mode 100644 index 0000000000..e513c18e96 --- /dev/null +++ b/vendor/github.com/docker/distribution/README.md @@ -0,0 +1,130 @@ +# Distribution + +The Docker toolset to pack, ship, store, and deliver content. + +This repository provides the Docker Registry 2.0 implementation +for storing and distributing Docker images. It supersedes the +[docker/docker-registry](https://github.com/docker/docker-registry) +project with a new API design, focused around security and performance. + + + +[![Circle CI](https://circleci.com/gh/docker/distribution/tree/master.svg?style=svg)](https://circleci.com/gh/docker/distribution/tree/master) +[![GoDoc](https://godoc.org/github.com/docker/distribution?status.svg)](https://godoc.org/github.com/docker/distribution) + +This repository contains the following components: + +|**Component** |Description | +|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **registry** | An implementation of the [Docker Registry HTTP API V2](docs/spec/api.md) for use with docker 1.6+. | +| **libraries** | A rich set of libraries for interacting with distribution components. Please see [godoc](https://godoc.org/github.com/docker/distribution) for details. **Note**: These libraries are **unstable**. | +| **specifications** | _Distribution_ related specifications are available in [docs/spec](docs/spec) | +| **documentation** | Docker's full documentation set is available at [docs.docker.com](https://docs.docker.com). This repository [contains the subset](docs/) related just to the registry. | + +### How does this integrate with Docker engine? + +This project should provide an implementation to a V2 API for use in the [Docker +core project](https://github.com/docker/docker). The API should be embeddable +and simplify the process of securely pulling and pushing content from `docker` +daemons. + +### What are the long term goals of the Distribution project? + +The _Distribution_ project has the further long term goal of providing a +secure tool chain for distributing content. The specifications, APIs and tools +should be as useful with Docker as they are without. + +Our goal is to design a professional grade and extensible content distribution +system that allow users to: + +* Enjoy an efficient, secured and reliable way to store, manage, package and + exchange content +* Hack/roll their own on top of healthy open-source components +* Implement their own home made solution through good specs, and solid + extensions mechanism. + +## More about Registry 2.0 + +The new registry implementation provides the following benefits: + +- faster push and pull +- new, more efficient implementation +- simplified deployment +- pluggable storage backend +- webhook notifications + +For information on upcoming functionality, please see [ROADMAP.md](ROADMAP.md). + +### Who needs to deploy a registry? + +By default, Docker users pull images from Docker's public registry instance. +[Installing Docker](https://docs.docker.com/engine/installation/) gives users this +ability. Users can also push images to a repository on Docker's public registry, +if they have a [Docker Hub](https://hub.docker.com/) account. + +For some users and even companies, this default behavior is sufficient. For +others, it is not. + +For example, users with their own software products may want to maintain a +registry for private, company images. Also, you may wish to deploy your own +image repository for images used to test or in continuous integration. For these +use cases and others, [deploying your own registry instance](https://github.com/docker/docker.github.io/blob/master/registry/deploying.md) +may be the better choice. + +### Migration to Registry 2.0 + +For those who have previously deployed their own registry based on the Registry +1.0 implementation and wish to deploy a Registry 2.0 while retaining images, +data migration is required. A tool to assist with migration efforts has been +created. For more information see [docker/migrator](https://github.com/docker/migrator). + +## Contribute + +Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute +issues, fixes, and patches to this project. If you are contributing code, see +the instructions for [building a development environment](BUILDING.md). + +## Support + +If any issues are encountered while using the _Distribution_ project, several +avenues are available for support: + + + + + + + + + + + + + + + + + + +
+ IRC + + #docker-distribution on FreeNode +
+ Issue Tracker + + github.com/docker/distribution/issues +
+ Google Groups + + https://groups.google.com/a/dockerproject.org/forum/#!forum/distribution +
+ Mailing List + + docker@dockerproject.org +
+ + +## License + +This project is distributed under [Apache License, Version 2.0](LICENSE). diff --git a/vendor/github.com/docker/distribution/ROADMAP.md b/vendor/github.com/docker/distribution/ROADMAP.md new file mode 100644 index 0000000000..701127afec --- /dev/null +++ b/vendor/github.com/docker/distribution/ROADMAP.md @@ -0,0 +1,267 @@ +# Roadmap + +The Distribution Project consists of several components, some of which are +still being defined. This document defines the high-level goals of the +project, identifies the current components, and defines the release- +relationship to the Docker Platform. + +* [Distribution Goals](#distribution-goals) +* [Distribution Components](#distribution-components) +* [Project Planning](#project-planning): release-relationship to the Docker Platform. + +This road map is a living document, providing an overview of the goals and +considerations made in respect of the future of the project. + +## Distribution Goals + +- Replace the existing [docker registry](github.com/docker/docker-registry) + implementation as the primary implementation. +- Replace the existing push and pull code in the docker engine with the + distribution package. +- Define a strong data model for distributing docker images +- Provide a flexible distribution tool kit for use in the docker platform +- Unlock new distribution models + +## Distribution Components + +Components of the Distribution Project are managed via github [milestones](https://github.com/docker/distribution/milestones). Upcoming +features and bugfixes for a component will be added to the relevant milestone. If a feature or +bugfix is not part of a milestone, it is currently unscheduled for +implementation. + +* [Registry](#registry) +* [Distribution Package](#distribution-package) + +*** + +### Registry + +The new Docker registry is the main portion of the distribution repository. +Registry 2.0 is the first release of the next-generation registry. This was +primarily focused on implementing the [new registry +API](https://github.com/docker/distribution/blob/master/docs/spec/api.md), +with a focus on security and performance. + +Following from the Distribution project goals above, we have a set of goals +for registry v2 that we would like to follow in the design. New features +should be compared against these goals. + +#### Data Storage and Distribution First + +The registry's first goal is to provide a reliable, consistent storage +location for Docker images. The registry should only provide the minimal +amount of indexing required to fetch image data and no more. + +This means we should be selective in new features and API additions, including +those that may require expensive, ever growing indexes. Requests should be +servable in "constant time". + +#### Content Addressability + +All data objects used in the registry API should be content addressable. +Content identifiers should be secure and verifiable. This provides a secure, +reliable base from which to build more advanced content distribution systems. + +#### Content Agnostic + +In the past, changes to the image format would require large changes in Docker +and the Registry. By decoupling the distribution and image format, we can +allow the formats to progress without having to coordinate between the two. +This means that we should be focused on decoupling Docker from the registry +just as much as decoupling the registry from Docker. Such an approach will +allow us to unlock new distribution models that haven't been possible before. + +We can take this further by saying that the new registry should be content +agnostic. The registry provides a model of names, tags, manifests and content +addresses and that model can be used to work with content. + +#### Simplicity + +The new registry should be closer to a microservice component than its +predecessor. This means it should have a narrower API and a low number of +service dependencies. It should be easy to deploy. + +This means that other solutions should be explored before changing the API or +adding extra dependencies. If functionality is required, can it be added as an +extension or companion service. + +#### Extensibility + +The registry should provide extension points to add functionality. By keeping +the scope narrow, but providing the ability to add functionality. + +Features like search, indexing, synchronization and registry explorers fall +into this category. No such feature should be added unless we've found it +impossible to do through an extension. + +#### Active Feature Discussions + +The following are feature discussions that are currently active. + +If you don't see your favorite, unimplemented feature, feel free to contact us +via IRC or the mailing list and we can talk about adding it. The goal here is +to make sure that new features go through a rigid design process before +landing in the registry. + +##### Proxying to other Registries + +A _pull-through caching_ mode exists for the registry, but is restricted from +within the docker client to only mirror the official Docker Hub. This functionality +can be expanded when image provenance has been specified and implemented in the +distribution project. + +##### Metadata storage + +Metadata for the registry is currently stored with the manifest and layer data on +the storage backend. While this is a big win for simplicity and reliably maintaining +state, it comes with the cost of consistency and high latency. The mutable registry +metadata operations should be abstracted behind an API which will allow ACID compliant +storage systems to handle metadata. + +##### Peer to Peer transfer + +Discussion has started here: https://docs.google.com/document/d/1rYDpSpJiQWmCQy8Cuiaa3NH-Co33oK_SC9HeXYo87QA/edit + +##### Indexing, Search and Discovery + +The original registry provided some implementation of search for use with +private registries. Support has been elided from V2 since we'd like to both +decouple search functionality from the registry. The makes the registry +simpler to deploy, especially in use cases where search is not needed, and +let's us decouple the image format from the registry. + +There are explorations into using the catalog API and notification system to +build external indexes. The current line of thought is that we will define a +common search API to index and query docker images. Such a system could be run +as a companion to a registry or set of registries to power discovery. + +The main issue with search and discovery is that there are so many ways to +accomplish it. There are two aspects to this project. The first is deciding on +how it will be done, including an API definition that can work with changing +data formats. The second is the process of integrating with `docker search`. +We expect that someone attempts to address the problem with the existing tools +and propose it as a standard search API or uses it to inform a standardization +process. Once this has been explored, we integrate with the docker client. + +Please see the following for more detail: + +- https://github.com/docker/distribution/issues/206 + +##### Deletes + +> __NOTE:__ Deletes are a much asked for feature. Before requesting this +feature or participating in discussion, we ask that you read this section in +full and understand the problems behind deletes. + +While, at first glance, implementing deleting seems simple, there are a number +mitigating factors that make many solutions not ideal or even pathological in +the context of a registry. The following paragraph discuss the background and +approaches that could be applied to arrive at a solution. + +The goal of deletes in any system is to remove unused or unneeded data. Only +data requested for deletion should be removed and no other data. Removing +unintended data is worse than _not_ removing data that was requested for +removal but ideally, both are supported. Generally, according to this rule, we +err on holding data longer than needed, ensuring that it is only removed when +we can be certain that it can be removed. With the current behavior, we opt to +hold onto the data forever, ensuring that data cannot be incorrectly removed. + +To understand the problems with implementing deletes, one must understand the +data model. All registry data is stored in a filesystem layout, implemented on +a "storage driver", effectively a _virtual file system_ (VFS). The storage +system must assume that this VFS layer will be eventually consistent and has +poor read- after-write consistency, since this is the lower common denominator +among the storage drivers. This is mitigated by writing values in reverse- +dependent order, but makes wider transactional operations unsafe. + +Layered on the VFS model is a content-addressable _directed, acyclic graph_ +(DAG) made up of blobs. Manifests reference layers. Tags reference manifests. +Since the same data can be referenced by multiple manifests, we only store +data once, even if it is in different repositories. Thus, we have a set of +blobs, referenced by tags and manifests. If we want to delete a blob we need +to be certain that it is no longer referenced by another manifest or tag. When +we delete a manifest, we also can try to delete the referenced blobs. Deciding +whether or not a blob has an active reference is the crux of the problem. + +Conceptually, deleting a manifest and its resources is quite simple. Just find +all the manifests, enumerate the referenced blobs and delete the blobs not in +that set. An astute observer will recognize this as a garbage collection +problem. As with garbage collection in programming languages, this is very +simple when one always has a consistent view. When one adds parallelism and an +inconsistent view of data, it becomes very challenging. + +A simple example can demonstrate this. Let's say we are deleting a manifest +_A_ in one process. We scan the manifest and decide that all the blobs are +ready for deletion. Concurrently, we have another process accepting a new +manifest _B_ referencing one or more blobs from the manifest _A_. Manifest _B_ +is accepted and all the blobs are considered present, so the operation +proceeds. The original process then deletes the referenced blobs, assuming +they were unreferenced. The manifest _B_, which we thought had all of its data +present, can no longer be served by the registry, since the dependent data has +been deleted. + +Deleting data from the registry safely requires some way to coordinate this +operation. The following approaches are being considered: + +- _Reference Counting_ - Maintain a count of references to each blob. This is + challenging for a number of reasons: 1. maintaining a consistent consensus + of reference counts across a set of Registries and 2. Building the initial + list of reference counts for an existing registry. These challenges can be + met with a consensus protocol like Paxos or Raft in the first case and a + necessary but simple scan in the second.. +- _Lock the World GC_ - Halt all writes to the data store. Walk the data store + and find all blob references. Delete all unreferenced blobs. This approach + is very simple but requires disabling writes for a period of time while the + service reads all data. This is slow and expensive but very accurate and + effective. +- _Generational GC_ - Do something similar to above but instead of blocking + writes, writes are sent to another storage backend while reads are broadcast + to the new and old backends. GC is then performed on the read-only portion. + Because writes land in the new backend, the data in the read-only section + can be safely deleted. The main drawbacks of this approach are complexity + and coordination. +- _Centralized Oracle_ - Using a centralized, transactional database, we can + know exactly which data is referenced at any given time. This avoids + coordination problem by managing this data in a single location. We trade + off metadata scalability for simplicity and performance. This is a very good + option for most registry deployments. This would create a bottleneck for + registry metadata. However, metadata is generally not the main bottleneck + when serving images. + +Please let us know if other solutions exist that we have yet to enumerate. +Note that for any approach, implementation is a massive consideration. For +example, a mark-sweep based solution may seem simple but the amount of work in +coordination offset the extra work it might take to build a _Centralized +Oracle_. We'll accept proposals for any solution but please coordinate with us +before dropping code. + +At this time, we have traded off simplicity and ease of deployment for disk +space. Simplicity and ease of deployment tend to reduce developer involvement, +which is currently the most expensive resource in software engineering. Taking +on any solution for deletes will greatly effect these factors, trading off +very cheap disk space for a complex deployment and operational story. + +Please see the following issues for more detail: + +- https://github.com/docker/distribution/issues/422 +- https://github.com/docker/distribution/issues/461 +- https://github.com/docker/distribution/issues/462 + +### Distribution Package + +At its core, the Distribution Project is a set of Go packages that make up +Distribution Components. At this time, most of these packages make up the +Registry implementation. + +The package itself is considered unstable. If you're using it, please take care to vendor the dependent version. + +For feature additions, please see the Registry section. In the future, we may break out a +separate Roadmap for distribution-specific features that apply to more than +just the registry. + +*** + +### Project Planning + +An [Open-Source Planning Process](https://github.com/docker/distribution/wiki/Open-Source-Planning-Process) is used to define the Roadmap. [Project Pages](https://github.com/docker/distribution/wiki) define the goals for each Milestone and identify current progress. + diff --git a/vendor/github.com/docker/distribution/blobs.go b/vendor/github.com/docker/distribution/blobs.go new file mode 100644 index 0000000000..671372abf4 --- /dev/null +++ b/vendor/github.com/docker/distribution/blobs.go @@ -0,0 +1,265 @@ +package distribution + +import ( + "context" + "errors" + "fmt" + "io" + "net/http" + "time" + + "github.com/distribution/reference" + "github.com/opencontainers/go-digest" + v1 "github.com/opencontainers/image-spec/specs-go/v1" +) + +var ( + // ErrBlobExists returned when blob already exists + ErrBlobExists = errors.New("blob exists") + + // ErrBlobDigestUnsupported when blob digest is an unsupported version. + ErrBlobDigestUnsupported = errors.New("unsupported blob digest") + + // ErrBlobUnknown when blob is not found. + ErrBlobUnknown = errors.New("unknown blob") + + // ErrBlobUploadUnknown returned when upload is not found. + ErrBlobUploadUnknown = errors.New("blob upload unknown") + + // ErrBlobInvalidLength returned when the blob has an expected length on + // commit, meaning mismatched with the descriptor or an invalid value. + ErrBlobInvalidLength = errors.New("blob invalid length") +) + +// ErrBlobInvalidDigest returned when digest check fails. +type ErrBlobInvalidDigest struct { + Digest digest.Digest + Reason error +} + +func (err ErrBlobInvalidDigest) Error() string { + return fmt.Sprintf("invalid digest for referenced layer: %v, %v", + err.Digest, err.Reason) +} + +// ErrBlobMounted returned when a blob is mounted from another repository +// instead of initiating an upload session. +type ErrBlobMounted struct { + From reference.Canonical + Descriptor Descriptor +} + +func (err ErrBlobMounted) Error() string { + return fmt.Sprintf("blob mounted from: %v to: %v", + err.From, err.Descriptor) +} + +// Descriptor describes targeted content. Used in conjunction with a blob +// store, a descriptor can be used to fetch, store and target any kind of +// blob. The struct also describes the wire protocol format. Fields should +// only be added but never changed. +type Descriptor struct { + // MediaType describe the type of the content. All text based formats are + // encoded as utf-8. + MediaType string `json:"mediaType,omitempty"` + + // Size in bytes of content. + Size int64 `json:"size,omitempty"` + + // Digest uniquely identifies the content. A byte stream can be verified + // against this digest. + Digest digest.Digest `json:"digest,omitempty"` + + // URLs contains the source URLs of this content. + URLs []string `json:"urls,omitempty"` + + // Annotations contains arbitrary metadata relating to the targeted content. + Annotations map[string]string `json:"annotations,omitempty"` + + // Platform describes the platform which the image in the manifest runs on. + // This should only be used when referring to a manifest. + Platform *v1.Platform `json:"platform,omitempty"` + + // NOTE: Before adding a field here, please ensure that all + // other options have been exhausted. Much of the type relationships + // depend on the simplicity of this type. +} + +// Descriptor returns the descriptor, to make it satisfy the Describable +// interface. Note that implementations of Describable are generally objects +// which can be described, not simply descriptors; this exception is in place +// to make it more convenient to pass actual descriptors to functions that +// expect Describable objects. +func (d Descriptor) Descriptor() Descriptor { + return d +} + +// BlobStatter makes blob descriptors available by digest. The service may +// provide a descriptor of a different digest if the provided digest is not +// canonical. +type BlobStatter interface { + // Stat provides metadata about a blob identified by the digest. If the + // blob is unknown to the describer, ErrBlobUnknown will be returned. + Stat(ctx context.Context, dgst digest.Digest) (Descriptor, error) +} + +// BlobDeleter enables deleting blobs from storage. +type BlobDeleter interface { + Delete(ctx context.Context, dgst digest.Digest) error +} + +// BlobEnumerator enables iterating over blobs from storage +type BlobEnumerator interface { + Enumerate(ctx context.Context, ingester func(dgst digest.Digest) error) error +} + +// BlobDescriptorService manages metadata about a blob by digest. Most +// implementations will not expose such an interface explicitly. Such mappings +// should be maintained by interacting with the BlobIngester. Hence, this is +// left off of BlobService and BlobStore. +type BlobDescriptorService interface { + BlobStatter + + // SetDescriptor assigns the descriptor to the digest. The provided digest and + // the digest in the descriptor must map to identical content but they may + // differ on their algorithm. The descriptor must have the canonical + // digest of the content and the digest algorithm must match the + // annotators canonical algorithm. + // + // Such a facility can be used to map blobs between digest domains, with + // the restriction that the algorithm of the descriptor must match the + // canonical algorithm (ie sha256) of the annotator. + SetDescriptor(ctx context.Context, dgst digest.Digest, desc Descriptor) error + + // Clear enables descriptors to be unlinked + Clear(ctx context.Context, dgst digest.Digest) error +} + +// BlobDescriptorServiceFactory creates middleware for BlobDescriptorService. +type BlobDescriptorServiceFactory interface { + BlobAccessController(svc BlobDescriptorService) BlobDescriptorService +} + +// ReadSeekCloser is the primary reader type for blob data, combining +// io.ReadSeeker with io.Closer. +type ReadSeekCloser interface { + io.ReadSeeker + io.Closer +} + +// BlobProvider describes operations for getting blob data. +type BlobProvider interface { + // Get returns the entire blob identified by digest along with the descriptor. + Get(ctx context.Context, dgst digest.Digest) ([]byte, error) + + // Open provides a ReadSeekCloser to the blob identified by the provided + // descriptor. If the blob is not known to the service, an error will be + // returned. + Open(ctx context.Context, dgst digest.Digest) (ReadSeekCloser, error) +} + +// BlobServer can serve blobs via http. +type BlobServer interface { + // ServeBlob attempts to serve the blob, identified by dgst, via http. The + // service may decide to redirect the client elsewhere or serve the data + // directly. + // + // This handler only issues successful responses, such as 2xx or 3xx, + // meaning it serves data or issues a redirect. If the blob is not + // available, an error will be returned and the caller may still issue a + // response. + // + // The implementation may serve the same blob from a different digest + // domain. The appropriate headers will be set for the blob, unless they + // have already been set by the caller. + ServeBlob(ctx context.Context, w http.ResponseWriter, r *http.Request, dgst digest.Digest) error +} + +// BlobIngester ingests blob data. +type BlobIngester interface { + // Put inserts the content p into the blob service, returning a descriptor + // or an error. + Put(ctx context.Context, mediaType string, p []byte) (Descriptor, error) + + // Create allocates a new blob writer to add a blob to this service. The + // returned handle can be written to and later resumed using an opaque + // identifier. With this approach, one can Close and Resume a BlobWriter + // multiple times until the BlobWriter is committed or cancelled. + Create(ctx context.Context, options ...BlobCreateOption) (BlobWriter, error) + + // Resume attempts to resume a write to a blob, identified by an id. + Resume(ctx context.Context, id string) (BlobWriter, error) +} + +// BlobCreateOption is a general extensible function argument for blob creation +// methods. A BlobIngester may choose to honor any or none of the given +// BlobCreateOptions, which can be specific to the implementation of the +// BlobIngester receiving them. +// TODO (brianbland): unify this with ManifestServiceOption in the future +type BlobCreateOption interface { + Apply(interface{}) error +} + +// CreateOptions is a collection of blob creation modifiers relevant to general +// blob storage intended to be configured by the BlobCreateOption.Apply method. +type CreateOptions struct { + Mount struct { + ShouldMount bool + From reference.Canonical + // Stat allows to pass precalculated descriptor to link and return. + // Blob access check will be skipped if set. + Stat *Descriptor + } +} + +// BlobWriter provides a handle for inserting data into a blob store. +// Instances should be obtained from BlobWriteService.Writer and +// BlobWriteService.Resume. If supported by the store, a writer can be +// recovered with the id. +type BlobWriter interface { + io.WriteCloser + io.ReaderFrom + + // Size returns the number of bytes written to this blob. + Size() int64 + + // ID returns the identifier for this writer. The ID can be used with the + // Blob service to later resume the write. + ID() string + + // StartedAt returns the time this blob write was started. + StartedAt() time.Time + + // Commit completes the blob writer process. The content is verified + // against the provided provisional descriptor, which may result in an + // error. Depending on the implementation, written data may be validated + // against the provisional descriptor fields. If MediaType is not present, + // the implementation may reject the commit or assign "application/octet- + // stream" to the blob. The returned descriptor may have a different + // digest depending on the blob store, referred to as the canonical + // descriptor. + Commit(ctx context.Context, provisional Descriptor) (canonical Descriptor, err error) + + // Cancel ends the blob write without storing any data and frees any + // associated resources. Any data written thus far will be lost. Cancel + // implementations should allow multiple calls even after a commit that + // result in a no-op. This allows use of Cancel in a defer statement, + // increasing the assurance that it is correctly called. + Cancel(ctx context.Context) error +} + +// BlobService combines the operations to access, read and write blobs. This +// can be used to describe remote blob services. +type BlobService interface { + BlobStatter + BlobProvider + BlobIngester +} + +// BlobStore represent the entire suite of blob related operations. Such an +// implementation can access, read, write, delete and serve blobs. +type BlobStore interface { + BlobService + BlobServer + BlobDeleter +} diff --git a/vendor/github.com/docker/distribution/doc.go b/vendor/github.com/docker/distribution/doc.go new file mode 100644 index 0000000000..bdd8cb708e --- /dev/null +++ b/vendor/github.com/docker/distribution/doc.go @@ -0,0 +1,7 @@ +// Package distribution will define the interfaces for the components of +// docker distribution. The goal is to allow users to reliably package, ship +// and store content related to docker images. +// +// This is currently a work in progress. More details are available in the +// README.md. +package distribution diff --git a/vendor/github.com/docker/distribution/docker-bake.hcl b/vendor/github.com/docker/distribution/docker-bake.hcl new file mode 100644 index 0000000000..91686e608a --- /dev/null +++ b/vendor/github.com/docker/distribution/docker-bake.hcl @@ -0,0 +1,56 @@ +group "default" { + targets = ["image-local"] +} + +// Special target: https://github.com/docker/metadata-action#bake-definition +target "docker-metadata-action" { + tags = ["registry:local"] +} + +target "binary" { + target = "binary" + output = ["./bin"] +} + +target "artifact" { + target = "artifact" + output = ["./bin"] +} + +target "artifact-all" { + inherits = ["artifact"] + platforms = [ + "linux/amd64", + "linux/arm/v6", + "linux/arm/v7", + "linux/arm64", + "linux/ppc64le", + "linux/s390x" + ] +} + +// Special target: https://github.com/docker/metadata-action#bake-definition +target "docker-metadata-action" { + tags = ["registry:local"] +} + +target "image" { + inherits = ["docker-metadata-action"] +} + +target "image-local" { + inherits = ["image"] + output = ["type=docker"] +} + +target "image-all" { + inherits = ["image"] + platforms = [ + "linux/amd64", + "linux/arm/v6", + "linux/arm/v7", + "linux/arm64", + "linux/ppc64le", + "linux/s390x" + ] +} diff --git a/vendor/github.com/docker/distribution/errors.go b/vendor/github.com/docker/distribution/errors.go new file mode 100644 index 0000000000..8e0b788d6c --- /dev/null +++ b/vendor/github.com/docker/distribution/errors.go @@ -0,0 +1,119 @@ +package distribution + +import ( + "errors" + "fmt" + "strings" + + "github.com/opencontainers/go-digest" +) + +// ErrAccessDenied is returned when an access to a requested resource is +// denied. +var ErrAccessDenied = errors.New("access denied") + +// ErrManifestNotModified is returned when a conditional manifest GetByTag +// returns nil due to the client indicating it has the latest version +var ErrManifestNotModified = errors.New("manifest not modified") + +// ErrUnsupported is returned when an unimplemented or unsupported action is +// performed +var ErrUnsupported = errors.New("operation unsupported") + +// ErrSchemaV1Unsupported is returned when a client tries to upload a schema v1 +// manifest but the registry is configured to reject it +var ErrSchemaV1Unsupported = errors.New("manifest schema v1 unsupported") + +// ErrTagUnknown is returned if the given tag is not known by the tag service +type ErrTagUnknown struct { + Tag string +} + +func (err ErrTagUnknown) Error() string { + return fmt.Sprintf("unknown tag=%s", err.Tag) +} + +// ErrRepositoryUnknown is returned if the named repository is not known by +// the registry. +type ErrRepositoryUnknown struct { + Name string +} + +func (err ErrRepositoryUnknown) Error() string { + return fmt.Sprintf("unknown repository name=%s", err.Name) +} + +// ErrRepositoryNameInvalid should be used to denote an invalid repository +// name. Reason may set, indicating the cause of invalidity. +type ErrRepositoryNameInvalid struct { + Name string + Reason error +} + +func (err ErrRepositoryNameInvalid) Error() string { + return fmt.Sprintf("repository name %q invalid: %v", err.Name, err.Reason) +} + +// ErrManifestUnknown is returned if the manifest is not known by the +// registry. +type ErrManifestUnknown struct { + Name string + Tag string +} + +func (err ErrManifestUnknown) Error() string { + return fmt.Sprintf("unknown manifest name=%s tag=%s", err.Name, err.Tag) +} + +// ErrManifestUnknownRevision is returned when a manifest cannot be found by +// revision within a repository. +type ErrManifestUnknownRevision struct { + Name string + Revision digest.Digest +} + +func (err ErrManifestUnknownRevision) Error() string { + return fmt.Sprintf("unknown manifest name=%s revision=%s", err.Name, err.Revision) +} + +// ErrManifestUnverified is returned when the registry is unable to verify +// the manifest. +type ErrManifestUnverified struct{} + +func (ErrManifestUnverified) Error() string { + return "unverified manifest" +} + +// ErrManifestVerification provides a type to collect errors encountered +// during manifest verification. Currently, it accepts errors of all types, +// but it may be narrowed to those involving manifest verification. +type ErrManifestVerification []error + +func (errs ErrManifestVerification) Error() string { + var parts []string + for _, err := range errs { + parts = append(parts, err.Error()) + } + + return fmt.Sprintf("errors verifying manifest: %v", strings.Join(parts, ",")) +} + +// ErrManifestBlobUnknown returned when a referenced blob cannot be found. +type ErrManifestBlobUnknown struct { + Digest digest.Digest +} + +func (err ErrManifestBlobUnknown) Error() string { + return fmt.Sprintf("unknown blob %v on manifest", err.Digest) +} + +// ErrManifestNameInvalid should be used to denote an invalid manifest +// name. Reason may set, indicating the cause of invalidity. +type ErrManifestNameInvalid struct { + Name string + Reason error +} + +func (err ErrManifestNameInvalid) Error() string { + return fmt.Sprintf("manifest name %q invalid: %v", err.Name, err.Reason) +} diff --git a/vendor/github.com/docker/distribution/manifests.go b/vendor/github.com/docker/distribution/manifests.go new file mode 100644 index 0000000000..8f84a220a9 --- /dev/null +++ b/vendor/github.com/docker/distribution/manifests.go @@ -0,0 +1,125 @@ +package distribution + +import ( + "context" + "fmt" + "mime" + + "github.com/opencontainers/go-digest" +) + +// Manifest represents a registry object specifying a set of +// references and an optional target +type Manifest interface { + // References returns a list of objects which make up this manifest. + // A reference is anything which can be represented by a + // distribution.Descriptor. These can consist of layers, resources or other + // manifests. + // + // While no particular order is required, implementations should return + // them from highest to lowest priority. For example, one might want to + // return the base layer before the top layer. + References() []Descriptor + + // Payload provides the serialized format of the manifest, in addition to + // the media type. + Payload() (mediaType string, payload []byte, err error) +} + +// ManifestBuilder creates a manifest allowing one to include dependencies. +// Instances can be obtained from a version-specific manifest package. Manifest +// specific data is passed into the function which creates the builder. +type ManifestBuilder interface { + // Build creates the manifest from his builder. + Build(ctx context.Context) (Manifest, error) + + // References returns a list of objects which have been added to this + // builder. The dependencies are returned in the order they were added, + // which should be from base to head. + References() []Descriptor + + // AppendReference includes the given object in the manifest after any + // existing dependencies. If the add fails, such as when adding an + // unsupported dependency, an error may be returned. + // + // The destination of the reference is dependent on the manifest type and + // the dependency type. + AppendReference(dependency Describable) error +} + +// ManifestService describes operations on image manifests. +type ManifestService interface { + // Exists returns true if the manifest exists. + Exists(ctx context.Context, dgst digest.Digest) (bool, error) + + // Get retrieves the manifest specified by the given digest + Get(ctx context.Context, dgst digest.Digest, options ...ManifestServiceOption) (Manifest, error) + + // Put creates or updates the given manifest returning the manifest digest + Put(ctx context.Context, manifest Manifest, options ...ManifestServiceOption) (digest.Digest, error) + + // Delete removes the manifest specified by the given digest. Deleting + // a manifest that doesn't exist will return ErrManifestNotFound + Delete(ctx context.Context, dgst digest.Digest) error +} + +// ManifestEnumerator enables iterating over manifests +type ManifestEnumerator interface { + // Enumerate calls ingester for each manifest. + Enumerate(ctx context.Context, ingester func(digest.Digest) error) error +} + +// Describable is an interface for descriptors +type Describable interface { + Descriptor() Descriptor +} + +// ManifestMediaTypes returns the supported media types for manifests. +func ManifestMediaTypes() (mediaTypes []string) { + for t := range mappings { + if t != "" { + mediaTypes = append(mediaTypes, t) + } + } + return +} + +// UnmarshalFunc implements manifest unmarshalling a given MediaType +type UnmarshalFunc func([]byte) (Manifest, Descriptor, error) + +var mappings = make(map[string]UnmarshalFunc) + +// UnmarshalManifest looks up manifest unmarshal functions based on +// MediaType +func UnmarshalManifest(ctHeader string, p []byte) (Manifest, Descriptor, error) { + // Need to look up by the actual media type, not the raw contents of + // the header. Strip semicolons and anything following them. + var mediaType string + if ctHeader != "" { + var err error + mediaType, _, err = mime.ParseMediaType(ctHeader) + if err != nil { + return nil, Descriptor{}, err + } + } + + unmarshalFunc, ok := mappings[mediaType] + if !ok { + unmarshalFunc, ok = mappings[""] + if !ok { + return nil, Descriptor{}, fmt.Errorf("unsupported manifest media type and no default available: %s", mediaType) + } + } + + return unmarshalFunc(p) +} + +// RegisterManifestSchema registers an UnmarshalFunc for a given schema type. This +// should be called from specific +func RegisterManifestSchema(mediaType string, u UnmarshalFunc) error { + if _, ok := mappings[mediaType]; ok { + return fmt.Errorf("manifest media type registration would overwrite existing: %s", mediaType) + } + mappings[mediaType] = u + return nil +} diff --git a/vendor/github.com/docker/distribution/metrics/prometheus.go b/vendor/github.com/docker/distribution/metrics/prometheus.go new file mode 100644 index 0000000000..b5a5321448 --- /dev/null +++ b/vendor/github.com/docker/distribution/metrics/prometheus.go @@ -0,0 +1,13 @@ +package metrics + +import "github.com/docker/go-metrics" + +const ( + // NamespacePrefix is the namespace of prometheus metrics + NamespacePrefix = "registry" +) + +var ( + // StorageNamespace is the prometheus namespace of blob/cache related operations + StorageNamespace = metrics.NewNamespace(NamespacePrefix, "storage", nil) +) diff --git a/vendor/github.com/docker/distribution/registry.go b/vendor/github.com/docker/distribution/registry.go new file mode 100644 index 0000000000..d0deee65d7 --- /dev/null +++ b/vendor/github.com/docker/distribution/registry.go @@ -0,0 +1,118 @@ +package distribution + +import ( + "context" + + "github.com/distribution/reference" +) + +// Scope defines the set of items that match a namespace. +type Scope interface { + // Contains returns true if the name belongs to the namespace. + Contains(name string) bool +} + +type fullScope struct{} + +func (f fullScope) Contains(string) bool { + return true +} + +// GlobalScope represents the full namespace scope which contains +// all other scopes. +var GlobalScope = Scope(fullScope{}) + +// Namespace represents a collection of repositories, addressable by name. +// Generally, a namespace is backed by a set of one or more services, +// providing facilities such as registry access, trust, and indexing. +type Namespace interface { + // Scope describes the names that can be used with this Namespace. The + // global namespace will have a scope that matches all names. The scope + // effectively provides an identity for the namespace. + Scope() Scope + + // Repository should return a reference to the named repository. The + // registry may or may not have the repository but should always return a + // reference. + Repository(ctx context.Context, name reference.Named) (Repository, error) + + // Repositories fills 'repos' with a lexicographically sorted catalog of repositories + // up to the size of 'repos' and returns the value 'n' for the number of entries + // which were filled. 'last' contains an offset in the catalog, and 'err' will be + // set to io.EOF if there are no more entries to obtain. + Repositories(ctx context.Context, repos []string, last string) (n int, err error) + + // Blobs returns a blob enumerator to access all blobs + Blobs() BlobEnumerator + + // BlobStatter returns a BlobStatter to control + BlobStatter() BlobStatter +} + +// RepositoryEnumerator describes an operation to enumerate repositories +type RepositoryEnumerator interface { + Enumerate(ctx context.Context, ingester func(string) error) error +} + +// RepositoryRemover removes given repository +type RepositoryRemover interface { + Remove(ctx context.Context, name reference.Named) error +} + +// ManifestServiceOption is a function argument for Manifest Service methods +type ManifestServiceOption interface { + Apply(ManifestService) error +} + +// WithTag allows a tag to be passed into Put +func WithTag(tag string) ManifestServiceOption { + return WithTagOption{tag} +} + +// WithTagOption holds a tag +type WithTagOption struct{ Tag string } + +// Apply conforms to the ManifestServiceOption interface +func (o WithTagOption) Apply(m ManifestService) error { + // no implementation + return nil +} + +// WithManifestMediaTypes lists the media types the client wishes +// the server to provide. +func WithManifestMediaTypes(mediaTypes []string) ManifestServiceOption { + return WithManifestMediaTypesOption{mediaTypes} +} + +// WithManifestMediaTypesOption holds a list of accepted media types +type WithManifestMediaTypesOption struct{ MediaTypes []string } + +// Apply conforms to the ManifestServiceOption interface +func (o WithManifestMediaTypesOption) Apply(m ManifestService) error { + // no implementation + return nil +} + +// Repository is a named collection of manifests and layers. +type Repository interface { + // Named returns the name of the repository. + Named() reference.Named + + // Manifests returns a reference to this repository's manifest service. + // with the supplied options applied. + Manifests(ctx context.Context, options ...ManifestServiceOption) (ManifestService, error) + + // Blobs returns a reference to this repository's blob service. + Blobs(ctx context.Context) BlobStore + + // TODO(stevvooe): The above BlobStore return can probably be relaxed to + // be a BlobService for use with clients. This will allow such + // implementations to avoid implementing ServeBlob. + + // Tags returns a reference to this repositories tag service + Tags(ctx context.Context) TagService +} + +// TODO(stevvooe): Must add close methods to all these. May want to change the +// way instances are created to better reflect internal dependency +// relationships. diff --git a/vendor/github.com/docker/distribution/registry/client/blob_writer.go b/vendor/github.com/docker/distribution/registry/client/blob_writer.go new file mode 100644 index 0000000000..dac030c738 --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/client/blob_writer.go @@ -0,0 +1,164 @@ +package client + +import ( + "bytes" + "context" + "fmt" + "io" + "io/ioutil" + "net/http" + "time" + + "github.com/docker/distribution" +) + +type httpBlobUpload struct { + statter distribution.BlobStatter + client *http.Client + + uuid string + startedAt time.Time + + location string // always the last value of the location header. + offset int64 + closed bool +} + +func (hbu *httpBlobUpload) Reader() (io.ReadCloser, error) { + panic("Not implemented") +} + +func (hbu *httpBlobUpload) handleErrorResponse(resp *http.Response) error { + if resp.StatusCode == http.StatusNotFound { + return distribution.ErrBlobUploadUnknown + } + return HandleErrorResponse(resp) +} + +func (hbu *httpBlobUpload) ReadFrom(r io.Reader) (n int64, err error) { + req, err := http.NewRequest("PATCH", hbu.location, ioutil.NopCloser(r)) + if err != nil { + return 0, err + } + defer req.Body.Close() + + req.Header.Set("Content-Type", "application/octet-stream") + + resp, err := hbu.client.Do(req) + if err != nil { + return 0, err + } + + if !SuccessStatus(resp.StatusCode) { + return 0, hbu.handleErrorResponse(resp) + } + + hbu.uuid = resp.Header.Get("Docker-Upload-UUID") + hbu.location, err = sanitizeLocation(resp.Header.Get("Location"), hbu.location) + if err != nil { + return 0, err + } + rng := resp.Header.Get("Range") + var start, end int64 + if n, err := fmt.Sscanf(rng, "%d-%d", &start, &end); err != nil { + return 0, err + } else if n != 2 || end < start { + return 0, fmt.Errorf("bad range format: %s", rng) + } + + return (end - start + 1), nil + +} + +func (hbu *httpBlobUpload) Write(p []byte) (n int, err error) { + req, err := http.NewRequest("PATCH", hbu.location, bytes.NewReader(p)) + if err != nil { + return 0, err + } + req.Header.Set("Content-Range", fmt.Sprintf("%d-%d", hbu.offset, hbu.offset+int64(len(p)-1))) + req.Header.Set("Content-Length", fmt.Sprintf("%d", len(p))) + req.Header.Set("Content-Type", "application/octet-stream") + + resp, err := hbu.client.Do(req) + if err != nil { + return 0, err + } + + if !SuccessStatus(resp.StatusCode) { + return 0, hbu.handleErrorResponse(resp) + } + + hbu.uuid = resp.Header.Get("Docker-Upload-UUID") + hbu.location, err = sanitizeLocation(resp.Header.Get("Location"), hbu.location) + if err != nil { + return 0, err + } + rng := resp.Header.Get("Range") + var start, end int + if n, err := fmt.Sscanf(rng, "%d-%d", &start, &end); err != nil { + return 0, err + } else if n != 2 || end < start { + return 0, fmt.Errorf("bad range format: %s", rng) + } + + return (end - start + 1), nil + +} + +func (hbu *httpBlobUpload) Size() int64 { + return hbu.offset +} + +func (hbu *httpBlobUpload) ID() string { + return hbu.uuid +} + +func (hbu *httpBlobUpload) StartedAt() time.Time { + return hbu.startedAt +} + +func (hbu *httpBlobUpload) Commit(ctx context.Context, desc distribution.Descriptor) (distribution.Descriptor, error) { + // TODO(dmcgowan): Check if already finished, if so just fetch + req, err := http.NewRequest("PUT", hbu.location, nil) + if err != nil { + return distribution.Descriptor{}, err + } + + values := req.URL.Query() + values.Set("digest", desc.Digest.String()) + req.URL.RawQuery = values.Encode() + + resp, err := hbu.client.Do(req) + if err != nil { + return distribution.Descriptor{}, err + } + defer resp.Body.Close() + + if !SuccessStatus(resp.StatusCode) { + return distribution.Descriptor{}, hbu.handleErrorResponse(resp) + } + + return hbu.statter.Stat(ctx, desc.Digest) +} + +func (hbu *httpBlobUpload) Cancel(ctx context.Context) error { + req, err := http.NewRequest("DELETE", hbu.location, nil) + if err != nil { + return err + } + resp, err := hbu.client.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + if resp.StatusCode == http.StatusNotFound || SuccessStatus(resp.StatusCode) { + return nil + } + return hbu.handleErrorResponse(resp) +} + +func (hbu *httpBlobUpload) Close() error { + hbu.closed = true + return nil +} diff --git a/vendor/github.com/docker/distribution/registry/client/errors.go b/vendor/github.com/docker/distribution/registry/client/errors.go new file mode 100644 index 0000000000..ce9902034d --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/client/errors.go @@ -0,0 +1,160 @@ +package client + +import ( + "encoding/json" + "errors" + "fmt" + "io/ioutil" + "mime" + "net/http" + + "github.com/docker/distribution/registry/api/errcode" + "github.com/docker/distribution/registry/client/auth/challenge" +) + +// ErrNoErrorsInBody is returned when an HTTP response body parses to an empty +// errcode.Errors slice. +var ErrNoErrorsInBody = errors.New("no error details found in HTTP response body") + +// UnexpectedHTTPStatusError is returned when an unexpected HTTP status is +// returned when making a registry api call. +type UnexpectedHTTPStatusError struct { + Status string +} + +func (e *UnexpectedHTTPStatusError) Error() string { + return fmt.Sprintf("received unexpected HTTP status: %s", e.Status) +} + +// UnexpectedHTTPResponseError is returned when an expected HTTP status code +// is returned, but the content was unexpected and failed to be parsed. +type UnexpectedHTTPResponseError struct { + ParseErr error + StatusCode int + Response []byte +} + +func (e *UnexpectedHTTPResponseError) Error() string { + return fmt.Sprintf("error parsing HTTP %d response body: %s: %q", e.StatusCode, e.ParseErr.Error(), string(e.Response)) +} + +func parseHTTPErrorResponse(resp *http.Response) error { + var errors errcode.Errors + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + return err + } + + statusCode := resp.StatusCode + ctHeader := resp.Header.Get("Content-Type") + + if ctHeader == "" { + return makeError(statusCode, string(body)) + } + + contentType, _, err := mime.ParseMediaType(ctHeader) + if err != nil { + return fmt.Errorf("failed parsing content-type: %w", err) + } + + if contentType != "application/json" && contentType != "application/vnd.api+json" { + return makeError(statusCode, string(body)) + } + + // For backward compatibility, handle irregularly formatted + // messages that contain a "details" field. + var detailsErr struct { + Details string `json:"details"` + } + err = json.Unmarshal(body, &detailsErr) + if err == nil && detailsErr.Details != "" { + return makeError(statusCode, detailsErr.Details) + } + + if err := json.Unmarshal(body, &errors); err != nil { + return &UnexpectedHTTPResponseError{ + ParseErr: err, + StatusCode: statusCode, + Response: body, + } + } + + if len(errors) == 0 { + // If there was no error specified in the body, return + // UnexpectedHTTPResponseError. + return &UnexpectedHTTPResponseError{ + ParseErr: ErrNoErrorsInBody, + StatusCode: statusCode, + Response: body, + } + } + + return errors +} + +func makeError(statusCode int, details string) error { + switch statusCode { + case http.StatusUnauthorized: + return errcode.ErrorCodeUnauthorized.WithMessage(details) + case http.StatusForbidden: + return errcode.ErrorCodeDenied.WithMessage(details) + case http.StatusTooManyRequests: + return errcode.ErrorCodeTooManyRequests.WithMessage(details) + default: + return errcode.ErrorCodeUnknown.WithMessage(details) + } +} + +func makeErrorList(err error) []error { + if errL, ok := err.(errcode.Errors); ok { + return []error(errL) + } + return []error{err} +} + +func mergeErrors(err1, err2 error) error { + return errcode.Errors(append(makeErrorList(err1), makeErrorList(err2)...)) +} + +// HandleErrorResponse returns error parsed from HTTP response for an +// unsuccessful HTTP response code (in the range 400 - 499 inclusive). An +// UnexpectedHTTPStatusError returned for response code outside of expected +// range. +func HandleErrorResponse(resp *http.Response) error { + if resp.StatusCode >= 400 && resp.StatusCode < 500 { + // Check for OAuth errors within the `WWW-Authenticate` header first + // See https://tools.ietf.org/html/rfc6750#section-3 + for _, c := range challenge.ResponseChallenges(resp) { + if c.Scheme == "bearer" { + var err errcode.Error + // codes defined at https://tools.ietf.org/html/rfc6750#section-3.1 + switch c.Parameters["error"] { + case "invalid_token": + err.Code = errcode.ErrorCodeUnauthorized + case "insufficient_scope": + err.Code = errcode.ErrorCodeDenied + default: + continue + } + if description := c.Parameters["error_description"]; description != "" { + err.Message = description + } else { + err.Message = err.Code.Message() + } + return mergeErrors(err, parseHTTPErrorResponse(resp)) + } + } + err := parseHTTPErrorResponse(resp) + if uErr, ok := err.(*UnexpectedHTTPResponseError); ok && resp.StatusCode == 401 { + return errcode.ErrorCodeUnauthorized.WithDetail(uErr.Response) + } + return err + } + return &UnexpectedHTTPStatusError{Status: resp.Status} +} + +// SuccessStatus returns true if the argument is a successful HTTP response +// code (in the range 200 - 399 inclusive). +func SuccessStatus(status int) bool { + return status >= 200 && status <= 399 +} diff --git a/vendor/github.com/docker/distribution/registry/client/repository.go b/vendor/github.com/docker/distribution/registry/client/repository.go new file mode 100644 index 0000000000..fd42a1e66f --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/client/repository.go @@ -0,0 +1,870 @@ +package client + +import ( + "bytes" + "context" + "encoding/json" + "errors" + "fmt" + "io" + "io/ioutil" + "net/http" + "net/url" + "strconv" + "strings" + "time" + + "github.com/distribution/reference" + "github.com/docker/distribution" + v2 "github.com/docker/distribution/registry/api/v2" + "github.com/docker/distribution/registry/client/transport" + "github.com/docker/distribution/registry/storage/cache" + "github.com/docker/distribution/registry/storage/cache/memory" + "github.com/opencontainers/go-digest" +) + +// Registry provides an interface for calling Repositories, which returns a catalog of repositories. +type Registry interface { + Repositories(ctx context.Context, repos []string, last string) (n int, err error) +} + +// checkHTTPRedirect is a callback that can manipulate redirected HTTP +// requests. It is used to preserve Accept and Range headers. +func checkHTTPRedirect(req *http.Request, via []*http.Request) error { + if len(via) >= 10 { + return errors.New("stopped after 10 redirects") + } + + if len(via) > 0 { + for headerName, headerVals := range via[0].Header { + if headerName != "Accept" && headerName != "Range" { + continue + } + for _, val := range headerVals { + // Don't add to redirected request if redirected + // request already has a header with the same + // name and value. + hasValue := false + for _, existingVal := range req.Header[headerName] { + if existingVal == val { + hasValue = true + break + } + } + if !hasValue { + req.Header.Add(headerName, val) + } + } + } + } + + return nil +} + +// NewRegistry creates a registry namespace which can be used to get a listing of repositories +func NewRegistry(baseURL string, transport http.RoundTripper) (Registry, error) { + ub, err := v2.NewURLBuilderFromString(baseURL, false) + if err != nil { + return nil, err + } + + client := &http.Client{ + Transport: transport, + Timeout: 1 * time.Minute, + CheckRedirect: checkHTTPRedirect, + } + + return ®istry{ + client: client, + ub: ub, + }, nil +} + +type registry struct { + client *http.Client + ub *v2.URLBuilder +} + +// Repositories returns a lexigraphically sorted catalog given a base URL. The 'entries' slice will be filled up to the size +// of the slice, starting at the value provided in 'last'. The number of entries will be returned along with io.EOF if there +// are no more entries +func (r *registry) Repositories(ctx context.Context, entries []string, last string) (int, error) { + var numFilled int + var returnErr error + + values := buildCatalogValues(len(entries), last) + u, err := r.ub.BuildCatalogURL(values) + if err != nil { + return 0, err + } + + resp, err := r.client.Get(u) + if err != nil { + return 0, err + } + defer resp.Body.Close() + + if SuccessStatus(resp.StatusCode) { + var ctlg struct { + Repositories []string `json:"repositories"` + } + decoder := json.NewDecoder(resp.Body) + + if err := decoder.Decode(&ctlg); err != nil { + return 0, err + } + + copy(entries, ctlg.Repositories) + numFilled = len(ctlg.Repositories) + + link := resp.Header.Get("Link") + if link == "" { + returnErr = io.EOF + } + } else { + return 0, HandleErrorResponse(resp) + } + + return numFilled, returnErr +} + +// NewRepository creates a new Repository for the given repository name and base URL. +func NewRepository(name reference.Named, baseURL string, transport http.RoundTripper) (distribution.Repository, error) { + ub, err := v2.NewURLBuilderFromString(baseURL, false) + if err != nil { + return nil, err + } + + client := &http.Client{ + Transport: transport, + CheckRedirect: checkHTTPRedirect, + // TODO(dmcgowan): create cookie jar + } + + return &repository{ + client: client, + ub: ub, + name: name, + }, nil +} + +type repository struct { + client *http.Client + ub *v2.URLBuilder + name reference.Named +} + +func (r *repository) Named() reference.Named { + return r.name +} + +func (r *repository) Blobs(ctx context.Context) distribution.BlobStore { + statter := &blobStatter{ + name: r.name, + ub: r.ub, + client: r.client, + } + return &blobs{ + name: r.name, + ub: r.ub, + client: r.client, + statter: cache.NewCachedBlobStatter(memory.NewInMemoryBlobDescriptorCacheProvider(), statter), + } +} + +func (r *repository) Manifests(ctx context.Context, options ...distribution.ManifestServiceOption) (distribution.ManifestService, error) { + // todo(richardscothern): options should be sent over the wire + return &manifests{ + name: r.name, + ub: r.ub, + client: r.client, + etags: make(map[string]string), + }, nil +} + +func (r *repository) Tags(ctx context.Context) distribution.TagService { + return &tags{ + client: r.client, + ub: r.ub, + name: r.Named(), + } +} + +// tags implements remote tagging operations. +type tags struct { + client *http.Client + ub *v2.URLBuilder + name reference.Named +} + +// All returns all tags +func (t *tags) All(ctx context.Context) ([]string, error) { + var tags []string + + listURLStr, err := t.ub.BuildTagsURL(t.name) + if err != nil { + return tags, err + } + + listURL, err := url.Parse(listURLStr) + if err != nil { + return tags, err + } + + for { + resp, err := t.client.Get(listURL.String()) + if err != nil { + return tags, err + } + defer resp.Body.Close() + + if SuccessStatus(resp.StatusCode) { + b, err := ioutil.ReadAll(resp.Body) + if err != nil { + return tags, err + } + + tagsResponse := struct { + Tags []string `json:"tags"` + }{} + if err := json.Unmarshal(b, &tagsResponse); err != nil { + return tags, err + } + tags = append(tags, tagsResponse.Tags...) + if link := resp.Header.Get("Link"); link != "" { + linkURLStr := strings.Trim(strings.Split(link, ";")[0], "<>") + linkURL, err := url.Parse(linkURLStr) + if err != nil { + return tags, err + } + + listURL = listURL.ResolveReference(linkURL) + } else { + return tags, nil + } + } else { + return tags, HandleErrorResponse(resp) + } + } +} + +func descriptorFromResponse(response *http.Response) (distribution.Descriptor, error) { + desc := distribution.Descriptor{} + headers := response.Header + + ctHeader := headers.Get("Content-Type") + if ctHeader == "" { + return distribution.Descriptor{}, errors.New("missing or empty Content-Type header") + } + desc.MediaType = ctHeader + + digestHeader := headers.Get("Docker-Content-Digest") + if digestHeader == "" { + bytes, err := ioutil.ReadAll(response.Body) + if err != nil { + return distribution.Descriptor{}, err + } + _, desc, err := distribution.UnmarshalManifest(ctHeader, bytes) + if err != nil { + return distribution.Descriptor{}, err + } + return desc, nil + } + + dgst, err := digest.Parse(digestHeader) + if err != nil { + return distribution.Descriptor{}, err + } + desc.Digest = dgst + + lengthHeader := headers.Get("Content-Length") + if lengthHeader == "" { + return distribution.Descriptor{}, errors.New("missing or empty Content-Length header") + } + length, err := strconv.ParseInt(lengthHeader, 10, 64) + if err != nil { + return distribution.Descriptor{}, err + } + desc.Size = length + + return desc, nil + +} + +// Get issues a HEAD request for a Manifest against its named endpoint in order +// to construct a descriptor for the tag. If the registry doesn't support HEADing +// a manifest, fallback to GET. +func (t *tags) Get(ctx context.Context, tag string) (distribution.Descriptor, error) { + ref, err := reference.WithTag(t.name, tag) + if err != nil { + return distribution.Descriptor{}, err + } + u, err := t.ub.BuildManifestURL(ref) + if err != nil { + return distribution.Descriptor{}, err + } + + newRequest := func(method string) (*http.Response, error) { + req, err := http.NewRequest(method, u, nil) + if err != nil { + return nil, err + } + + for _, t := range distribution.ManifestMediaTypes() { + req.Header.Add("Accept", t) + } + resp, err := t.client.Do(req) + return resp, err + } + + resp, err := newRequest("HEAD") + if err != nil { + return distribution.Descriptor{}, err + } + defer resp.Body.Close() + + switch { + case resp.StatusCode >= 200 && resp.StatusCode < 400 && len(resp.Header.Get("Docker-Content-Digest")) > 0: + // if the response is a success AND a Docker-Content-Digest can be retrieved from the headers + return descriptorFromResponse(resp) + default: + // if the response is an error - there will be no body to decode. + // Issue a GET request: + // - for data from a server that does not handle HEAD + // - to get error details in case of a failure + resp, err = newRequest("GET") + if err != nil { + return distribution.Descriptor{}, err + } + defer resp.Body.Close() + + if resp.StatusCode >= 200 && resp.StatusCode < 400 { + return descriptorFromResponse(resp) + } + return distribution.Descriptor{}, HandleErrorResponse(resp) + } +} + +func (t *tags) Lookup(ctx context.Context, digest distribution.Descriptor) ([]string, error) { + panic("not implemented") +} + +func (t *tags) Tag(ctx context.Context, tag string, desc distribution.Descriptor) error { + panic("not implemented") +} + +func (t *tags) Untag(ctx context.Context, tag string) error { + panic("not implemented") +} + +type manifests struct { + name reference.Named + ub *v2.URLBuilder + client *http.Client + etags map[string]string +} + +func (ms *manifests) Exists(ctx context.Context, dgst digest.Digest) (bool, error) { + ref, err := reference.WithDigest(ms.name, dgst) + if err != nil { + return false, err + } + u, err := ms.ub.BuildManifestURL(ref) + if err != nil { + return false, err + } + + resp, err := ms.client.Head(u) + if err != nil { + return false, err + } + + if SuccessStatus(resp.StatusCode) { + return true, nil + } else if resp.StatusCode == http.StatusNotFound { + return false, nil + } + return false, HandleErrorResponse(resp) +} + +// AddEtagToTag allows a client to supply an eTag to Get which will be +// used for a conditional HTTP request. If the eTag matches, a nil manifest +// and ErrManifestNotModified error will be returned. etag is automatically +// quoted when added to this map. +func AddEtagToTag(tag, etag string) distribution.ManifestServiceOption { + return etagOption{tag, etag} +} + +type etagOption struct{ tag, etag string } + +func (o etagOption) Apply(ms distribution.ManifestService) error { + if ms, ok := ms.(*manifests); ok { + ms.etags[o.tag] = fmt.Sprintf(`"%s"`, o.etag) + return nil + } + return fmt.Errorf("etag options is a client-only option") +} + +// ReturnContentDigest allows a client to set a the content digest on +// a successful request from the 'Docker-Content-Digest' header. This +// returned digest is represents the digest which the registry uses +// to refer to the content and can be used to delete the content. +func ReturnContentDigest(dgst *digest.Digest) distribution.ManifestServiceOption { + return contentDigestOption{dgst} +} + +type contentDigestOption struct{ digest *digest.Digest } + +func (o contentDigestOption) Apply(ms distribution.ManifestService) error { + return nil +} + +func (ms *manifests) Get(ctx context.Context, dgst digest.Digest, options ...distribution.ManifestServiceOption) (distribution.Manifest, error) { + var ( + digestOrTag string + ref reference.Named + err error + contentDgst *digest.Digest + mediaTypes []string + ) + + for _, option := range options { + switch opt := option.(type) { + case distribution.WithTagOption: + digestOrTag = opt.Tag + ref, err = reference.WithTag(ms.name, opt.Tag) + if err != nil { + return nil, err + } + case contentDigestOption: + contentDgst = opt.digest + case distribution.WithManifestMediaTypesOption: + mediaTypes = opt.MediaTypes + default: + err := option.Apply(ms) + if err != nil { + return nil, err + } + } + } + + if digestOrTag == "" { + digestOrTag = dgst.String() + ref, err = reference.WithDigest(ms.name, dgst) + if err != nil { + return nil, err + } + } + + if len(mediaTypes) == 0 { + mediaTypes = distribution.ManifestMediaTypes() + } + + u, err := ms.ub.BuildManifestURL(ref) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("GET", u, nil) + if err != nil { + return nil, err + } + + for _, t := range mediaTypes { + req.Header.Add("Accept", t) + } + + if _, ok := ms.etags[digestOrTag]; ok { + req.Header.Set("If-None-Match", ms.etags[digestOrTag]) + } + + resp, err := ms.client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + if resp.StatusCode == http.StatusNotModified { + return nil, distribution.ErrManifestNotModified + } else if SuccessStatus(resp.StatusCode) { + if contentDgst != nil { + dgst, err := digest.Parse(resp.Header.Get("Docker-Content-Digest")) + if err == nil { + *contentDgst = dgst + } + } + mt := resp.Header.Get("Content-Type") + body, err := ioutil.ReadAll(resp.Body) + + if err != nil { + return nil, err + } + m, _, err := distribution.UnmarshalManifest(mt, body) + if err != nil { + return nil, err + } + return m, nil + } + return nil, HandleErrorResponse(resp) +} + +// Put puts a manifest. A tag can be specified using an options parameter which uses some shared state to hold the +// tag name in order to build the correct upload URL. +func (ms *manifests) Put(ctx context.Context, m distribution.Manifest, options ...distribution.ManifestServiceOption) (digest.Digest, error) { + ref := ms.name + var tagged bool + + for _, option := range options { + if opt, ok := option.(distribution.WithTagOption); ok { + var err error + ref, err = reference.WithTag(ref, opt.Tag) + if err != nil { + return "", err + } + tagged = true + } else { + err := option.Apply(ms) + if err != nil { + return "", err + } + } + } + mediaType, p, err := m.Payload() + if err != nil { + return "", err + } + + if !tagged { + // generate a canonical digest and Put by digest + _, d, err := distribution.UnmarshalManifest(mediaType, p) + if err != nil { + return "", err + } + ref, err = reference.WithDigest(ref, d.Digest) + if err != nil { + return "", err + } + } + + manifestURL, err := ms.ub.BuildManifestURL(ref) + if err != nil { + return "", err + } + + putRequest, err := http.NewRequest("PUT", manifestURL, bytes.NewReader(p)) + if err != nil { + return "", err + } + + putRequest.Header.Set("Content-Type", mediaType) + + resp, err := ms.client.Do(putRequest) + if err != nil { + return "", err + } + defer resp.Body.Close() + + if SuccessStatus(resp.StatusCode) { + dgstHeader := resp.Header.Get("Docker-Content-Digest") + dgst, err := digest.Parse(dgstHeader) + if err != nil { + return "", err + } + + return dgst, nil + } + + return "", HandleErrorResponse(resp) +} + +func (ms *manifests) Delete(ctx context.Context, dgst digest.Digest) error { + ref, err := reference.WithDigest(ms.name, dgst) + if err != nil { + return err + } + u, err := ms.ub.BuildManifestURL(ref) + if err != nil { + return err + } + req, err := http.NewRequest("DELETE", u, nil) + if err != nil { + return err + } + + resp, err := ms.client.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + if SuccessStatus(resp.StatusCode) { + return nil + } + return HandleErrorResponse(resp) +} + +// todo(richardscothern): Restore interface and implementation with merge of #1050 +/*func (ms *manifests) Enumerate(ctx context.Context, manifests []distribution.Manifest, last distribution.Manifest) (n int, err error) { + panic("not supported") +}*/ + +type blobs struct { + name reference.Named + ub *v2.URLBuilder + client *http.Client + + statter distribution.BlobDescriptorService + distribution.BlobDeleter +} + +func sanitizeLocation(location, base string) (string, error) { + baseURL, err := url.Parse(base) + if err != nil { + return "", err + } + + locationURL, err := url.Parse(location) + if err != nil { + return "", err + } + + return baseURL.ResolveReference(locationURL).String(), nil +} + +func (bs *blobs) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) { + return bs.statter.Stat(ctx, dgst) + +} + +func (bs *blobs) Get(ctx context.Context, dgst digest.Digest) ([]byte, error) { + reader, err := bs.Open(ctx, dgst) + if err != nil { + return nil, err + } + defer reader.Close() + + return ioutil.ReadAll(reader) +} + +func (bs *blobs) Open(ctx context.Context, dgst digest.Digest) (distribution.ReadSeekCloser, error) { + ref, err := reference.WithDigest(bs.name, dgst) + if err != nil { + return nil, err + } + blobURL, err := bs.ub.BuildBlobURL(ref) + if err != nil { + return nil, err + } + + return transport.NewHTTPReadSeeker(bs.client, blobURL, + func(resp *http.Response) error { + if resp.StatusCode == http.StatusNotFound { + return distribution.ErrBlobUnknown + } + return HandleErrorResponse(resp) + }), nil +} + +func (bs *blobs) ServeBlob(ctx context.Context, w http.ResponseWriter, r *http.Request, dgst digest.Digest) error { + panic("not implemented") +} + +func (bs *blobs) Put(ctx context.Context, mediaType string, p []byte) (distribution.Descriptor, error) { + writer, err := bs.Create(ctx) + if err != nil { + return distribution.Descriptor{}, err + } + dgstr := digest.Canonical.Digester() + n, err := io.Copy(writer, io.TeeReader(bytes.NewReader(p), dgstr.Hash())) + if err != nil { + return distribution.Descriptor{}, err + } + if n < int64(len(p)) { + return distribution.Descriptor{}, fmt.Errorf("short copy: wrote %d of %d", n, len(p)) + } + + desc := distribution.Descriptor{ + MediaType: mediaType, + Size: int64(len(p)), + Digest: dgstr.Digest(), + } + + return writer.Commit(ctx, desc) +} + +type optionFunc func(interface{}) error + +func (f optionFunc) Apply(v interface{}) error { + return f(v) +} + +// WithMountFrom returns a BlobCreateOption which designates that the blob should be +// mounted from the given canonical reference. +func WithMountFrom(ref reference.Canonical) distribution.BlobCreateOption { + return optionFunc(func(v interface{}) error { + opts, ok := v.(*distribution.CreateOptions) + if !ok { + return fmt.Errorf("unexpected options type: %T", v) + } + + opts.Mount.ShouldMount = true + opts.Mount.From = ref + + return nil + }) +} + +func (bs *blobs) Create(ctx context.Context, options ...distribution.BlobCreateOption) (distribution.BlobWriter, error) { + var opts distribution.CreateOptions + + for _, option := range options { + err := option.Apply(&opts) + if err != nil { + return nil, err + } + } + + var values []url.Values + + if opts.Mount.ShouldMount { + values = append(values, url.Values{"from": {opts.Mount.From.Name()}, "mount": {opts.Mount.From.Digest().String()}}) + } + + u, err := bs.ub.BuildBlobUploadURL(bs.name, values...) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", u, nil) + if err != nil { + return nil, err + } + + resp, err := bs.client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + switch resp.StatusCode { + case http.StatusCreated: + desc, err := bs.statter.Stat(ctx, opts.Mount.From.Digest()) + if err != nil { + return nil, err + } + return nil, distribution.ErrBlobMounted{From: opts.Mount.From, Descriptor: desc} + case http.StatusAccepted: + // TODO(dmcgowan): Check for invalid UUID + uuid := resp.Header.Get("Docker-Upload-UUID") + location, err := sanitizeLocation(resp.Header.Get("Location"), u) + if err != nil { + return nil, err + } + + return &httpBlobUpload{ + statter: bs.statter, + client: bs.client, + uuid: uuid, + startedAt: time.Now(), + location: location, + }, nil + default: + return nil, HandleErrorResponse(resp) + } +} + +func (bs *blobs) Resume(ctx context.Context, id string) (distribution.BlobWriter, error) { + panic("not implemented") +} + +func (bs *blobs) Delete(ctx context.Context, dgst digest.Digest) error { + return bs.statter.Clear(ctx, dgst) +} + +type blobStatter struct { + name reference.Named + ub *v2.URLBuilder + client *http.Client +} + +func (bs *blobStatter) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) { + ref, err := reference.WithDigest(bs.name, dgst) + if err != nil { + return distribution.Descriptor{}, err + } + u, err := bs.ub.BuildBlobURL(ref) + if err != nil { + return distribution.Descriptor{}, err + } + + resp, err := bs.client.Head(u) + if err != nil { + return distribution.Descriptor{}, err + } + defer resp.Body.Close() + + if SuccessStatus(resp.StatusCode) { + lengthHeader := resp.Header.Get("Content-Length") + if lengthHeader == "" { + return distribution.Descriptor{}, fmt.Errorf("missing content-length header for request: %s", u) + } + + length, err := strconv.ParseInt(lengthHeader, 10, 64) + if err != nil { + return distribution.Descriptor{}, fmt.Errorf("error parsing content-length: %v", err) + } + + return distribution.Descriptor{ + MediaType: resp.Header.Get("Content-Type"), + Size: length, + Digest: dgst, + }, nil + } else if resp.StatusCode == http.StatusNotFound { + return distribution.Descriptor{}, distribution.ErrBlobUnknown + } + return distribution.Descriptor{}, HandleErrorResponse(resp) +} + +func buildCatalogValues(maxEntries int, last string) url.Values { + values := url.Values{} + + if maxEntries > 0 { + values.Add("n", strconv.Itoa(maxEntries)) + } + + if last != "" { + values.Add("last", last) + } + + return values +} + +func (bs *blobStatter) Clear(ctx context.Context, dgst digest.Digest) error { + ref, err := reference.WithDigest(bs.name, dgst) + if err != nil { + return err + } + blobURL, err := bs.ub.BuildBlobURL(ref) + if err != nil { + return err + } + + req, err := http.NewRequest("DELETE", blobURL, nil) + if err != nil { + return err + } + + resp, err := bs.client.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + if SuccessStatus(resp.StatusCode) { + return nil + } + return HandleErrorResponse(resp) +} + +func (bs *blobStatter) SetDescriptor(ctx context.Context, dgst digest.Digest, desc distribution.Descriptor) error { + return nil +} diff --git a/vendor/github.com/docker/distribution/registry/client/transport/http_reader.go b/vendor/github.com/docker/distribution/registry/client/transport/http_reader.go new file mode 100644 index 0000000000..9120dbed66 --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/client/transport/http_reader.go @@ -0,0 +1,249 @@ +package transport + +import ( + "errors" + "fmt" + "io" + "net/http" + "regexp" + "strconv" +) + +var ( + contentRangeRegexp = regexp.MustCompile(`bytes ([0-9]+)-([0-9]+)/([0-9]+|\\*)`) + + // ErrWrongCodeForByteRange is returned if the client sends a request + // with a Range header but the server returns a 2xx or 3xx code other + // than 206 Partial Content. + ErrWrongCodeForByteRange = errors.New("expected HTTP 206 from byte range request") +) + +// ReadSeekCloser combines io.ReadSeeker with io.Closer. +type ReadSeekCloser interface { + io.ReadSeeker + io.Closer +} + +// NewHTTPReadSeeker handles reading from an HTTP endpoint using a GET +// request. When seeking and starting a read from a non-zero offset +// the a "Range" header will be added which sets the offset. +// TODO(dmcgowan): Move this into a separate utility package +func NewHTTPReadSeeker(client *http.Client, url string, errorHandler func(*http.Response) error) ReadSeekCloser { + return &httpReadSeeker{ + client: client, + url: url, + errorHandler: errorHandler, + } +} + +type httpReadSeeker struct { + client *http.Client + url string + + // errorHandler creates an error from an unsuccessful HTTP response. + // This allows the error to be created with the HTTP response body + // without leaking the body through a returned error. + errorHandler func(*http.Response) error + + size int64 + + // rc is the remote read closer. + rc io.ReadCloser + // readerOffset tracks the offset as of the last read. + readerOffset int64 + // seekOffset allows Seek to override the offset. Seek changes + // seekOffset instead of changing readOffset directly so that + // connection resets can be delayed and possibly avoided if the + // seek is undone (i.e. seeking to the end and then back to the + // beginning). + seekOffset int64 + err error +} + +func (hrs *httpReadSeeker) Read(p []byte) (n int, err error) { + if hrs.err != nil { + return 0, hrs.err + } + + // If we sought to a different position, we need to reset the + // connection. This logic is here instead of Seek so that if + // a seek is undone before the next read, the connection doesn't + // need to be closed and reopened. A common example of this is + // seeking to the end to determine the length, and then seeking + // back to the original position. + if hrs.readerOffset != hrs.seekOffset { + hrs.reset() + } + + hrs.readerOffset = hrs.seekOffset + + rd, err := hrs.reader() + if err != nil { + return 0, err + } + + n, err = rd.Read(p) + hrs.seekOffset += int64(n) + hrs.readerOffset += int64(n) + + return n, err +} + +func (hrs *httpReadSeeker) Seek(offset int64, whence int) (int64, error) { + if hrs.err != nil { + return 0, hrs.err + } + + lastReaderOffset := hrs.readerOffset + + if whence == io.SeekStart && hrs.rc == nil { + // If no request has been made yet, and we are seeking to an + // absolute position, set the read offset as well to avoid an + // unnecessary request. + hrs.readerOffset = offset + } + + _, err := hrs.reader() + if err != nil { + hrs.readerOffset = lastReaderOffset + return 0, err + } + + newOffset := hrs.seekOffset + + switch whence { + case io.SeekCurrent: + newOffset += offset + case io.SeekEnd: + if hrs.size < 0 { + return 0, errors.New("content length not known") + } + newOffset = hrs.size + offset + case io.SeekStart: + newOffset = offset + } + + if newOffset < 0 { + err = errors.New("cannot seek to negative position") + } else { + hrs.seekOffset = newOffset + } + + return hrs.seekOffset, err +} + +func (hrs *httpReadSeeker) Close() error { + if hrs.err != nil { + return hrs.err + } + + // close and release reader chain + if hrs.rc != nil { + hrs.rc.Close() + } + + hrs.rc = nil + + hrs.err = errors.New("httpLayer: closed") + + return nil +} + +func (hrs *httpReadSeeker) reset() { + if hrs.err != nil { + return + } + if hrs.rc != nil { + hrs.rc.Close() + hrs.rc = nil + } +} + +func (hrs *httpReadSeeker) reader() (io.Reader, error) { + if hrs.err != nil { + return nil, hrs.err + } + + if hrs.rc != nil { + return hrs.rc, nil + } + + req, err := http.NewRequest("GET", hrs.url, nil) + if err != nil { + return nil, err + } + + if hrs.readerOffset > 0 { + // If we are at different offset, issue a range request from there. + req.Header.Add("Range", fmt.Sprintf("bytes=%d-", hrs.readerOffset)) + // TODO: get context in here + // context.GetLogger(hrs.context).Infof("Range: %s", req.Header.Get("Range")) + } + + resp, err := hrs.client.Do(req) + if err != nil { + return nil, err + } + + // Normally would use client.SuccessStatus, but that would be a cyclic + // import + if resp.StatusCode >= 200 && resp.StatusCode <= 399 { + if hrs.readerOffset > 0 { + if resp.StatusCode != http.StatusPartialContent { + return nil, ErrWrongCodeForByteRange + } + + contentRange := resp.Header.Get("Content-Range") + if contentRange == "" { + return nil, errors.New("no Content-Range header found in HTTP 206 response") + } + + submatches := contentRangeRegexp.FindStringSubmatch(contentRange) + if len(submatches) < 4 { + return nil, fmt.Errorf("could not parse Content-Range header: %s", contentRange) + } + + startByte, err := strconv.ParseUint(submatches[1], 10, 64) + if err != nil { + return nil, fmt.Errorf("could not parse start of range in Content-Range header: %s", contentRange) + } + + if startByte != uint64(hrs.readerOffset) { + return nil, fmt.Errorf("received Content-Range starting at offset %d instead of requested %d", startByte, hrs.readerOffset) + } + + endByte, err := strconv.ParseUint(submatches[2], 10, 64) + if err != nil { + return nil, fmt.Errorf("could not parse end of range in Content-Range header: %s", contentRange) + } + + if submatches[3] == "*" { + hrs.size = -1 + } else { + size, err := strconv.ParseUint(submatches[3], 10, 64) + if err != nil { + return nil, fmt.Errorf("could not parse total size in Content-Range header: %s", contentRange) + } + + if endByte+1 != size { + return nil, fmt.Errorf("range in Content-Range stops before the end of the content: %s", contentRange) + } + + hrs.size = int64(size) + } + } else if resp.StatusCode == http.StatusOK { + hrs.size = resp.ContentLength + } else { + hrs.size = -1 + } + hrs.rc = resp.Body + } else { + defer resp.Body.Close() + if hrs.errorHandler != nil { + return nil, hrs.errorHandler(resp) + } + return nil, fmt.Errorf("unexpected status resolving reader: %v", resp.Status) + } + + return hrs.rc, nil +} diff --git a/vendor/github.com/docker/distribution/registry/client/transport/transport.go b/vendor/github.com/docker/distribution/registry/client/transport/transport.go new file mode 100644 index 0000000000..30e45fab0f --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/client/transport/transport.go @@ -0,0 +1,147 @@ +package transport + +import ( + "io" + "net/http" + "sync" +) + +// RequestModifier represents an object which will do an inplace +// modification of an HTTP request. +type RequestModifier interface { + ModifyRequest(*http.Request) error +} + +type headerModifier http.Header + +// NewHeaderRequestModifier returns a new RequestModifier which will +// add the given headers to a request. +func NewHeaderRequestModifier(header http.Header) RequestModifier { + return headerModifier(header) +} + +func (h headerModifier) ModifyRequest(req *http.Request) error { + for k, s := range http.Header(h) { + req.Header[k] = append(req.Header[k], s...) + } + + return nil +} + +// NewTransport creates a new transport which will apply modifiers to +// the request on a RoundTrip call. +func NewTransport(base http.RoundTripper, modifiers ...RequestModifier) http.RoundTripper { + return &transport{ + Modifiers: modifiers, + Base: base, + } +} + +// transport is an http.RoundTripper that makes HTTP requests after +// copying and modifying the request +type transport struct { + Modifiers []RequestModifier + Base http.RoundTripper + + mu sync.Mutex // guards modReq + modReq map[*http.Request]*http.Request // original -> modified +} + +// RoundTrip authorizes and authenticates the request with an +// access token. If no token exists or token is expired, +// tries to refresh/fetch a new token. +func (t *transport) RoundTrip(req *http.Request) (*http.Response, error) { + req2 := cloneRequest(req) + for _, modifier := range t.Modifiers { + if err := modifier.ModifyRequest(req2); err != nil { + return nil, err + } + } + + t.setModReq(req, req2) + res, err := t.base().RoundTrip(req2) + if err != nil { + t.setModReq(req, nil) + return nil, err + } + res.Body = &onEOFReader{ + rc: res.Body, + fn: func() { t.setModReq(req, nil) }, + } + return res, nil +} + +// CancelRequest cancels an in-flight request by closing its connection. +func (t *transport) CancelRequest(req *http.Request) { + type canceler interface { + CancelRequest(*http.Request) + } + if cr, ok := t.base().(canceler); ok { + t.mu.Lock() + modReq := t.modReq[req] + delete(t.modReq, req) + t.mu.Unlock() + cr.CancelRequest(modReq) + } +} + +func (t *transport) base() http.RoundTripper { + if t.Base != nil { + return t.Base + } + return http.DefaultTransport +} + +func (t *transport) setModReq(orig, mod *http.Request) { + t.mu.Lock() + defer t.mu.Unlock() + if t.modReq == nil { + t.modReq = make(map[*http.Request]*http.Request) + } + if mod == nil { + delete(t.modReq, orig) + } else { + t.modReq[orig] = mod + } +} + +// cloneRequest returns a clone of the provided *http.Request. +// The clone is a shallow copy of the struct and its Header map. +func cloneRequest(r *http.Request) *http.Request { + // shallow copy of the struct + r2 := new(http.Request) + *r2 = *r + // deep copy of the Header + r2.Header = make(http.Header, len(r.Header)) + for k, s := range r.Header { + r2.Header[k] = append([]string(nil), s...) + } + + return r2 +} + +type onEOFReader struct { + rc io.ReadCloser + fn func() +} + +func (r *onEOFReader) Read(p []byte) (n int, err error) { + n, err = r.rc.Read(p) + if err == io.EOF { + r.runFunc() + } + return +} + +func (r *onEOFReader) Close() error { + err := r.rc.Close() + r.runFunc() + return err +} + +func (r *onEOFReader) runFunc() { + if fn := r.fn; fn != nil { + fn() + r.fn = nil + } +} diff --git a/vendor/github.com/docker/distribution/registry/storage/cache/cache.go b/vendor/github.com/docker/distribution/registry/storage/cache/cache.go new file mode 100644 index 0000000000..10a3909197 --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/storage/cache/cache.go @@ -0,0 +1,35 @@ +// Package cache provides facilities to speed up access to the storage +// backend. +package cache + +import ( + "fmt" + + "github.com/docker/distribution" +) + +// BlobDescriptorCacheProvider provides repository scoped +// BlobDescriptorService cache instances and a global descriptor cache. +type BlobDescriptorCacheProvider interface { + distribution.BlobDescriptorService + + RepositoryScoped(repo string) (distribution.BlobDescriptorService, error) +} + +// ValidateDescriptor provides a helper function to ensure that caches have +// common criteria for admitting descriptors. +func ValidateDescriptor(desc distribution.Descriptor) error { + if err := desc.Digest.Validate(); err != nil { + return err + } + + if desc.Size < 0 { + return fmt.Errorf("cache: invalid length in descriptor: %v < 0", desc.Size) + } + + if desc.MediaType == "" { + return fmt.Errorf("cache: empty mediatype on descriptor: %v", desc) + } + + return nil +} diff --git a/vendor/github.com/docker/distribution/registry/storage/cache/cachedblobdescriptorstore.go b/vendor/github.com/docker/distribution/registry/storage/cache/cachedblobdescriptorstore.go new file mode 100644 index 0000000000..ac4c452117 --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/storage/cache/cachedblobdescriptorstore.go @@ -0,0 +1,129 @@ +package cache + +import ( + "context" + + "github.com/docker/distribution" + prometheus "github.com/docker/distribution/metrics" + "github.com/opencontainers/go-digest" +) + +// Metrics is used to hold metric counters +// related to the number of times a cache was +// hit or missed. +type Metrics struct { + Requests uint64 + Hits uint64 + Misses uint64 +} + +// Logger can be provided on the MetricsTracker to log errors. +// +// Usually, this is just a proxy to dcontext.GetLogger. +type Logger interface { + Errorf(format string, args ...interface{}) +} + +// MetricsTracker represents a metric tracker +// which simply counts the number of hits and misses. +type MetricsTracker interface { + Hit() + Miss() + Metrics() Metrics + Logger(context.Context) Logger +} + +type cachedBlobStatter struct { + cache distribution.BlobDescriptorService + backend distribution.BlobDescriptorService + tracker MetricsTracker +} + +var ( + // cacheCount is the number of total cache request received/hits/misses + cacheCount = prometheus.StorageNamespace.NewLabeledCounter("cache", "The number of cache request received", "type") +) + +// NewCachedBlobStatter creates a new statter which prefers a cache and +// falls back to a backend. +func NewCachedBlobStatter(cache distribution.BlobDescriptorService, backend distribution.BlobDescriptorService) distribution.BlobDescriptorService { + return &cachedBlobStatter{ + cache: cache, + backend: backend, + } +} + +// NewCachedBlobStatterWithMetrics creates a new statter which prefers a cache and +// falls back to a backend. Hits and misses will send to the tracker. +func NewCachedBlobStatterWithMetrics(cache distribution.BlobDescriptorService, backend distribution.BlobDescriptorService, tracker MetricsTracker) distribution.BlobStatter { + return &cachedBlobStatter{ + cache: cache, + backend: backend, + tracker: tracker, + } +} + +func (cbds *cachedBlobStatter) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) { + cacheCount.WithValues("Request").Inc(1) + desc, err := cbds.cache.Stat(ctx, dgst) + if err != nil { + if err != distribution.ErrBlobUnknown { + logErrorf(ctx, cbds.tracker, "error retrieving descriptor from cache: %v", err) + } + + goto fallback + } + cacheCount.WithValues("Hit").Inc(1) + if cbds.tracker != nil { + cbds.tracker.Hit() + } + return desc, nil +fallback: + cacheCount.WithValues("Miss").Inc(1) + if cbds.tracker != nil { + cbds.tracker.Miss() + } + desc, err = cbds.backend.Stat(ctx, dgst) + if err != nil { + return desc, err + } + + if err := cbds.cache.SetDescriptor(ctx, dgst, desc); err != nil { + logErrorf(ctx, cbds.tracker, "error adding descriptor %v to cache: %v", desc.Digest, err) + } + + return desc, err + +} + +func (cbds *cachedBlobStatter) Clear(ctx context.Context, dgst digest.Digest) error { + err := cbds.cache.Clear(ctx, dgst) + if err != nil { + return err + } + + err = cbds.backend.Clear(ctx, dgst) + if err != nil { + return err + } + return nil +} + +func (cbds *cachedBlobStatter) SetDescriptor(ctx context.Context, dgst digest.Digest, desc distribution.Descriptor) error { + if err := cbds.cache.SetDescriptor(ctx, dgst, desc); err != nil { + logErrorf(ctx, cbds.tracker, "error adding descriptor %v to cache: %v", desc.Digest, err) + } + return nil +} + +func logErrorf(ctx context.Context, tracker MetricsTracker, format string, args ...interface{}) { + if tracker == nil { + return + } + + logger := tracker.Logger(ctx) + if logger == nil { + return + } + logger.Errorf(format, args...) +} diff --git a/vendor/github.com/docker/distribution/registry/storage/cache/memory/memory.go b/vendor/github.com/docker/distribution/registry/storage/cache/memory/memory.go new file mode 100644 index 0000000000..f2953b02c2 --- /dev/null +++ b/vendor/github.com/docker/distribution/registry/storage/cache/memory/memory.go @@ -0,0 +1,179 @@ +package memory + +import ( + "context" + "sync" + + "github.com/distribution/reference" + "github.com/docker/distribution" + "github.com/docker/distribution/registry/storage/cache" + "github.com/opencontainers/go-digest" +) + +type inMemoryBlobDescriptorCacheProvider struct { + global *mapBlobDescriptorCache + repositories map[string]*mapBlobDescriptorCache + mu sync.RWMutex +} + +// NewInMemoryBlobDescriptorCacheProvider returns a new mapped-based cache for +// storing blob descriptor data. +func NewInMemoryBlobDescriptorCacheProvider() cache.BlobDescriptorCacheProvider { + return &inMemoryBlobDescriptorCacheProvider{ + global: newMapBlobDescriptorCache(), + repositories: make(map[string]*mapBlobDescriptorCache), + } +} + +func (imbdcp *inMemoryBlobDescriptorCacheProvider) RepositoryScoped(repo string) (distribution.BlobDescriptorService, error) { + if _, err := reference.ParseNormalizedNamed(repo); err != nil { + return nil, err + } + + imbdcp.mu.RLock() + defer imbdcp.mu.RUnlock() + + return &repositoryScopedInMemoryBlobDescriptorCache{ + repo: repo, + parent: imbdcp, + repository: imbdcp.repositories[repo], + }, nil +} + +func (imbdcp *inMemoryBlobDescriptorCacheProvider) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) { + return imbdcp.global.Stat(ctx, dgst) +} + +func (imbdcp *inMemoryBlobDescriptorCacheProvider) Clear(ctx context.Context, dgst digest.Digest) error { + return imbdcp.global.Clear(ctx, dgst) +} + +func (imbdcp *inMemoryBlobDescriptorCacheProvider) SetDescriptor(ctx context.Context, dgst digest.Digest, desc distribution.Descriptor) error { + _, err := imbdcp.Stat(ctx, dgst) + if err == distribution.ErrBlobUnknown { + + if dgst.Algorithm() != desc.Digest.Algorithm() && dgst != desc.Digest { + // if the digests differ, set the other canonical mapping + if err := imbdcp.global.SetDescriptor(ctx, desc.Digest, desc); err != nil { + return err + } + } + + // unknown, just set it + return imbdcp.global.SetDescriptor(ctx, dgst, desc) + } + + // we already know it, do nothing + return err +} + +// repositoryScopedInMemoryBlobDescriptorCache provides the request scoped +// repository cache. Instances are not thread-safe but the delegated +// operations are. +type repositoryScopedInMemoryBlobDescriptorCache struct { + repo string + parent *inMemoryBlobDescriptorCacheProvider // allows lazy allocation of repo's map + repository *mapBlobDescriptorCache +} + +func (rsimbdcp *repositoryScopedInMemoryBlobDescriptorCache) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) { + rsimbdcp.parent.mu.Lock() + repo := rsimbdcp.repository + rsimbdcp.parent.mu.Unlock() + + if repo == nil { + return distribution.Descriptor{}, distribution.ErrBlobUnknown + } + + return repo.Stat(ctx, dgst) +} + +func (rsimbdcp *repositoryScopedInMemoryBlobDescriptorCache) Clear(ctx context.Context, dgst digest.Digest) error { + rsimbdcp.parent.mu.Lock() + repo := rsimbdcp.repository + rsimbdcp.parent.mu.Unlock() + + if repo == nil { + return distribution.ErrBlobUnknown + } + + return repo.Clear(ctx, dgst) +} + +func (rsimbdcp *repositoryScopedInMemoryBlobDescriptorCache) SetDescriptor(ctx context.Context, dgst digest.Digest, desc distribution.Descriptor) error { + rsimbdcp.parent.mu.Lock() + repo := rsimbdcp.repository + if repo == nil { + // allocate map since we are setting it now. + var ok bool + // have to read back value since we may have allocated elsewhere. + repo, ok = rsimbdcp.parent.repositories[rsimbdcp.repo] + if !ok { + repo = newMapBlobDescriptorCache() + rsimbdcp.parent.repositories[rsimbdcp.repo] = repo + } + rsimbdcp.repository = repo + } + rsimbdcp.parent.mu.Unlock() + + if err := repo.SetDescriptor(ctx, dgst, desc); err != nil { + return err + } + + return rsimbdcp.parent.SetDescriptor(ctx, dgst, desc) +} + +// mapBlobDescriptorCache provides a simple map-based implementation of the +// descriptor cache. +type mapBlobDescriptorCache struct { + descriptors map[digest.Digest]distribution.Descriptor + mu sync.RWMutex +} + +var _ distribution.BlobDescriptorService = &mapBlobDescriptorCache{} + +func newMapBlobDescriptorCache() *mapBlobDescriptorCache { + return &mapBlobDescriptorCache{ + descriptors: make(map[digest.Digest]distribution.Descriptor), + } +} + +func (mbdc *mapBlobDescriptorCache) Stat(ctx context.Context, dgst digest.Digest) (distribution.Descriptor, error) { + if err := dgst.Validate(); err != nil { + return distribution.Descriptor{}, err + } + + mbdc.mu.RLock() + defer mbdc.mu.RUnlock() + + desc, ok := mbdc.descriptors[dgst] + if !ok { + return distribution.Descriptor{}, distribution.ErrBlobUnknown + } + + return desc, nil +} + +func (mbdc *mapBlobDescriptorCache) Clear(ctx context.Context, dgst digest.Digest) error { + mbdc.mu.Lock() + defer mbdc.mu.Unlock() + + delete(mbdc.descriptors, dgst) + return nil +} + +func (mbdc *mapBlobDescriptorCache) SetDescriptor(ctx context.Context, dgst digest.Digest, desc distribution.Descriptor) error { + if err := dgst.Validate(); err != nil { + return err + } + + if err := cache.ValidateDescriptor(desc); err != nil { + return err + } + + mbdc.mu.Lock() + defer mbdc.mu.Unlock() + + mbdc.descriptors[dgst] = desc + return nil +} diff --git a/vendor/github.com/docker/distribution/tags.go b/vendor/github.com/docker/distribution/tags.go new file mode 100644 index 0000000000..f22df2b850 --- /dev/null +++ b/vendor/github.com/docker/distribution/tags.go @@ -0,0 +1,27 @@ +package distribution + +import ( + "context" +) + +// TagService provides access to information about tagged objects. +type TagService interface { + // Get retrieves the descriptor identified by the tag. Some + // implementations may differentiate between "trusted" tags and + // "untrusted" tags. If a tag is "untrusted", the mapping will be returned + // as an ErrTagUntrusted error, with the target descriptor. + Get(ctx context.Context, tag string) (Descriptor, error) + + // Tag associates the tag with the provided descriptor, updating the + // current association, if needed. + Tag(ctx context.Context, tag string, desc Descriptor) error + + // Untag removes the given tag association + Untag(ctx context.Context, tag string) error + + // All returns the set of tags managed by this tag service + All(ctx context.Context) ([]string, error) + + // Lookup returns the set of tags referencing the given digest. + Lookup(ctx context.Context, digest Descriptor) ([]string, error) +} diff --git a/vendor/github.com/docker/distribution/vendor.conf b/vendor/github.com/docker/distribution/vendor.conf new file mode 100644 index 0000000000..20818428ff --- /dev/null +++ b/vendor/github.com/docker/distribution/vendor.conf @@ -0,0 +1,52 @@ +github.com/Azure/azure-sdk-for-go 4650843026a7fdec254a8d9cf893693a254edd0b +github.com/Azure/go-autorest eaa7994b2278094c904d31993d26f56324db3052 +github.com/sirupsen/logrus 3d4380f53a34dcdc95f0c1db702615992b38d9a4 +github.com/aws/aws-sdk-go f831d5a0822a1ad72420ab18c6269bca1ddaf490 +github.com/bshuster-repo/logrus-logstash-hook d2c0ecc1836d91814e15e23bb5dc309c3ef51f4a +github.com/beorn7/perks 4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9 +github.com/bugsnag/bugsnag-go b1d153021fcd90ca3f080db36bec96dc690fb274 +github.com/bugsnag/osext 0dd3f918b21bec95ace9dc86c7e70266cfc5c702 +github.com/bugsnag/panicwrap e2c28503fcd0675329da73bf48b33404db873782 +github.com/denverdino/aliyungo afedced274aa9a7fcdd47ac97018f0f8db4e5de2 +github.com/dgrijalva/jwt-go 4bbdd8ac624fc7a9ef7aec841c43d99b5fe65a29 https://github.com/golang-jwt/jwt.git # v3.2.2 +github.com/distribution/reference 49c28499d219290c3226822e9cfcd4ede6d75379 # v0.5.0 +github.com/docker/go-metrics 399ea8c73916000c64c2c76e8da00ca82f8387ab +github.com/docker/libtrust fa567046d9b14f6aa788882a950d69651d230b21 +github.com/garyburd/redigo 535138d7bcd717d6531c701ef5933d98b1866257 +github.com/go-ini/ini 2ba15ac2dc9cdf88c110ec2dc0ced7fa45f5678c +github.com/golang/protobuf 8d92cf5fc15a4382f8964b08e1f42a75c0591aa3 +github.com/gorilla/handlers 60c7bfde3e33c201519a200a4507a158cc03a17b +github.com/gorilla/mux 599cba5e7b6137d46ddf58fb1765f5d928e69604 +github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75 +github.com/jmespath/go-jmespath bd40a432e4c76585ef6b72d3fd96fb9b6dc7b68d +github.com/marstr/guid 8bd9a64bf37eb297b492a4101fb28e80ac0b290f +github.com/satori/go.uuid f58768cc1a7a7e77a3bd49e98cdd21419399b6a3 +github.com/matttproud/golang_protobuf_extensions c12348ce28de40eed0136aa2b644d0ee0650e56c +github.com/miekg/dns 271c58e0c14f552178ea321a545ff9af38930f39 +github.com/mitchellh/mapstructure 482a9fd5fa83e8c4e7817413b80f3eb8feec03ef +github.com/ncw/swift a0320860b16212c2b59b4912bb6508cda1d7cee6 +github.com/prometheus/client_golang c332b6f63c0658a65eca15c0e5247ded801cf564 +github.com/prometheus/client_model 99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c +github.com/prometheus/common 89604d197083d4781071d3c65855d24ecfb0a563 +github.com/prometheus/procfs cb4147076ac75738c9a7d279075a253c0cc5acbd +github.com/Shopify/logrus-bugsnag 577dee27f20dd8f1a529f82210094af593be12bd +github.com/spf13/cobra 312092086bed4968099259622145a0c9ae280064 +github.com/spf13/pflag 5644820622454e71517561946e3d94b9f9db6842 +github.com/xenolf/lego a9d8cec0e6563575e5868a005359ac97911b5985 +github.com/yvasiyarov/go-metrics 57bccd1ccd43f94bb17fdd8bf3007059b802f85e +github.com/yvasiyarov/gorelic a9bba5b9ab508a086f9a12b8c51fab68478e2128 +github.com/yvasiyarov/newrelic_platform_go b21fdbd4370f3717f3bbd2bf41c223bc273068e6 +golang.org/x/crypto c10c31b5e94b6f7a0283272dc2bb27163dcea24b +golang.org/x/net 4876518f9e71663000c348837735820161a42df7 +golang.org/x/oauth2 045497edb6234273d67dbc25da3f2ddbc4c4cacf +golang.org/x/time a4bde12657593d5e90d0533a3e4fd95e635124cb +google.golang.org/api 9bf6e6e569ff057f75d9604a46c52928f17d2b54 +google.golang.org/appengine 12d5545dc1cfa6047a286d5e853841b6471f4c19 +google.golang.org/cloud 975617b05ea8a58727e6c1a06b6161ff4185a9f2 +google.golang.org/grpc d3ddb4469d5a1b949fc7a7da7c1d6a0d1b6de994 +gopkg.in/check.v1 64131543e7896d5bcc6bd5a76287eb75ea96c673 +gopkg.in/square/go-jose.v1 40d457b439244b546f023d056628e5184136899b +gopkg.in/yaml.v2 v2.2.1 +rsc.io/letsencrypt e770c10b0f1a64775ae91d240407ce00d1a5bdeb https://github.com/dmcgowan/letsencrypt.git +github.com/opencontainers/go-digest ea51bea511f75cfa3ef6098cc253c5c3609b037a # v1.0.0 +github.com/opencontainers/image-spec 67d2d5658fe0476ab9bf414cec164077ebff3920 # v1.0.2 diff --git a/vendor/github.com/docker/go-metrics/CONTRIBUTING.md b/vendor/github.com/docker/go-metrics/CONTRIBUTING.md new file mode 100644 index 0000000000..b8a512c366 --- /dev/null +++ b/vendor/github.com/docker/go-metrics/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Contributing + +## Sign your work + +The sign-off is a simple line at the end of the explanation for the patch. Your +signature certifies that you wrote the patch or otherwise have the right to pass +it on as an open-source patch. The rules are pretty simple: if you can certify +the below (from [developercertificate.org](http://developercertificate.org/)): + +``` +Developer Certificate of Origin +Version 1.1 + +Copyright (C) 2004, 2006 The Linux Foundation and its contributors. +660 York Street, Suite 102, +San Francisco, CA 94110 USA + +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. + +Developer's Certificate of Origin 1.1 + +By making a contribution to this project, I certify that: + +(a) The contribution was created in whole or in part by me and I + have the right to submit it under the open source license + indicated in the file; or + +(b) The contribution is based upon previous work that, to the best + of my knowledge, is covered under an appropriate open source + license and I have the right under that license to submit that + work with modifications, whether created in whole or in part + by me, under the same open source license (unless I am + permitted to submit under a different license), as indicated + in the file; or + +(c) The contribution was provided directly to me by some other + person who certified (a), (b) or (c) and I have not modified + it. + +(d) I understand and agree that this project and the contribution + are public and that a record of the contribution (including all + personal information I submit with it, including my sign-off) is + maintained indefinitely and may be redistributed consistent with + this project or the open source license(s) involved. +``` + +Then you just add a line to every git commit message: + + Signed-off-by: Joe Smith + +Use your real name (sorry, no pseudonyms or anonymous contributions.) + +If you set your `user.name` and `user.email` git configs, you can sign your +commit automatically with `git commit -s`. diff --git a/vendor/github.com/docker/go-metrics/LICENSE b/vendor/github.com/docker/go-metrics/LICENSE new file mode 100644 index 0000000000..8f3fee627a --- /dev/null +++ b/vendor/github.com/docker/go-metrics/LICENSE @@ -0,0 +1,191 @@ + + Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + Copyright 2013-2016 Docker, Inc. + + 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 + + https://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. diff --git a/vendor/github.com/docker/go-metrics/LICENSE.docs b/vendor/github.com/docker/go-metrics/LICENSE.docs new file mode 100644 index 0000000000..e26cd4fc8e --- /dev/null +++ b/vendor/github.com/docker/go-metrics/LICENSE.docs @@ -0,0 +1,425 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + + including for purposes of Section 3(b); and + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/vendor/github.com/containerd/containerd/NOTICE b/vendor/github.com/docker/go-metrics/NOTICE similarity index 100% rename from vendor/github.com/containerd/containerd/NOTICE rename to vendor/github.com/docker/go-metrics/NOTICE diff --git a/vendor/github.com/docker/go-metrics/README.md b/vendor/github.com/docker/go-metrics/README.md new file mode 100644 index 0000000000..a9e947cb56 --- /dev/null +++ b/vendor/github.com/docker/go-metrics/README.md @@ -0,0 +1,91 @@ +# go-metrics [![GoDoc](https://godoc.org/github.com/docker/go-metrics?status.svg)](https://godoc.org/github.com/docker/go-metrics) ![Badge Badge](http://doyouevenbadge.com/github.com/docker/go-metrics) + +This package is small wrapper around the prometheus go client to help enforce convention and best practices for metrics collection in Docker projects. + +## Best Practices + +This packages is meant to be used for collecting metrics in Docker projects. +It is not meant to be used as a replacement for the prometheus client but to help enforce consistent naming across metrics collected. +If you have not already read the prometheus best practices around naming and labels you can read the page [here](https://prometheus.io/docs/practices/naming/). + +The following are a few Docker specific rules that will help you name and work with metrics in your project. + +1. Namespace and Subsystem + +This package provides you with a namespace type that allows you to specify the same namespace and subsystem for your metrics. + +```go +ns := metrics.NewNamespace("engine", "daemon", metrics.Labels{ + "version": dockerversion.Version, + "commit": dockerversion.GitCommit, +}) +``` + +In the example above we are creating metrics for the Docker engine's daemon package. +`engine` would be the namespace in this example where `daemon` is the subsystem or package where we are collecting the metrics. + +A namespace also allows you to attach constant labels to the metrics such as the git commit and version that it is collecting. + +2. Declaring your Metrics + +Try to keep all your metric declarations in one file. +This makes it easy for others to see what constant labels are defined on the namespace and what labels are defined on the metrics when they are created. + +3. Use labels instead of multiple metrics + +Labels allow you to define one metric such as the time it takes to perform a certain action on an object. +If we wanted to collect timings on various container actions such as create, start, and delete then we can define one metric called `container_actions` and use labels to specify the type of action. + + +```go +containerActions = ns.NewLabeledTimer("container_actions", "The number of milliseconds it takes to process each container action", "action") +``` + +The last parameter is the label name or key. +When adding a data point to the metric you will use the `WithValues` function to specify the `action` that you are collecting for. + +```go +containerActions.WithValues("create").UpdateSince(start) +``` + +4. Always use a unit + +The metric name should describe what you are measuring but you also need to provide the unit that it is being measured with. +For a timer, the standard unit is seconds and a counter's standard unit is a total. +For gauges you must provide the unit. +This package provides a standard set of units for use within the Docker projects. + +```go +Nanoseconds Unit = "nanoseconds" +Seconds Unit = "seconds" +Bytes Unit = "bytes" +Total Unit = "total" +``` + +If you need to use a unit but it is not defined in the package please open a PR to add it but first try to see if one of the already created units will work for your metric, i.e. seconds or nanoseconds vs adding milliseconds. + +## Docs + +Package documentation can be found [here](https://godoc.org/github.com/docker/go-metrics). + +## HTTP Metrics + +To instrument a http handler, you can wrap the code like this: + +```go +namespace := metrics.NewNamespace("docker_distribution", "http", metrics.Labels{"handler": "your_http_handler_name"}) +httpMetrics := namespace.NewDefaultHttpMetrics() +metrics.Register(namespace) +instrumentedHandler = metrics.InstrumentHandler(httpMetrics, unInstrumentedHandler) +``` +Note: The `handler` label must be provided when a new namespace is created. + +## Additional Metrics + +Additional metrics are also defined here that are not available in the prometheus client. +If you need a custom metrics and it is generic enough to be used by multiple projects, define it here. + + +## Copyright and license + +Copyright © 2016 Docker, Inc. All rights reserved, except as follows. Code is released under the Apache 2.0 license. The README.md file, and files in the "docs" folder are licensed under the Creative Commons Attribution 4.0 International License under the terms and conditions set forth in the file "LICENSE.docs". You may obtain a duplicate copy of the same license, titled CC-BY-SA-4.0, at http://creativecommons.org/licenses/by/4.0/. diff --git a/vendor/github.com/docker/go-metrics/counter.go b/vendor/github.com/docker/go-metrics/counter.go new file mode 100644 index 0000000000..fe36316a45 --- /dev/null +++ b/vendor/github.com/docker/go-metrics/counter.go @@ -0,0 +1,52 @@ +package metrics + +import "github.com/prometheus/client_golang/prometheus" + +// Counter is a metrics that can only increment its current count +type Counter interface { + // Inc adds Sum(vs) to the counter. Sum(vs) must be positive. + // + // If len(vs) == 0, increments the counter by 1. + Inc(vs ...float64) +} + +// LabeledCounter is counter that must have labels populated before use. +type LabeledCounter interface { + WithValues(vs ...string) Counter +} + +type labeledCounter struct { + pc *prometheus.CounterVec +} + +func (lc *labeledCounter) WithValues(vs ...string) Counter { + return &counter{pc: lc.pc.WithLabelValues(vs...)} +} + +func (lc *labeledCounter) Describe(ch chan<- *prometheus.Desc) { + lc.pc.Describe(ch) +} + +func (lc *labeledCounter) Collect(ch chan<- prometheus.Metric) { + lc.pc.Collect(ch) +} + +type counter struct { + pc prometheus.Counter +} + +func (c *counter) Inc(vs ...float64) { + if len(vs) == 0 { + c.pc.Inc() + } + + c.pc.Add(sumFloat64(vs...)) +} + +func (c *counter) Describe(ch chan<- *prometheus.Desc) { + c.pc.Describe(ch) +} + +func (c *counter) Collect(ch chan<- prometheus.Metric) { + c.pc.Collect(ch) +} diff --git a/vendor/github.com/docker/go-metrics/docs.go b/vendor/github.com/docker/go-metrics/docs.go new file mode 100644 index 0000000000..8fbdfc697d --- /dev/null +++ b/vendor/github.com/docker/go-metrics/docs.go @@ -0,0 +1,3 @@ +// This package is small wrapper around the prometheus go client to help enforce convention and best practices for metrics collection in Docker projects. + +package metrics diff --git a/vendor/github.com/docker/go-metrics/gauge.go b/vendor/github.com/docker/go-metrics/gauge.go new file mode 100644 index 0000000000..74296e8774 --- /dev/null +++ b/vendor/github.com/docker/go-metrics/gauge.go @@ -0,0 +1,72 @@ +package metrics + +import "github.com/prometheus/client_golang/prometheus" + +// Gauge is a metric that allows incrementing and decrementing a value +type Gauge interface { + Inc(...float64) + Dec(...float64) + + // Add adds the provided value to the gauge's current value + Add(float64) + + // Set replaces the gauge's current value with the provided value + Set(float64) +} + +// LabeledGauge describes a gauge the must have values populated before use. +type LabeledGauge interface { + WithValues(labels ...string) Gauge +} + +type labeledGauge struct { + pg *prometheus.GaugeVec +} + +func (lg *labeledGauge) WithValues(labels ...string) Gauge { + return &gauge{pg: lg.pg.WithLabelValues(labels...)} +} + +func (lg *labeledGauge) Describe(c chan<- *prometheus.Desc) { + lg.pg.Describe(c) +} + +func (lg *labeledGauge) Collect(c chan<- prometheus.Metric) { + lg.pg.Collect(c) +} + +type gauge struct { + pg prometheus.Gauge +} + +func (g *gauge) Inc(vs ...float64) { + if len(vs) == 0 { + g.pg.Inc() + } + + g.Add(sumFloat64(vs...)) +} + +func (g *gauge) Dec(vs ...float64) { + if len(vs) == 0 { + g.pg.Dec() + } + + g.Add(-sumFloat64(vs...)) +} + +func (g *gauge) Add(v float64) { + g.pg.Add(v) +} + +func (g *gauge) Set(v float64) { + g.pg.Set(v) +} + +func (g *gauge) Describe(c chan<- *prometheus.Desc) { + g.pg.Describe(c) +} + +func (g *gauge) Collect(c chan<- prometheus.Metric) { + g.pg.Collect(c) +} diff --git a/vendor/github.com/docker/go-metrics/handler.go b/vendor/github.com/docker/go-metrics/handler.go new file mode 100644 index 0000000000..05601e9ecd --- /dev/null +++ b/vendor/github.com/docker/go-metrics/handler.go @@ -0,0 +1,74 @@ +package metrics + +import ( + "net/http" + + "github.com/prometheus/client_golang/prometheus" + "github.com/prometheus/client_golang/prometheus/promhttp" +) + +// HTTPHandlerOpts describes a set of configurable options of http metrics +type HTTPHandlerOpts struct { + DurationBuckets []float64 + RequestSizeBuckets []float64 + ResponseSizeBuckets []float64 +} + +const ( + InstrumentHandlerResponseSize = iota + InstrumentHandlerRequestSize + InstrumentHandlerDuration + InstrumentHandlerCounter + InstrumentHandlerInFlight +) + +type HTTPMetric struct { + prometheus.Collector + handlerType int +} + +var ( + defaultDurationBuckets = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10, 25, 60} + defaultRequestSizeBuckets = prometheus.ExponentialBuckets(1024, 2, 22) //1K to 4G + defaultResponseSizeBuckets = defaultRequestSizeBuckets +) + +// Handler returns the global http.Handler that provides the prometheus +// metrics format on GET requests. This handler is no longer instrumented. +func Handler() http.Handler { + return promhttp.Handler() +} + +func InstrumentHandler(metrics []*HTTPMetric, handler http.Handler) http.HandlerFunc { + return InstrumentHandlerFunc(metrics, handler.ServeHTTP) +} + +func InstrumentHandlerFunc(metrics []*HTTPMetric, handlerFunc http.HandlerFunc) http.HandlerFunc { + var handler http.Handler + handler = http.HandlerFunc(handlerFunc) + for _, metric := range metrics { + switch metric.handlerType { + case InstrumentHandlerResponseSize: + if collector, ok := metric.Collector.(prometheus.ObserverVec); ok { + handler = promhttp.InstrumentHandlerResponseSize(collector, handler) + } + case InstrumentHandlerRequestSize: + if collector, ok := metric.Collector.(prometheus.ObserverVec); ok { + handler = promhttp.InstrumentHandlerRequestSize(collector, handler) + } + case InstrumentHandlerDuration: + if collector, ok := metric.Collector.(prometheus.ObserverVec); ok { + handler = promhttp.InstrumentHandlerDuration(collector, handler) + } + case InstrumentHandlerCounter: + if collector, ok := metric.Collector.(*prometheus.CounterVec); ok { + handler = promhttp.InstrumentHandlerCounter(collector, handler) + } + case InstrumentHandlerInFlight: + if collector, ok := metric.Collector.(prometheus.Gauge); ok { + handler = promhttp.InstrumentHandlerInFlight(collector, handler) + } + } + } + return handler.ServeHTTP +} diff --git a/vendor/github.com/docker/go-metrics/helpers.go b/vendor/github.com/docker/go-metrics/helpers.go new file mode 100644 index 0000000000..68b7f51b33 --- /dev/null +++ b/vendor/github.com/docker/go-metrics/helpers.go @@ -0,0 +1,10 @@ +package metrics + +func sumFloat64(vs ...float64) float64 { + var sum float64 + for _, v := range vs { + sum += v + } + + return sum +} diff --git a/vendor/github.com/docker/go-metrics/namespace.go b/vendor/github.com/docker/go-metrics/namespace.go new file mode 100644 index 0000000000..798315451a --- /dev/null +++ b/vendor/github.com/docker/go-metrics/namespace.go @@ -0,0 +1,315 @@ +package metrics + +import ( + "fmt" + "sync" + + "github.com/prometheus/client_golang/prometheus" +) + +type Labels map[string]string + +// NewNamespace returns a namespaces that is responsible for managing a collection of +// metrics for a particual namespace and subsystem +// +// labels allows const labels to be added to all metrics created in this namespace +// and are commonly used for data like application version and git commit +func NewNamespace(name, subsystem string, labels Labels) *Namespace { + if labels == nil { + labels = make(map[string]string) + } + return &Namespace{ + name: name, + subsystem: subsystem, + labels: labels, + } +} + +// Namespace describes a set of metrics that share a namespace and subsystem. +type Namespace struct { + name string + subsystem string + labels Labels + mu sync.Mutex + metrics []prometheus.Collector +} + +// WithConstLabels returns a namespace with the provided set of labels merged +// with the existing constant labels on the namespace. +// +// Only metrics created with the returned namespace will get the new constant +// labels. The returned namespace must be registered separately. +func (n *Namespace) WithConstLabels(labels Labels) *Namespace { + n.mu.Lock() + ns := &Namespace{ + name: n.name, + subsystem: n.subsystem, + labels: mergeLabels(n.labels, labels), + } + n.mu.Unlock() + return ns +} + +func (n *Namespace) NewCounter(name, help string) Counter { + c := &counter{pc: prometheus.NewCounter(n.newCounterOpts(name, help))} + n.Add(c) + return c +} + +func (n *Namespace) NewLabeledCounter(name, help string, labels ...string) LabeledCounter { + c := &labeledCounter{pc: prometheus.NewCounterVec(n.newCounterOpts(name, help), labels)} + n.Add(c) + return c +} + +func (n *Namespace) newCounterOpts(name, help string) prometheus.CounterOpts { + return prometheus.CounterOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: makeName(name, Total), + Help: help, + ConstLabels: prometheus.Labels(n.labels), + } +} + +func (n *Namespace) NewTimer(name, help string) Timer { + t := &timer{ + m: prometheus.NewHistogram(n.newTimerOpts(name, help)), + } + n.Add(t) + return t +} + +func (n *Namespace) NewLabeledTimer(name, help string, labels ...string) LabeledTimer { + t := &labeledTimer{ + m: prometheus.NewHistogramVec(n.newTimerOpts(name, help), labels), + } + n.Add(t) + return t +} + +func (n *Namespace) newTimerOpts(name, help string) prometheus.HistogramOpts { + return prometheus.HistogramOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: makeName(name, Seconds), + Help: help, + ConstLabels: prometheus.Labels(n.labels), + } +} + +func (n *Namespace) NewGauge(name, help string, unit Unit) Gauge { + g := &gauge{ + pg: prometheus.NewGauge(n.newGaugeOpts(name, help, unit)), + } + n.Add(g) + return g +} + +func (n *Namespace) NewLabeledGauge(name, help string, unit Unit, labels ...string) LabeledGauge { + g := &labeledGauge{ + pg: prometheus.NewGaugeVec(n.newGaugeOpts(name, help, unit), labels), + } + n.Add(g) + return g +} + +func (n *Namespace) newGaugeOpts(name, help string, unit Unit) prometheus.GaugeOpts { + return prometheus.GaugeOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: makeName(name, unit), + Help: help, + ConstLabels: prometheus.Labels(n.labels), + } +} + +func (n *Namespace) Describe(ch chan<- *prometheus.Desc) { + n.mu.Lock() + defer n.mu.Unlock() + + for _, metric := range n.metrics { + metric.Describe(ch) + } +} + +func (n *Namespace) Collect(ch chan<- prometheus.Metric) { + n.mu.Lock() + defer n.mu.Unlock() + + for _, metric := range n.metrics { + metric.Collect(ch) + } +} + +func (n *Namespace) Add(collector prometheus.Collector) { + n.mu.Lock() + n.metrics = append(n.metrics, collector) + n.mu.Unlock() +} + +func (n *Namespace) NewDesc(name, help string, unit Unit, labels ...string) *prometheus.Desc { + name = makeName(name, unit) + namespace := n.name + if n.subsystem != "" { + namespace = fmt.Sprintf("%s_%s", namespace, n.subsystem) + } + name = fmt.Sprintf("%s_%s", namespace, name) + return prometheus.NewDesc(name, help, labels, prometheus.Labels(n.labels)) +} + +// mergeLabels merges two or more labels objects into a single map, favoring +// the later labels. +func mergeLabels(lbs ...Labels) Labels { + merged := make(Labels) + + for _, target := range lbs { + for k, v := range target { + merged[k] = v + } + } + + return merged +} + +func makeName(name string, unit Unit) string { + if unit == "" { + return name + } + + return fmt.Sprintf("%s_%s", name, unit) +} + +func (n *Namespace) NewDefaultHttpMetrics(handlerName string) []*HTTPMetric { + return n.NewHttpMetricsWithOpts(handlerName, HTTPHandlerOpts{ + DurationBuckets: defaultDurationBuckets, + RequestSizeBuckets: defaultResponseSizeBuckets, + ResponseSizeBuckets: defaultResponseSizeBuckets, + }) +} + +func (n *Namespace) NewHttpMetrics(handlerName string, durationBuckets, requestSizeBuckets, responseSizeBuckets []float64) []*HTTPMetric { + return n.NewHttpMetricsWithOpts(handlerName, HTTPHandlerOpts{ + DurationBuckets: durationBuckets, + RequestSizeBuckets: requestSizeBuckets, + ResponseSizeBuckets: responseSizeBuckets, + }) +} + +func (n *Namespace) NewHttpMetricsWithOpts(handlerName string, opts HTTPHandlerOpts) []*HTTPMetric { + var httpMetrics []*HTTPMetric + inFlightMetric := n.NewInFlightGaugeMetric(handlerName) + requestTotalMetric := n.NewRequestTotalMetric(handlerName) + requestDurationMetric := n.NewRequestDurationMetric(handlerName, opts.DurationBuckets) + requestSizeMetric := n.NewRequestSizeMetric(handlerName, opts.RequestSizeBuckets) + responseSizeMetric := n.NewResponseSizeMetric(handlerName, opts.ResponseSizeBuckets) + httpMetrics = append(httpMetrics, inFlightMetric, requestDurationMetric, requestTotalMetric, requestSizeMetric, responseSizeMetric) + return httpMetrics +} + +func (n *Namespace) NewInFlightGaugeMetric(handlerName string) *HTTPMetric { + labels := prometheus.Labels(n.labels) + labels["handler"] = handlerName + metric := prometheus.NewGauge(prometheus.GaugeOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: "in_flight_requests", + Help: "The in-flight HTTP requests", + ConstLabels: prometheus.Labels(labels), + }) + httpMetric := &HTTPMetric{ + Collector: metric, + handlerType: InstrumentHandlerInFlight, + } + n.Add(httpMetric) + return httpMetric +} + +func (n *Namespace) NewRequestTotalMetric(handlerName string) *HTTPMetric { + labels := prometheus.Labels(n.labels) + labels["handler"] = handlerName + metric := prometheus.NewCounterVec( + prometheus.CounterOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: "requests_total", + Help: "Total number of HTTP requests made.", + ConstLabels: prometheus.Labels(labels), + }, + []string{"code", "method"}, + ) + httpMetric := &HTTPMetric{ + Collector: metric, + handlerType: InstrumentHandlerCounter, + } + n.Add(httpMetric) + return httpMetric +} +func (n *Namespace) NewRequestDurationMetric(handlerName string, buckets []float64) *HTTPMetric { + if len(buckets) == 0 { + panic("DurationBuckets must be provided") + } + labels := prometheus.Labels(n.labels) + labels["handler"] = handlerName + opts := prometheus.HistogramOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: "request_duration_seconds", + Help: "The HTTP request latencies in seconds.", + Buckets: buckets, + ConstLabels: prometheus.Labels(labels), + } + metric := prometheus.NewHistogramVec(opts, []string{"method"}) + httpMetric := &HTTPMetric{ + Collector: metric, + handlerType: InstrumentHandlerDuration, + } + n.Add(httpMetric) + return httpMetric +} + +func (n *Namespace) NewRequestSizeMetric(handlerName string, buckets []float64) *HTTPMetric { + if len(buckets) == 0 { + panic("RequestSizeBuckets must be provided") + } + labels := prometheus.Labels(n.labels) + labels["handler"] = handlerName + opts := prometheus.HistogramOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: "request_size_bytes", + Help: "The HTTP request sizes in bytes.", + Buckets: buckets, + ConstLabels: prometheus.Labels(labels), + } + metric := prometheus.NewHistogramVec(opts, []string{}) + httpMetric := &HTTPMetric{ + Collector: metric, + handlerType: InstrumentHandlerRequestSize, + } + n.Add(httpMetric) + return httpMetric +} + +func (n *Namespace) NewResponseSizeMetric(handlerName string, buckets []float64) *HTTPMetric { + if len(buckets) == 0 { + panic("ResponseSizeBuckets must be provided") + } + labels := prometheus.Labels(n.labels) + labels["handler"] = handlerName + opts := prometheus.HistogramOpts{ + Namespace: n.name, + Subsystem: n.subsystem, + Name: "response_size_bytes", + Help: "The HTTP response sizes in bytes.", + Buckets: buckets, + ConstLabels: prometheus.Labels(labels), + } + metrics := prometheus.NewHistogramVec(opts, []string{}) + httpMetric := &HTTPMetric{ + Collector: metrics, + handlerType: InstrumentHandlerResponseSize, + } + n.Add(httpMetric) + return httpMetric +} diff --git a/vendor/github.com/docker/go-metrics/register.go b/vendor/github.com/docker/go-metrics/register.go new file mode 100644 index 0000000000..708358df01 --- /dev/null +++ b/vendor/github.com/docker/go-metrics/register.go @@ -0,0 +1,15 @@ +package metrics + +import "github.com/prometheus/client_golang/prometheus" + +// Register adds all the metrics in the provided namespace to the global +// metrics registry +func Register(n *Namespace) { + prometheus.MustRegister(n) +} + +// Deregister removes all the metrics in the provided namespace from the +// global metrics registry +func Deregister(n *Namespace) { + prometheus.Unregister(n) +} diff --git a/vendor/github.com/docker/go-metrics/timer.go b/vendor/github.com/docker/go-metrics/timer.go new file mode 100644 index 0000000000..824c98739c --- /dev/null +++ b/vendor/github.com/docker/go-metrics/timer.go @@ -0,0 +1,85 @@ +package metrics + +import ( + "time" + + "github.com/prometheus/client_golang/prometheus" +) + +// StartTimer begins a timer observation at the callsite. When the target +// operation is completed, the caller should call the return done func(). +func StartTimer(timer Timer) (done func()) { + start := time.Now() + return func() { + timer.Update(time.Since(start)) + } +} + +// Timer is a metric that allows collecting the duration of an action in seconds +type Timer interface { + // Update records an observation, duration, and converts to the target + // units. + Update(duration time.Duration) + + // UpdateSince will add the duration from the provided starting time to the + // timer's summary with the precisions that was used in creation of the timer + UpdateSince(time.Time) +} + +// LabeledTimer is a timer that must have label values populated before use. +type LabeledTimer interface { + WithValues(labels ...string) *labeledTimerObserver +} + +type labeledTimer struct { + m *prometheus.HistogramVec +} + +type labeledTimerObserver struct { + m prometheus.Observer +} + +func (lbo *labeledTimerObserver) Update(duration time.Duration) { + lbo.m.Observe(duration.Seconds()) +} + +func (lbo *labeledTimerObserver) UpdateSince(since time.Time) { + lbo.m.Observe(time.Since(since).Seconds()) +} + +func (lt *labeledTimer) WithValues(labels ...string) *labeledTimerObserver { + return &labeledTimerObserver{m: lt.m.WithLabelValues(labels...)} +} + +func (lt *labeledTimer) Describe(c chan<- *prometheus.Desc) { + lt.m.Describe(c) +} + +func (lt *labeledTimer) Collect(c chan<- prometheus.Metric) { + lt.m.Collect(c) +} + +type timer struct { + m prometheus.Observer +} + +func (t *timer) Update(duration time.Duration) { + t.m.Observe(duration.Seconds()) +} + +func (t *timer) UpdateSince(since time.Time) { + t.m.Observe(time.Since(since).Seconds()) +} + +func (t *timer) Describe(c chan<- *prometheus.Desc) { + c <- t.m.(prometheus.Metric).Desc() +} + +func (t *timer) Collect(c chan<- prometheus.Metric) { + // Are there any observers that don't implement Collector? It is really + // unclear what the point of the upstream change was, but we'll let this + // panic if we get an observer that doesn't implement collector. In this + // case, we should almost always see metricVec objects, so this should + // never panic. + t.m.(prometheus.Collector).Collect(c) +} diff --git a/vendor/github.com/docker/go-metrics/unit.go b/vendor/github.com/docker/go-metrics/unit.go new file mode 100644 index 0000000000..c96622f903 --- /dev/null +++ b/vendor/github.com/docker/go-metrics/unit.go @@ -0,0 +1,12 @@ +package metrics + +// Unit represents the type or precision of a metric that is appended to +// the metrics fully qualified name +type Unit string + +const ( + Nanoseconds Unit = "nanoseconds" + Seconds Unit = "seconds" + Bytes Unit = "bytes" + Total Unit = "total" +) diff --git a/vendor/github.com/ghodss/yaml/.gitignore b/vendor/github.com/ghodss/yaml/.gitignore new file mode 100644 index 0000000000..e256a31e00 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/.gitignore @@ -0,0 +1,20 @@ +# OSX leaves these everywhere on SMB shares +._* + +# Eclipse files +.classpath +.project +.settings/** + +# Emacs save files +*~ + +# Vim-related files +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist + +# Go test binaries +*.test diff --git a/vendor/github.com/ghodss/yaml/.travis.yml b/vendor/github.com/ghodss/yaml/.travis.yml new file mode 100644 index 0000000000..0e9d6edc01 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/.travis.yml @@ -0,0 +1,7 @@ +language: go +go: + - 1.3 + - 1.4 +script: + - go test + - go build diff --git a/vendor/github.com/ghodss/yaml/LICENSE b/vendor/github.com/ghodss/yaml/LICENSE new file mode 100644 index 0000000000..7805d36de7 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/LICENSE @@ -0,0 +1,50 @@ +The MIT License (MIT) + +Copyright (c) 2014 Sam Ghods + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Copyright (c) 2012 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/ghodss/yaml/README.md b/vendor/github.com/ghodss/yaml/README.md new file mode 100644 index 0000000000..0200f75b4d --- /dev/null +++ b/vendor/github.com/ghodss/yaml/README.md @@ -0,0 +1,121 @@ +# YAML marshaling and unmarshaling support for Go + +[![Build Status](https://travis-ci.org/ghodss/yaml.svg)](https://travis-ci.org/ghodss/yaml) + +## Introduction + +A wrapper around [go-yaml](https://github.com/go-yaml/yaml) designed to enable a better way of handling YAML when marshaling to and from structs. + +In short, this library first converts YAML to JSON using go-yaml and then uses `json.Marshal` and `json.Unmarshal` to convert to or from the struct. This means that it effectively reuses the JSON struct tags as well as the custom JSON methods `MarshalJSON` and `UnmarshalJSON` unlike go-yaml. For a detailed overview of the rationale behind this method, [see this blog post](http://ghodss.com/2014/the-right-way-to-handle-yaml-in-golang/). + +## Compatibility + +This package uses [go-yaml](https://github.com/go-yaml/yaml) and therefore supports [everything go-yaml supports](https://github.com/go-yaml/yaml#compatibility). + +## Caveats + +**Caveat #1:** When using `yaml.Marshal` and `yaml.Unmarshal`, binary data should NOT be preceded with the `!!binary` YAML tag. If you do, go-yaml will convert the binary data from base64 to native binary data, which is not compatible with JSON. You can still use binary in your YAML files though - just store them without the `!!binary` tag and decode the base64 in your code (e.g. in the custom JSON methods `MarshalJSON` and `UnmarshalJSON`). This also has the benefit that your YAML and your JSON binary data will be decoded exactly the same way. As an example: + +``` +BAD: + exampleKey: !!binary gIGC + +GOOD: + exampleKey: gIGC +... and decode the base64 data in your code. +``` + +**Caveat #2:** When using `YAMLToJSON` directly, maps with keys that are maps will result in an error since this is not supported by JSON. This error will occur in `Unmarshal` as well since you can't unmarshal map keys anyways since struct fields can't be keys. + +## Installation and usage + +To install, run: + +``` +$ go get github.com/ghodss/yaml +``` + +And import using: + +``` +import "github.com/ghodss/yaml" +``` + +Usage is very similar to the JSON library: + +```go +package main + +import ( + "fmt" + + "github.com/ghodss/yaml" +) + +type Person struct { + Name string `json:"name"` // Affects YAML field names too. + Age int `json:"age"` +} + +func main() { + // Marshal a Person struct to YAML. + p := Person{"John", 30} + y, err := yaml.Marshal(p) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(string(y)) + /* Output: + age: 30 + name: John + */ + + // Unmarshal the YAML back into a Person struct. + var p2 Person + err = yaml.Unmarshal(y, &p2) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(p2) + /* Output: + {John 30} + */ +} +``` + +`yaml.YAMLToJSON` and `yaml.JSONToYAML` methods are also available: + +```go +package main + +import ( + "fmt" + + "github.com/ghodss/yaml" +) + +func main() { + j := []byte(`{"name": "John", "age": 30}`) + y, err := yaml.JSONToYAML(j) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(string(y)) + /* Output: + name: John + age: 30 + */ + j2, err := yaml.YAMLToJSON(y) + if err != nil { + fmt.Printf("err: %v\n", err) + return + } + fmt.Println(string(j2)) + /* Output: + {"age":30,"name":"John"} + */ +} +``` diff --git a/vendor/github.com/ghodss/yaml/fields.go b/vendor/github.com/ghodss/yaml/fields.go new file mode 100644 index 0000000000..5860074026 --- /dev/null +++ b/vendor/github.com/ghodss/yaml/fields.go @@ -0,0 +1,501 @@ +// Copyright 2013 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +package yaml + +import ( + "bytes" + "encoding" + "encoding/json" + "reflect" + "sort" + "strings" + "sync" + "unicode" + "unicode/utf8" +) + +// indirect walks down v allocating pointers as needed, +// until it gets to a non-pointer. +// if it encounters an Unmarshaler, indirect stops and returns that. +// if decodingNull is true, indirect stops at the last pointer so it can be set to nil. +func indirect(v reflect.Value, decodingNull bool) (json.Unmarshaler, encoding.TextUnmarshaler, reflect.Value) { + // If v is a named type and is addressable, + // start with its address, so that if the type has pointer methods, + // we find them. + if v.Kind() != reflect.Ptr && v.Type().Name() != "" && v.CanAddr() { + v = v.Addr() + } + for { + // Load value from interface, but only if the result will be + // usefully addressable. + if v.Kind() == reflect.Interface && !v.IsNil() { + e := v.Elem() + if e.Kind() == reflect.Ptr && !e.IsNil() && (!decodingNull || e.Elem().Kind() == reflect.Ptr) { + v = e + continue + } + } + + if v.Kind() != reflect.Ptr { + break + } + + if v.Elem().Kind() != reflect.Ptr && decodingNull && v.CanSet() { + break + } + if v.IsNil() { + if v.CanSet() { + v.Set(reflect.New(v.Type().Elem())) + } else { + v = reflect.New(v.Type().Elem()) + } + } + if v.Type().NumMethod() > 0 { + if u, ok := v.Interface().(json.Unmarshaler); ok { + return u, nil, reflect.Value{} + } + if u, ok := v.Interface().(encoding.TextUnmarshaler); ok { + return nil, u, reflect.Value{} + } + } + v = v.Elem() + } + return nil, nil, v +} + +// A field represents a single field found in a struct. +type field struct { + name string + nameBytes []byte // []byte(name) + equalFold func(s, t []byte) bool // bytes.EqualFold or equivalent + + tag bool + index []int + typ reflect.Type + omitEmpty bool + quoted bool +} + +func fillField(f field) field { + f.nameBytes = []byte(f.name) + f.equalFold = foldFunc(f.nameBytes) + return f +} + +// byName sorts field by name, breaking ties with depth, +// then breaking ties with "name came from json tag", then +// breaking ties with index sequence. +type byName []field + +func (x byName) Len() int { return len(x) } + +func (x byName) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x byName) Less(i, j int) bool { + if x[i].name != x[j].name { + return x[i].name < x[j].name + } + if len(x[i].index) != len(x[j].index) { + return len(x[i].index) < len(x[j].index) + } + if x[i].tag != x[j].tag { + return x[i].tag + } + return byIndex(x).Less(i, j) +} + +// byIndex sorts field by index sequence. +type byIndex []field + +func (x byIndex) Len() int { return len(x) } + +func (x byIndex) Swap(i, j int) { x[i], x[j] = x[j], x[i] } + +func (x byIndex) Less(i, j int) bool { + for k, xik := range x[i].index { + if k >= len(x[j].index) { + return false + } + if xik != x[j].index[k] { + return xik < x[j].index[k] + } + } + return len(x[i].index) < len(x[j].index) +} + +// typeFields returns a list of fields that JSON should recognize for the given type. +// The algorithm is breadth-first search over the set of structs to include - the top struct +// and then any reachable anonymous structs. +func typeFields(t reflect.Type) []field { + // Anonymous fields to explore at the current level and the next. + current := []field{} + next := []field{{typ: t}} + + // Count of queued names for current level and the next. + count := map[reflect.Type]int{} + nextCount := map[reflect.Type]int{} + + // Types already visited at an earlier level. + visited := map[reflect.Type]bool{} + + // Fields found. + var fields []field + + for len(next) > 0 { + current, next = next, current[:0] + count, nextCount = nextCount, map[reflect.Type]int{} + + for _, f := range current { + if visited[f.typ] { + continue + } + visited[f.typ] = true + + // Scan f.typ for fields to include. + for i := 0; i < f.typ.NumField(); i++ { + sf := f.typ.Field(i) + if sf.PkgPath != "" { // unexported + continue + } + tag := sf.Tag.Get("json") + if tag == "-" { + continue + } + name, opts := parseTag(tag) + if !isValidTag(name) { + name = "" + } + index := make([]int, len(f.index)+1) + copy(index, f.index) + index[len(f.index)] = i + + ft := sf.Type + if ft.Name() == "" && ft.Kind() == reflect.Ptr { + // Follow pointer. + ft = ft.Elem() + } + + // Record found field and index sequence. + if name != "" || !sf.Anonymous || ft.Kind() != reflect.Struct { + tagged := name != "" + if name == "" { + name = sf.Name + } + fields = append(fields, fillField(field{ + name: name, + tag: tagged, + index: index, + typ: ft, + omitEmpty: opts.Contains("omitempty"), + quoted: opts.Contains("string"), + })) + if count[f.typ] > 1 { + // If there were multiple instances, add a second, + // so that the annihilation code will see a duplicate. + // It only cares about the distinction between 1 or 2, + // so don't bother generating any more copies. + fields = append(fields, fields[len(fields)-1]) + } + continue + } + + // Record new anonymous struct to explore in next round. + nextCount[ft]++ + if nextCount[ft] == 1 { + next = append(next, fillField(field{name: ft.Name(), index: index, typ: ft})) + } + } + } + } + + sort.Sort(byName(fields)) + + // Delete all fields that are hidden by the Go rules for embedded fields, + // except that fields with JSON tags are promoted. + + // The fields are sorted in primary order of name, secondary order + // of field index length. Loop over names; for each name, delete + // hidden fields by choosing the one dominant field that survives. + out := fields[:0] + for advance, i := 0, 0; i < len(fields); i += advance { + // One iteration per name. + // Find the sequence of fields with the name of this first field. + fi := fields[i] + name := fi.name + for advance = 1; i+advance < len(fields); advance++ { + fj := fields[i+advance] + if fj.name != name { + break + } + } + if advance == 1 { // Only one field with this name + out = append(out, fi) + continue + } + dominant, ok := dominantField(fields[i : i+advance]) + if ok { + out = append(out, dominant) + } + } + + fields = out + sort.Sort(byIndex(fields)) + + return fields +} + +// dominantField looks through the fields, all of which are known to +// have the same name, to find the single field that dominates the +// others using Go's embedding rules, modified by the presence of +// JSON tags. If there are multiple top-level fields, the boolean +// will be false: This condition is an error in Go and we skip all +// the fields. +func dominantField(fields []field) (field, bool) { + // The fields are sorted in increasing index-length order. The winner + // must therefore be one with the shortest index length. Drop all + // longer entries, which is easy: just truncate the slice. + length := len(fields[0].index) + tagged := -1 // Index of first tagged field. + for i, f := range fields { + if len(f.index) > length { + fields = fields[:i] + break + } + if f.tag { + if tagged >= 0 { + // Multiple tagged fields at the same level: conflict. + // Return no field. + return field{}, false + } + tagged = i + } + } + if tagged >= 0 { + return fields[tagged], true + } + // All remaining fields have the same length. If there's more than one, + // we have a conflict (two fields named "X" at the same level) and we + // return no field. + if len(fields) > 1 { + return field{}, false + } + return fields[0], true +} + +var fieldCache struct { + sync.RWMutex + m map[reflect.Type][]field +} + +// cachedTypeFields is like typeFields but uses a cache to avoid repeated work. +func cachedTypeFields(t reflect.Type) []field { + fieldCache.RLock() + f := fieldCache.m[t] + fieldCache.RUnlock() + if f != nil { + return f + } + + // Compute fields without lock. + // Might duplicate effort but won't hold other computations back. + f = typeFields(t) + if f == nil { + f = []field{} + } + + fieldCache.Lock() + if fieldCache.m == nil { + fieldCache.m = map[reflect.Type][]field{} + } + fieldCache.m[t] = f + fieldCache.Unlock() + return f +} + +func isValidTag(s string) bool { + if s == "" { + return false + } + for _, c := range s { + switch { + case strings.ContainsRune("!#$%&()*+-./:<=>?@[]^_{|}~ ", c): + // Backslash and quote chars are reserved, but + // otherwise any punctuation chars are allowed + // in a tag name. + default: + if !unicode.IsLetter(c) && !unicode.IsDigit(c) { + return false + } + } + } + return true +} + +const ( + caseMask = ^byte(0x20) // Mask to ignore case in ASCII. + kelvin = '\u212a' + smallLongEss = '\u017f' +) + +// foldFunc returns one of four different case folding equivalence +// functions, from most general (and slow) to fastest: +// +// 1) bytes.EqualFold, if the key s contains any non-ASCII UTF-8 +// 2) equalFoldRight, if s contains special folding ASCII ('k', 'K', 's', 'S') +// 3) asciiEqualFold, no special, but includes non-letters (including _) +// 4) simpleLetterEqualFold, no specials, no non-letters. +// +// The letters S and K are special because they map to 3 runes, not just 2: +// * S maps to s and to U+017F 'ſ' Latin small letter long s +// * k maps to K and to U+212A 'K' Kelvin sign +// See http://play.golang.org/p/tTxjOc0OGo +// +// The returned function is specialized for matching against s and +// should only be given s. It's not curried for performance reasons. +func foldFunc(s []byte) func(s, t []byte) bool { + nonLetter := false + special := false // special letter + for _, b := range s { + if b >= utf8.RuneSelf { + return bytes.EqualFold + } + upper := b & caseMask + if upper < 'A' || upper > 'Z' { + nonLetter = true + } else if upper == 'K' || upper == 'S' { + // See above for why these letters are special. + special = true + } + } + if special { + return equalFoldRight + } + if nonLetter { + return asciiEqualFold + } + return simpleLetterEqualFold +} + +// equalFoldRight is a specialization of bytes.EqualFold when s is +// known to be all ASCII (including punctuation), but contains an 's', +// 'S', 'k', or 'K', requiring a Unicode fold on the bytes in t. +// See comments on foldFunc. +func equalFoldRight(s, t []byte) bool { + for _, sb := range s { + if len(t) == 0 { + return false + } + tb := t[0] + if tb < utf8.RuneSelf { + if sb != tb { + sbUpper := sb & caseMask + if 'A' <= sbUpper && sbUpper <= 'Z' { + if sbUpper != tb&caseMask { + return false + } + } else { + return false + } + } + t = t[1:] + continue + } + // sb is ASCII and t is not. t must be either kelvin + // sign or long s; sb must be s, S, k, or K. + tr, size := utf8.DecodeRune(t) + switch sb { + case 's', 'S': + if tr != smallLongEss { + return false + } + case 'k', 'K': + if tr != kelvin { + return false + } + default: + return false + } + t = t[size:] + + } + if len(t) > 0 { + return false + } + return true +} + +// asciiEqualFold is a specialization of bytes.EqualFold for use when +// s is all ASCII (but may contain non-letters) and contains no +// special-folding letters. +// See comments on foldFunc. +func asciiEqualFold(s, t []byte) bool { + if len(s) != len(t) { + return false + } + for i, sb := range s { + tb := t[i] + if sb == tb { + continue + } + if ('a' <= sb && sb <= 'z') || ('A' <= sb && sb <= 'Z') { + if sb&caseMask != tb&caseMask { + return false + } + } else { + return false + } + } + return true +} + +// simpleLetterEqualFold is a specialization of bytes.EqualFold for +// use when s is all ASCII letters (no underscores, etc) and also +// doesn't contain 'k', 'K', 's', or 'S'. +// See comments on foldFunc. +func simpleLetterEqualFold(s, t []byte) bool { + if len(s) != len(t) { + return false + } + for i, b := range s { + if b&caseMask != t[i]&caseMask { + return false + } + } + return true +} + +// tagOptions is the string following a comma in a struct field's "json" +// tag, or the empty string. It does not include the leading comma. +type tagOptions string + +// parseTag splits a struct field's json tag into its name and +// comma-separated options. +func parseTag(tag string) (string, tagOptions) { + if idx := strings.Index(tag, ","); idx != -1 { + return tag[:idx], tagOptions(tag[idx+1:]) + } + return tag, tagOptions("") +} + +// Contains reports whether a comma-separated list of options +// contains a particular substr flag. substr must be surrounded by a +// string boundary or commas. +func (o tagOptions) Contains(optionName string) bool { + if len(o) == 0 { + return false + } + s := string(o) + for s != "" { + var next string + i := strings.Index(s, ",") + if i >= 0 { + s, next = s[:i], s[i+1:] + } + if s == optionName { + return true + } + s = next + } + return false +} diff --git a/vendor/github.com/ghodss/yaml/yaml.go b/vendor/github.com/ghodss/yaml/yaml.go new file mode 100644 index 0000000000..4fb4054a8b --- /dev/null +++ b/vendor/github.com/ghodss/yaml/yaml.go @@ -0,0 +1,277 @@ +package yaml + +import ( + "bytes" + "encoding/json" + "fmt" + "reflect" + "strconv" + + "gopkg.in/yaml.v2" +) + +// Marshals the object into JSON then converts JSON to YAML and returns the +// YAML. +func Marshal(o interface{}) ([]byte, error) { + j, err := json.Marshal(o) + if err != nil { + return nil, fmt.Errorf("error marshaling into JSON: %v", err) + } + + y, err := JSONToYAML(j) + if err != nil { + return nil, fmt.Errorf("error converting JSON to YAML: %v", err) + } + + return y, nil +} + +// Converts YAML to JSON then uses JSON to unmarshal into an object. +func Unmarshal(y []byte, o interface{}) error { + vo := reflect.ValueOf(o) + j, err := yamlToJSON(y, &vo) + if err != nil { + return fmt.Errorf("error converting YAML to JSON: %v", err) + } + + err = json.Unmarshal(j, o) + if err != nil { + return fmt.Errorf("error unmarshaling JSON: %v", err) + } + + return nil +} + +// Convert JSON to YAML. +func JSONToYAML(j []byte) ([]byte, error) { + // Convert the JSON to an object. + var jsonObj interface{} + // We are using yaml.Unmarshal here (instead of json.Unmarshal) because the + // Go JSON library doesn't try to pick the right number type (int, float, + // etc.) when unmarshalling to interface{}, it just picks float64 + // universally. go-yaml does go through the effort of picking the right + // number type, so we can preserve number type throughout this process. + err := yaml.Unmarshal(j, &jsonObj) + if err != nil { + return nil, err + } + + // Marshal this object into YAML. + return yaml.Marshal(jsonObj) +} + +// Convert YAML to JSON. Since JSON is a subset of YAML, passing JSON through +// this method should be a no-op. +// +// Things YAML can do that are not supported by JSON: +// * In YAML you can have binary and null keys in your maps. These are invalid +// in JSON. (int and float keys are converted to strings.) +// * Binary data in YAML with the !!binary tag is not supported. If you want to +// use binary data with this library, encode the data as base64 as usual but do +// not use the !!binary tag in your YAML. This will ensure the original base64 +// encoded data makes it all the way through to the JSON. +func YAMLToJSON(y []byte) ([]byte, error) { + return yamlToJSON(y, nil) +} + +func yamlToJSON(y []byte, jsonTarget *reflect.Value) ([]byte, error) { + // Convert the YAML to an object. + var yamlObj interface{} + err := yaml.Unmarshal(y, &yamlObj) + if err != nil { + return nil, err + } + + // YAML objects are not completely compatible with JSON objects (e.g. you + // can have non-string keys in YAML). So, convert the YAML-compatible object + // to a JSON-compatible object, failing with an error if irrecoverable + // incompatibilties happen along the way. + jsonObj, err := convertToJSONableObject(yamlObj, jsonTarget) + if err != nil { + return nil, err + } + + // Convert this object to JSON and return the data. + return json.Marshal(jsonObj) +} + +func convertToJSONableObject(yamlObj interface{}, jsonTarget *reflect.Value) (interface{}, error) { + var err error + + // Resolve jsonTarget to a concrete value (i.e. not a pointer or an + // interface). We pass decodingNull as false because we're not actually + // decoding into the value, we're just checking if the ultimate target is a + // string. + if jsonTarget != nil { + ju, tu, pv := indirect(*jsonTarget, false) + // We have a JSON or Text Umarshaler at this level, so we can't be trying + // to decode into a string. + if ju != nil || tu != nil { + jsonTarget = nil + } else { + jsonTarget = &pv + } + } + + // If yamlObj is a number or a boolean, check if jsonTarget is a string - + // if so, coerce. Else return normal. + // If yamlObj is a map or array, find the field that each key is + // unmarshaling to, and when you recurse pass the reflect.Value for that + // field back into this function. + switch typedYAMLObj := yamlObj.(type) { + case map[interface{}]interface{}: + // JSON does not support arbitrary keys in a map, so we must convert + // these keys to strings. + // + // From my reading of go-yaml v2 (specifically the resolve function), + // keys can only have the types string, int, int64, float64, binary + // (unsupported), or null (unsupported). + strMap := make(map[string]interface{}) + for k, v := range typedYAMLObj { + // Resolve the key to a string first. + var keyString string + switch typedKey := k.(type) { + case string: + keyString = typedKey + case int: + keyString = strconv.Itoa(typedKey) + case int64: + // go-yaml will only return an int64 as a key if the system + // architecture is 32-bit and the key's value is between 32-bit + // and 64-bit. Otherwise the key type will simply be int. + keyString = strconv.FormatInt(typedKey, 10) + case float64: + // Stolen from go-yaml to use the same conversion to string as + // the go-yaml library uses to convert float to string when + // Marshaling. + s := strconv.FormatFloat(typedKey, 'g', -1, 32) + switch s { + case "+Inf": + s = ".inf" + case "-Inf": + s = "-.inf" + case "NaN": + s = ".nan" + } + keyString = s + case bool: + if typedKey { + keyString = "true" + } else { + keyString = "false" + } + default: + return nil, fmt.Errorf("Unsupported map key of type: %s, key: %+#v, value: %+#v", + reflect.TypeOf(k), k, v) + } + + // jsonTarget should be a struct or a map. If it's a struct, find + // the field it's going to map to and pass its reflect.Value. If + // it's a map, find the element type of the map and pass the + // reflect.Value created from that type. If it's neither, just pass + // nil - JSON conversion will error for us if it's a real issue. + if jsonTarget != nil { + t := *jsonTarget + if t.Kind() == reflect.Struct { + keyBytes := []byte(keyString) + // Find the field that the JSON library would use. + var f *field + fields := cachedTypeFields(t.Type()) + for i := range fields { + ff := &fields[i] + if bytes.Equal(ff.nameBytes, keyBytes) { + f = ff + break + } + // Do case-insensitive comparison. + if f == nil && ff.equalFold(ff.nameBytes, keyBytes) { + f = ff + } + } + if f != nil { + // Find the reflect.Value of the most preferential + // struct field. + jtf := t.Field(f.index[0]) + strMap[keyString], err = convertToJSONableObject(v, &jtf) + if err != nil { + return nil, err + } + continue + } + } else if t.Kind() == reflect.Map { + // Create a zero value of the map's element type to use as + // the JSON target. + jtv := reflect.Zero(t.Type().Elem()) + strMap[keyString], err = convertToJSONableObject(v, &jtv) + if err != nil { + return nil, err + } + continue + } + } + strMap[keyString], err = convertToJSONableObject(v, nil) + if err != nil { + return nil, err + } + } + return strMap, nil + case []interface{}: + // We need to recurse into arrays in case there are any + // map[interface{}]interface{}'s inside and to convert any + // numbers to strings. + + // If jsonTarget is a slice (which it really should be), find the + // thing it's going to map to. If it's not a slice, just pass nil + // - JSON conversion will error for us if it's a real issue. + var jsonSliceElemValue *reflect.Value + if jsonTarget != nil { + t := *jsonTarget + if t.Kind() == reflect.Slice { + // By default slices point to nil, but we need a reflect.Value + // pointing to a value of the slice type, so we create one here. + ev := reflect.Indirect(reflect.New(t.Type().Elem())) + jsonSliceElemValue = &ev + } + } + + // Make and use a new array. + arr := make([]interface{}, len(typedYAMLObj)) + for i, v := range typedYAMLObj { + arr[i], err = convertToJSONableObject(v, jsonSliceElemValue) + if err != nil { + return nil, err + } + } + return arr, nil + default: + // If the target type is a string and the YAML type is a number, + // convert the YAML type to a string. + if jsonTarget != nil && (*jsonTarget).Kind() == reflect.String { + // Based on my reading of go-yaml, it may return int, int64, + // float64, or uint64. + var s string + switch typedVal := typedYAMLObj.(type) { + case int: + s = strconv.FormatInt(int64(typedVal), 10) + case int64: + s = strconv.FormatInt(typedVal, 10) + case float64: + s = strconv.FormatFloat(typedVal, 'g', -1, 32) + case uint64: + s = strconv.FormatUint(typedVal, 10) + case bool: + if typedVal { + s = "true" + } else { + s = "false" + } + } + if len(s) > 0 { + yamlObj = interface{}(s) + } + } + return yamlObj, nil + } + + return nil, nil +} diff --git a/vendor/github.com/go-logr/logr/README.md b/vendor/github.com/go-logr/logr/README.md index a8c29bfbd5..8969526a6e 100644 --- a/vendor/github.com/go-logr/logr/README.md +++ b/vendor/github.com/go-logr/logr/README.md @@ -91,11 +91,12 @@ logr design but also left out some parts and changed others: | Adding a name to a logger | `WithName` | no API | | Modify verbosity of log entries in a call chain | `V` | no API | | Grouping of key/value pairs | not supported | `WithGroup`, `GroupValue` | +| Pass context for extracting additional values | no API | API variants like `InfoCtx` | The high-level slog API is explicitly meant to be one of many different APIs that can be layered on top of a shared `slog.Handler`. logr is one such -alternative API, with [interoperability](#slog-interoperability) provided by the [`slogr`](slogr) -package. +alternative API, with [interoperability](#slog-interoperability) provided by +some conversion functions. ### Inspiration @@ -145,24 +146,24 @@ There are implementations for the following logging libraries: ## slog interoperability Interoperability goes both ways, using the `logr.Logger` API with a `slog.Handler` -and using the `slog.Logger` API with a `logr.LogSink`. [slogr](./slogr) provides `NewLogr` and -`NewSlogHandler` API calls to convert between a `logr.Logger` and a `slog.Handler`. +and using the `slog.Logger` API with a `logr.LogSink`. `FromSlogHandler` and +`ToSlogHandler` convert between a `logr.Logger` and a `slog.Handler`. As usual, `slog.New` can be used to wrap such a `slog.Handler` in the high-level -slog API. `slogr` itself leaves that to the caller. +slog API. -## Using a `logr.Sink` as backend for slog +### Using a `logr.LogSink` as backend for slog Ideally, a logr sink implementation should support both logr and slog by -implementing both the normal logr interface(s) and `slogr.SlogSink`. Because +implementing both the normal logr interface(s) and `SlogSink`. Because of a conflict in the parameters of the common `Enabled` method, it is [not possible to implement both slog.Handler and logr.Sink in the same type](https://github.com/golang/go/issues/59110). If both are supported, log calls can go from the high-level APIs to the backend -without the need to convert parameters. `NewLogr` and `NewSlogHandler` can +without the need to convert parameters. `FromSlogHandler` and `ToSlogHandler` can convert back and forth without adding additional wrappers, with one exception: when `Logger.V` was used to adjust the verbosity for a `slog.Handler`, then -`NewSlogHandler` has to use a wrapper which adjusts the verbosity for future +`ToSlogHandler` has to use a wrapper which adjusts the verbosity for future log calls. Such an implementation should also support values that implement specific @@ -187,13 +188,13 @@ Not supporting slog has several drawbacks: These drawbacks are severe enough that applications using a mixture of slog and logr should switch to a different backend. -## Using a `slog.Handler` as backend for logr +### Using a `slog.Handler` as backend for logr Using a plain `slog.Handler` without support for logr works better than the other direction: - All logr verbosity levels can be mapped 1:1 to their corresponding slog level by negating them. -- Stack unwinding is done by the `slogr.SlogSink` and the resulting program +- Stack unwinding is done by the `SlogSink` and the resulting program counter is passed to the `slog.Handler`. - Names added via `Logger.WithName` are gathered and recorded in an additional attribute with `logger` as key and the names separated by slash as value. @@ -205,27 +206,39 @@ ideally support both `logr.Marshaler` and `slog.Valuer`. If compatibility with logr implementations without slog support is not important, then `slog.Valuer` is sufficient. -## Context support for slog +### Context support for slog Storing a logger in a `context.Context` is not supported by -slog. `logr.NewContext` and `logr.FromContext` can be used with slog like this -to fill this gap: - - func HandlerFromContext(ctx context.Context) slog.Handler { - logger, err := logr.FromContext(ctx) - if err == nil { - return slogr.NewSlogHandler(logger) - } - return slog.Default().Handler() - } - - func ContextWithHandler(ctx context.Context, handler slog.Handler) context.Context { - return logr.NewContext(ctx, slogr.NewLogr(handler)) - } - -The downside is that storing and retrieving a `slog.Handler` needs more -allocations compared to using a `logr.Logger`. Therefore the recommendation is -to use the `logr.Logger` API in code which uses contextual logging. +slog. `NewContextWithSlogLogger` and `FromContextAsSlogLogger` can be +used to fill this gap. They store and retrieve a `slog.Logger` pointer +under the same context key that is also used by `NewContext` and +`FromContext` for `logr.Logger` value. + +When `NewContextWithSlogLogger` is followed by `FromContext`, the latter will +automatically convert the `slog.Logger` to a +`logr.Logger`. `FromContextAsSlogLogger` does the same for the other direction. + +With this approach, binaries which use either slog or logr are as efficient as +possible with no unnecessary allocations. This is also why the API stores a +`slog.Logger` pointer: when storing a `slog.Handler`, creating a `slog.Logger` +on retrieval would need to allocate one. + +The downside is that switching back and forth needs more allocations. Because +logr is the API that is already in use by different packages, in particular +Kubernetes, the recommendation is to use the `logr.Logger` API in code which +uses contextual logging. + +An alternative to adding values to a logger and storing that logger in the +context is to store the values in the context and to configure a logging +backend to extract those values when emitting log entries. This only works when +log calls are passed the context, which is not supported by the logr API. + +With the slog API, it is possible, but not +required. https://github.com/veqryn/slog-context is a package for slog which +provides additional support code for this approach. It also contains wrappers +for the context functions in logr, so developers who prefer to not use the logr +APIs directly can use those instead and the resulting code will still be +interoperable with logr. ## FAQ diff --git a/vendor/github.com/go-logr/logr/context.go b/vendor/github.com/go-logr/logr/context.go new file mode 100644 index 0000000000..de8bcc3ad8 --- /dev/null +++ b/vendor/github.com/go-logr/logr/context.go @@ -0,0 +1,33 @@ +/* +Copyright 2023 The logr Authors. + +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. +*/ + +package logr + +// contextKey is how we find Loggers in a context.Context. With Go < 1.21, +// the value is always a Logger value. With Go >= 1.21, the value can be a +// Logger value or a slog.Logger pointer. +type contextKey struct{} + +// notFoundError exists to carry an IsNotFound method. +type notFoundError struct{} + +func (notFoundError) Error() string { + return "no logr.Logger was present" +} + +func (notFoundError) IsNotFound() bool { + return true +} diff --git a/vendor/github.com/go-logr/logr/context_noslog.go b/vendor/github.com/go-logr/logr/context_noslog.go new file mode 100644 index 0000000000..f012f9a18e --- /dev/null +++ b/vendor/github.com/go-logr/logr/context_noslog.go @@ -0,0 +1,49 @@ +//go:build !go1.21 +// +build !go1.21 + +/* +Copyright 2019 The logr Authors. + +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. +*/ + +package logr + +import ( + "context" +) + +// FromContext returns a Logger from ctx or an error if no Logger is found. +func FromContext(ctx context.Context) (Logger, error) { + if v, ok := ctx.Value(contextKey{}).(Logger); ok { + return v, nil + } + + return Logger{}, notFoundError{} +} + +// FromContextOrDiscard returns a Logger from ctx. If no Logger is found, this +// returns a Logger that discards all log messages. +func FromContextOrDiscard(ctx context.Context) Logger { + if v, ok := ctx.Value(contextKey{}).(Logger); ok { + return v + } + + return Discard() +} + +// NewContext returns a new Context, derived from ctx, which carries the +// provided Logger. +func NewContext(ctx context.Context, logger Logger) context.Context { + return context.WithValue(ctx, contextKey{}, logger) +} diff --git a/vendor/github.com/go-logr/logr/context_slog.go b/vendor/github.com/go-logr/logr/context_slog.go new file mode 100644 index 0000000000..065ef0b828 --- /dev/null +++ b/vendor/github.com/go-logr/logr/context_slog.go @@ -0,0 +1,83 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2019 The logr Authors. + +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. +*/ + +package logr + +import ( + "context" + "fmt" + "log/slog" +) + +// FromContext returns a Logger from ctx or an error if no Logger is found. +func FromContext(ctx context.Context) (Logger, error) { + v := ctx.Value(contextKey{}) + if v == nil { + return Logger{}, notFoundError{} + } + + switch v := v.(type) { + case Logger: + return v, nil + case *slog.Logger: + return FromSlogHandler(v.Handler()), nil + default: + // Not reached. + panic(fmt.Sprintf("unexpected value type for logr context key: %T", v)) + } +} + +// FromContextAsSlogLogger returns a slog.Logger from ctx or nil if no such Logger is found. +func FromContextAsSlogLogger(ctx context.Context) *slog.Logger { + v := ctx.Value(contextKey{}) + if v == nil { + return nil + } + + switch v := v.(type) { + case Logger: + return slog.New(ToSlogHandler(v)) + case *slog.Logger: + return v + default: + // Not reached. + panic(fmt.Sprintf("unexpected value type for logr context key: %T", v)) + } +} + +// FromContextOrDiscard returns a Logger from ctx. If no Logger is found, this +// returns a Logger that discards all log messages. +func FromContextOrDiscard(ctx context.Context) Logger { + if logger, err := FromContext(ctx); err == nil { + return logger + } + return Discard() +} + +// NewContext returns a new Context, derived from ctx, which carries the +// provided Logger. +func NewContext(ctx context.Context, logger Logger) context.Context { + return context.WithValue(ctx, contextKey{}, logger) +} + +// NewContextWithSlogLogger returns a new Context, derived from ctx, which carries the +// provided slog.Logger. +func NewContextWithSlogLogger(ctx context.Context, logger *slog.Logger) context.Context { + return context.WithValue(ctx, contextKey{}, logger) +} diff --git a/vendor/github.com/go-logr/logr/funcr/funcr.go b/vendor/github.com/go-logr/logr/funcr/funcr.go index 12e5807cc5..fb2f866f4b 100644 --- a/vendor/github.com/go-logr/logr/funcr/funcr.go +++ b/vendor/github.com/go-logr/logr/funcr/funcr.go @@ -100,6 +100,11 @@ type Options struct { // details, see docs for Go's time.Layout. TimestampFormat string + // LogInfoLevel tells funcr what key to use to log the info level. + // If not specified, the info level will be logged as "level". + // If this is set to "", the info level will not be logged at all. + LogInfoLevel *string + // Verbosity tells funcr which V logs to produce. Higher values enable // more logs. Info logs at or below this level will be written, while logs // above this level will be discarded. @@ -213,6 +218,10 @@ func newFormatter(opts Options, outfmt outputFormat) Formatter { if opts.MaxLogDepth == 0 { opts.MaxLogDepth = defaultMaxLogDepth } + if opts.LogInfoLevel == nil { + opts.LogInfoLevel = new(string) + *opts.LogInfoLevel = "level" + } f := Formatter{ outputFormat: outfmt, prefix: "", @@ -227,12 +236,15 @@ func newFormatter(opts Options, outfmt outputFormat) Formatter { // implementation. It should be constructed with NewFormatter. Some of // its methods directly implement logr.LogSink. type Formatter struct { - outputFormat outputFormat - prefix string - values []any - valuesStr string - depth int - opts *Options + outputFormat outputFormat + prefix string + values []any + valuesStr string + parentValuesStr string + depth int + opts *Options + group string // for slog groups + groupDepth int } // outputFormat indicates which outputFormat to use. @@ -253,33 +265,62 @@ func (f Formatter) render(builtins, args []any) string { // Empirically bytes.Buffer is faster than strings.Builder for this. buf := bytes.NewBuffer(make([]byte, 0, 1024)) if f.outputFormat == outputJSON { - buf.WriteByte('{') + buf.WriteByte('{') // for the whole line } + vals := builtins if hook := f.opts.RenderBuiltinsHook; hook != nil { vals = hook(f.sanitize(vals)) } f.flatten(buf, vals, false, false) // keys are ours, no need to escape continuing := len(builtins) > 0 - if len(f.valuesStr) > 0 { + + if f.parentValuesStr != "" { if continuing { - if f.outputFormat == outputJSON { - buf.WriteByte(',') - } else { - buf.WriteByte(' ') - } + buf.WriteByte(f.comma()) } + buf.WriteString(f.parentValuesStr) continuing = true + } + + groupDepth := f.groupDepth + if f.group != "" { + if f.valuesStr != "" || len(args) != 0 { + if continuing { + buf.WriteByte(f.comma()) + } + buf.WriteString(f.quoted(f.group, true)) // escape user-provided keys + buf.WriteByte(f.colon()) + buf.WriteByte('{') // for the group + continuing = false + } else { + // The group was empty + groupDepth-- + } + } + + if f.valuesStr != "" { + if continuing { + buf.WriteByte(f.comma()) + } buf.WriteString(f.valuesStr) + continuing = true } + vals = args if hook := f.opts.RenderArgsHook; hook != nil { vals = hook(f.sanitize(vals)) } f.flatten(buf, vals, continuing, true) // escape user-provided keys + + for i := 0; i < groupDepth; i++ { + buf.WriteByte('}') // for the groups + } + if f.outputFormat == outputJSON { - buf.WriteByte('}') + buf.WriteByte('}') // for the whole line } + return buf.String() } @@ -298,9 +339,16 @@ func (f Formatter) flatten(buf *bytes.Buffer, kvList []any, continuing bool, esc if len(kvList)%2 != 0 { kvList = append(kvList, noValue) } + copied := false for i := 0; i < len(kvList); i += 2 { k, ok := kvList[i].(string) if !ok { + if !copied { + newList := make([]any, len(kvList)) + copy(newList, kvList) + kvList = newList + copied = true + } k = f.nonStringKey(kvList[i]) kvList[i] = k } @@ -308,7 +356,7 @@ func (f Formatter) flatten(buf *bytes.Buffer, kvList []any, continuing bool, esc if i > 0 || continuing { if f.outputFormat == outputJSON { - buf.WriteByte(',') + buf.WriteByte(f.comma()) } else { // In theory the format could be something we don't understand. In // practice, we control it, so it won't be. @@ -316,24 +364,35 @@ func (f Formatter) flatten(buf *bytes.Buffer, kvList []any, continuing bool, esc } } - if escapeKeys { - buf.WriteString(prettyString(k)) - } else { - // this is faster - buf.WriteByte('"') - buf.WriteString(k) - buf.WriteByte('"') - } - if f.outputFormat == outputJSON { - buf.WriteByte(':') - } else { - buf.WriteByte('=') - } + buf.WriteString(f.quoted(k, escapeKeys)) + buf.WriteByte(f.colon()) buf.WriteString(f.pretty(v)) } return kvList } +func (f Formatter) quoted(str string, escape bool) string { + if escape { + return prettyString(str) + } + // this is faster + return `"` + str + `"` +} + +func (f Formatter) comma() byte { + if f.outputFormat == outputJSON { + return ',' + } + return ' ' +} + +func (f Formatter) colon() byte { + if f.outputFormat == outputJSON { + return ':' + } + return '=' +} + func (f Formatter) pretty(value any) string { return f.prettyWithFlags(value, 0, 0) } @@ -407,12 +466,12 @@ func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { } for i := 0; i < len(v); i += 2 { if i > 0 { - buf.WriteByte(',') + buf.WriteByte(f.comma()) } k, _ := v[i].(string) // sanitize() above means no need to check success // arbitrary keys might need escaping buf.WriteString(prettyString(k)) - buf.WriteByte(':') + buf.WriteByte(f.colon()) buf.WriteString(f.prettyWithFlags(v[i+1], 0, depth+1)) } if flags&flagRawStruct == 0 { @@ -481,7 +540,7 @@ func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { continue } if printComma { - buf.WriteByte(',') + buf.WriteByte(f.comma()) } printComma = true // if we got here, we are rendering a field if fld.Anonymous && fld.Type.Kind() == reflect.Struct && name == "" { @@ -492,10 +551,8 @@ func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { name = fld.Name } // field names can't contain characters which need escaping - buf.WriteByte('"') - buf.WriteString(name) - buf.WriteByte('"') - buf.WriteByte(':') + buf.WriteString(f.quoted(name, false)) + buf.WriteByte(f.colon()) buf.WriteString(f.prettyWithFlags(v.Field(i).Interface(), 0, depth+1)) } if flags&flagRawStruct == 0 { @@ -520,7 +577,7 @@ func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { buf.WriteByte('[') for i := 0; i < v.Len(); i++ { if i > 0 { - buf.WriteByte(',') + buf.WriteByte(f.comma()) } e := v.Index(i) buf.WriteString(f.prettyWithFlags(e.Interface(), 0, depth+1)) @@ -534,7 +591,7 @@ func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { i := 0 for it.Next() { if i > 0 { - buf.WriteByte(',') + buf.WriteByte(f.comma()) } // If a map key supports TextMarshaler, use it. keystr := "" @@ -556,7 +613,7 @@ func (f Formatter) prettyWithFlags(value any, flags uint32, depth int) string { } } buf.WriteString(keystr) - buf.WriteByte(':') + buf.WriteByte(f.colon()) buf.WriteString(f.prettyWithFlags(it.Value().Interface(), 0, depth+1)) i++ } @@ -706,6 +763,53 @@ func (f Formatter) sanitize(kvList []any) []any { return kvList } +// startGroup opens a new group scope (basically a sub-struct), which locks all +// the current saved values and starts them anew. This is needed to satisfy +// slog. +func (f *Formatter) startGroup(group string) { + // Unnamed groups are just inlined. + if group == "" { + return + } + + // Any saved values can no longer be changed. + buf := bytes.NewBuffer(make([]byte, 0, 1024)) + continuing := false + + if f.parentValuesStr != "" { + buf.WriteString(f.parentValuesStr) + continuing = true + } + + if f.group != "" && f.valuesStr != "" { + if continuing { + buf.WriteByte(f.comma()) + } + buf.WriteString(f.quoted(f.group, true)) // escape user-provided keys + buf.WriteByte(f.colon()) + buf.WriteByte('{') // for the group + continuing = false + } + + if f.valuesStr != "" { + if continuing { + buf.WriteByte(f.comma()) + } + buf.WriteString(f.valuesStr) + } + + // NOTE: We don't close the scope here - that's done later, when a log line + // is actually rendered (because we have N scopes to close). + + f.parentValuesStr = buf.String() + + // Start collecting new values. + f.group = group + f.groupDepth++ + f.valuesStr = "" + f.values = nil +} + // Init configures this Formatter from runtime info, such as the call depth // imposed by logr itself. // Note that this receiver is a pointer, so depth can be saved. @@ -740,7 +844,10 @@ func (f Formatter) FormatInfo(level int, msg string, kvList []any) (prefix, args if policy := f.opts.LogCaller; policy == All || policy == Info { args = append(args, "caller", f.caller()) } - args = append(args, "level", level, "msg", msg) + if key := *f.opts.LogInfoLevel; key != "" { + args = append(args, key, level) + } + args = append(args, "msg", msg) return prefix, f.render(args, kvList) } diff --git a/vendor/github.com/go-logr/logr/funcr/slogsink.go b/vendor/github.com/go-logr/logr/funcr/slogsink.go new file mode 100644 index 0000000000..7bd84761e2 --- /dev/null +++ b/vendor/github.com/go-logr/logr/funcr/slogsink.go @@ -0,0 +1,105 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +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. +*/ + +package funcr + +import ( + "context" + "log/slog" + + "github.com/go-logr/logr" +) + +var _ logr.SlogSink = &fnlogger{} + +const extraSlogSinkDepth = 3 // 2 for slog, 1 for SlogSink + +func (l fnlogger) Handle(_ context.Context, record slog.Record) error { + kvList := make([]any, 0, 2*record.NumAttrs()) + record.Attrs(func(attr slog.Attr) bool { + kvList = attrToKVs(attr, kvList) + return true + }) + + if record.Level >= slog.LevelError { + l.WithCallDepth(extraSlogSinkDepth).Error(nil, record.Message, kvList...) + } else { + level := l.levelFromSlog(record.Level) + l.WithCallDepth(extraSlogSinkDepth).Info(level, record.Message, kvList...) + } + return nil +} + +func (l fnlogger) WithAttrs(attrs []slog.Attr) logr.SlogSink { + kvList := make([]any, 0, 2*len(attrs)) + for _, attr := range attrs { + kvList = attrToKVs(attr, kvList) + } + l.AddValues(kvList) + return &l +} + +func (l fnlogger) WithGroup(name string) logr.SlogSink { + l.startGroup(name) + return &l +} + +// attrToKVs appends a slog.Attr to a logr-style kvList. It handle slog Groups +// and other details of slog. +func attrToKVs(attr slog.Attr, kvList []any) []any { + attrVal := attr.Value.Resolve() + if attrVal.Kind() == slog.KindGroup { + groupVal := attrVal.Group() + grpKVs := make([]any, 0, 2*len(groupVal)) + for _, attr := range groupVal { + grpKVs = attrToKVs(attr, grpKVs) + } + if attr.Key == "" { + // slog says we have to inline these + kvList = append(kvList, grpKVs...) + } else { + kvList = append(kvList, attr.Key, PseudoStruct(grpKVs)) + } + } else if attr.Key != "" { + kvList = append(kvList, attr.Key, attrVal.Any()) + } + + return kvList +} + +// levelFromSlog adjusts the level by the logger's verbosity and negates it. +// It ensures that the result is >= 0. This is necessary because the result is +// passed to a LogSink and that API did not historically document whether +// levels could be negative or what that meant. +// +// Some example usage: +// +// logrV0 := getMyLogger() +// logrV2 := logrV0.V(2) +// slogV2 := slog.New(logr.ToSlogHandler(logrV2)) +// slogV2.Debug("msg") // =~ logrV2.V(4) =~ logrV0.V(6) +// slogV2.Info("msg") // =~ logrV2.V(0) =~ logrV0.V(2) +// slogv2.Warn("msg") // =~ logrV2.V(-4) =~ logrV0.V(0) +func (l fnlogger) levelFromSlog(level slog.Level) int { + result := -level + if result < 0 { + result = 0 // because LogSink doesn't expect negative V levels + } + return int(result) +} diff --git a/vendor/github.com/go-logr/logr/logr.go b/vendor/github.com/go-logr/logr/logr.go index 2a5075a180..b4428e105b 100644 --- a/vendor/github.com/go-logr/logr/logr.go +++ b/vendor/github.com/go-logr/logr/logr.go @@ -207,10 +207,6 @@ limitations under the License. // those. package logr -import ( - "context" -) - // New returns a new Logger instance. This is primarily used by libraries // implementing LogSink, rather than end users. Passing a nil sink will create // a Logger which discards all log lines. @@ -410,45 +406,6 @@ func (l Logger) IsZero() bool { return l.sink == nil } -// contextKey is how we find Loggers in a context.Context. -type contextKey struct{} - -// FromContext returns a Logger from ctx or an error if no Logger is found. -func FromContext(ctx context.Context) (Logger, error) { - if v, ok := ctx.Value(contextKey{}).(Logger); ok { - return v, nil - } - - return Logger{}, notFoundError{} -} - -// notFoundError exists to carry an IsNotFound method. -type notFoundError struct{} - -func (notFoundError) Error() string { - return "no logr.Logger was present" -} - -func (notFoundError) IsNotFound() bool { - return true -} - -// FromContextOrDiscard returns a Logger from ctx. If no Logger is found, this -// returns a Logger that discards all log messages. -func FromContextOrDiscard(ctx context.Context) Logger { - if v, ok := ctx.Value(contextKey{}).(Logger); ok { - return v - } - - return Discard() -} - -// NewContext returns a new Context, derived from ctx, which carries the -// provided Logger. -func NewContext(ctx context.Context, logger Logger) context.Context { - return context.WithValue(ctx, contextKey{}, logger) -} - // RuntimeInfo holds information that the logr "core" library knows which // LogSinks might want to know. type RuntimeInfo struct { diff --git a/vendor/github.com/go-logr/logr/sloghandler.go b/vendor/github.com/go-logr/logr/sloghandler.go new file mode 100644 index 0000000000..82d1ba4948 --- /dev/null +++ b/vendor/github.com/go-logr/logr/sloghandler.go @@ -0,0 +1,192 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +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. +*/ + +package logr + +import ( + "context" + "log/slog" +) + +type slogHandler struct { + // May be nil, in which case all logs get discarded. + sink LogSink + // Non-nil if sink is non-nil and implements SlogSink. + slogSink SlogSink + + // groupPrefix collects values from WithGroup calls. It gets added as + // prefix to value keys when handling a log record. + groupPrefix string + + // levelBias can be set when constructing the handler to influence the + // slog.Level of log records. A positive levelBias reduces the + // slog.Level value. slog has no API to influence this value after the + // handler got created, so it can only be set indirectly through + // Logger.V. + levelBias slog.Level +} + +var _ slog.Handler = &slogHandler{} + +// groupSeparator is used to concatenate WithGroup names and attribute keys. +const groupSeparator = "." + +// GetLevel is used for black box unit testing. +func (l *slogHandler) GetLevel() slog.Level { + return l.levelBias +} + +func (l *slogHandler) Enabled(_ context.Context, level slog.Level) bool { + return l.sink != nil && (level >= slog.LevelError || l.sink.Enabled(l.levelFromSlog(level))) +} + +func (l *slogHandler) Handle(ctx context.Context, record slog.Record) error { + if l.slogSink != nil { + // Only adjust verbosity level of log entries < slog.LevelError. + if record.Level < slog.LevelError { + record.Level -= l.levelBias + } + return l.slogSink.Handle(ctx, record) + } + + // No need to check for nil sink here because Handle will only be called + // when Enabled returned true. + + kvList := make([]any, 0, 2*record.NumAttrs()) + record.Attrs(func(attr slog.Attr) bool { + kvList = attrToKVs(attr, l.groupPrefix, kvList) + return true + }) + if record.Level >= slog.LevelError { + l.sinkWithCallDepth().Error(nil, record.Message, kvList...) + } else { + level := l.levelFromSlog(record.Level) + l.sinkWithCallDepth().Info(level, record.Message, kvList...) + } + return nil +} + +// sinkWithCallDepth adjusts the stack unwinding so that when Error or Info +// are called by Handle, code in slog gets skipped. +// +// This offset currently (Go 1.21.0) works for calls through +// slog.New(ToSlogHandler(...)). There's no guarantee that the call +// chain won't change. Wrapping the handler will also break unwinding. It's +// still better than not adjusting at all.... +// +// This cannot be done when constructing the handler because FromSlogHandler needs +// access to the original sink without this adjustment. A second copy would +// work, but then WithAttrs would have to be called for both of them. +func (l *slogHandler) sinkWithCallDepth() LogSink { + if sink, ok := l.sink.(CallDepthLogSink); ok { + return sink.WithCallDepth(2) + } + return l.sink +} + +func (l *slogHandler) WithAttrs(attrs []slog.Attr) slog.Handler { + if l.sink == nil || len(attrs) == 0 { + return l + } + + clone := *l + if l.slogSink != nil { + clone.slogSink = l.slogSink.WithAttrs(attrs) + clone.sink = clone.slogSink + } else { + kvList := make([]any, 0, 2*len(attrs)) + for _, attr := range attrs { + kvList = attrToKVs(attr, l.groupPrefix, kvList) + } + clone.sink = l.sink.WithValues(kvList...) + } + return &clone +} + +func (l *slogHandler) WithGroup(name string) slog.Handler { + if l.sink == nil { + return l + } + if name == "" { + // slog says to inline empty groups + return l + } + clone := *l + if l.slogSink != nil { + clone.slogSink = l.slogSink.WithGroup(name) + clone.sink = clone.slogSink + } else { + clone.groupPrefix = addPrefix(clone.groupPrefix, name) + } + return &clone +} + +// attrToKVs appends a slog.Attr to a logr-style kvList. It handle slog Groups +// and other details of slog. +func attrToKVs(attr slog.Attr, groupPrefix string, kvList []any) []any { + attrVal := attr.Value.Resolve() + if attrVal.Kind() == slog.KindGroup { + groupVal := attrVal.Group() + grpKVs := make([]any, 0, 2*len(groupVal)) + prefix := groupPrefix + if attr.Key != "" { + prefix = addPrefix(groupPrefix, attr.Key) + } + for _, attr := range groupVal { + grpKVs = attrToKVs(attr, prefix, grpKVs) + } + kvList = append(kvList, grpKVs...) + } else if attr.Key != "" { + kvList = append(kvList, addPrefix(groupPrefix, attr.Key), attrVal.Any()) + } + + return kvList +} + +func addPrefix(prefix, name string) string { + if prefix == "" { + return name + } + if name == "" { + return prefix + } + return prefix + groupSeparator + name +} + +// levelFromSlog adjusts the level by the logger's verbosity and negates it. +// It ensures that the result is >= 0. This is necessary because the result is +// passed to a LogSink and that API did not historically document whether +// levels could be negative or what that meant. +// +// Some example usage: +// +// logrV0 := getMyLogger() +// logrV2 := logrV0.V(2) +// slogV2 := slog.New(logr.ToSlogHandler(logrV2)) +// slogV2.Debug("msg") // =~ logrV2.V(4) =~ logrV0.V(6) +// slogV2.Info("msg") // =~ logrV2.V(0) =~ logrV0.V(2) +// slogv2.Warn("msg") // =~ logrV2.V(-4) =~ logrV0.V(0) +func (l *slogHandler) levelFromSlog(level slog.Level) int { + result := -level + result += l.levelBias // in case the original Logger had a V level + if result < 0 { + result = 0 // because LogSink doesn't expect negative V levels + } + return int(result) +} diff --git a/vendor/github.com/go-logr/logr/slogr.go b/vendor/github.com/go-logr/logr/slogr.go new file mode 100644 index 0000000000..28a83d0243 --- /dev/null +++ b/vendor/github.com/go-logr/logr/slogr.go @@ -0,0 +1,100 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +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. +*/ + +package logr + +import ( + "context" + "log/slog" +) + +// FromSlogHandler returns a Logger which writes to the slog.Handler. +// +// The logr verbosity level is mapped to slog levels such that V(0) becomes +// slog.LevelInfo and V(4) becomes slog.LevelDebug. +func FromSlogHandler(handler slog.Handler) Logger { + if handler, ok := handler.(*slogHandler); ok { + if handler.sink == nil { + return Discard() + } + return New(handler.sink).V(int(handler.levelBias)) + } + return New(&slogSink{handler: handler}) +} + +// ToSlogHandler returns a slog.Handler which writes to the same sink as the Logger. +// +// The returned logger writes all records with level >= slog.LevelError as +// error log entries with LogSink.Error, regardless of the verbosity level of +// the Logger: +// +// logger := +// slog.New(ToSlogHandler(logger.V(10))).Error(...) -> logSink.Error(...) +// +// The level of all other records gets reduced by the verbosity +// level of the Logger and the result is negated. If it happens +// to be negative, then it gets replaced by zero because a LogSink +// is not expected to handled negative levels: +// +// slog.New(ToSlogHandler(logger)).Debug(...) -> logger.GetSink().Info(level=4, ...) +// slog.New(ToSlogHandler(logger)).Warning(...) -> logger.GetSink().Info(level=0, ...) +// slog.New(ToSlogHandler(logger)).Info(...) -> logger.GetSink().Info(level=0, ...) +// slog.New(ToSlogHandler(logger.V(4))).Info(...) -> logger.GetSink().Info(level=4, ...) +func ToSlogHandler(logger Logger) slog.Handler { + if sink, ok := logger.GetSink().(*slogSink); ok && logger.GetV() == 0 { + return sink.handler + } + + handler := &slogHandler{sink: logger.GetSink(), levelBias: slog.Level(logger.GetV())} + if slogSink, ok := handler.sink.(SlogSink); ok { + handler.slogSink = slogSink + } + return handler +} + +// SlogSink is an optional interface that a LogSink can implement to support +// logging through the slog.Logger or slog.Handler APIs better. It then should +// also support special slog values like slog.Group. When used as a +// slog.Handler, the advantages are: +// +// - stack unwinding gets avoided in favor of logging the pre-recorded PC, +// as intended by slog +// - proper grouping of key/value pairs via WithGroup +// - verbosity levels > slog.LevelInfo can be recorded +// - less overhead +// +// Both APIs (Logger and slog.Logger/Handler) then are supported equally +// well. Developers can pick whatever API suits them better and/or mix +// packages which use either API in the same binary with a common logging +// implementation. +// +// This interface is necessary because the type implementing the LogSink +// interface cannot also implement the slog.Handler interface due to the +// different prototype of the common Enabled method. +// +// An implementation could support both interfaces in two different types, but then +// additional interfaces would be needed to convert between those types in FromSlogHandler +// and ToSlogHandler. +type SlogSink interface { + LogSink + + Handle(ctx context.Context, record slog.Record) error + WithAttrs(attrs []slog.Attr) SlogSink + WithGroup(name string) SlogSink +} diff --git a/vendor/github.com/go-logr/logr/slogsink.go b/vendor/github.com/go-logr/logr/slogsink.go new file mode 100644 index 0000000000..4060fcbc2b --- /dev/null +++ b/vendor/github.com/go-logr/logr/slogsink.go @@ -0,0 +1,120 @@ +//go:build go1.21 +// +build go1.21 + +/* +Copyright 2023 The logr Authors. + +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. +*/ + +package logr + +import ( + "context" + "log/slog" + "runtime" + "time" +) + +var ( + _ LogSink = &slogSink{} + _ CallDepthLogSink = &slogSink{} + _ Underlier = &slogSink{} +) + +// Underlier is implemented by the LogSink returned by NewFromLogHandler. +type Underlier interface { + // GetUnderlying returns the Handler used by the LogSink. + GetUnderlying() slog.Handler +} + +const ( + // nameKey is used to log the `WithName` values as an additional attribute. + nameKey = "logger" + + // errKey is used to log the error parameter of Error as an additional attribute. + errKey = "err" +) + +type slogSink struct { + callDepth int + name string + handler slog.Handler +} + +func (l *slogSink) Init(info RuntimeInfo) { + l.callDepth = info.CallDepth +} + +func (l *slogSink) GetUnderlying() slog.Handler { + return l.handler +} + +func (l *slogSink) WithCallDepth(depth int) LogSink { + newLogger := *l + newLogger.callDepth += depth + return &newLogger +} + +func (l *slogSink) Enabled(level int) bool { + return l.handler.Enabled(context.Background(), slog.Level(-level)) +} + +func (l *slogSink) Info(level int, msg string, kvList ...interface{}) { + l.log(nil, msg, slog.Level(-level), kvList...) +} + +func (l *slogSink) Error(err error, msg string, kvList ...interface{}) { + l.log(err, msg, slog.LevelError, kvList...) +} + +func (l *slogSink) log(err error, msg string, level slog.Level, kvList ...interface{}) { + var pcs [1]uintptr + // skip runtime.Callers, this function, Info/Error, and all helper functions above that. + runtime.Callers(3+l.callDepth, pcs[:]) + + record := slog.NewRecord(time.Now(), level, msg, pcs[0]) + if l.name != "" { + record.AddAttrs(slog.String(nameKey, l.name)) + } + if err != nil { + record.AddAttrs(slog.Any(errKey, err)) + } + record.Add(kvList...) + _ = l.handler.Handle(context.Background(), record) +} + +func (l slogSink) WithName(name string) LogSink { + if l.name != "" { + l.name += "/" + } + l.name += name + return &l +} + +func (l slogSink) WithValues(kvList ...interface{}) LogSink { + l.handler = l.handler.WithAttrs(kvListToAttrs(kvList...)) + return &l +} + +func kvListToAttrs(kvList ...interface{}) []slog.Attr { + // We don't need the record itself, only its Add method. + record := slog.NewRecord(time.Time{}, 0, "", 0) + record.Add(kvList...) + attrs := make([]slog.Attr, 0, record.NumAttrs()) + record.Attrs(func(attr slog.Attr) bool { + attrs = append(attrs, attr) + return true + }) + return attrs +} diff --git a/vendor/github.com/go-openapi/analysis/.codecov.yml b/vendor/github.com/go-openapi/analysis/.codecov.yml deleted file mode 100644 index 841c4281e2..0000000000 --- a/vendor/github.com/go-openapi/analysis/.codecov.yml +++ /dev/null @@ -1,5 +0,0 @@ -coverage: - status: - patch: - default: - target: 80% diff --git a/vendor/github.com/go-openapi/analysis/.gitattributes b/vendor/github.com/go-openapi/analysis/.gitattributes deleted file mode 100644 index d020be8ea4..0000000000 --- a/vendor/github.com/go-openapi/analysis/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -*.go text eol=lf - diff --git a/vendor/github.com/go-openapi/analysis/.gitignore b/vendor/github.com/go-openapi/analysis/.gitignore deleted file mode 100644 index 87c3bd3e66..0000000000 --- a/vendor/github.com/go-openapi/analysis/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -secrets.yml -coverage.out -coverage.txt -*.cov -.idea diff --git a/vendor/github.com/go-openapi/analysis/.golangci.yml b/vendor/github.com/go-openapi/analysis/.golangci.yml deleted file mode 100644 index e24a6c14e6..0000000000 --- a/vendor/github.com/go-openapi/analysis/.golangci.yml +++ /dev/null @@ -1,56 +0,0 @@ -linters-settings: - govet: - check-shadowing: true - golint: - min-confidence: 0 - gocyclo: - min-complexity: 40 - gocognit: - min-complexity: 40 - maligned: - suggest-new: true - dupl: - threshold: 150 - goconst: - min-len: 2 - min-occurrences: 4 - -linters: - enable-all: true - disable: - - maligned - - lll - - gochecknoglobals - - gochecknoinits - # scopelint is useful, but also reports false positives - # that unfortunately can't be disabled. So we disable the - # linter rather than changing code that works. - # see: https://github.com/kyoh86/scopelint/issues/4 - - scopelint - - godox - - gocognit - #- whitespace - - wsl - - funlen - - testpackage - - wrapcheck - #- nlreturn - - gomnd - - goerr113 - - exhaustivestruct - #- errorlint - #- nestif - - gofumpt - - godot - - gci - - dogsled - - paralleltest - - tparallel - - thelper - - ifshort - - forbidigo - - cyclop - - varnamelen - - exhaustruct - - nonamedreturns - - nosnakecase diff --git a/vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/analysis/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/analysis/LICENSE b/vendor/github.com/go-openapi/analysis/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/analysis/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/analysis/README.md b/vendor/github.com/go-openapi/analysis/README.md deleted file mode 100644 index aad6da10fe..0000000000 --- a/vendor/github.com/go-openapi/analysis/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# OpenAPI initiative analysis - -[![Build Status](https://travis-ci.org/go-openapi/analysis.svg?branch=master)](https://travis-ci.org/go-openapi/analysis) -[![Build status](https://ci.appveyor.com/api/projects/status/x377t5o9ennm847o/branch/master?svg=true)](https://ci.appveyor.com/project/casualjim/go-openapi/analysis/branch/master) -[![codecov](https://codecov.io/gh/go-openapi/analysis/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/analysis) -[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/analysis/master/LICENSE) -[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/analysis.svg)](https://pkg.go.dev/github.com/go-openapi/analysis) -[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/analysis)](https://goreportcard.com/report/github.com/go-openapi/analysis) - - -A foundational library to analyze an OAI specification document for easier reasoning about the content. - -## What's inside? - -* A analyzer providing methods to walk the functional content of a specification -* A spec flattener producing a self-contained document bundle, while preserving `$ref`s -* A spec merger ("mixin") to merge several spec documents into a primary spec -* A spec "fixer" ensuring that response descriptions are non empty - -[Documentation](https://godoc.org/github.com/go-openapi/analysis) - -## FAQ - -* Does this library support OpenAPI 3? - -> No. -> This package currently only supports OpenAPI 2.0 (aka Swagger 2.0). -> There is no plan to make it evolve toward supporting OpenAPI 3.x. -> This [discussion thread](https://github.com/go-openapi/spec/issues/21) relates the full story. -> diff --git a/vendor/github.com/go-openapi/analysis/analyzer.go b/vendor/github.com/go-openapi/analysis/analyzer.go deleted file mode 100644 index c17aee1b61..0000000000 --- a/vendor/github.com/go-openapi/analysis/analyzer.go +++ /dev/null @@ -1,1064 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package analysis - -import ( - "fmt" - slashpath "path" - "strconv" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/spec" - "github.com/go-openapi/swag" -) - -type referenceAnalysis struct { - schemas map[string]spec.Ref - responses map[string]spec.Ref - parameters map[string]spec.Ref - items map[string]spec.Ref - headerItems map[string]spec.Ref - parameterItems map[string]spec.Ref - allRefs map[string]spec.Ref - pathItems map[string]spec.Ref -} - -func (r *referenceAnalysis) addRef(key string, ref spec.Ref) { - r.allRefs["#"+key] = ref -} - -func (r *referenceAnalysis) addItemsRef(key string, items *spec.Items, location string) { - r.items["#"+key] = items.Ref - r.addRef(key, items.Ref) - if location == "header" { - // NOTE: in swagger 2.0, headers and parameters (but not body param schemas) are simple schemas - // and $ref are not supported here. However it is possible to analyze this. - r.headerItems["#"+key] = items.Ref - } else { - r.parameterItems["#"+key] = items.Ref - } -} - -func (r *referenceAnalysis) addSchemaRef(key string, ref SchemaRef) { - r.schemas["#"+key] = ref.Schema.Ref - r.addRef(key, ref.Schema.Ref) -} - -func (r *referenceAnalysis) addResponseRef(key string, resp *spec.Response) { - r.responses["#"+key] = resp.Ref - r.addRef(key, resp.Ref) -} - -func (r *referenceAnalysis) addParamRef(key string, param *spec.Parameter) { - r.parameters["#"+key] = param.Ref - r.addRef(key, param.Ref) -} - -func (r *referenceAnalysis) addPathItemRef(key string, pathItem *spec.PathItem) { - r.pathItems["#"+key] = pathItem.Ref - r.addRef(key, pathItem.Ref) -} - -type patternAnalysis struct { - parameters map[string]string - headers map[string]string - items map[string]string - schemas map[string]string - allPatterns map[string]string -} - -func (p *patternAnalysis) addPattern(key, pattern string) { - p.allPatterns["#"+key] = pattern -} - -func (p *patternAnalysis) addParameterPattern(key, pattern string) { - p.parameters["#"+key] = pattern - p.addPattern(key, pattern) -} - -func (p *patternAnalysis) addHeaderPattern(key, pattern string) { - p.headers["#"+key] = pattern - p.addPattern(key, pattern) -} - -func (p *patternAnalysis) addItemsPattern(key, pattern string) { - p.items["#"+key] = pattern - p.addPattern(key, pattern) -} - -func (p *patternAnalysis) addSchemaPattern(key, pattern string) { - p.schemas["#"+key] = pattern - p.addPattern(key, pattern) -} - -type enumAnalysis struct { - parameters map[string][]interface{} - headers map[string][]interface{} - items map[string][]interface{} - schemas map[string][]interface{} - allEnums map[string][]interface{} -} - -func (p *enumAnalysis) addEnum(key string, enum []interface{}) { - p.allEnums["#"+key] = enum -} - -func (p *enumAnalysis) addParameterEnum(key string, enum []interface{}) { - p.parameters["#"+key] = enum - p.addEnum(key, enum) -} - -func (p *enumAnalysis) addHeaderEnum(key string, enum []interface{}) { - p.headers["#"+key] = enum - p.addEnum(key, enum) -} - -func (p *enumAnalysis) addItemsEnum(key string, enum []interface{}) { - p.items["#"+key] = enum - p.addEnum(key, enum) -} - -func (p *enumAnalysis) addSchemaEnum(key string, enum []interface{}) { - p.schemas["#"+key] = enum - p.addEnum(key, enum) -} - -// New takes a swagger spec object and returns an analyzed spec document. -// The analyzed document contains a number of indices that make it easier to -// reason about semantics of a swagger specification for use in code generation -// or validation etc. -func New(doc *spec.Swagger) *Spec { - a := &Spec{ - spec: doc, - references: referenceAnalysis{}, - patterns: patternAnalysis{}, - enums: enumAnalysis{}, - } - a.reset() - a.initialize() - - return a -} - -// Spec is an analyzed specification object. It takes a swagger spec object and turns it into a registry -// with a bunch of utility methods to act on the information in the spec. -type Spec struct { - spec *spec.Swagger - consumes map[string]struct{} - produces map[string]struct{} - authSchemes map[string]struct{} - operations map[string]map[string]*spec.Operation - references referenceAnalysis - patterns patternAnalysis - enums enumAnalysis - allSchemas map[string]SchemaRef - allOfs map[string]SchemaRef -} - -func (s *Spec) reset() { - s.consumes = make(map[string]struct{}, 150) - s.produces = make(map[string]struct{}, 150) - s.authSchemes = make(map[string]struct{}, 150) - s.operations = make(map[string]map[string]*spec.Operation, 150) - s.allSchemas = make(map[string]SchemaRef, 150) - s.allOfs = make(map[string]SchemaRef, 150) - s.references.schemas = make(map[string]spec.Ref, 150) - s.references.pathItems = make(map[string]spec.Ref, 150) - s.references.responses = make(map[string]spec.Ref, 150) - s.references.parameters = make(map[string]spec.Ref, 150) - s.references.items = make(map[string]spec.Ref, 150) - s.references.headerItems = make(map[string]spec.Ref, 150) - s.references.parameterItems = make(map[string]spec.Ref, 150) - s.references.allRefs = make(map[string]spec.Ref, 150) - s.patterns.parameters = make(map[string]string, 150) - s.patterns.headers = make(map[string]string, 150) - s.patterns.items = make(map[string]string, 150) - s.patterns.schemas = make(map[string]string, 150) - s.patterns.allPatterns = make(map[string]string, 150) - s.enums.parameters = make(map[string][]interface{}, 150) - s.enums.headers = make(map[string][]interface{}, 150) - s.enums.items = make(map[string][]interface{}, 150) - s.enums.schemas = make(map[string][]interface{}, 150) - s.enums.allEnums = make(map[string][]interface{}, 150) -} - -func (s *Spec) reload() { - s.reset() - s.initialize() -} - -func (s *Spec) initialize() { - for _, c := range s.spec.Consumes { - s.consumes[c] = struct{}{} - } - for _, c := range s.spec.Produces { - s.produces[c] = struct{}{} - } - for _, ss := range s.spec.Security { - for k := range ss { - s.authSchemes[k] = struct{}{} - } - } - for path, pathItem := range s.AllPaths() { - s.analyzeOperations(path, &pathItem) //#nosec - } - - for name, parameter := range s.spec.Parameters { - refPref := slashpath.Join("/parameters", jsonpointer.Escape(name)) - if parameter.Items != nil { - s.analyzeItems("items", parameter.Items, refPref, "parameter") - } - if parameter.In == "body" && parameter.Schema != nil { - s.analyzeSchema("schema", parameter.Schema, refPref) - } - if parameter.Pattern != "" { - s.patterns.addParameterPattern(refPref, parameter.Pattern) - } - if len(parameter.Enum) > 0 { - s.enums.addParameterEnum(refPref, parameter.Enum) - } - } - - for name, response := range s.spec.Responses { - refPref := slashpath.Join("/responses", jsonpointer.Escape(name)) - for k, v := range response.Headers { - hRefPref := slashpath.Join(refPref, "headers", k) - if v.Items != nil { - s.analyzeItems("items", v.Items, hRefPref, "header") - } - if v.Pattern != "" { - s.patterns.addHeaderPattern(hRefPref, v.Pattern) - } - if len(v.Enum) > 0 { - s.enums.addHeaderEnum(hRefPref, v.Enum) - } - } - if response.Schema != nil { - s.analyzeSchema("schema", response.Schema, refPref) - } - } - - for name := range s.spec.Definitions { - schema := s.spec.Definitions[name] - s.analyzeSchema(name, &schema, "/definitions") - } - // TODO: after analyzing all things and flattening schemas etc - // resolve all the collected references to their final representations - // best put in a separate method because this could get expensive -} - -func (s *Spec) analyzeOperations(path string, pi *spec.PathItem) { - // TODO: resolve refs here? - // Currently, operations declared via pathItem $ref are known only after expansion - op := pi - if pi.Ref.String() != "" { - key := slashpath.Join("/paths", jsonpointer.Escape(path)) - s.references.addPathItemRef(key, pi) - } - s.analyzeOperation("GET", path, op.Get) - s.analyzeOperation("PUT", path, op.Put) - s.analyzeOperation("POST", path, op.Post) - s.analyzeOperation("PATCH", path, op.Patch) - s.analyzeOperation("DELETE", path, op.Delete) - s.analyzeOperation("HEAD", path, op.Head) - s.analyzeOperation("OPTIONS", path, op.Options) - for i, param := range op.Parameters { - refPref := slashpath.Join("/paths", jsonpointer.Escape(path), "parameters", strconv.Itoa(i)) - if param.Ref.String() != "" { - s.references.addParamRef(refPref, ¶m) //#nosec - } - if param.Pattern != "" { - s.patterns.addParameterPattern(refPref, param.Pattern) - } - if len(param.Enum) > 0 { - s.enums.addParameterEnum(refPref, param.Enum) - } - if param.Items != nil { - s.analyzeItems("items", param.Items, refPref, "parameter") - } - if param.Schema != nil { - s.analyzeSchema("schema", param.Schema, refPref) - } - } -} - -func (s *Spec) analyzeItems(name string, items *spec.Items, prefix, location string) { - if items == nil { - return - } - refPref := slashpath.Join(prefix, name) - s.analyzeItems(name, items.Items, refPref, location) - if items.Ref.String() != "" { - s.references.addItemsRef(refPref, items, location) - } - if items.Pattern != "" { - s.patterns.addItemsPattern(refPref, items.Pattern) - } - if len(items.Enum) > 0 { - s.enums.addItemsEnum(refPref, items.Enum) - } -} - -func (s *Spec) analyzeParameter(prefix string, i int, param spec.Parameter) { - refPref := slashpath.Join(prefix, "parameters", strconv.Itoa(i)) - if param.Ref.String() != "" { - s.references.addParamRef(refPref, ¶m) //#nosec - } - - if param.Pattern != "" { - s.patterns.addParameterPattern(refPref, param.Pattern) - } - - if len(param.Enum) > 0 { - s.enums.addParameterEnum(refPref, param.Enum) - } - - s.analyzeItems("items", param.Items, refPref, "parameter") - if param.In == "body" && param.Schema != nil { - s.analyzeSchema("schema", param.Schema, refPref) - } -} - -func (s *Spec) analyzeOperation(method, path string, op *spec.Operation) { - if op == nil { - return - } - - for _, c := range op.Consumes { - s.consumes[c] = struct{}{} - } - - for _, c := range op.Produces { - s.produces[c] = struct{}{} - } - - for _, ss := range op.Security { - for k := range ss { - s.authSchemes[k] = struct{}{} - } - } - - if _, ok := s.operations[method]; !ok { - s.operations[method] = make(map[string]*spec.Operation) - } - - s.operations[method][path] = op - prefix := slashpath.Join("/paths", jsonpointer.Escape(path), strings.ToLower(method)) - for i, param := range op.Parameters { - s.analyzeParameter(prefix, i, param) - } - - if op.Responses == nil { - return - } - - if op.Responses.Default != nil { - s.analyzeDefaultResponse(prefix, op.Responses.Default) - } - - for k, res := range op.Responses.StatusCodeResponses { - s.analyzeResponse(prefix, k, res) - } -} - -func (s *Spec) analyzeDefaultResponse(prefix string, res *spec.Response) { - refPref := slashpath.Join(prefix, "responses", "default") - if res.Ref.String() != "" { - s.references.addResponseRef(refPref, res) - } - - for k, v := range res.Headers { - hRefPref := slashpath.Join(refPref, "headers", k) - s.analyzeItems("items", v.Items, hRefPref, "header") - if v.Pattern != "" { - s.patterns.addHeaderPattern(hRefPref, v.Pattern) - } - } - - if res.Schema != nil { - s.analyzeSchema("schema", res.Schema, refPref) - } -} - -func (s *Spec) analyzeResponse(prefix string, k int, res spec.Response) { - refPref := slashpath.Join(prefix, "responses", strconv.Itoa(k)) - if res.Ref.String() != "" { - s.references.addResponseRef(refPref, &res) //#nosec - } - - for k, v := range res.Headers { - hRefPref := slashpath.Join(refPref, "headers", k) - s.analyzeItems("items", v.Items, hRefPref, "header") - if v.Pattern != "" { - s.patterns.addHeaderPattern(hRefPref, v.Pattern) - } - - if len(v.Enum) > 0 { - s.enums.addHeaderEnum(hRefPref, v.Enum) - } - } - - if res.Schema != nil { - s.analyzeSchema("schema", res.Schema, refPref) - } -} - -func (s *Spec) analyzeSchema(name string, schema *spec.Schema, prefix string) { - refURI := slashpath.Join(prefix, jsonpointer.Escape(name)) - schRef := SchemaRef{ - Name: name, - Schema: schema, - Ref: spec.MustCreateRef("#" + refURI), - TopLevel: prefix == "/definitions", - } - - s.allSchemas["#"+refURI] = schRef - - if schema.Ref.String() != "" { - s.references.addSchemaRef(refURI, schRef) - } - - if schema.Pattern != "" { - s.patterns.addSchemaPattern(refURI, schema.Pattern) - } - - if len(schema.Enum) > 0 { - s.enums.addSchemaEnum(refURI, schema.Enum) - } - - for k, v := range schema.Definitions { - v := v - s.analyzeSchema(k, &v, slashpath.Join(refURI, "definitions")) - } - - for k, v := range schema.Properties { - v := v - s.analyzeSchema(k, &v, slashpath.Join(refURI, "properties")) - } - - for k, v := range schema.PatternProperties { - v := v - // NOTE: swagger 2.0 does not support PatternProperties. - // However it is possible to analyze this in a schema - s.analyzeSchema(k, &v, slashpath.Join(refURI, "patternProperties")) - } - - for i := range schema.AllOf { - v := &schema.AllOf[i] - s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "allOf")) - } - - if len(schema.AllOf) > 0 { - s.allOfs["#"+refURI] = schRef - } - - for i := range schema.AnyOf { - v := &schema.AnyOf[i] - // NOTE: swagger 2.0 does not support anyOf constructs. - // However it is possible to analyze this in a schema - s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "anyOf")) - } - - for i := range schema.OneOf { - v := &schema.OneOf[i] - // NOTE: swagger 2.0 does not support oneOf constructs. - // However it is possible to analyze this in a schema - s.analyzeSchema(strconv.Itoa(i), v, slashpath.Join(refURI, "oneOf")) - } - - if schema.Not != nil { - // NOTE: swagger 2.0 does not support "not" constructs. - // However it is possible to analyze this in a schema - s.analyzeSchema("not", schema.Not, refURI) - } - - if schema.AdditionalProperties != nil && schema.AdditionalProperties.Schema != nil { - s.analyzeSchema("additionalProperties", schema.AdditionalProperties.Schema, refURI) - } - - if schema.AdditionalItems != nil && schema.AdditionalItems.Schema != nil { - // NOTE: swagger 2.0 does not support AdditionalItems. - // However it is possible to analyze this in a schema - s.analyzeSchema("additionalItems", schema.AdditionalItems.Schema, refURI) - } - - if schema.Items != nil { - if schema.Items.Schema != nil { - s.analyzeSchema("items", schema.Items.Schema, refURI) - } - - for i := range schema.Items.Schemas { - sch := &schema.Items.Schemas[i] - s.analyzeSchema(strconv.Itoa(i), sch, slashpath.Join(refURI, "items")) - } - } -} - -// SecurityRequirement is a representation of a security requirement for an operation -type SecurityRequirement struct { - Name string - Scopes []string -} - -// SecurityRequirementsFor gets the security requirements for the operation -func (s *Spec) SecurityRequirementsFor(operation *spec.Operation) [][]SecurityRequirement { - if s.spec.Security == nil && operation.Security == nil { - return nil - } - - schemes := s.spec.Security - if operation.Security != nil { - schemes = operation.Security - } - - result := [][]SecurityRequirement{} - for _, scheme := range schemes { - if len(scheme) == 0 { - // append a zero object for anonymous - result = append(result, []SecurityRequirement{{}}) - - continue - } - - var reqs []SecurityRequirement - for k, v := range scheme { - if v == nil { - v = []string{} - } - reqs = append(reqs, SecurityRequirement{Name: k, Scopes: v}) - } - - result = append(result, reqs) - } - - return result -} - -// SecurityDefinitionsForRequirements gets the matching security definitions for a set of requirements -func (s *Spec) SecurityDefinitionsForRequirements(requirements []SecurityRequirement) map[string]spec.SecurityScheme { - result := make(map[string]spec.SecurityScheme) - - for _, v := range requirements { - if definition, ok := s.spec.SecurityDefinitions[v.Name]; ok { - if definition != nil { - result[v.Name] = *definition - } - } - } - - return result -} - -// SecurityDefinitionsFor gets the matching security definitions for a set of requirements -func (s *Spec) SecurityDefinitionsFor(operation *spec.Operation) map[string]spec.SecurityScheme { - requirements := s.SecurityRequirementsFor(operation) - if len(requirements) == 0 { - return nil - } - - result := make(map[string]spec.SecurityScheme) - for _, reqs := range requirements { - for _, v := range reqs { - if v.Name == "" { - // optional requirement - continue - } - - if _, ok := result[v.Name]; ok { - // duplicate requirement - continue - } - - if definition, ok := s.spec.SecurityDefinitions[v.Name]; ok { - if definition != nil { - result[v.Name] = *definition - } - } - } - } - - return result -} - -// ConsumesFor gets the mediatypes for the operation -func (s *Spec) ConsumesFor(operation *spec.Operation) []string { - if len(operation.Consumes) == 0 { - cons := make(map[string]struct{}, len(s.spec.Consumes)) - for _, k := range s.spec.Consumes { - cons[k] = struct{}{} - } - - return s.structMapKeys(cons) - } - - cons := make(map[string]struct{}, len(operation.Consumes)) - for _, c := range operation.Consumes { - cons[c] = struct{}{} - } - - return s.structMapKeys(cons) -} - -// ProducesFor gets the mediatypes for the operation -func (s *Spec) ProducesFor(operation *spec.Operation) []string { - if len(operation.Produces) == 0 { - prod := make(map[string]struct{}, len(s.spec.Produces)) - for _, k := range s.spec.Produces { - prod[k] = struct{}{} - } - - return s.structMapKeys(prod) - } - - prod := make(map[string]struct{}, len(operation.Produces)) - for _, c := range operation.Produces { - prod[c] = struct{}{} - } - - return s.structMapKeys(prod) -} - -func mapKeyFromParam(param *spec.Parameter) string { - return fmt.Sprintf("%s#%s", param.In, fieldNameFromParam(param)) -} - -func fieldNameFromParam(param *spec.Parameter) string { - // TODO: this should be x-go-name - if nm, ok := param.Extensions.GetString("go-name"); ok { - return nm - } - - return swag.ToGoName(param.Name) -} - -// ErrorOnParamFunc is a callback function to be invoked -// whenever an error is encountered while resolving references -// on parameters. -// -// This function takes as input the spec.Parameter which triggered the -// error and the error itself. -// -// If the callback function returns false, the calling function should bail. -// -// If it returns true, the calling function should continue evaluating parameters. -// A nil ErrorOnParamFunc must be evaluated as equivalent to panic(). -type ErrorOnParamFunc func(spec.Parameter, error) bool - -func (s *Spec) paramsAsMap(parameters []spec.Parameter, res map[string]spec.Parameter, callmeOnError ErrorOnParamFunc) { - for _, param := range parameters { - pr := param - if pr.Ref.String() == "" { - res[mapKeyFromParam(&pr)] = pr - - continue - } - - // resolve $ref - if callmeOnError == nil { - callmeOnError = func(_ spec.Parameter, err error) bool { - panic(err) - } - } - - obj, _, err := pr.Ref.GetPointer().Get(s.spec) - if err != nil { - if callmeOnError(param, fmt.Errorf("invalid reference: %q", pr.Ref.String())) { - continue - } - - break - } - - objAsParam, ok := obj.(spec.Parameter) - if !ok { - if callmeOnError(param, fmt.Errorf("resolved reference is not a parameter: %q", pr.Ref.String())) { - continue - } - - break - } - - pr = objAsParam - res[mapKeyFromParam(&pr)] = pr - } -} - -// ParametersFor the specified operation id. -// -// Assumes parameters properly resolve references if any and that -// such references actually resolve to a parameter object. -// Otherwise, panics. -func (s *Spec) ParametersFor(operationID string) []spec.Parameter { - return s.SafeParametersFor(operationID, nil) -} - -// SafeParametersFor the specified operation id. -// -// Does not assume parameters properly resolve references or that -// such references actually resolve to a parameter object. -// -// Upon error, invoke a ErrorOnParamFunc callback with the erroneous -// parameters. If the callback is set to nil, panics upon errors. -func (s *Spec) SafeParametersFor(operationID string, callmeOnError ErrorOnParamFunc) []spec.Parameter { - gatherParams := func(pi *spec.PathItem, op *spec.Operation) []spec.Parameter { - bag := make(map[string]spec.Parameter) - s.paramsAsMap(pi.Parameters, bag, callmeOnError) - s.paramsAsMap(op.Parameters, bag, callmeOnError) - - var res []spec.Parameter - for _, v := range bag { - res = append(res, v) - } - - return res - } - - for _, pi := range s.spec.Paths.Paths { - if pi.Get != nil && pi.Get.ID == operationID { - return gatherParams(&pi, pi.Get) //#nosec - } - if pi.Head != nil && pi.Head.ID == operationID { - return gatherParams(&pi, pi.Head) //#nosec - } - if pi.Options != nil && pi.Options.ID == operationID { - return gatherParams(&pi, pi.Options) //#nosec - } - if pi.Post != nil && pi.Post.ID == operationID { - return gatherParams(&pi, pi.Post) //#nosec - } - if pi.Patch != nil && pi.Patch.ID == operationID { - return gatherParams(&pi, pi.Patch) //#nosec - } - if pi.Put != nil && pi.Put.ID == operationID { - return gatherParams(&pi, pi.Put) //#nosec - } - if pi.Delete != nil && pi.Delete.ID == operationID { - return gatherParams(&pi, pi.Delete) //#nosec - } - } - - return nil -} - -// ParamsFor the specified method and path. Aggregates them with the defaults etc, so it's all the params that -// apply for the method and path. -// -// Assumes parameters properly resolve references if any and that -// such references actually resolve to a parameter object. -// Otherwise, panics. -func (s *Spec) ParamsFor(method, path string) map[string]spec.Parameter { - return s.SafeParamsFor(method, path, nil) -} - -// SafeParamsFor the specified method and path. Aggregates them with the defaults etc, so it's all the params that -// apply for the method and path. -// -// Does not assume parameters properly resolve references or that -// such references actually resolve to a parameter object. -// -// Upon error, invoke a ErrorOnParamFunc callback with the erroneous -// parameters. If the callback is set to nil, panics upon errors. -func (s *Spec) SafeParamsFor(method, path string, callmeOnError ErrorOnParamFunc) map[string]spec.Parameter { - res := make(map[string]spec.Parameter) - if pi, ok := s.spec.Paths.Paths[path]; ok { - s.paramsAsMap(pi.Parameters, res, callmeOnError) - s.paramsAsMap(s.operations[strings.ToUpper(method)][path].Parameters, res, callmeOnError) - } - - return res -} - -// OperationForName gets the operation for the given id -func (s *Spec) OperationForName(operationID string) (string, string, *spec.Operation, bool) { - for method, pathItem := range s.operations { - for path, op := range pathItem { - if operationID == op.ID { - return method, path, op, true - } - } - } - - return "", "", nil, false -} - -// OperationFor the given method and path -func (s *Spec) OperationFor(method, path string) (*spec.Operation, bool) { - if mp, ok := s.operations[strings.ToUpper(method)]; ok { - op, fn := mp[path] - - return op, fn - } - - return nil, false -} - -// Operations gathers all the operations specified in the spec document -func (s *Spec) Operations() map[string]map[string]*spec.Operation { - return s.operations -} - -func (s *Spec) structMapKeys(mp map[string]struct{}) []string { - if len(mp) == 0 { - return nil - } - - result := make([]string, 0, len(mp)) - for k := range mp { - result = append(result, k) - } - - return result -} - -// AllPaths returns all the paths in the swagger spec -func (s *Spec) AllPaths() map[string]spec.PathItem { - if s.spec == nil || s.spec.Paths == nil { - return nil - } - - return s.spec.Paths.Paths -} - -// OperationIDs gets all the operation ids based on method an dpath -func (s *Spec) OperationIDs() []string { - if len(s.operations) == 0 { - return nil - } - - result := make([]string, 0, len(s.operations)) - for method, v := range s.operations { - for p, o := range v { - if o.ID != "" { - result = append(result, o.ID) - } else { - result = append(result, fmt.Sprintf("%s %s", strings.ToUpper(method), p)) - } - } - } - - return result -} - -// OperationMethodPaths gets all the operation ids based on method an dpath -func (s *Spec) OperationMethodPaths() []string { - if len(s.operations) == 0 { - return nil - } - - result := make([]string, 0, len(s.operations)) - for method, v := range s.operations { - for p := range v { - result = append(result, fmt.Sprintf("%s %s", strings.ToUpper(method), p)) - } - } - - return result -} - -// RequiredConsumes gets all the distinct consumes that are specified in the specification document -func (s *Spec) RequiredConsumes() []string { - return s.structMapKeys(s.consumes) -} - -// RequiredProduces gets all the distinct produces that are specified in the specification document -func (s *Spec) RequiredProduces() []string { - return s.structMapKeys(s.produces) -} - -// RequiredSecuritySchemes gets all the distinct security schemes that are specified in the swagger spec -func (s *Spec) RequiredSecuritySchemes() []string { - return s.structMapKeys(s.authSchemes) -} - -// SchemaRef is a reference to a schema -type SchemaRef struct { - Name string - Ref spec.Ref - Schema *spec.Schema - TopLevel bool -} - -// SchemasWithAllOf returns schema references to all schemas that are defined -// with an allOf key -func (s *Spec) SchemasWithAllOf() (result []SchemaRef) { - for _, v := range s.allOfs { - result = append(result, v) - } - - return -} - -// AllDefinitions returns schema references for all the definitions that were discovered -func (s *Spec) AllDefinitions() (result []SchemaRef) { - for _, v := range s.allSchemas { - result = append(result, v) - } - - return -} - -// AllDefinitionReferences returns json refs for all the discovered schemas -func (s *Spec) AllDefinitionReferences() (result []string) { - for _, v := range s.references.schemas { - result = append(result, v.String()) - } - - return -} - -// AllParameterReferences returns json refs for all the discovered parameters -func (s *Spec) AllParameterReferences() (result []string) { - for _, v := range s.references.parameters { - result = append(result, v.String()) - } - - return -} - -// AllResponseReferences returns json refs for all the discovered responses -func (s *Spec) AllResponseReferences() (result []string) { - for _, v := range s.references.responses { - result = append(result, v.String()) - } - - return -} - -// AllPathItemReferences returns the references for all the items -func (s *Spec) AllPathItemReferences() (result []string) { - for _, v := range s.references.pathItems { - result = append(result, v.String()) - } - - return -} - -// AllItemsReferences returns the references for all the items in simple schemas (parameters or headers). -// -// NOTE: since Swagger 2.0 forbids $ref in simple params, this should always yield an empty slice for a valid -// Swagger 2.0 spec. -func (s *Spec) AllItemsReferences() (result []string) { - for _, v := range s.references.items { - result = append(result, v.String()) - } - - return -} - -// AllReferences returns all the references found in the document, with possible duplicates -func (s *Spec) AllReferences() (result []string) { - for _, v := range s.references.allRefs { - result = append(result, v.String()) - } - - return -} - -// AllRefs returns all the unique references found in the document -func (s *Spec) AllRefs() (result []spec.Ref) { - set := make(map[string]struct{}) - for _, v := range s.references.allRefs { - a := v.String() - if a == "" { - continue - } - - if _, ok := set[a]; !ok { - set[a] = struct{}{} - result = append(result, v) - } - } - - return -} - -func cloneStringMap(source map[string]string) map[string]string { - res := make(map[string]string, len(source)) - for k, v := range source { - res[k] = v - } - - return res -} - -func cloneEnumMap(source map[string][]interface{}) map[string][]interface{} { - res := make(map[string][]interface{}, len(source)) - for k, v := range source { - res[k] = v - } - - return res -} - -// ParameterPatterns returns all the patterns found in parameters -// the map is cloned to avoid accidental changes -func (s *Spec) ParameterPatterns() map[string]string { - return cloneStringMap(s.patterns.parameters) -} - -// HeaderPatterns returns all the patterns found in response headers -// the map is cloned to avoid accidental changes -func (s *Spec) HeaderPatterns() map[string]string { - return cloneStringMap(s.patterns.headers) -} - -// ItemsPatterns returns all the patterns found in simple array items -// the map is cloned to avoid accidental changes -func (s *Spec) ItemsPatterns() map[string]string { - return cloneStringMap(s.patterns.items) -} - -// SchemaPatterns returns all the patterns found in schemas -// the map is cloned to avoid accidental changes -func (s *Spec) SchemaPatterns() map[string]string { - return cloneStringMap(s.patterns.schemas) -} - -// AllPatterns returns all the patterns found in the spec -// the map is cloned to avoid accidental changes -func (s *Spec) AllPatterns() map[string]string { - return cloneStringMap(s.patterns.allPatterns) -} - -// ParameterEnums returns all the enums found in parameters -// the map is cloned to avoid accidental changes -func (s *Spec) ParameterEnums() map[string][]interface{} { - return cloneEnumMap(s.enums.parameters) -} - -// HeaderEnums returns all the enums found in response headers -// the map is cloned to avoid accidental changes -func (s *Spec) HeaderEnums() map[string][]interface{} { - return cloneEnumMap(s.enums.headers) -} - -// ItemsEnums returns all the enums found in simple array items -// the map is cloned to avoid accidental changes -func (s *Spec) ItemsEnums() map[string][]interface{} { - return cloneEnumMap(s.enums.items) -} - -// SchemaEnums returns all the enums found in schemas -// the map is cloned to avoid accidental changes -func (s *Spec) SchemaEnums() map[string][]interface{} { - return cloneEnumMap(s.enums.schemas) -} - -// AllEnums returns all the enums found in the spec -// the map is cloned to avoid accidental changes -func (s *Spec) AllEnums() map[string][]interface{} { - return cloneEnumMap(s.enums.allEnums) -} diff --git a/vendor/github.com/go-openapi/analysis/appveyor.yml b/vendor/github.com/go-openapi/analysis/appveyor.yml deleted file mode 100644 index c2f6fd733a..0000000000 --- a/vendor/github.com/go-openapi/analysis/appveyor.yml +++ /dev/null @@ -1,32 +0,0 @@ -version: "0.1.{build}" - -clone_folder: C:\go-openapi\analysis -shallow_clone: true # for startup speed -pull_requests: - do_not_increment_build_number: true - -#skip_tags: true -#skip_branch_with_pr: true - -# appveyor.yml -build: off - -environment: - GOPATH: c:\gopath - -stack: go 1.16 - -test_script: - - go test -v -timeout 20m ./... - -deploy: off - -notifications: - - provider: Slack - incoming_webhook: https://hooks.slack.com/services/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 - auth_token: - secure: Sf7kZf7ZGbnwWUMpffHwMu5A0cHkLK2MYY32LNTPj4+/3qC3Ghl7+9v4TSLOqOlCwdRNjOGblAq7s+GDJed6/xgRQl1JtCi1klzZNrYX4q01pgTPvvGcwbBkIYgeMaPeIRcK9OZnud7sRXdttozgTOpytps2U6Js32ip7uj5mHSg2ub0FwoSJwlS6dbezZ8+eDhoha0F/guY99BEwx8Bd+zROrT2TFGsSGOFGN6wFc7moCqTHO/YkWib13a2QNXqOxCCVBy/lt76Wp+JkeFppjHlzs/2lP3EAk13RIUAaesdEUHvIHrzCyNJEd3/+KO2DzsWOYfpktd+KBCvgaYOsoo7ubdT3IROeAegZdCgo/6xgCEsmFc9ZcqCfN5yNx2A+BZ2Vwmpws+bQ1E1+B5HDzzaiLcYfG4X2O210QVGVDLWsv1jqD+uPYeHY2WRfh5ZsIUFvaqgUEnwHwrK44/8REAhQavt1QAj5uJpsRd7CkRVPWRNK+yIky+wgbVUFEchRNmS55E7QWf+W4+4QZkQi7vUTMc9nbTUu2Es9NfvfudOpM2wZbn98fjpb/qq/nRv6Bk+ca+7XD5/IgNLMbWp2ouDdzbiHLCOfDUiHiDJhLfFZx9Bwo7ZwfzeOlbrQX66bx7xRKYmOe4DLrXhNcpbsMa8qbfxlZRCmYbubB/Y8h4= - channel: bots - on_build_success: false - on_build_failure: true - on_build_status_changed: true diff --git a/vendor/github.com/go-openapi/analysis/debug.go b/vendor/github.com/go-openapi/analysis/debug.go deleted file mode 100644 index 33c15704ec..0000000000 --- a/vendor/github.com/go-openapi/analysis/debug.go +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package analysis - -import ( - "os" - - "github.com/go-openapi/analysis/internal/debug" -) - -var debugLog = debug.GetLogger("analysis", os.Getenv("SWAGGER_DEBUG") != "") diff --git a/vendor/github.com/go-openapi/analysis/doc.go b/vendor/github.com/go-openapi/analysis/doc.go deleted file mode 100644 index d5294c0950..0000000000 --- a/vendor/github.com/go-openapi/analysis/doc.go +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -/* -Package analysis provides methods to work with a Swagger specification document from -package go-openapi/spec. - -Analyzing a specification - -An analysed specification object (type Spec) provides methods to work with swagger definition. - -Flattening or expanding a specification - -Flattening a specification bundles all remote $ref in the main spec document. -Depending on flattening options, additional preprocessing may take place: - - full flattening: replacing all inline complex constructs by a named entry in #/definitions - - expand: replace all $ref's in the document by their expanded content - -Merging several specifications - -Mixin several specifications merges all Swagger constructs, and warns about found conflicts. - -Fixing a specification - -Unmarshalling a specification with golang json unmarshalling may lead to -some unwanted result on present but empty fields. - -Analyzing a Swagger schema - -Swagger schemas are analyzed to determine their complexity and qualify their content. -*/ -package analysis diff --git a/vendor/github.com/go-openapi/analysis/fixer.go b/vendor/github.com/go-openapi/analysis/fixer.go deleted file mode 100644 index 7c2ca08416..0000000000 --- a/vendor/github.com/go-openapi/analysis/fixer.go +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package analysis - -import "github.com/go-openapi/spec" - -// FixEmptyResponseDescriptions replaces empty ("") response -// descriptions in the input with "(empty)" to ensure that the -// resulting Swagger is stays valid. The problem appears to arise -// from reading in valid specs that have a explicit response -// description of "" (valid, response.description is required), but -// due to zero values being omitted upon re-serializing (omitempty) we -// lose them unless we stick some chars in there. -func FixEmptyResponseDescriptions(s *spec.Swagger) { - for k, v := range s.Responses { - FixEmptyDesc(&v) //#nosec - s.Responses[k] = v - } - - if s.Paths == nil { - return - } - - for _, v := range s.Paths.Paths { - if v.Get != nil { - FixEmptyDescs(v.Get.Responses) - } - if v.Put != nil { - FixEmptyDescs(v.Put.Responses) - } - if v.Post != nil { - FixEmptyDescs(v.Post.Responses) - } - if v.Delete != nil { - FixEmptyDescs(v.Delete.Responses) - } - if v.Options != nil { - FixEmptyDescs(v.Options.Responses) - } - if v.Head != nil { - FixEmptyDescs(v.Head.Responses) - } - if v.Patch != nil { - FixEmptyDescs(v.Patch.Responses) - } - } -} - -// FixEmptyDescs adds "(empty)" as the description for any Response in -// the given Responses object that doesn't already have one. -func FixEmptyDescs(rs *spec.Responses) { - FixEmptyDesc(rs.Default) - for k, v := range rs.StatusCodeResponses { - FixEmptyDesc(&v) //#nosec - rs.StatusCodeResponses[k] = v - } -} - -// FixEmptyDesc adds "(empty)" as the description to the given -// Response object if it doesn't already have one and isn't a -// ref. No-op on nil input. -func FixEmptyDesc(rs *spec.Response) { - if rs == nil || rs.Description != "" || rs.Ref.Ref.GetURL() != nil { - return - } - rs.Description = "(empty)" -} diff --git a/vendor/github.com/go-openapi/analysis/flatten.go b/vendor/github.com/go-openapi/analysis/flatten.go deleted file mode 100644 index 0576220fb3..0000000000 --- a/vendor/github.com/go-openapi/analysis/flatten.go +++ /dev/null @@ -1,802 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package analysis - -import ( - "fmt" - "log" - "path" - "sort" - "strings" - - "github.com/go-openapi/analysis/internal/flatten/normalize" - "github.com/go-openapi/analysis/internal/flatten/operations" - "github.com/go-openapi/analysis/internal/flatten/replace" - "github.com/go-openapi/analysis/internal/flatten/schutils" - "github.com/go-openapi/analysis/internal/flatten/sortref" - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/spec" -) - -const definitionsPath = "#/definitions" - -// newRef stores information about refs created during the flattening process -type newRef struct { - key string - newName string - path string - isOAIGen bool - resolved bool - schema *spec.Schema - parents []string -} - -// context stores intermediary results from flatten -type context struct { - newRefs map[string]*newRef - warnings []string - resolved map[string]string -} - -func newContext() *context { - return &context{ - newRefs: make(map[string]*newRef, 150), - warnings: make([]string, 0), - resolved: make(map[string]string, 50), - } -} - -// Flatten an analyzed spec and produce a self-contained spec bundle. -// -// There is a minimal and a full flattening mode. -// -// -// Minimally flattening a spec means: -// - Expanding parameters, responses, path items, parameter items and header items (references to schemas are left -// unscathed) -// - Importing external (http, file) references so they become internal to the document -// - Moving every JSON pointer to a $ref to a named definition (i.e. the reworked spec does not contain pointers -// like "$ref": "#/definitions/myObject/allOfs/1") -// -// A minimally flattened spec thus guarantees the following properties: -// - all $refs point to a local definition (i.e. '#/definitions/...') -// - definitions are unique -// -// NOTE: arbitrary JSON pointers (other than $refs to top level definitions) are rewritten as definitions if they -// represent a complex schema or express commonality in the spec. -// Otherwise, they are simply expanded. -// Self-referencing JSON pointers cannot resolve to a type and trigger an error. -// -// -// Minimal flattening is necessary and sufficient for codegen rendering using go-swagger. -// -// Fully flattening a spec means: -// - Moving every complex inline schema to be a definition with an auto-generated name in a depth-first fashion. -// -// By complex, we mean every JSON object with some properties. -// Arrays, when they do not define a tuple, -// or empty objects with or without additionalProperties, are not considered complex and remain inline. -// -// NOTE: rewritten schemas get a vendor extension x-go-gen-location so we know from which part of the spec definitions -// have been created. -// -// Available flattening options: -// - Minimal: stops flattening after minimal $ref processing, leaving schema constructs untouched -// - Expand: expand all $ref's in the document (inoperant if Minimal set to true) -// - Verbose: croaks about name conflicts detected -// - RemoveUnused: removes unused parameters, responses and definitions after expansion/flattening -// -// NOTE: expansion removes all $ref save circular $ref, which remain in place -// -// TODO: additional options -// - ProgagateNameExtensions: ensure that created entries properly follow naming rules when their parent have set a -// x-go-name extension -// - LiftAllOfs: -// - limit the flattening of allOf members when simple objects -// - merge allOf with validation only -// - merge allOf with extensions only -// - ... -// -func Flatten(opts FlattenOpts) error { - debugLog("FlattenOpts: %#v", opts) - - opts.flattenContext = newContext() - - // 1. Recursively expand responses, parameters, path items and items in simple schemas. - // - // This simplifies the spec and leaves only the $ref's in schema objects. - if err := expand(&opts); err != nil { - return err - } - - // 2. Strip the current document from absolute $ref's that actually a in the root, - // so we can recognize them as proper definitions - // - // In particular, this works around issue go-openapi/spec#76: leading absolute file in $ref is stripped - if err := normalizeRef(&opts); err != nil { - return err - } - - // 3. Optionally remove shared parameters and responses already expanded (now unused). - // - // Operation parameters (i.e. under paths) remain. - if opts.RemoveUnused { - removeUnusedShared(&opts) - } - - // 4. Import all remote references. - if err := importReferences(&opts); err != nil { - return err - } - - // 5. full flattening: rewrite inline schemas (schemas that aren't simple types or arrays or maps) - if !opts.Minimal && !opts.Expand { - if err := nameInlinedSchemas(&opts); err != nil { - return err - } - } - - // 6. Rewrite JSON pointers other than $ref to named definitions - // and attempt to resolve conflicting names whenever possible. - if err := stripPointersAndOAIGen(&opts); err != nil { - return err - } - - // 7. Strip the spec from unused definitions - if opts.RemoveUnused { - removeUnused(&opts) - } - - // 8. Issue warning notifications, if any - opts.croak() - - // TODO: simplify known schema patterns to flat objects with properties - // examples: - // - lift simple allOf object, - // - empty allOf with validation only or extensions only - // - rework allOf arrays - // - rework allOf additionalProperties - - return nil -} - -func expand(opts *FlattenOpts) error { - if err := spec.ExpandSpec(opts.Swagger(), opts.ExpandOpts(!opts.Expand)); err != nil { - return err - } - - opts.Spec.reload() // re-analyze - - return nil -} - -// normalizeRef strips the current file from any absolute file $ref. This works around issue go-openapi/spec#76: -// leading absolute file in $ref is stripped -func normalizeRef(opts *FlattenOpts) error { - debugLog("normalizeRef") - - altered := false - for k, w := range opts.Spec.references.allRefs { - if !strings.HasPrefix(w.String(), opts.BasePath+definitionsPath) { // may be a mix of / and \, depending on OS - continue - } - - altered = true - debugLog("stripping absolute path for: %s", w.String()) - - // strip the base path from definition - if err := replace.UpdateRef(opts.Swagger(), k, - spec.MustCreateRef(path.Join(definitionsPath, path.Base(w.String())))); err != nil { - return err - } - } - - if altered { - opts.Spec.reload() // re-analyze - } - - return nil -} - -func removeUnusedShared(opts *FlattenOpts) { - opts.Swagger().Parameters = nil - opts.Swagger().Responses = nil - - opts.Spec.reload() // re-analyze -} - -func importReferences(opts *FlattenOpts) error { - var ( - imported bool - err error - ) - - for !imported && err == nil { - // iteratively import remote references until none left. - // This inlining deals with name conflicts by introducing auto-generated names ("OAIGen") - imported, err = importExternalReferences(opts) - - opts.Spec.reload() // re-analyze - } - - return err -} - -// nameInlinedSchemas replaces every complex inline construct by a named definition. -func nameInlinedSchemas(opts *FlattenOpts) error { - debugLog("nameInlinedSchemas") - - namer := &InlineSchemaNamer{ - Spec: opts.Swagger(), - Operations: operations.AllOpRefsByRef(opts.Spec, nil), - flattenContext: opts.flattenContext, - opts: opts, - } - - depthFirst := sortref.DepthFirst(opts.Spec.allSchemas) - for _, key := range depthFirst { - sch := opts.Spec.allSchemas[key] - if sch.Schema == nil || sch.Schema.Ref.String() != "" || sch.TopLevel { - continue - } - - asch, err := Schema(SchemaOpts{Schema: sch.Schema, Root: opts.Swagger(), BasePath: opts.BasePath}) - if err != nil { - return fmt.Errorf("schema analysis [%s]: %w", key, err) - } - - if asch.isAnalyzedAsComplex() { // move complex schemas to definitions - if err := namer.Name(key, sch.Schema, asch); err != nil { - return err - } - } - } - - opts.Spec.reload() // re-analyze - - return nil -} - -func removeUnused(opts *FlattenOpts) { - expected := make(map[string]struct{}) - for k := range opts.Swagger().Definitions { - expected[path.Join(definitionsPath, jsonpointer.Escape(k))] = struct{}{} - } - - for _, k := range opts.Spec.AllDefinitionReferences() { - delete(expected, k) - } - - for k := range expected { - debugLog("removing unused definition %s", path.Base(k)) - if opts.Verbose { - log.Printf("info: removing unused definition: %s", path.Base(k)) - } - delete(opts.Swagger().Definitions, path.Base(k)) - } - - opts.Spec.reload() // re-analyze -} - -func importKnownRef(entry sortref.RefRevIdx, refStr, newName string, opts *FlattenOpts) error { - // rewrite ref with already resolved external ref (useful for cyclical refs): - // rewrite external refs to local ones - debugLog("resolving known ref [%s] to %s", refStr, newName) - - for _, key := range entry.Keys { - if err := replace.UpdateRef(opts.Swagger(), key, spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { - return err - } - } - - return nil -} - -func importNewRef(entry sortref.RefRevIdx, refStr string, opts *FlattenOpts) error { - var ( - isOAIGen bool - newName string - ) - - debugLog("resolving schema from remote $ref [%s]", refStr) - - sch, err := spec.ResolveRefWithBase(opts.Swagger(), &entry.Ref, opts.ExpandOpts(false)) - if err != nil { - return fmt.Errorf("could not resolve schema: %w", err) - } - - // at this stage only $ref analysis matters - partialAnalyzer := &Spec{ - references: referenceAnalysis{}, - patterns: patternAnalysis{}, - enums: enumAnalysis{}, - } - partialAnalyzer.reset() - partialAnalyzer.analyzeSchema("", sch, "/") - - // now rewrite those refs with rebase - for key, ref := range partialAnalyzer.references.allRefs { - if err := replace.UpdateRef(sch, key, spec.MustCreateRef(normalize.RebaseRef(entry.Ref.String(), ref.String()))); err != nil { - return fmt.Errorf("failed to rewrite ref for key %q at %s: %w", key, entry.Ref.String(), err) - } - } - - // generate a unique name - isOAIGen means that a naming conflict was resolved by changing the name - newName, isOAIGen = uniqifyName(opts.Swagger().Definitions, nameFromRef(entry.Ref)) - debugLog("new name for [%s]: %s - with name conflict:%t", strings.Join(entry.Keys, ", "), newName, isOAIGen) - - opts.flattenContext.resolved[refStr] = newName - - // rewrite the external refs to local ones - for _, key := range entry.Keys { - if err := replace.UpdateRef(opts.Swagger(), key, - spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { - return err - } - - // keep track of created refs - resolved := false - if _, ok := opts.flattenContext.newRefs[key]; ok { - resolved = opts.flattenContext.newRefs[key].resolved - } - - debugLog("keeping track of ref: %s (%s), resolved: %t", key, newName, resolved) - opts.flattenContext.newRefs[key] = &newRef{ - key: key, - newName: newName, - path: path.Join(definitionsPath, newName), - isOAIGen: isOAIGen, - resolved: resolved, - schema: sch, - } - } - - // add the resolved schema to the definitions - schutils.Save(opts.Swagger(), newName, sch) - - return nil -} - -// importExternalReferences iteratively digs remote references and imports them into the main schema. -// -// At every iteration, new remotes may be found when digging deeper: they are rebased to the current schema before being imported. -// -// This returns true when no more remote references can be found. -func importExternalReferences(opts *FlattenOpts) (bool, error) { - debugLog("importExternalReferences") - - groupedRefs := sortref.ReverseIndex(opts.Spec.references.schemas, opts.BasePath) - sortedRefStr := make([]string, 0, len(groupedRefs)) - if opts.flattenContext == nil { - opts.flattenContext = newContext() - } - - // sort $ref resolution to ensure deterministic name conflict resolution - for refStr := range groupedRefs { - sortedRefStr = append(sortedRefStr, refStr) - } - sort.Strings(sortedRefStr) - - complete := true - - for _, refStr := range sortedRefStr { - entry := groupedRefs[refStr] - if entry.Ref.HasFragmentOnly { - continue - } - - complete = false - - newName := opts.flattenContext.resolved[refStr] - if newName != "" { - if err := importKnownRef(entry, refStr, newName, opts); err != nil { - return false, err - } - - continue - } - - // resolve schemas - if err := importNewRef(entry, refStr, opts); err != nil { - return false, err - } - } - - // maintains ref index entries - for k := range opts.flattenContext.newRefs { - r := opts.flattenContext.newRefs[k] - - // update tracking with resolved schemas - if r.schema.Ref.String() != "" { - ref := spec.MustCreateRef(r.path) - sch, err := spec.ResolveRefWithBase(opts.Swagger(), &ref, opts.ExpandOpts(false)) - if err != nil { - return false, fmt.Errorf("could not resolve schema: %w", err) - } - - r.schema = sch - } - - if r.path == k { - continue - } - - // update tracking with renamed keys: got a cascade of refs - renamed := *r - renamed.key = r.path - opts.flattenContext.newRefs[renamed.path] = &renamed - - // indirect ref - r.newName = path.Base(k) - r.schema = spec.RefSchema(r.path) - r.path = k - r.isOAIGen = strings.Contains(k, "OAIGen") - } - - return complete, nil -} - -// stripPointersAndOAIGen removes anonymous JSON pointers from spec and chain with name conflicts handler. -// This loops until the spec has no such pointer and all name conflicts have been reduced as much as possible. -func stripPointersAndOAIGen(opts *FlattenOpts) error { - // name all JSON pointers to anonymous documents - if err := namePointers(opts); err != nil { - return err - } - - // remove unnecessary OAIGen ref (created when flattening external refs creates name conflicts) - hasIntroducedPointerOrInline, ers := stripOAIGen(opts) - if ers != nil { - return ers - } - - // iterate as pointer or OAIGen resolution may introduce inline schemas or pointers - for hasIntroducedPointerOrInline { - if !opts.Minimal { - opts.Spec.reload() // re-analyze - if err := nameInlinedSchemas(opts); err != nil { - return err - } - } - - if err := namePointers(opts); err != nil { - return err - } - - // restrip and re-analyze - var err error - if hasIntroducedPointerOrInline, err = stripOAIGen(opts); err != nil { - return err - } - } - - return nil -} - -// stripOAIGen strips the spec from unnecessary OAIGen constructs, initially created to dedupe flattened definitions. -// -// A dedupe is deemed unnecessary whenever: -// - the only conflict is with its (single) parent: OAIGen is merged into its parent (reinlining) -// - there is a conflict with multiple parents: merge OAIGen in first parent, the rewrite other parents to point to -// the first parent. -// -// This function returns true whenever it re-inlined a complex schema, so the caller may chose to iterate -// pointer and name resolution again. -func stripOAIGen(opts *FlattenOpts) (bool, error) { - debugLog("stripOAIGen") - replacedWithComplex := false - - // figure out referers of OAIGen definitions (doing it before the ref start mutating) - for _, r := range opts.flattenContext.newRefs { - updateRefParents(opts.Spec.references.allRefs, r) - } - - for k := range opts.flattenContext.newRefs { - r := opts.flattenContext.newRefs[k] - debugLog("newRefs[%s]: isOAIGen: %t, resolved: %t, name: %s, path:%s, #parents: %d, parents: %v, ref: %s", - k, r.isOAIGen, r.resolved, r.newName, r.path, len(r.parents), r.parents, r.schema.Ref.String()) - - if !r.isOAIGen || len(r.parents) == 0 { - continue - } - - hasReplacedWithComplex, err := stripOAIGenForRef(opts, k, r) - if err != nil { - return replacedWithComplex, err - } - - replacedWithComplex = replacedWithComplex || hasReplacedWithComplex - } - - debugLog("replacedWithComplex: %t", replacedWithComplex) - opts.Spec.reload() // re-analyze - - return replacedWithComplex, nil -} - -// updateRefParents updates all parents of an updated $ref -func updateRefParents(allRefs map[string]spec.Ref, r *newRef) { - if !r.isOAIGen || r.resolved { // bail on already resolved entries (avoid looping) - return - } - for k, v := range allRefs { - if r.path != v.String() { - continue - } - - found := false - for _, p := range r.parents { - if p == k { - found = true - - break - } - } - if !found { - r.parents = append(r.parents, k) - } - } -} - -func stripOAIGenForRef(opts *FlattenOpts, k string, r *newRef) (bool, error) { - replacedWithComplex := false - - pr := sortref.TopmostFirst(r.parents) - - // rewrite first parent schema in hierarchical then lexicographical order - debugLog("rewrite first parent %s with schema", pr[0]) - if err := replace.UpdateRefWithSchema(opts.Swagger(), pr[0], r.schema); err != nil { - return false, err - } - - if pa, ok := opts.flattenContext.newRefs[pr[0]]; ok && pa.isOAIGen { - // update parent in ref index entry - debugLog("update parent entry: %s", pr[0]) - pa.schema = r.schema - pa.resolved = false - replacedWithComplex = true - } - - // rewrite other parents to point to first parent - if len(pr) > 1 { - for _, p := range pr[1:] { - replacingRef := spec.MustCreateRef(pr[0]) - - // set complex when replacing ref is an anonymous jsonpointer: further processing may be required - replacedWithComplex = replacedWithComplex || path.Dir(replacingRef.String()) != definitionsPath - debugLog("rewrite parent with ref: %s", replacingRef.String()) - - // NOTE: it is possible at this stage to introduce json pointers (to non-definitions places). - // Those are stripped later on. - if err := replace.UpdateRef(opts.Swagger(), p, replacingRef); err != nil { - return false, err - } - - if pa, ok := opts.flattenContext.newRefs[p]; ok && pa.isOAIGen { - // update parent in ref index - debugLog("update parent entry: %s", p) - pa.schema = r.schema - pa.resolved = false - replacedWithComplex = true - } - } - } - - // remove OAIGen definition - debugLog("removing definition %s", path.Base(r.path)) - delete(opts.Swagger().Definitions, path.Base(r.path)) - - // propagate changes in ref index for keys which have this one as a parent - for kk, value := range opts.flattenContext.newRefs { - if kk == k || !value.isOAIGen || value.resolved { - continue - } - - found := false - newParents := make([]string, 0, len(value.parents)) - for _, parent := range value.parents { - switch { - case parent == r.path: - found = true - parent = pr[0] - case strings.HasPrefix(parent, r.path+"/"): - found = true - parent = path.Join(pr[0], strings.TrimPrefix(parent, r.path)) - } - - newParents = append(newParents, parent) - } - - if found { - value.parents = newParents - } - } - - // mark naming conflict as resolved - debugLog("marking naming conflict resolved for key: %s", r.key) - opts.flattenContext.newRefs[r.key].isOAIGen = false - opts.flattenContext.newRefs[r.key].resolved = true - - // determine if the previous substitution did inline a complex schema - if r.schema != nil && r.schema.Ref.String() == "" { // inline schema - asch, err := Schema(SchemaOpts{Schema: r.schema, Root: opts.Swagger(), BasePath: opts.BasePath}) - if err != nil { - return false, err - } - - debugLog("re-inlined schema: parent: %s, %t", pr[0], asch.isAnalyzedAsComplex()) - replacedWithComplex = replacedWithComplex || !(path.Dir(pr[0]) == definitionsPath) && asch.isAnalyzedAsComplex() - } - - return replacedWithComplex, nil -} - -// namePointers replaces all JSON pointers to anonymous documents by a $ref to a new named definitions. -// -// This is carried on depth-first. Pointers to $refs which are top level definitions are replaced by the $ref itself. -// Pointers to simple types are expanded, unless they express commonality (i.e. several such $ref are used). -func namePointers(opts *FlattenOpts) error { - debugLog("name pointers") - - refsToReplace := make(map[string]SchemaRef, len(opts.Spec.references.schemas)) - for k, ref := range opts.Spec.references.allRefs { - if path.Dir(ref.String()) == definitionsPath { - // this a ref to a top-level definition: ok - continue - } - - result, err := replace.DeepestRef(opts.Swagger(), opts.ExpandOpts(false), ref) - if err != nil { - return fmt.Errorf("at %s, %w", k, err) - } - - replacingRef := result.Ref - sch := result.Schema - if opts.flattenContext != nil { - opts.flattenContext.warnings = append(opts.flattenContext.warnings, result.Warnings...) - } - - debugLog("planning pointer to replace at %s: %s, resolved to: %s", k, ref.String(), replacingRef.String()) - refsToReplace[k] = SchemaRef{ - Name: k, // caller - Ref: replacingRef, // called - Schema: sch, - TopLevel: path.Dir(replacingRef.String()) == definitionsPath, - } - } - - depthFirst := sortref.DepthFirst(refsToReplace) - namer := &InlineSchemaNamer{ - Spec: opts.Swagger(), - Operations: operations.AllOpRefsByRef(opts.Spec, nil), - flattenContext: opts.flattenContext, - opts: opts, - } - - for _, key := range depthFirst { - v := refsToReplace[key] - // update current replacement, which may have been updated by previous changes of deeper elements - result, erd := replace.DeepestRef(opts.Swagger(), opts.ExpandOpts(false), v.Ref) - if erd != nil { - return fmt.Errorf("at %s, %w", key, erd) - } - - if opts.flattenContext != nil { - opts.flattenContext.warnings = append(opts.flattenContext.warnings, result.Warnings...) - } - - v.Ref = result.Ref - v.Schema = result.Schema - v.TopLevel = path.Dir(result.Ref.String()) == definitionsPath - debugLog("replacing pointer at %s: resolved to: %s", key, v.Ref.String()) - - if v.TopLevel { - debugLog("replace pointer %s by canonical definition: %s", key, v.Ref.String()) - - // if the schema is a $ref to a top level definition, just rewrite the pointer to this $ref - if err := replace.UpdateRef(opts.Swagger(), key, v.Ref); err != nil { - return err - } - - continue - } - - if err := flattenAnonPointer(key, v, refsToReplace, namer, opts); err != nil { - return err - } - } - - opts.Spec.reload() // re-analyze - - return nil -} - -func flattenAnonPointer(key string, v SchemaRef, refsToReplace map[string]SchemaRef, namer *InlineSchemaNamer, opts *FlattenOpts) error { - // this is a JSON pointer to an anonymous document (internal or external): - // create a definition for this schema when: - // - it is a complex schema - // - or it is pointed by more than one $ref (i.e. expresses commonality) - // otherwise, expand the pointer (single reference to a simple type) - // - // The named definition for this follows the target's key, not the caller's - debugLog("namePointers at %s for %s", key, v.Ref.String()) - - // qualify the expanded schema - asch, ers := Schema(SchemaOpts{Schema: v.Schema, Root: opts.Swagger(), BasePath: opts.BasePath}) - if ers != nil { - return fmt.Errorf("schema analysis [%s]: %w", key, ers) - } - callers := make([]string, 0, 64) - - debugLog("looking for callers") - - an := New(opts.Swagger()) - for k, w := range an.references.allRefs { - r, err := replace.DeepestRef(opts.Swagger(), opts.ExpandOpts(false), w) - if err != nil { - return fmt.Errorf("at %s, %w", key, err) - } - - if opts.flattenContext != nil { - opts.flattenContext.warnings = append(opts.flattenContext.warnings, r.Warnings...) - } - - if r.Ref.String() == v.Ref.String() { - callers = append(callers, k) - } - } - - debugLog("callers for %s: %d", v.Ref.String(), len(callers)) - if len(callers) == 0 { - // has already been updated and resolved - return nil - } - - parts := sortref.KeyParts(v.Ref.String()) - debugLog("number of callers for %s: %d", v.Ref.String(), len(callers)) - - // identifying edge case when the namer did nothing because we point to a non-schema object - // no definition is created and we expand the $ref for all callers - if (!asch.IsSimpleSchema || len(callers) > 1) && !parts.IsSharedParam() && !parts.IsSharedResponse() { - debugLog("replace JSON pointer at [%s] by definition: %s", key, v.Ref.String()) - if err := namer.Name(v.Ref.String(), v.Schema, asch); err != nil { - return err - } - - // regular case: we named the $ref as a definition, and we move all callers to this new $ref - for _, caller := range callers { - if caller == key { - continue - } - - // move $ref for next to resolve - debugLog("identified caller of %s at [%s]", v.Ref.String(), caller) - c := refsToReplace[caller] - c.Ref = v.Ref - refsToReplace[caller] = c - } - - return nil - } - - debugLog("expand JSON pointer for key=%s", key) - - if err := replace.UpdateRefWithSchema(opts.Swagger(), key, v.Schema); err != nil { - return err - } - // NOTE: there is no other caller to update - - return nil -} diff --git a/vendor/github.com/go-openapi/analysis/flatten_name.go b/vendor/github.com/go-openapi/analysis/flatten_name.go deleted file mode 100644 index 3ad2ccfbfd..0000000000 --- a/vendor/github.com/go-openapi/analysis/flatten_name.go +++ /dev/null @@ -1,293 +0,0 @@ -package analysis - -import ( - "fmt" - "path" - "sort" - "strings" - - "github.com/go-openapi/analysis/internal/flatten/operations" - "github.com/go-openapi/analysis/internal/flatten/replace" - "github.com/go-openapi/analysis/internal/flatten/schutils" - "github.com/go-openapi/analysis/internal/flatten/sortref" - "github.com/go-openapi/spec" - "github.com/go-openapi/swag" -) - -// InlineSchemaNamer finds a new name for an inlined type -type InlineSchemaNamer struct { - Spec *spec.Swagger - Operations map[string]operations.OpRef - flattenContext *context - opts *FlattenOpts -} - -// Name yields a new name for the inline schema -func (isn *InlineSchemaNamer) Name(key string, schema *spec.Schema, aschema *AnalyzedSchema) error { - debugLog("naming inlined schema at %s", key) - - parts := sortref.KeyParts(key) - for _, name := range namesFromKey(parts, aschema, isn.Operations) { - if name == "" { - continue - } - - // create unique name - newName, isOAIGen := uniqifyName(isn.Spec.Definitions, swag.ToJSONName(name)) - - // clone schema - sch := schutils.Clone(schema) - - // replace values on schema - if err := replace.RewriteSchemaToRef(isn.Spec, key, - spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { - return fmt.Errorf("error while creating definition %q from inline schema: %w", newName, err) - } - - // rewrite any dependent $ref pointing to this place, - // when not already pointing to a top-level definition. - // - // NOTE: this is important if such referers use arbitrary JSON pointers. - an := New(isn.Spec) - for k, v := range an.references.allRefs { - r, erd := replace.DeepestRef(isn.opts.Swagger(), isn.opts.ExpandOpts(false), v) - if erd != nil { - return fmt.Errorf("at %s, %w", k, erd) - } - - if isn.opts.flattenContext != nil { - isn.opts.flattenContext.warnings = append(isn.opts.flattenContext.warnings, r.Warnings...) - } - - if r.Ref.String() != key && (r.Ref.String() != path.Join(definitionsPath, newName) || path.Dir(v.String()) == definitionsPath) { - continue - } - - debugLog("found a $ref to a rewritten schema: %s points to %s", k, v.String()) - - // rewrite $ref to the new target - if err := replace.UpdateRef(isn.Spec, k, - spec.MustCreateRef(path.Join(definitionsPath, newName))); err != nil { - return err - } - } - - // NOTE: this extension is currently not used by go-swagger (provided for information only) - sch.AddExtension("x-go-gen-location", GenLocation(parts)) - - // save cloned schema to definitions - schutils.Save(isn.Spec, newName, sch) - - // keep track of created refs - if isn.flattenContext == nil { - continue - } - - debugLog("track created ref: key=%s, newName=%s, isOAIGen=%t", key, newName, isOAIGen) - resolved := false - - if _, ok := isn.flattenContext.newRefs[key]; ok { - resolved = isn.flattenContext.newRefs[key].resolved - } - - isn.flattenContext.newRefs[key] = &newRef{ - key: key, - newName: newName, - path: path.Join(definitionsPath, newName), - isOAIGen: isOAIGen, - resolved: resolved, - schema: sch, - } - } - - return nil -} - -// uniqifyName yields a unique name for a definition -func uniqifyName(definitions spec.Definitions, name string) (string, bool) { - isOAIGen := false - if name == "" { - name = "oaiGen" - isOAIGen = true - } - - if len(definitions) == 0 { - return name, isOAIGen - } - - unq := true - for k := range definitions { - if strings.EqualFold(k, name) { - unq = false - - break - } - } - - if unq { - return name, isOAIGen - } - - name += "OAIGen" - isOAIGen = true - var idx int - unique := name - _, known := definitions[unique] - - for known { - idx++ - unique = fmt.Sprintf("%s%d", name, idx) - _, known = definitions[unique] - } - - return unique, isOAIGen -} - -func namesFromKey(parts sortref.SplitKey, aschema *AnalyzedSchema, operations map[string]operations.OpRef) []string { - var ( - baseNames [][]string - startIndex int - ) - - if parts.IsOperation() { - baseNames, startIndex = namesForOperation(parts, operations) - } - - // definitions - if parts.IsDefinition() { - baseNames, startIndex = namesForDefinition(parts) - } - - result := make([]string, 0, len(baseNames)) - for _, segments := range baseNames { - nm := parts.BuildName(segments, startIndex, partAdder(aschema)) - if nm == "" { - continue - } - - result = append(result, nm) - } - sort.Strings(result) - - return result -} - -func namesForParam(parts sortref.SplitKey, operations map[string]operations.OpRef) ([][]string, int) { - var ( - baseNames [][]string - startIndex int - ) - - piref := parts.PathItemRef() - if piref.String() != "" && parts.IsOperationParam() { - if op, ok := operations[piref.String()]; ok { - startIndex = 5 - baseNames = append(baseNames, []string{op.ID, "params", "body"}) - } - } else if parts.IsSharedOperationParam() { - pref := parts.PathRef() - for k, v := range operations { - if strings.HasPrefix(k, pref.String()) { - startIndex = 4 - baseNames = append(baseNames, []string{v.ID, "params", "body"}) - } - } - } - - return baseNames, startIndex -} - -func namesForOperation(parts sortref.SplitKey, operations map[string]operations.OpRef) ([][]string, int) { - var ( - baseNames [][]string - startIndex int - ) - - // params - if parts.IsOperationParam() || parts.IsSharedOperationParam() { - baseNames, startIndex = namesForParam(parts, operations) - } - - // responses - if parts.IsOperationResponse() { - piref := parts.PathItemRef() - if piref.String() != "" { - if op, ok := operations[piref.String()]; ok { - startIndex = 6 - baseNames = append(baseNames, []string{op.ID, parts.ResponseName(), "body"}) - } - } - } - - return baseNames, startIndex -} - -func namesForDefinition(parts sortref.SplitKey) ([][]string, int) { - nm := parts.DefinitionName() - if nm != "" { - return [][]string{{parts.DefinitionName()}}, 2 - } - - return [][]string{}, 0 -} - -// partAdder knows how to interpret a schema when it comes to build a name from parts -func partAdder(aschema *AnalyzedSchema) sortref.PartAdder { - return func(part string) []string { - segments := make([]string, 0, 2) - - if part == "items" || part == "additionalItems" { - if aschema.IsTuple || aschema.IsTupleWithExtra { - segments = append(segments, "tuple") - } else { - segments = append(segments, "items") - } - - if part == "additionalItems" { - segments = append(segments, part) - } - - return segments - } - - segments = append(segments, part) - - return segments - } -} - -func nameFromRef(ref spec.Ref) string { - u := ref.GetURL() - if u.Fragment != "" { - return swag.ToJSONName(path.Base(u.Fragment)) - } - - if u.Path != "" { - bn := path.Base(u.Path) - if bn != "" && bn != "/" { - ext := path.Ext(bn) - if ext != "" { - return swag.ToJSONName(bn[:len(bn)-len(ext)]) - } - - return swag.ToJSONName(bn) - } - } - - return swag.ToJSONName(strings.ReplaceAll(u.Host, ".", " ")) -} - -// GenLocation indicates from which section of the specification (models or operations) a definition has been created. -// -// This is reflected in the output spec with a "x-go-gen-location" extension. At the moment, this is is provided -// for information only. -func GenLocation(parts sortref.SplitKey) string { - switch { - case parts.IsOperation(): - return "operations" - case parts.IsDefinition(): - return "models" - default: - return "" - } -} diff --git a/vendor/github.com/go-openapi/analysis/flatten_options.go b/vendor/github.com/go-openapi/analysis/flatten_options.go deleted file mode 100644 index c5bb97b0a6..0000000000 --- a/vendor/github.com/go-openapi/analysis/flatten_options.go +++ /dev/null @@ -1,78 +0,0 @@ -package analysis - -import ( - "log" - - "github.com/go-openapi/spec" -) - -// FlattenOpts configuration for flattening a swagger specification. -// -// The BasePath parameter is used to locate remote relative $ref found in the specification. -// This path is a file: it points to the location of the root document and may be either a local -// file path or a URL. -// -// If none specified, relative references (e.g. "$ref": "folder/schema.yaml#/definitions/...") -// found in the spec are searched from the current working directory. -type FlattenOpts struct { - Spec *Spec // The analyzed spec to work with - flattenContext *context // Internal context to track flattening activity - - BasePath string // The location of the root document for this spec to resolve relative $ref - - // Flattening options - Expand bool // When true, skip flattening the spec and expand it instead (if Minimal is false) - Minimal bool // When true, do not decompose complex structures such as allOf - Verbose bool // enable some reporting on possible name conflicts detected - RemoveUnused bool // When true, remove unused parameters, responses and definitions after expansion/flattening - ContinueOnError bool // Continue when spec expansion issues are found - - /* Extra keys */ - _ struct{} // require keys -} - -// ExpandOpts creates a spec.ExpandOptions to configure expanding a specification document. -func (f *FlattenOpts) ExpandOpts(skipSchemas bool) *spec.ExpandOptions { - return &spec.ExpandOptions{ - RelativeBase: f.BasePath, - SkipSchemas: skipSchemas, - ContinueOnError: f.ContinueOnError, - } -} - -// Swagger gets the swagger specification for this flatten operation -func (f *FlattenOpts) Swagger() *spec.Swagger { - return f.Spec.spec -} - -// croak logs notifications and warnings about valid, but possibly unwanted constructs resulting -// from flattening a spec -func (f *FlattenOpts) croak() { - if !f.Verbose { - return - } - - reported := make(map[string]bool, len(f.flattenContext.newRefs)) - for _, v := range f.Spec.references.allRefs { - // warns about duplicate handling - for _, r := range f.flattenContext.newRefs { - if r.isOAIGen && r.path == v.String() { - reported[r.newName] = true - } - } - } - - for k := range reported { - log.Printf("warning: duplicate flattened definition name resolved as %s", k) - } - - // warns about possible type mismatches - uniqueMsg := make(map[string]bool) - for _, msg := range f.flattenContext.warnings { - if _, ok := uniqueMsg[msg]; ok { - continue - } - log.Printf("warning: %s", msg) - uniqueMsg[msg] = true - } -} diff --git a/vendor/github.com/go-openapi/analysis/internal/debug/debug.go b/vendor/github.com/go-openapi/analysis/internal/debug/debug.go deleted file mode 100644 index ec0fec0229..0000000000 --- a/vendor/github.com/go-openapi/analysis/internal/debug/debug.go +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package debug - -import ( - "fmt" - "log" - "os" - "path/filepath" - "runtime" -) - -var ( - output = os.Stdout -) - -// GetLogger provides a prefix debug logger -func GetLogger(prefix string, debug bool) func(string, ...interface{}) { - if debug { - logger := log.New(output, fmt.Sprintf("%s:", prefix), log.LstdFlags) - - return func(msg string, args ...interface{}) { - _, file1, pos1, _ := runtime.Caller(1) - logger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...)) - } - } - - return func(msg string, args ...interface{}) {} -} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/normalize/normalize.go b/vendor/github.com/go-openapi/analysis/internal/flatten/normalize/normalize.go deleted file mode 100644 index 8c9df0580d..0000000000 --- a/vendor/github.com/go-openapi/analysis/internal/flatten/normalize/normalize.go +++ /dev/null @@ -1,87 +0,0 @@ -package normalize - -import ( - "net/url" - "path" - "path/filepath" - "strings" - - "github.com/go-openapi/spec" -) - -// RebaseRef rebases a remote ref relative to a base ref. -// -// NOTE: does not support JSONschema ID for $ref (we assume we are working with swagger specs here). -// -// NOTE(windows): -// * refs are assumed to have been normalized with drive letter lower cased (from go-openapi/spec) -// * "/ in paths may appear as escape sequences -func RebaseRef(baseRef string, ref string) string { - baseRef, _ = url.PathUnescape(baseRef) - ref, _ = url.PathUnescape(ref) - - if baseRef == "" || baseRef == "." || strings.HasPrefix(baseRef, "#") { - return ref - } - - parts := strings.Split(ref, "#") - - baseParts := strings.Split(baseRef, "#") - baseURL, _ := url.Parse(baseParts[0]) - if strings.HasPrefix(ref, "#") { - if baseURL.Host == "" { - return strings.Join([]string{baseParts[0], parts[1]}, "#") - } - - return strings.Join([]string{baseParts[0], parts[1]}, "#") - } - - refURL, _ := url.Parse(parts[0]) - if refURL.Host != "" || filepath.IsAbs(parts[0]) { - // not rebasing an absolute path - return ref - } - - // there is a relative path - var basePath string - if baseURL.Host != "" { - // when there is a host, standard URI rules apply (with "/") - baseURL.Path = path.Dir(baseURL.Path) - baseURL.Path = path.Join(baseURL.Path, "/"+parts[0]) - - return baseURL.String() - } - - // this is a local relative path - // basePart[0] and parts[0] are local filesystem directories/files - basePath = filepath.Dir(baseParts[0]) - relPath := filepath.Join(basePath, string(filepath.Separator)+parts[0]) - if len(parts) > 1 { - return strings.Join([]string{relPath, parts[1]}, "#") - } - - return relPath -} - -// Path renders absolute path on remote file refs -// -// NOTE(windows): -// * refs are assumed to have been normalized with drive letter lower cased (from go-openapi/spec) -// * "/ in paths may appear as escape sequences -func Path(ref spec.Ref, basePath string) string { - uri, _ := url.PathUnescape(ref.String()) - if ref.HasFragmentOnly || filepath.IsAbs(uri) { - return uri - } - - refURL, _ := url.Parse(uri) - if refURL.Host != "" { - return uri - } - - parts := strings.Split(uri, "#") - // BasePath, parts[0] are local filesystem directories, guaranteed to be absolute at this stage - parts[0] = filepath.Join(filepath.Dir(basePath), parts[0]) - - return strings.Join(parts, "#") -} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/operations/operations.go b/vendor/github.com/go-openapi/analysis/internal/flatten/operations/operations.go deleted file mode 100644 index 7f3a2b8717..0000000000 --- a/vendor/github.com/go-openapi/analysis/internal/flatten/operations/operations.go +++ /dev/null @@ -1,90 +0,0 @@ -package operations - -import ( - "path" - "sort" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/spec" - "github.com/go-openapi/swag" -) - -// AllOpRefsByRef returns an index of sortable operations -func AllOpRefsByRef(specDoc Provider, operationIDs []string) map[string]OpRef { - return OpRefsByRef(GatherOperations(specDoc, operationIDs)) -} - -// OpRefsByRef indexes a map of sortable operations -func OpRefsByRef(oprefs map[string]OpRef) map[string]OpRef { - result := make(map[string]OpRef, len(oprefs)) - for _, v := range oprefs { - result[v.Ref.String()] = v - } - - return result -} - -// OpRef is an indexable, sortable operation -type OpRef struct { - Method string - Path string - Key string - ID string - Op *spec.Operation - Ref spec.Ref -} - -// OpRefs is a sortable collection of operations -type OpRefs []OpRef - -func (o OpRefs) Len() int { return len(o) } -func (o OpRefs) Swap(i, j int) { o[i], o[j] = o[j], o[i] } -func (o OpRefs) Less(i, j int) bool { return o[i].Key < o[j].Key } - -// Provider knows how to collect operations from a spec -type Provider interface { - Operations() map[string]map[string]*spec.Operation -} - -// GatherOperations builds a map of sorted operations from a spec -func GatherOperations(specDoc Provider, operationIDs []string) map[string]OpRef { - var oprefs OpRefs - - for method, pathItem := range specDoc.Operations() { - for pth, operation := range pathItem { - vv := *operation - oprefs = append(oprefs, OpRef{ - Key: swag.ToGoName(strings.ToLower(method) + " " + pth), - Method: method, - Path: pth, - ID: vv.ID, - Op: &vv, - Ref: spec.MustCreateRef("#" + path.Join("/paths", jsonpointer.Escape(pth), method)), - }) - } - } - - sort.Sort(oprefs) - - operations := make(map[string]OpRef) - for _, opr := range oprefs { - nm := opr.ID - if nm == "" { - nm = opr.Key - } - - oo, found := operations[nm] - if found && oo.Method != opr.Method && oo.Path != opr.Path { - nm = opr.Key - } - - if len(operationIDs) == 0 || swag.ContainsStrings(operationIDs, opr.ID) || swag.ContainsStrings(operationIDs, nm) { - opr.ID = nm - opr.Op.ID = nm - operations[nm] = opr - } - } - - return operations -} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/replace/replace.go b/vendor/github.com/go-openapi/analysis/internal/flatten/replace/replace.go deleted file mode 100644 index 26c2a05a31..0000000000 --- a/vendor/github.com/go-openapi/analysis/internal/flatten/replace/replace.go +++ /dev/null @@ -1,434 +0,0 @@ -package replace - -import ( - "fmt" - "net/url" - "os" - "path" - "strconv" - - "github.com/go-openapi/analysis/internal/debug" - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/spec" -) - -const definitionsPath = "#/definitions" - -var debugLog = debug.GetLogger("analysis/flatten/replace", os.Getenv("SWAGGER_DEBUG") != "") - -// RewriteSchemaToRef replaces a schema with a Ref -func RewriteSchemaToRef(sp *spec.Swagger, key string, ref spec.Ref) error { - debugLog("rewriting schema to ref for %s with %s", key, ref.String()) - _, value, err := getPointerFromKey(sp, key) - if err != nil { - return err - } - - switch refable := value.(type) { - case *spec.Schema: - return rewriteParentRef(sp, key, ref) - - case spec.Schema: - return rewriteParentRef(sp, key, ref) - - case *spec.SchemaOrArray: - if refable.Schema != nil { - refable.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - } - - case *spec.SchemaOrBool: - if refable.Schema != nil { - refable.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - } - default: - return fmt.Errorf("no schema with ref found at %s for %T", key, value) - } - - return nil -} - -func rewriteParentRef(sp *spec.Swagger, key string, ref spec.Ref) error { - parent, entry, pvalue, err := getParentFromKey(sp, key) - if err != nil { - return err - } - - debugLog("rewriting holder for %T", pvalue) - switch container := pvalue.(type) { - case spec.Response: - if err := rewriteParentRef(sp, "#"+parent, ref); err != nil { - return err - } - - case *spec.Response: - container.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case *spec.Responses: - statusCode, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", key[1:], err) - } - resp := container.StatusCodeResponses[statusCode] - resp.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - container.StatusCodeResponses[statusCode] = resp - - case map[string]spec.Response: - resp := container[entry] - resp.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - container[entry] = resp - - case spec.Parameter: - if err := rewriteParentRef(sp, "#"+parent, ref); err != nil { - return err - } - - case map[string]spec.Parameter: - param := container[entry] - param.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - container[entry] = param - - case []spec.Parameter: - idx, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", key[1:], err) - } - param := container[idx] - param.Schema = &spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - container[idx] = param - - case spec.Definitions: - container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case map[string]spec.Schema: - container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case []spec.Schema: - idx, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", key[1:], err) - } - container[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case *spec.SchemaOrArray: - // NOTE: this is necessarily an array - otherwise, the parent would be *Schema - idx, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", key[1:], err) - } - container.Schemas[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case spec.SchemaProperties: - container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema - - default: - return fmt.Errorf("unhandled parent schema rewrite %s (%T)", key, pvalue) - } - - return nil -} - -// getPointerFromKey retrieves the content of the JSON pointer "key" -func getPointerFromKey(sp interface{}, key string) (string, interface{}, error) { - switch sp.(type) { - case *spec.Schema: - case *spec.Swagger: - default: - panic("unexpected type used in getPointerFromKey") - } - if key == "#/" { - return "", sp, nil - } - // unescape chars in key, e.g. "{}" from path params - pth, _ := url.PathUnescape(key[1:]) - ptr, err := jsonpointer.New(pth) - if err != nil { - return "", nil, err - } - - value, _, err := ptr.Get(sp) - if err != nil { - debugLog("error when getting key: %s with path: %s", key, pth) - - return "", nil, err - } - - return pth, value, nil -} - -// getParentFromKey retrieves the container of the JSON pointer "key" -func getParentFromKey(sp interface{}, key string) (string, string, interface{}, error) { - switch sp.(type) { - case *spec.Schema: - case *spec.Swagger: - default: - panic("unexpected type used in getPointerFromKey") - } - // unescape chars in key, e.g. "{}" from path params - pth, _ := url.PathUnescape(key[1:]) - - parent, entry := path.Dir(pth), path.Base(pth) - debugLog("getting schema holder at: %s, with entry: %s", parent, entry) - - pptr, err := jsonpointer.New(parent) - if err != nil { - return "", "", nil, err - } - pvalue, _, err := pptr.Get(sp) - if err != nil { - return "", "", nil, fmt.Errorf("can't get parent for %s: %w", parent, err) - } - - return parent, entry, pvalue, nil -} - -// UpdateRef replaces a ref by another one -func UpdateRef(sp interface{}, key string, ref spec.Ref) error { - switch sp.(type) { - case *spec.Schema: - case *spec.Swagger: - default: - panic("unexpected type used in getPointerFromKey") - } - debugLog("updating ref for %s with %s", key, ref.String()) - pth, value, err := getPointerFromKey(sp, key) - if err != nil { - return err - } - - switch refable := value.(type) { - case *spec.Schema: - refable.Ref = ref - case *spec.SchemaOrArray: - if refable.Schema != nil { - refable.Schema.Ref = ref - } - case *spec.SchemaOrBool: - if refable.Schema != nil { - refable.Schema.Ref = ref - } - case spec.Schema: - debugLog("rewriting holder for %T", refable) - _, entry, pvalue, erp := getParentFromKey(sp, key) - if erp != nil { - return err - } - switch container := pvalue.(type) { - case spec.Definitions: - container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case map[string]spec.Schema: - container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case []spec.Schema: - idx, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", pth, err) - } - container[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case *spec.SchemaOrArray: - // NOTE: this is necessarily an array - otherwise, the parent would be *Schema - idx, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", pth, err) - } - container.Schemas[idx] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - case spec.SchemaProperties: - container[entry] = spec.Schema{SchemaProps: spec.SchemaProps{Ref: ref}} - - // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema - - default: - return fmt.Errorf("unhandled container type at %s: %T", key, value) - } - - default: - return fmt.Errorf("no schema with ref found at %s for %T", key, value) - } - - return nil -} - -// UpdateRefWithSchema replaces a ref with a schema (i.e. re-inline schema) -func UpdateRefWithSchema(sp *spec.Swagger, key string, sch *spec.Schema) error { - debugLog("updating ref for %s with schema", key) - pth, value, err := getPointerFromKey(sp, key) - if err != nil { - return err - } - - switch refable := value.(type) { - case *spec.Schema: - *refable = *sch - case spec.Schema: - _, entry, pvalue, erp := getParentFromKey(sp, key) - if erp != nil { - return err - } - switch container := pvalue.(type) { - case spec.Definitions: - container[entry] = *sch - - case map[string]spec.Schema: - container[entry] = *sch - - case []spec.Schema: - idx, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", pth, err) - } - container[idx] = *sch - - case *spec.SchemaOrArray: - // NOTE: this is necessarily an array - otherwise, the parent would be *Schema - idx, err := strconv.Atoi(entry) - if err != nil { - return fmt.Errorf("%s not a number: %w", pth, err) - } - container.Schemas[idx] = *sch - - case spec.SchemaProperties: - container[entry] = *sch - - // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema - - default: - return fmt.Errorf("unhandled type for parent of [%s]: %T", key, value) - } - case *spec.SchemaOrArray: - *refable.Schema = *sch - // NOTE: can't have case *spec.SchemaOrBool = parent in this case is *Schema - case *spec.SchemaOrBool: - *refable.Schema = *sch - default: - return fmt.Errorf("no schema with ref found at %s for %T", key, value) - } - - return nil -} - -// DeepestRefResult holds the results from DeepestRef analysis -type DeepestRefResult struct { - Ref spec.Ref - Schema *spec.Schema - Warnings []string -} - -// DeepestRef finds the first definition ref, from a cascade of nested refs which are not definitions. -// - if no definition is found, returns the deepest ref. -// - pointers to external files are expanded -// -// NOTE: all external $ref's are assumed to be already expanded at this stage. -func DeepestRef(sp *spec.Swagger, opts *spec.ExpandOptions, ref spec.Ref) (*DeepestRefResult, error) { - if !ref.HasFragmentOnly { - // we found an external $ref, which is odd at this stage: - // do nothing on external $refs - return &DeepestRefResult{Ref: ref}, nil - } - - currentRef := ref - visited := make(map[string]bool, 64) - warnings := make([]string, 0, 2) - -DOWNREF: - for currentRef.String() != "" { - if path.Dir(currentRef.String()) == definitionsPath { - // this is a top-level definition: stop here and return this ref - return &DeepestRefResult{Ref: currentRef}, nil - } - - if _, beenThere := visited[currentRef.String()]; beenThere { - return nil, - fmt.Errorf("cannot resolve cyclic chain of pointers under %s", currentRef.String()) - } - - visited[currentRef.String()] = true - value, _, err := currentRef.GetPointer().Get(sp) - if err != nil { - return nil, err - } - - switch refable := value.(type) { - case *spec.Schema: - if refable.Ref.String() == "" { - break DOWNREF - } - currentRef = refable.Ref - - case spec.Schema: - if refable.Ref.String() == "" { - break DOWNREF - } - currentRef = refable.Ref - - case *spec.SchemaOrArray: - if refable.Schema == nil || refable.Schema != nil && refable.Schema.Ref.String() == "" { - break DOWNREF - } - currentRef = refable.Schema.Ref - - case *spec.SchemaOrBool: - if refable.Schema == nil || refable.Schema != nil && refable.Schema.Ref.String() == "" { - break DOWNREF - } - currentRef = refable.Schema.Ref - - case spec.Response: - // a pointer points to a schema initially marshalled in responses section... - // Attempt to convert this to a schema. If this fails, the spec is invalid - asJSON, _ := refable.MarshalJSON() - var asSchema spec.Schema - - err := asSchema.UnmarshalJSON(asJSON) - if err != nil { - return nil, - fmt.Errorf("invalid type for resolved JSON pointer %s. Expected a schema a, got: %T", - currentRef.String(), value) - } - warnings = append(warnings, fmt.Sprintf("found $ref %q (response) interpreted as schema", currentRef.String())) - - if asSchema.Ref.String() == "" { - break DOWNREF - } - currentRef = asSchema.Ref - - case spec.Parameter: - // a pointer points to a schema initially marshalled in parameters section... - // Attempt to convert this to a schema. If this fails, the spec is invalid - asJSON, _ := refable.MarshalJSON() - var asSchema spec.Schema - if err := asSchema.UnmarshalJSON(asJSON); err != nil { - return nil, - fmt.Errorf("invalid type for resolved JSON pointer %s. Expected a schema a, got: %T", - currentRef.String(), value) - } - - warnings = append(warnings, fmt.Sprintf("found $ref %q (parameter) interpreted as schema", currentRef.String())) - - if asSchema.Ref.String() == "" { - break DOWNREF - } - currentRef = asSchema.Ref - - default: - return nil, - fmt.Errorf("unhandled type to resolve JSON pointer %s. Expected a Schema, got: %T", - currentRef.String(), value) - } - } - - // assess what schema we're ending with - sch, erv := spec.ResolveRefWithBase(sp, ¤tRef, opts) - if erv != nil { - return nil, erv - } - - if sch == nil { - return nil, fmt.Errorf("no schema found at %s", currentRef.String()) - } - - return &DeepestRefResult{Ref: currentRef, Schema: sch, Warnings: warnings}, nil -} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/schutils/flatten_schema.go b/vendor/github.com/go-openapi/analysis/internal/flatten/schutils/flatten_schema.go deleted file mode 100644 index 4590236e68..0000000000 --- a/vendor/github.com/go-openapi/analysis/internal/flatten/schutils/flatten_schema.go +++ /dev/null @@ -1,29 +0,0 @@ -// Package schutils provides tools to save or clone a schema -// when flattening a spec. -package schutils - -import ( - "github.com/go-openapi/spec" - "github.com/go-openapi/swag" -) - -// Save registers a schema as an entry in spec #/definitions -func Save(sp *spec.Swagger, name string, schema *spec.Schema) { - if schema == nil { - return - } - - if sp.Definitions == nil { - sp.Definitions = make(map[string]spec.Schema, 150) - } - - sp.Definitions[name] = *schema -} - -// Clone deep-clones a schema -func Clone(schema *spec.Schema) *spec.Schema { - var sch spec.Schema - _ = swag.FromDynamicJSON(schema, &sch) - - return &sch -} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/keys.go b/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/keys.go deleted file mode 100644 index 18e552eadc..0000000000 --- a/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/keys.go +++ /dev/null @@ -1,201 +0,0 @@ -package sortref - -import ( - "net/http" - "path" - "strconv" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/spec" -) - -const ( - paths = "paths" - responses = "responses" - parameters = "parameters" - definitions = "definitions" -) - -var ( - ignoredKeys map[string]struct{} - validMethods map[string]struct{} -) - -func init() { - ignoredKeys = map[string]struct{}{ - "schema": {}, - "properties": {}, - "not": {}, - "anyOf": {}, - "oneOf": {}, - } - - validMethods = map[string]struct{}{ - "GET": {}, - "HEAD": {}, - "OPTIONS": {}, - "PATCH": {}, - "POST": {}, - "PUT": {}, - "DELETE": {}, - } -} - -// Key represent a key item constructed from /-separated segments -type Key struct { - Segments int - Key string -} - -// Keys is a sortable collable collection of Keys -type Keys []Key - -func (k Keys) Len() int { return len(k) } -func (k Keys) Swap(i, j int) { k[i], k[j] = k[j], k[i] } -func (k Keys) Less(i, j int) bool { - return k[i].Segments > k[j].Segments || (k[i].Segments == k[j].Segments && k[i].Key < k[j].Key) -} - -// KeyParts construct a SplitKey with all its /-separated segments decomposed. It is sortable. -func KeyParts(key string) SplitKey { - var res []string - for _, part := range strings.Split(key[1:], "/") { - if part != "" { - res = append(res, jsonpointer.Unescape(part)) - } - } - - return res -} - -// SplitKey holds of the parts of a /-separated key, soi that their location may be determined. -type SplitKey []string - -// IsDefinition is true when the split key is in the #/definitions section of a spec -func (s SplitKey) IsDefinition() bool { - return len(s) > 1 && s[0] == definitions -} - -// DefinitionName yields the name of the definition -func (s SplitKey) DefinitionName() string { - if !s.IsDefinition() { - return "" - } - - return s[1] -} - -func (s SplitKey) isKeyName(i int) bool { - if i <= 0 { - return false - } - - count := 0 - for idx := i - 1; idx > 0; idx-- { - if s[idx] != "properties" { - break - } - count++ - } - - return count%2 != 0 -} - -// PartAdder know how to construct the components of a new name -type PartAdder func(string) []string - -// BuildName builds a name from segments -func (s SplitKey) BuildName(segments []string, startIndex int, adder PartAdder) string { - for i, part := range s[startIndex:] { - if _, ignored := ignoredKeys[part]; !ignored || s.isKeyName(startIndex+i) { - segments = append(segments, adder(part)...) - } - } - - return strings.Join(segments, " ") -} - -// IsOperation is true when the split key is in the operations section -func (s SplitKey) IsOperation() bool { - return len(s) > 1 && s[0] == paths -} - -// IsSharedOperationParam is true when the split key is in the parameters section of a path -func (s SplitKey) IsSharedOperationParam() bool { - return len(s) > 2 && s[0] == paths && s[2] == parameters -} - -// IsSharedParam is true when the split key is in the #/parameters section of a spec -func (s SplitKey) IsSharedParam() bool { - return len(s) > 1 && s[0] == parameters -} - -// IsOperationParam is true when the split key is in the parameters section of an operation -func (s SplitKey) IsOperationParam() bool { - return len(s) > 3 && s[0] == paths && s[3] == parameters -} - -// IsOperationResponse is true when the split key is in the responses section of an operation -func (s SplitKey) IsOperationResponse() bool { - return len(s) > 3 && s[0] == paths && s[3] == responses -} - -// IsSharedResponse is true when the split key is in the #/responses section of a spec -func (s SplitKey) IsSharedResponse() bool { - return len(s) > 1 && s[0] == responses -} - -// IsDefaultResponse is true when the split key is the default response for an operation -func (s SplitKey) IsDefaultResponse() bool { - return len(s) > 4 && s[0] == paths && s[3] == responses && s[4] == "default" -} - -// IsStatusCodeResponse is true when the split key is an operation response with a status code -func (s SplitKey) IsStatusCodeResponse() bool { - isInt := func() bool { - _, err := strconv.Atoi(s[4]) - - return err == nil - } - - return len(s) > 4 && s[0] == paths && s[3] == responses && isInt() -} - -// ResponseName yields either the status code or "Default" for a response -func (s SplitKey) ResponseName() string { - if s.IsStatusCodeResponse() { - code, _ := strconv.Atoi(s[4]) - - return http.StatusText(code) - } - - if s.IsDefaultResponse() { - return "Default" - } - - return "" -} - -// PathItemRef constructs a $ref object from a split key of the form /{path}/{method} -func (s SplitKey) PathItemRef() spec.Ref { - if len(s) < 3 { - return spec.Ref{} - } - - pth, method := s[1], s[2] - if _, isValidMethod := validMethods[strings.ToUpper(method)]; !isValidMethod && !strings.HasPrefix(method, "x-") { - return spec.Ref{} - } - - return spec.MustCreateRef("#" + path.Join("/", paths, jsonpointer.Escape(pth), strings.ToUpper(method))) -} - -// PathRef constructs a $ref object from a split key of the form /paths/{reference} -func (s SplitKey) PathRef() spec.Ref { - if !s.IsOperation() { - return spec.Ref{} - } - - return spec.MustCreateRef("#" + path.Join("/", paths, jsonpointer.Escape(s[1]))) -} diff --git a/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/sort_ref.go b/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/sort_ref.go deleted file mode 100644 index 73243df87f..0000000000 --- a/vendor/github.com/go-openapi/analysis/internal/flatten/sortref/sort_ref.go +++ /dev/null @@ -1,141 +0,0 @@ -package sortref - -import ( - "reflect" - "sort" - "strings" - - "github.com/go-openapi/analysis/internal/flatten/normalize" - "github.com/go-openapi/spec" -) - -var depthGroupOrder = []string{ - "sharedParam", "sharedResponse", "sharedOpParam", "opParam", "codeResponse", "defaultResponse", "definition", -} - -type mapIterator struct { - len int - mapIter *reflect.MapIter -} - -func (i *mapIterator) Next() bool { - return i.mapIter.Next() -} - -func (i *mapIterator) Len() int { - return i.len -} - -func (i *mapIterator) Key() string { - return i.mapIter.Key().String() -} - -func mustMapIterator(anyMap interface{}) *mapIterator { - val := reflect.ValueOf(anyMap) - - return &mapIterator{mapIter: val.MapRange(), len: val.Len()} -} - -// DepthFirst sorts a map of anything. It groups keys by category -// (shared params, op param, statuscode response, default response, definitions) -// sort groups internally by number of parts in the key and lexical names -// flatten groups into a single list of keys -func DepthFirst(in interface{}) []string { - iterator := mustMapIterator(in) - sorted := make([]string, 0, iterator.Len()) - grouped := make(map[string]Keys, iterator.Len()) - - for iterator.Next() { - k := iterator.Key() - split := KeyParts(k) - var pk string - - if split.IsSharedOperationParam() { - pk = "sharedOpParam" - } - if split.IsOperationParam() { - pk = "opParam" - } - if split.IsStatusCodeResponse() { - pk = "codeResponse" - } - if split.IsDefaultResponse() { - pk = "defaultResponse" - } - if split.IsDefinition() { - pk = "definition" - } - if split.IsSharedParam() { - pk = "sharedParam" - } - if split.IsSharedResponse() { - pk = "sharedResponse" - } - grouped[pk] = append(grouped[pk], Key{Segments: len(split), Key: k}) - } - - for _, pk := range depthGroupOrder { - res := grouped[pk] - sort.Sort(res) - - for _, v := range res { - sorted = append(sorted, v.Key) - } - } - - return sorted -} - -// topMostRefs is able to sort refs by hierarchical then lexicographic order, -// yielding refs ordered breadth-first. -type topmostRefs []string - -func (k topmostRefs) Len() int { return len(k) } -func (k topmostRefs) Swap(i, j int) { k[i], k[j] = k[j], k[i] } -func (k topmostRefs) Less(i, j int) bool { - li, lj := len(strings.Split(k[i], "/")), len(strings.Split(k[j], "/")) - if li == lj { - return k[i] < k[j] - } - - return li < lj -} - -// TopmostFirst sorts references by depth -func TopmostFirst(refs []string) []string { - res := topmostRefs(refs) - sort.Sort(res) - - return res -} - -// RefRevIdx is a reverse index for references -type RefRevIdx struct { - Ref spec.Ref - Keys []string -} - -// ReverseIndex builds a reverse index for references in schemas -func ReverseIndex(schemas map[string]spec.Ref, basePath string) map[string]RefRevIdx { - collected := make(map[string]RefRevIdx) - for key, schRef := range schemas { - // normalize paths before sorting, - // so we get together keys that are from the same external file - normalizedPath := normalize.Path(schRef, basePath) - - entry, ok := collected[normalizedPath] - if ok { - entry.Keys = append(entry.Keys, key) - collected[normalizedPath] = entry - - continue - } - - collected[normalizedPath] = RefRevIdx{ - Ref: schRef, - Keys: []string{key}, - } - } - - return collected -} diff --git a/vendor/github.com/go-openapi/analysis/mixin.go b/vendor/github.com/go-openapi/analysis/mixin.go deleted file mode 100644 index b253052648..0000000000 --- a/vendor/github.com/go-openapi/analysis/mixin.go +++ /dev/null @@ -1,515 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package analysis - -import ( - "fmt" - "reflect" - - "github.com/go-openapi/spec" -) - -// Mixin modifies the primary swagger spec by adding the paths and -// definitions from the mixin specs. Top level parameters and -// responses from the mixins are also carried over. Operation id -// collisions are avoided by appending "Mixin" but only if -// needed. -// -// The following parts of primary are subject to merge, filling empty details -// - Info -// - BasePath -// - Host -// - ExternalDocs -// -// Consider calling FixEmptyResponseDescriptions() on the modified primary -// if you read them from storage and they are valid to start with. -// -// Entries in "paths", "definitions", "parameters" and "responses" are -// added to the primary in the order of the given mixins. If the entry -// already exists in primary it is skipped with a warning message. -// -// The count of skipped entries (from collisions) is returned so any -// deviation from the number expected can flag a warning in your build -// scripts. Carefully review the collisions before accepting them; -// consider renaming things if possible. -// -// No key normalization takes place (paths, type defs, -// etc). Ensure they are canonical if your downstream tools do -// key normalization of any form. -// -// Merging schemes (http, https), and consumers/producers do not account for -// collisions. -func Mixin(primary *spec.Swagger, mixins ...*spec.Swagger) []string { - skipped := make([]string, 0, len(mixins)) - opIds := getOpIds(primary) - initPrimary(primary) - - for i, m := range mixins { - skipped = append(skipped, mergeSwaggerProps(primary, m)...) - - skipped = append(skipped, mergeConsumes(primary, m)...) - - skipped = append(skipped, mergeProduces(primary, m)...) - - skipped = append(skipped, mergeTags(primary, m)...) - - skipped = append(skipped, mergeSchemes(primary, m)...) - - skipped = append(skipped, mergeSecurityDefinitions(primary, m)...) - - skipped = append(skipped, mergeSecurityRequirements(primary, m)...) - - skipped = append(skipped, mergeDefinitions(primary, m)...) - - // merging paths requires a map of operationIDs to work with - skipped = append(skipped, mergePaths(primary, m, opIds, i)...) - - skipped = append(skipped, mergeParameters(primary, m)...) - - skipped = append(skipped, mergeResponses(primary, m)...) - } - - return skipped -} - -// getOpIds extracts all the paths..operationIds from the given -// spec and returns them as the keys in a map with 'true' values. -func getOpIds(s *spec.Swagger) map[string]bool { - rv := make(map[string]bool) - if s.Paths == nil { - return rv - } - - for _, v := range s.Paths.Paths { - piops := pathItemOps(v) - - for _, op := range piops { - rv[op.ID] = true - } - } - - return rv -} - -func pathItemOps(p spec.PathItem) []*spec.Operation { - var rv []*spec.Operation - rv = appendOp(rv, p.Get) - rv = appendOp(rv, p.Put) - rv = appendOp(rv, p.Post) - rv = appendOp(rv, p.Delete) - rv = appendOp(rv, p.Head) - rv = appendOp(rv, p.Patch) - - return rv -} - -func appendOp(ops []*spec.Operation, op *spec.Operation) []*spec.Operation { - if op == nil { - return ops - } - - return append(ops, op) -} - -func mergeSecurityDefinitions(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { - for k, v := range m.SecurityDefinitions { - if _, exists := primary.SecurityDefinitions[k]; exists { - warn := fmt.Sprintf( - "SecurityDefinitions entry '%v' already exists in primary or higher priority mixin, skipping\n", k) - skipped = append(skipped, warn) - - continue - } - - primary.SecurityDefinitions[k] = v - } - - return -} - -func mergeSecurityRequirements(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { - for _, v := range m.Security { - found := false - for _, vv := range primary.Security { - if reflect.DeepEqual(v, vv) { - found = true - - break - } - } - - if found { - warn := fmt.Sprintf( - "Security requirement: '%v' already exists in primary or higher priority mixin, skipping\n", v) - skipped = append(skipped, warn) - - continue - } - primary.Security = append(primary.Security, v) - } - - return -} - -func mergeDefinitions(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { - for k, v := range m.Definitions { - // assume name collisions represent IDENTICAL type. careful. - if _, exists := primary.Definitions[k]; exists { - warn := fmt.Sprintf( - "definitions entry '%v' already exists in primary or higher priority mixin, skipping\n", k) - skipped = append(skipped, warn) - - continue - } - primary.Definitions[k] = v - } - - return -} - -func mergePaths(primary *spec.Swagger, m *spec.Swagger, opIds map[string]bool, mixIndex int) (skipped []string) { - if m.Paths != nil { - for k, v := range m.Paths.Paths { - if _, exists := primary.Paths.Paths[k]; exists { - warn := fmt.Sprintf( - "paths entry '%v' already exists in primary or higher priority mixin, skipping\n", k) - skipped = append(skipped, warn) - - continue - } - - // Swagger requires that operationIds be - // unique within a spec. If we find a - // collision we append "Mixin0" to the - // operatoinId we are adding, where 0 is mixin - // index. We assume that operationIds with - // all the proivded specs are already unique. - piops := pathItemOps(v) - for _, piop := range piops { - if opIds[piop.ID] { - piop.ID = fmt.Sprintf("%v%v%v", piop.ID, "Mixin", mixIndex) - } - opIds[piop.ID] = true - } - primary.Paths.Paths[k] = v - } - } - - return -} - -func mergeParameters(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { - for k, v := range m.Parameters { - // could try to rename on conflict but would - // have to fix $refs in the mixin. Complain - // for now - if _, exists := primary.Parameters[k]; exists { - warn := fmt.Sprintf( - "top level parameters entry '%v' already exists in primary or higher priority mixin, skipping\n", k) - skipped = append(skipped, warn) - - continue - } - primary.Parameters[k] = v - } - - return -} - -func mergeResponses(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { - for k, v := range m.Responses { - // could try to rename on conflict but would - // have to fix $refs in the mixin. Complain - // for now - if _, exists := primary.Responses[k]; exists { - warn := fmt.Sprintf( - "top level responses entry '%v' already exists in primary or higher priority mixin, skipping\n", k) - skipped = append(skipped, warn) - - continue - } - primary.Responses[k] = v - } - - return skipped -} - -func mergeConsumes(primary *spec.Swagger, m *spec.Swagger) []string { - for _, v := range m.Consumes { - found := false - for _, vv := range primary.Consumes { - if v == vv { - found = true - - break - } - } - - if found { - // no warning here: we just skip it - continue - } - primary.Consumes = append(primary.Consumes, v) - } - - return []string{} -} - -func mergeProduces(primary *spec.Swagger, m *spec.Swagger) []string { - for _, v := range m.Produces { - found := false - for _, vv := range primary.Produces { - if v == vv { - found = true - - break - } - } - - if found { - // no warning here: we just skip it - continue - } - primary.Produces = append(primary.Produces, v) - } - - return []string{} -} - -func mergeTags(primary *spec.Swagger, m *spec.Swagger) (skipped []string) { - for _, v := range m.Tags { - found := false - for _, vv := range primary.Tags { - if v.Name == vv.Name { - found = true - - break - } - } - - if found { - warn := fmt.Sprintf( - "top level tags entry with name '%v' already exists in primary or higher priority mixin, skipping\n", - v.Name, - ) - skipped = append(skipped, warn) - - continue - } - - primary.Tags = append(primary.Tags, v) - } - - return -} - -func mergeSchemes(primary *spec.Swagger, m *spec.Swagger) []string { - for _, v := range m.Schemes { - found := false - for _, vv := range primary.Schemes { - if v == vv { - found = true - - break - } - } - - if found { - // no warning here: we just skip it - continue - } - primary.Schemes = append(primary.Schemes, v) - } - - return []string{} -} - -func mergeSwaggerProps(primary *spec.Swagger, m *spec.Swagger) []string { - var skipped, skippedInfo, skippedDocs []string - - primary.Extensions, skipped = mergeExtensions(primary.Extensions, m.Extensions) - - // merging details in swagger top properties - if primary.Host == "" { - primary.Host = m.Host - } - - if primary.BasePath == "" { - primary.BasePath = m.BasePath - } - - if primary.Info == nil { - primary.Info = m.Info - } else if m.Info != nil { - skippedInfo = mergeInfo(primary.Info, m.Info) - skipped = append(skipped, skippedInfo...) - } - - if primary.ExternalDocs == nil { - primary.ExternalDocs = m.ExternalDocs - } else if m != nil { - skippedDocs = mergeExternalDocs(primary.ExternalDocs, m.ExternalDocs) - skipped = append(skipped, skippedDocs...) - } - - return skipped -} - -// nolint: unparam -func mergeExternalDocs(primary *spec.ExternalDocumentation, m *spec.ExternalDocumentation) []string { - if primary.Description == "" { - primary.Description = m.Description - } - - if primary.URL == "" { - primary.URL = m.URL - } - - return nil -} - -func mergeInfo(primary *spec.Info, m *spec.Info) []string { - var sk, skipped []string - - primary.Extensions, sk = mergeExtensions(primary.Extensions, m.Extensions) - skipped = append(skipped, sk...) - - if primary.Description == "" { - primary.Description = m.Description - } - - if primary.Title == "" { - primary.Description = m.Description - } - - if primary.TermsOfService == "" { - primary.TermsOfService = m.TermsOfService - } - - if primary.Version == "" { - primary.Version = m.Version - } - - if primary.Contact == nil { - primary.Contact = m.Contact - } else if m.Contact != nil { - var csk []string - primary.Contact.Extensions, csk = mergeExtensions(primary.Contact.Extensions, m.Contact.Extensions) - skipped = append(skipped, csk...) - - if primary.Contact.Name == "" { - primary.Contact.Name = m.Contact.Name - } - - if primary.Contact.URL == "" { - primary.Contact.URL = m.Contact.URL - } - - if primary.Contact.Email == "" { - primary.Contact.Email = m.Contact.Email - } - } - - if primary.License == nil { - primary.License = m.License - } else if m.License != nil { - var lsk []string - primary.License.Extensions, lsk = mergeExtensions(primary.License.Extensions, m.License.Extensions) - skipped = append(skipped, lsk...) - - if primary.License.Name == "" { - primary.License.Name = m.License.Name - } - - if primary.License.URL == "" { - primary.License.URL = m.License.URL - } - } - - return skipped -} - -func mergeExtensions(primary spec.Extensions, m spec.Extensions) (result spec.Extensions, skipped []string) { - if primary == nil { - result = m - - return - } - - if m == nil { - result = primary - - return - } - - result = primary - for k, v := range m { - if _, found := primary[k]; found { - skipped = append(skipped, k) - - continue - } - - primary[k] = v - } - - return -} - -func initPrimary(primary *spec.Swagger) { - if primary.SecurityDefinitions == nil { - primary.SecurityDefinitions = make(map[string]*spec.SecurityScheme) - } - - if primary.Security == nil { - primary.Security = make([]map[string][]string, 0, 10) - } - - if primary.Produces == nil { - primary.Produces = make([]string, 0, 10) - } - - if primary.Consumes == nil { - primary.Consumes = make([]string, 0, 10) - } - - if primary.Tags == nil { - primary.Tags = make([]spec.Tag, 0, 10) - } - - if primary.Schemes == nil { - primary.Schemes = make([]string, 0, 10) - } - - if primary.Paths == nil { - primary.Paths = &spec.Paths{Paths: make(map[string]spec.PathItem)} - } - - if primary.Paths.Paths == nil { - primary.Paths.Paths = make(map[string]spec.PathItem) - } - - if primary.Definitions == nil { - primary.Definitions = make(spec.Definitions) - } - - if primary.Parameters == nil { - primary.Parameters = make(map[string]spec.Parameter) - } - - if primary.Responses == nil { - primary.Responses = make(map[string]spec.Response) - } -} diff --git a/vendor/github.com/go-openapi/analysis/schema.go b/vendor/github.com/go-openapi/analysis/schema.go deleted file mode 100644 index fc055095cb..0000000000 --- a/vendor/github.com/go-openapi/analysis/schema.go +++ /dev/null @@ -1,256 +0,0 @@ -package analysis - -import ( - "fmt" - - "github.com/go-openapi/spec" - "github.com/go-openapi/strfmt" -) - -// SchemaOpts configures the schema analyzer -type SchemaOpts struct { - Schema *spec.Schema - Root interface{} - BasePath string - _ struct{} -} - -// Schema analysis, will classify the schema according to known -// patterns. -func Schema(opts SchemaOpts) (*AnalyzedSchema, error) { - if opts.Schema == nil { - return nil, fmt.Errorf("no schema to analyze") - } - - a := &AnalyzedSchema{ - schema: opts.Schema, - root: opts.Root, - basePath: opts.BasePath, - } - - a.initializeFlags() - a.inferKnownType() - a.inferEnum() - a.inferBaseType() - - if err := a.inferMap(); err != nil { - return nil, err - } - if err := a.inferArray(); err != nil { - return nil, err - } - - a.inferTuple() - - if err := a.inferFromRef(); err != nil { - return nil, err - } - - a.inferSimpleSchema() - - return a, nil -} - -// AnalyzedSchema indicates what the schema represents -type AnalyzedSchema struct { - schema *spec.Schema - root interface{} - basePath string - - hasProps bool - hasAllOf bool - hasItems bool - hasAdditionalProps bool - hasAdditionalItems bool - hasRef bool - - IsKnownType bool - IsSimpleSchema bool - IsArray bool - IsSimpleArray bool - IsMap bool - IsSimpleMap bool - IsExtendedObject bool - IsTuple bool - IsTupleWithExtra bool - IsBaseType bool - IsEnum bool -} - -// Inherits copies value fields from other onto this schema -func (a *AnalyzedSchema) inherits(other *AnalyzedSchema) { - if other == nil { - return - } - a.hasProps = other.hasProps - a.hasAllOf = other.hasAllOf - a.hasItems = other.hasItems - a.hasAdditionalItems = other.hasAdditionalItems - a.hasAdditionalProps = other.hasAdditionalProps - a.hasRef = other.hasRef - - a.IsKnownType = other.IsKnownType - a.IsSimpleSchema = other.IsSimpleSchema - a.IsArray = other.IsArray - a.IsSimpleArray = other.IsSimpleArray - a.IsMap = other.IsMap - a.IsSimpleMap = other.IsSimpleMap - a.IsExtendedObject = other.IsExtendedObject - a.IsTuple = other.IsTuple - a.IsTupleWithExtra = other.IsTupleWithExtra - a.IsBaseType = other.IsBaseType - a.IsEnum = other.IsEnum -} - -func (a *AnalyzedSchema) inferFromRef() error { - if a.hasRef { - sch := new(spec.Schema) - sch.Ref = a.schema.Ref - err := spec.ExpandSchema(sch, a.root, nil) - if err != nil { - return err - } - rsch, err := Schema(SchemaOpts{ - Schema: sch, - Root: a.root, - BasePath: a.basePath, - }) - if err != nil { - // NOTE(fredbi): currently the only cause for errors is - // unresolved ref. Since spec.ExpandSchema() expands the - // schema recursively, there is no chance to get there, - // until we add more causes for error in this schema analysis. - return err - } - a.inherits(rsch) - } - - return nil -} - -func (a *AnalyzedSchema) inferSimpleSchema() { - a.IsSimpleSchema = a.IsKnownType || a.IsSimpleArray || a.IsSimpleMap -} - -func (a *AnalyzedSchema) inferKnownType() { - tpe := a.schema.Type - format := a.schema.Format - a.IsKnownType = tpe.Contains("boolean") || - tpe.Contains("integer") || - tpe.Contains("number") || - tpe.Contains("string") || - (format != "" && strfmt.Default.ContainsName(format)) || - (a.isObjectType() && !a.hasProps && !a.hasAllOf && !a.hasAdditionalProps && !a.hasAdditionalItems) -} - -func (a *AnalyzedSchema) inferMap() error { - if !a.isObjectType() { - return nil - } - - hasExtra := a.hasProps || a.hasAllOf - a.IsMap = a.hasAdditionalProps && !hasExtra - a.IsExtendedObject = a.hasAdditionalProps && hasExtra - - if !a.IsMap { - return nil - } - - // maps - if a.schema.AdditionalProperties.Schema != nil { - msch, err := Schema(SchemaOpts{ - Schema: a.schema.AdditionalProperties.Schema, - Root: a.root, - BasePath: a.basePath, - }) - if err != nil { - return err - } - a.IsSimpleMap = msch.IsSimpleSchema - } else if a.schema.AdditionalProperties.Allows { - a.IsSimpleMap = true - } - - return nil -} - -func (a *AnalyzedSchema) inferArray() error { - // an array has Items defined as an object schema, otherwise we qualify this JSON array as a tuple - // (yes, even if the Items array contains only one element). - // arrays in JSON schema may be unrestricted (i.e no Items specified). - // Note that arrays in Swagger MUST have Items. Nonetheless, we analyze unrestricted arrays. - // - // NOTE: the spec package misses the distinction between: - // items: [] and items: {}, so we consider both arrays here. - a.IsArray = a.isArrayType() && (a.schema.Items == nil || a.schema.Items.Schemas == nil) - if a.IsArray && a.hasItems { - if a.schema.Items.Schema != nil { - itsch, err := Schema(SchemaOpts{ - Schema: a.schema.Items.Schema, - Root: a.root, - BasePath: a.basePath, - }) - if err != nil { - return err - } - - a.IsSimpleArray = itsch.IsSimpleSchema - } - } - - if a.IsArray && !a.hasItems { - a.IsSimpleArray = true - } - - return nil -} - -func (a *AnalyzedSchema) inferTuple() { - tuple := a.hasItems && a.schema.Items.Schemas != nil - a.IsTuple = tuple && !a.hasAdditionalItems - a.IsTupleWithExtra = tuple && a.hasAdditionalItems -} - -func (a *AnalyzedSchema) inferBaseType() { - if a.isObjectType() { - a.IsBaseType = a.schema.Discriminator != "" - } -} - -func (a *AnalyzedSchema) inferEnum() { - a.IsEnum = len(a.schema.Enum) > 0 -} - -func (a *AnalyzedSchema) initializeFlags() { - a.hasProps = len(a.schema.Properties) > 0 - a.hasAllOf = len(a.schema.AllOf) > 0 - a.hasRef = a.schema.Ref.String() != "" - - a.hasItems = a.schema.Items != nil && - (a.schema.Items.Schema != nil || len(a.schema.Items.Schemas) > 0) - - a.hasAdditionalProps = a.schema.AdditionalProperties != nil && - (a.schema.AdditionalProperties.Schema != nil || a.schema.AdditionalProperties.Allows) - - a.hasAdditionalItems = a.schema.AdditionalItems != nil && - (a.schema.AdditionalItems.Schema != nil || a.schema.AdditionalItems.Allows) -} - -func (a *AnalyzedSchema) isObjectType() bool { - return !a.hasRef && (a.schema.Type == nil || a.schema.Type.Contains("") || a.schema.Type.Contains("object")) -} - -func (a *AnalyzedSchema) isArrayType() bool { - return !a.hasRef && (a.schema.Type != nil && a.schema.Type.Contains("array")) -} - -// isAnalyzedAsComplex determines if an analyzed schema is eligible to flattening (i.e. it is "complex"). -// -// Complex means the schema is any of: -// - a simple type (primitive) -// - an array of something (items are possibly complex ; if this is the case, items will generate a definition) -// - a map of something (additionalProperties are possibly complex ; if this is the case, additionalProperties will -// generate a definition) -func (a *AnalyzedSchema) isAnalyzedAsComplex() bool { - return !a.IsSimpleSchema && !a.IsArray && !a.IsMap -} diff --git a/vendor/github.com/go-openapi/errors/.gitattributes b/vendor/github.com/go-openapi/errors/.gitattributes deleted file mode 100644 index a0717e4b3b..0000000000 --- a/vendor/github.com/go-openapi/errors/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.go text eol=lf \ No newline at end of file diff --git a/vendor/github.com/go-openapi/errors/.gitignore b/vendor/github.com/go-openapi/errors/.gitignore deleted file mode 100644 index dd91ed6a04..0000000000 --- a/vendor/github.com/go-openapi/errors/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -secrets.yml -coverage.out diff --git a/vendor/github.com/go-openapi/errors/.golangci.yml b/vendor/github.com/go-openapi/errors/.golangci.yml deleted file mode 100644 index 4e1fc0c7d4..0000000000 --- a/vendor/github.com/go-openapi/errors/.golangci.yml +++ /dev/null @@ -1,48 +0,0 @@ -linters-settings: - govet: - check-shadowing: true - golint: - min-confidence: 0 - gocyclo: - min-complexity: 30 - maligned: - suggest-new: true - dupl: - threshold: 100 - goconst: - min-len: 2 - min-occurrences: 4 -linters: - enable-all: true - disable: - - maligned - - lll - - gochecknoglobals - - godox - - gocognit - - whitespace - - wsl - - funlen - - gochecknoglobals - - gochecknoinits - - scopelint - - wrapcheck - - exhaustivestruct - - exhaustive - - nlreturn - - testpackage - - gci - - gofumpt - - goerr113 - - gomnd - - tparallel - - nestif - - godot - - errorlint - - paralleltest - - tparallel - - cyclop - - errname - - varnamelen - - exhaustruct - - maintidx diff --git a/vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/errors/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/errors/LICENSE b/vendor/github.com/go-openapi/errors/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/errors/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/errors/README.md b/vendor/github.com/go-openapi/errors/README.md deleted file mode 100644 index 4aac049e60..0000000000 --- a/vendor/github.com/go-openapi/errors/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# OpenAPI errors - -[![Build Status](https://travis-ci.org/go-openapi/errors.svg?branch=master)](https://travis-ci.org/go-openapi/errors) -[![codecov](https://codecov.io/gh/go-openapi/errors/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/errors) -[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/errors/master/LICENSE) -[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/errors.svg)](https://pkg.go.dev/github.com/go-openapi/errors) -[![GolangCI](https://golangci.com/badges/github.com/go-openapi/errors.svg)](https://golangci.com) -[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/errors)](https://goreportcard.com/report/github.com/go-openapi/errors) - -Shared errors and error interface used throughout the various libraries found in the go-openapi toolkit. diff --git a/vendor/github.com/go-openapi/errors/api.go b/vendor/github.com/go-openapi/errors/api.go deleted file mode 100644 index c13f3435fa..0000000000 --- a/vendor/github.com/go-openapi/errors/api.go +++ /dev/null @@ -1,182 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package errors - -import ( - "encoding/json" - "fmt" - "net/http" - "reflect" - "strings" -) - -// DefaultHTTPCode is used when the error Code cannot be used as an HTTP code. -var DefaultHTTPCode = http.StatusUnprocessableEntity - -// Error represents a error interface all swagger framework errors implement -type Error interface { - error - Code() int32 -} - -type apiError struct { - code int32 - message string -} - -func (a *apiError) Error() string { - return a.message -} - -func (a *apiError) Code() int32 { - return a.code -} - -// MarshalJSON implements the JSON encoding interface -func (a apiError) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "code": a.code, - "message": a.message, - }) -} - -// New creates a new API error with a code and a message -func New(code int32, message string, args ...interface{}) Error { - if len(args) > 0 { - return &apiError{code, fmt.Sprintf(message, args...)} - } - return &apiError{code, message} -} - -// NotFound creates a new not found error -func NotFound(message string, args ...interface{}) Error { - if message == "" { - message = "Not found" - } - return New(http.StatusNotFound, fmt.Sprintf(message, args...)) -} - -// NotImplemented creates a new not implemented error -func NotImplemented(message string) Error { - return New(http.StatusNotImplemented, message) -} - -// MethodNotAllowedError represents an error for when the path matches but the method doesn't -type MethodNotAllowedError struct { - code int32 - Allowed []string - message string -} - -func (m *MethodNotAllowedError) Error() string { - return m.message -} - -// Code the error code -func (m *MethodNotAllowedError) Code() int32 { - return m.code -} - -// MarshalJSON implements the JSON encoding interface -func (m MethodNotAllowedError) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "code": m.code, - "message": m.message, - "allowed": m.Allowed, - }) -} - -func errorAsJSON(err Error) []byte { - //nolint:errchkjson - b, _ := json.Marshal(struct { - Code int32 `json:"code"` - Message string `json:"message"` - }{err.Code(), err.Error()}) - return b -} - -func flattenComposite(errs *CompositeError) *CompositeError { - var res []error - for _, er := range errs.Errors { - switch e := er.(type) { - case *CompositeError: - if e != nil && len(e.Errors) > 0 { - flat := flattenComposite(e) - if len(flat.Errors) > 0 { - res = append(res, flat.Errors...) - } - } - default: - if e != nil { - res = append(res, e) - } - } - } - return CompositeValidationError(res...) -} - -// MethodNotAllowed creates a new method not allowed error -func MethodNotAllowed(requested string, allow []string) Error { - msg := fmt.Sprintf("method %s is not allowed, but [%s] are", requested, strings.Join(allow, ",")) - return &MethodNotAllowedError{code: http.StatusMethodNotAllowed, Allowed: allow, message: msg} -} - -// ServeError the error handler interface implementation -func ServeError(rw http.ResponseWriter, r *http.Request, err error) { - rw.Header().Set("Content-Type", "application/json") - switch e := err.(type) { - case *CompositeError: - er := flattenComposite(e) - // strips composite errors to first element only - if len(er.Errors) > 0 { - ServeError(rw, r, er.Errors[0]) - } else { - // guard against empty CompositeError (invalid construct) - ServeError(rw, r, nil) - } - case *MethodNotAllowedError: - rw.Header().Add("Allow", strings.Join(e.Allowed, ",")) - rw.WriteHeader(asHTTPCode(int(e.Code()))) - if r == nil || r.Method != http.MethodHead { - _, _ = rw.Write(errorAsJSON(e)) - } - case Error: - value := reflect.ValueOf(e) - if value.Kind() == reflect.Ptr && value.IsNil() { - rw.WriteHeader(http.StatusInternalServerError) - _, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, "Unknown error"))) - return - } - rw.WriteHeader(asHTTPCode(int(e.Code()))) - if r == nil || r.Method != http.MethodHead { - _, _ = rw.Write(errorAsJSON(e)) - } - case nil: - rw.WriteHeader(http.StatusInternalServerError) - _, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, "Unknown error"))) - default: - rw.WriteHeader(http.StatusInternalServerError) - if r == nil || r.Method != http.MethodHead { - _, _ = rw.Write(errorAsJSON(New(http.StatusInternalServerError, err.Error()))) - } - } -} - -func asHTTPCode(input int) int { - if input >= 600 { - return DefaultHTTPCode - } - return input -} diff --git a/vendor/github.com/go-openapi/errors/auth.go b/vendor/github.com/go-openapi/errors/auth.go deleted file mode 100644 index 0545b501bd..0000000000 --- a/vendor/github.com/go-openapi/errors/auth.go +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package errors - -import "net/http" - -// Unauthenticated returns an unauthenticated error -func Unauthenticated(scheme string) Error { - return New(http.StatusUnauthorized, "unauthenticated for %s", scheme) -} diff --git a/vendor/github.com/go-openapi/errors/doc.go b/vendor/github.com/go-openapi/errors/doc.go deleted file mode 100644 index af01190ce6..0000000000 --- a/vendor/github.com/go-openapi/errors/doc.go +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -/* -Package errors provides an Error interface and several concrete types -implementing this interface to manage API errors and JSON-schema validation -errors. - -A middleware handler ServeError() is provided to serve the errors types -it defines. - -It is used throughout the various go-openapi toolkit libraries -(https://github.com/go-openapi). -*/ -package errors diff --git a/vendor/github.com/go-openapi/errors/headers.go b/vendor/github.com/go-openapi/errors/headers.go deleted file mode 100644 index dfebe8f95f..0000000000 --- a/vendor/github.com/go-openapi/errors/headers.go +++ /dev/null @@ -1,103 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package errors - -import ( - "encoding/json" - "fmt" - "net/http" -) - -// Validation represents a failure of a precondition -type Validation struct { - code int32 - Name string - In string - Value interface{} - message string - Values []interface{} -} - -func (e *Validation) Error() string { - return e.message -} - -// Code the error code -func (e *Validation) Code() int32 { - return e.code -} - -// MarshalJSON implements the JSON encoding interface -func (e Validation) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "code": e.code, - "message": e.message, - "in": e.In, - "name": e.Name, - "value": e.Value, - "values": e.Values, - }) -} - -// ValidateName sets the name for a validation or updates it for a nested property -func (e *Validation) ValidateName(name string) *Validation { - if name != "" { - if e.Name == "" { - e.Name = name - e.message = name + e.message - } else { - e.Name = name + "." + e.Name - e.message = name + "." + e.message - } - } - return e -} - -const ( - contentTypeFail = `unsupported media type %q, only %v are allowed` - responseFormatFail = `unsupported media type requested, only %v are available` -) - -// InvalidContentType error for an invalid content type -func InvalidContentType(value string, allowed []string) *Validation { - values := make([]interface{}, 0, len(allowed)) - for _, v := range allowed { - values = append(values, v) - } - return &Validation{ - code: http.StatusUnsupportedMediaType, - Name: "Content-Type", - In: "header", - Value: value, - Values: values, - message: fmt.Sprintf(contentTypeFail, value, allowed), - } -} - -// InvalidResponseFormat error for an unacceptable response format request -func InvalidResponseFormat(value string, allowed []string) *Validation { - values := make([]interface{}, 0, len(allowed)) - for _, v := range allowed { - values = append(values, v) - } - return &Validation{ - code: http.StatusNotAcceptable, - Name: "Accept", - In: "header", - Value: value, - Values: values, - message: fmt.Sprintf(responseFormatFail, allowed), - } -} diff --git a/vendor/github.com/go-openapi/errors/middleware.go b/vendor/github.com/go-openapi/errors/middleware.go deleted file mode 100644 index 963472d1f3..0000000000 --- a/vendor/github.com/go-openapi/errors/middleware.go +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package errors - -import ( - "bytes" - "fmt" - "strings" -) - -// APIVerificationFailed is an error that contains all the missing info for a mismatched section -// between the api registrations and the api spec -type APIVerificationFailed struct { - Section string `json:"section,omitempty"` - MissingSpecification []string `json:"missingSpecification,omitempty"` - MissingRegistration []string `json:"missingRegistration,omitempty"` -} - -func (v *APIVerificationFailed) Error() string { - buf := bytes.NewBuffer(nil) - - hasRegMissing := len(v.MissingRegistration) > 0 - hasSpecMissing := len(v.MissingSpecification) > 0 - - if hasRegMissing { - buf.WriteString(fmt.Sprintf("missing [%s] %s registrations", strings.Join(v.MissingRegistration, ", "), v.Section)) - } - - if hasRegMissing && hasSpecMissing { - buf.WriteString("\n") - } - - if hasSpecMissing { - buf.WriteString(fmt.Sprintf("missing from spec file [%s] %s", strings.Join(v.MissingSpecification, ", "), v.Section)) - } - - return buf.String() -} diff --git a/vendor/github.com/go-openapi/errors/parsing.go b/vendor/github.com/go-openapi/errors/parsing.go deleted file mode 100644 index 5096e1ea7b..0000000000 --- a/vendor/github.com/go-openapi/errors/parsing.go +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package errors - -import ( - "encoding/json" - "fmt" -) - -// ParseError represents a parsing error -type ParseError struct { - code int32 - Name string - In string - Value string - Reason error - message string -} - -func (e *ParseError) Error() string { - return e.message -} - -// Code returns the http status code for this error -func (e *ParseError) Code() int32 { - return e.code -} - -// MarshalJSON implements the JSON encoding interface -func (e ParseError) MarshalJSON() ([]byte, error) { - var reason string - if e.Reason != nil { - reason = e.Reason.Error() - } - return json.Marshal(map[string]interface{}{ - "code": e.code, - "message": e.message, - "in": e.In, - "name": e.Name, - "value": e.Value, - "reason": reason, - }) -} - -const ( - parseErrorTemplContent = `parsing %s %s from %q failed, because %s` - parseErrorTemplContentNoIn = `parsing %s from %q failed, because %s` -) - -// NewParseError creates a new parse error -func NewParseError(name, in, value string, reason error) *ParseError { - var msg string - if in == "" { - msg = fmt.Sprintf(parseErrorTemplContentNoIn, name, value, reason) - } else { - msg = fmt.Sprintf(parseErrorTemplContent, name, in, value, reason) - } - return &ParseError{ - code: 400, - Name: name, - In: in, - Value: value, - Reason: reason, - message: msg, - } -} diff --git a/vendor/github.com/go-openapi/errors/schema.go b/vendor/github.com/go-openapi/errors/schema.go deleted file mode 100644 index da5f6c78cb..0000000000 --- a/vendor/github.com/go-openapi/errors/schema.go +++ /dev/null @@ -1,611 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package errors - -import ( - "encoding/json" - "fmt" - "strings" -) - -const ( - invalidType = "%s is an invalid type name" - typeFail = "%s in %s must be of type %s" - typeFailWithData = "%s in %s must be of type %s: %q" - typeFailWithError = "%s in %s must be of type %s, because: %s" - requiredFail = "%s in %s is required" - readOnlyFail = "%s in %s is readOnly" - tooLongMessage = "%s in %s should be at most %d chars long" - tooShortMessage = "%s in %s should be at least %d chars long" - patternFail = "%s in %s should match '%s'" - enumFail = "%s in %s should be one of %v" - multipleOfFail = "%s in %s should be a multiple of %v" - maxIncFail = "%s in %s should be less than or equal to %v" - maxExcFail = "%s in %s should be less than %v" - minIncFail = "%s in %s should be greater than or equal to %v" - minExcFail = "%s in %s should be greater than %v" - uniqueFail = "%s in %s shouldn't contain duplicates" - maxItemsFail = "%s in %s should have at most %d items" - minItemsFail = "%s in %s should have at least %d items" - typeFailNoIn = "%s must be of type %s" - typeFailWithDataNoIn = "%s must be of type %s: %q" - typeFailWithErrorNoIn = "%s must be of type %s, because: %s" - requiredFailNoIn = "%s is required" - readOnlyFailNoIn = "%s is readOnly" - tooLongMessageNoIn = "%s should be at most %d chars long" - tooShortMessageNoIn = "%s should be at least %d chars long" - patternFailNoIn = "%s should match '%s'" - enumFailNoIn = "%s should be one of %v" - multipleOfFailNoIn = "%s should be a multiple of %v" - maxIncFailNoIn = "%s should be less than or equal to %v" - maxExcFailNoIn = "%s should be less than %v" - minIncFailNoIn = "%s should be greater than or equal to %v" - minExcFailNoIn = "%s should be greater than %v" - uniqueFailNoIn = "%s shouldn't contain duplicates" - maxItemsFailNoIn = "%s should have at most %d items" - minItemsFailNoIn = "%s should have at least %d items" - noAdditionalItems = "%s in %s can't have additional items" - noAdditionalItemsNoIn = "%s can't have additional items" - tooFewProperties = "%s in %s should have at least %d properties" - tooFewPropertiesNoIn = "%s should have at least %d properties" - tooManyProperties = "%s in %s should have at most %d properties" - tooManyPropertiesNoIn = "%s should have at most %d properties" - unallowedProperty = "%s.%s in %s is a forbidden property" - unallowedPropertyNoIn = "%s.%s is a forbidden property" - failedAllPatternProps = "%s.%s in %s failed all pattern properties" - failedAllPatternPropsNoIn = "%s.%s failed all pattern properties" - multipleOfMustBePositive = "factor MultipleOf declared for %s must be positive: %v" -) - -// All code responses can be used to differentiate errors for different handling -// by the consuming program -const ( - // CompositeErrorCode remains 422 for backwards-compatibility - // and to separate it from validation errors with cause - CompositeErrorCode = 422 - // InvalidTypeCode is used for any subclass of invalid types - InvalidTypeCode = 600 + iota - RequiredFailCode - TooLongFailCode - TooShortFailCode - PatternFailCode - EnumFailCode - MultipleOfFailCode - MaxFailCode - MinFailCode - UniqueFailCode - MaxItemsFailCode - MinItemsFailCode - NoAdditionalItemsCode - TooFewPropertiesCode - TooManyPropertiesCode - UnallowedPropertyCode - FailedAllPatternPropsCode - MultipleOfMustBePositiveCode - ReadOnlyFailCode -) - -// CompositeError is an error that groups several errors together -type CompositeError struct { - Errors []error - code int32 - message string -} - -// Code for this error -func (c *CompositeError) Code() int32 { - return c.code -} - -func (c *CompositeError) Error() string { - if len(c.Errors) > 0 { - msgs := []string{c.message + ":"} - for _, e := range c.Errors { - msgs = append(msgs, e.Error()) - } - return strings.Join(msgs, "\n") - } - return c.message -} - -// MarshalJSON implements the JSON encoding interface -func (c CompositeError) MarshalJSON() ([]byte, error) { - return json.Marshal(map[string]interface{}{ - "code": c.code, - "message": c.message, - "errors": c.Errors, - }) -} - -// CompositeValidationError an error to wrap a bunch of other errors -func CompositeValidationError(errors ...error) *CompositeError { - return &CompositeError{ - code: CompositeErrorCode, - Errors: append([]error{}, errors...), - message: "validation failure list", - } -} - -// ValidateName recursively sets the name for all validations or updates them for nested properties -func (c *CompositeError) ValidateName(name string) *CompositeError { - for i, e := range c.Errors { - if ve, ok := e.(*Validation); ok { - c.Errors[i] = ve.ValidateName(name) - } else if ce, ok := e.(*CompositeError); ok { - c.Errors[i] = ce.ValidateName(name) - } - } - - return c -} - -// FailedAllPatternProperties an error for when the property doesn't match a pattern -func FailedAllPatternProperties(name, in, key string) *Validation { - msg := fmt.Sprintf(failedAllPatternProps, name, key, in) - if in == "" { - msg = fmt.Sprintf(failedAllPatternPropsNoIn, name, key) - } - return &Validation{ - code: FailedAllPatternPropsCode, - Name: name, - In: in, - Value: key, - message: msg, - } -} - -// PropertyNotAllowed an error for when the property doesn't match a pattern -func PropertyNotAllowed(name, in, key string) *Validation { - msg := fmt.Sprintf(unallowedProperty, name, key, in) - if in == "" { - msg = fmt.Sprintf(unallowedPropertyNoIn, name, key) - } - return &Validation{ - code: UnallowedPropertyCode, - Name: name, - In: in, - Value: key, - message: msg, - } -} - -// TooFewProperties an error for an object with too few properties -func TooFewProperties(name, in string, n int64) *Validation { - msg := fmt.Sprintf(tooFewProperties, name, in, n) - if in == "" { - msg = fmt.Sprintf(tooFewPropertiesNoIn, name, n) - } - return &Validation{ - code: TooFewPropertiesCode, - Name: name, - In: in, - Value: n, - message: msg, - } -} - -// TooManyProperties an error for an object with too many properties -func TooManyProperties(name, in string, n int64) *Validation { - msg := fmt.Sprintf(tooManyProperties, name, in, n) - if in == "" { - msg = fmt.Sprintf(tooManyPropertiesNoIn, name, n) - } - return &Validation{ - code: TooManyPropertiesCode, - Name: name, - In: in, - Value: n, - message: msg, - } -} - -// AdditionalItemsNotAllowed an error for invalid additional items -func AdditionalItemsNotAllowed(name, in string) *Validation { - msg := fmt.Sprintf(noAdditionalItems, name, in) - if in == "" { - msg = fmt.Sprintf(noAdditionalItemsNoIn, name) - } - return &Validation{ - code: NoAdditionalItemsCode, - Name: name, - In: in, - message: msg, - } -} - -// InvalidCollectionFormat another flavor of invalid type error -func InvalidCollectionFormat(name, in, format string) *Validation { - return &Validation{ - code: InvalidTypeCode, - Name: name, - In: in, - Value: format, - message: fmt.Sprintf("the collection format %q is not supported for the %s param %q", format, in, name), - } -} - -// InvalidTypeName an error for when the type is invalid -func InvalidTypeName(typeName string) *Validation { - return &Validation{ - code: InvalidTypeCode, - Value: typeName, - message: fmt.Sprintf(invalidType, typeName), - } -} - -// InvalidType creates an error for when the type is invalid -func InvalidType(name, in, typeName string, value interface{}) *Validation { - var message string - - if in != "" { - switch value.(type) { - case string: - message = fmt.Sprintf(typeFailWithData, name, in, typeName, value) - case error: - message = fmt.Sprintf(typeFailWithError, name, in, typeName, value) - default: - message = fmt.Sprintf(typeFail, name, in, typeName) - } - } else { - switch value.(type) { - case string: - message = fmt.Sprintf(typeFailWithDataNoIn, name, typeName, value) - case error: - message = fmt.Sprintf(typeFailWithErrorNoIn, name, typeName, value) - default: - message = fmt.Sprintf(typeFailNoIn, name, typeName) - } - } - - return &Validation{ - code: InvalidTypeCode, - Name: name, - In: in, - Value: value, - message: message, - } - -} - -// DuplicateItems error for when an array contains duplicates -func DuplicateItems(name, in string) *Validation { - msg := fmt.Sprintf(uniqueFail, name, in) - if in == "" { - msg = fmt.Sprintf(uniqueFailNoIn, name) - } - return &Validation{ - code: UniqueFailCode, - Name: name, - In: in, - message: msg, - } -} - -// TooManyItems error for when an array contains too many items -func TooManyItems(name, in string, max int64, value interface{}) *Validation { - msg := fmt.Sprintf(maxItemsFail, name, in, max) - if in == "" { - msg = fmt.Sprintf(maxItemsFailNoIn, name, max) - } - - return &Validation{ - code: MaxItemsFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// TooFewItems error for when an array contains too few items -func TooFewItems(name, in string, min int64, value interface{}) *Validation { - msg := fmt.Sprintf(minItemsFail, name, in, min) - if in == "" { - msg = fmt.Sprintf(minItemsFailNoIn, name, min) - } - return &Validation{ - code: MinItemsFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// ExceedsMaximumInt error for when maximum validation fails -func ExceedsMaximumInt(name, in string, max int64, exclusive bool, value interface{}) *Validation { - var message string - if in == "" { - m := maxIncFailNoIn - if exclusive { - m = maxExcFailNoIn - } - message = fmt.Sprintf(m, name, max) - } else { - m := maxIncFail - if exclusive { - m = maxExcFail - } - message = fmt.Sprintf(m, name, in, max) - } - return &Validation{ - code: MaxFailCode, - Name: name, - In: in, - Value: value, - message: message, - } -} - -// ExceedsMaximumUint error for when maximum validation fails -func ExceedsMaximumUint(name, in string, max uint64, exclusive bool, value interface{}) *Validation { - var message string - if in == "" { - m := maxIncFailNoIn - if exclusive { - m = maxExcFailNoIn - } - message = fmt.Sprintf(m, name, max) - } else { - m := maxIncFail - if exclusive { - m = maxExcFail - } - message = fmt.Sprintf(m, name, in, max) - } - return &Validation{ - code: MaxFailCode, - Name: name, - In: in, - Value: value, - message: message, - } -} - -// ExceedsMaximum error for when maximum validation fails -func ExceedsMaximum(name, in string, max float64, exclusive bool, value interface{}) *Validation { - var message string - if in == "" { - m := maxIncFailNoIn - if exclusive { - m = maxExcFailNoIn - } - message = fmt.Sprintf(m, name, max) - } else { - m := maxIncFail - if exclusive { - m = maxExcFail - } - message = fmt.Sprintf(m, name, in, max) - } - return &Validation{ - code: MaxFailCode, - Name: name, - In: in, - Value: value, - message: message, - } -} - -// ExceedsMinimumInt error for when minimum validation fails -func ExceedsMinimumInt(name, in string, min int64, exclusive bool, value interface{}) *Validation { - var message string - if in == "" { - m := minIncFailNoIn - if exclusive { - m = minExcFailNoIn - } - message = fmt.Sprintf(m, name, min) - } else { - m := minIncFail - if exclusive { - m = minExcFail - } - message = fmt.Sprintf(m, name, in, min) - } - return &Validation{ - code: MinFailCode, - Name: name, - In: in, - Value: value, - message: message, - } -} - -// ExceedsMinimumUint error for when minimum validation fails -func ExceedsMinimumUint(name, in string, min uint64, exclusive bool, value interface{}) *Validation { - var message string - if in == "" { - m := minIncFailNoIn - if exclusive { - m = minExcFailNoIn - } - message = fmt.Sprintf(m, name, min) - } else { - m := minIncFail - if exclusive { - m = minExcFail - } - message = fmt.Sprintf(m, name, in, min) - } - return &Validation{ - code: MinFailCode, - Name: name, - In: in, - Value: value, - message: message, - } -} - -// ExceedsMinimum error for when minimum validation fails -func ExceedsMinimum(name, in string, min float64, exclusive bool, value interface{}) *Validation { - var message string - if in == "" { - m := minIncFailNoIn - if exclusive { - m = minExcFailNoIn - } - message = fmt.Sprintf(m, name, min) - } else { - m := minIncFail - if exclusive { - m = minExcFail - } - message = fmt.Sprintf(m, name, in, min) - } - return &Validation{ - code: MinFailCode, - Name: name, - In: in, - Value: value, - message: message, - } -} - -// NotMultipleOf error for when multiple of validation fails -func NotMultipleOf(name, in string, multiple, value interface{}) *Validation { - var msg string - if in == "" { - msg = fmt.Sprintf(multipleOfFailNoIn, name, multiple) - } else { - msg = fmt.Sprintf(multipleOfFail, name, in, multiple) - } - return &Validation{ - code: MultipleOfFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// EnumFail error for when an enum validation fails -func EnumFail(name, in string, value interface{}, values []interface{}) *Validation { - var msg string - if in == "" { - msg = fmt.Sprintf(enumFailNoIn, name, values) - } else { - msg = fmt.Sprintf(enumFail, name, in, values) - } - - return &Validation{ - code: EnumFailCode, - Name: name, - In: in, - Value: value, - Values: values, - message: msg, - } -} - -// Required error for when a value is missing -func Required(name, in string, value interface{}) *Validation { - var msg string - if in == "" { - msg = fmt.Sprintf(requiredFailNoIn, name) - } else { - msg = fmt.Sprintf(requiredFail, name, in) - } - return &Validation{ - code: RequiredFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// ReadOnly error for when a value is present in request -func ReadOnly(name, in string, value interface{}) *Validation { - var msg string - if in == "" { - msg = fmt.Sprintf(readOnlyFailNoIn, name) - } else { - msg = fmt.Sprintf(readOnlyFail, name, in) - } - return &Validation{ - code: ReadOnlyFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// TooLong error for when a string is too long -func TooLong(name, in string, max int64, value interface{}) *Validation { - var msg string - if in == "" { - msg = fmt.Sprintf(tooLongMessageNoIn, name, max) - } else { - msg = fmt.Sprintf(tooLongMessage, name, in, max) - } - return &Validation{ - code: TooLongFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// TooShort error for when a string is too short -func TooShort(name, in string, min int64, value interface{}) *Validation { - var msg string - if in == "" { - msg = fmt.Sprintf(tooShortMessageNoIn, name, min) - } else { - msg = fmt.Sprintf(tooShortMessage, name, in, min) - } - - return &Validation{ - code: TooShortFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// FailedPattern error for when a string fails a regex pattern match -// the pattern that is returned is the ECMA syntax version of the pattern not the golang version. -func FailedPattern(name, in, pattern string, value interface{}) *Validation { - var msg string - if in == "" { - msg = fmt.Sprintf(patternFailNoIn, name, pattern) - } else { - msg = fmt.Sprintf(patternFail, name, in, pattern) - } - - return &Validation{ - code: PatternFailCode, - Name: name, - In: in, - Value: value, - message: msg, - } -} - -// MultipleOfMustBePositive error for when a -// multipleOf factor is negative -func MultipleOfMustBePositive(name, in string, factor interface{}) *Validation { - return &Validation{ - code: MultipleOfMustBePositiveCode, - Name: name, - In: in, - Value: factor, - message: fmt.Sprintf(multipleOfMustBePositive, name, factor), - } -} diff --git a/vendor/github.com/go-openapi/jsonpointer/.editorconfig b/vendor/github.com/go-openapi/jsonpointer/.editorconfig deleted file mode 100644 index 3152da69a5..0000000000 --- a/vendor/github.com/go-openapi/jsonpointer/.editorconfig +++ /dev/null @@ -1,26 +0,0 @@ -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true - -# Set default charset -[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] -charset = utf-8 - -# Tab indentation (no size specified) -[*.go] -indent_style = tab - -[*.md] -trim_trailing_whitespace = false - -# Matches the exact files either package.json or .travis.yml -[{package.json,.travis.yml}] -indent_style = space -indent_size = 2 diff --git a/vendor/github.com/go-openapi/jsonpointer/.gitignore b/vendor/github.com/go-openapi/jsonpointer/.gitignore deleted file mode 100644 index 769c244007..0000000000 --- a/vendor/github.com/go-openapi/jsonpointer/.gitignore +++ /dev/null @@ -1 +0,0 @@ -secrets.yml diff --git a/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/jsonpointer/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/jsonpointer/LICENSE b/vendor/github.com/go-openapi/jsonpointer/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/jsonpointer/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/jsonpointer/README.md b/vendor/github.com/go-openapi/jsonpointer/README.md deleted file mode 100644 index 813788aff1..0000000000 --- a/vendor/github.com/go-openapi/jsonpointer/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# gojsonpointer [![Build Status](https://travis-ci.org/go-openapi/jsonpointer.svg?branch=master)](https://travis-ci.org/go-openapi/jsonpointer) [![codecov](https://codecov.io/gh/go-openapi/jsonpointer/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonpointer) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) - -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonpointer/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/jsonpointer?status.svg)](http://godoc.org/github.com/go-openapi/jsonpointer) -An implementation of JSON Pointer - Go language - -## Status -Completed YES - -Tested YES - -## References -http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 - -### Note -The 4.Evaluation part of the previous reference, starting with 'If the currently referenced value is a JSON array, the reference token MUST contain either...' is not implemented. diff --git a/vendor/github.com/go-openapi/jsonpointer/pointer.go b/vendor/github.com/go-openapi/jsonpointer/pointer.go deleted file mode 100644 index 7df9853def..0000000000 --- a/vendor/github.com/go-openapi/jsonpointer/pointer.go +++ /dev/null @@ -1,390 +0,0 @@ -// Copyright 2013 sigu-399 ( https://github.com/sigu-399 ) -// -// 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. - -// author sigu-399 -// author-github https://github.com/sigu-399 -// author-mail sigu.399@gmail.com -// -// repository-name jsonpointer -// repository-desc An implementation of JSON Pointer - Go language -// -// description Main and unique file. -// -// created 25-02-2013 - -package jsonpointer - -import ( - "errors" - "fmt" - "reflect" - "strconv" - "strings" - - "github.com/go-openapi/swag" -) - -const ( - emptyPointer = `` - pointerSeparator = `/` - - invalidStart = `JSON pointer must be empty or start with a "` + pointerSeparator -) - -var jsonPointableType = reflect.TypeOf(new(JSONPointable)).Elem() -var jsonSetableType = reflect.TypeOf(new(JSONSetable)).Elem() - -// JSONPointable is an interface for structs to implement when they need to customize the -// json pointer process -type JSONPointable interface { - JSONLookup(string) (interface{}, error) -} - -// JSONSetable is an interface for structs to implement when they need to customize the -// json pointer process -type JSONSetable interface { - JSONSet(string, interface{}) error -} - -// New creates a new json pointer for the given string -func New(jsonPointerString string) (Pointer, error) { - - var p Pointer - err := p.parse(jsonPointerString) - return p, err - -} - -// Pointer the json pointer reprsentation -type Pointer struct { - referenceTokens []string -} - -// "Constructor", parses the given string JSON pointer -func (p *Pointer) parse(jsonPointerString string) error { - - var err error - - if jsonPointerString != emptyPointer { - if !strings.HasPrefix(jsonPointerString, pointerSeparator) { - err = errors.New(invalidStart) - } else { - referenceTokens := strings.Split(jsonPointerString, pointerSeparator) - for _, referenceToken := range referenceTokens[1:] { - p.referenceTokens = append(p.referenceTokens, referenceToken) - } - } - } - - return err -} - -// Get uses the pointer to retrieve a value from a JSON document -func (p *Pointer) Get(document interface{}) (interface{}, reflect.Kind, error) { - return p.get(document, swag.DefaultJSONNameProvider) -} - -// Set uses the pointer to set a value from a JSON document -func (p *Pointer) Set(document interface{}, value interface{}) (interface{}, error) { - return document, p.set(document, value, swag.DefaultJSONNameProvider) -} - -// GetForToken gets a value for a json pointer token 1 level deep -func GetForToken(document interface{}, decodedToken string) (interface{}, reflect.Kind, error) { - return getSingleImpl(document, decodedToken, swag.DefaultJSONNameProvider) -} - -// SetForToken gets a value for a json pointer token 1 level deep -func SetForToken(document interface{}, decodedToken string, value interface{}) (interface{}, error) { - return document, setSingleImpl(document, value, decodedToken, swag.DefaultJSONNameProvider) -} - -func getSingleImpl(node interface{}, decodedToken string, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) { - rValue := reflect.Indirect(reflect.ValueOf(node)) - kind := rValue.Kind() - - if rValue.Type().Implements(jsonPointableType) { - r, err := node.(JSONPointable).JSONLookup(decodedToken) - if err != nil { - return nil, kind, err - } - return r, kind, nil - } - - switch kind { - case reflect.Struct: - nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) - if !ok { - return nil, kind, fmt.Errorf("object has no field %q", decodedToken) - } - fld := rValue.FieldByName(nm) - return fld.Interface(), kind, nil - - case reflect.Map: - kv := reflect.ValueOf(decodedToken) - mv := rValue.MapIndex(kv) - - if mv.IsValid() { - return mv.Interface(), kind, nil - } - return nil, kind, fmt.Errorf("object has no key %q", decodedToken) - - case reflect.Slice: - tokenIndex, err := strconv.Atoi(decodedToken) - if err != nil { - return nil, kind, err - } - sLength := rValue.Len() - if tokenIndex < 0 || tokenIndex >= sLength { - return nil, kind, fmt.Errorf("index out of bounds array[0,%d] index '%d'", sLength-1, tokenIndex) - } - - elem := rValue.Index(tokenIndex) - return elem.Interface(), kind, nil - - default: - return nil, kind, fmt.Errorf("invalid token reference %q", decodedToken) - } - -} - -func setSingleImpl(node, data interface{}, decodedToken string, nameProvider *swag.NameProvider) error { - rValue := reflect.Indirect(reflect.ValueOf(node)) - - if ns, ok := node.(JSONSetable); ok { // pointer impl - return ns.JSONSet(decodedToken, data) - } - - if rValue.Type().Implements(jsonSetableType) { - return node.(JSONSetable).JSONSet(decodedToken, data) - } - - switch rValue.Kind() { - case reflect.Struct: - nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) - if !ok { - return fmt.Errorf("object has no field %q", decodedToken) - } - fld := rValue.FieldByName(nm) - if fld.IsValid() { - fld.Set(reflect.ValueOf(data)) - } - return nil - - case reflect.Map: - kv := reflect.ValueOf(decodedToken) - rValue.SetMapIndex(kv, reflect.ValueOf(data)) - return nil - - case reflect.Slice: - tokenIndex, err := strconv.Atoi(decodedToken) - if err != nil { - return err - } - sLength := rValue.Len() - if tokenIndex < 0 || tokenIndex >= sLength { - return fmt.Errorf("index out of bounds array[0,%d] index '%d'", sLength, tokenIndex) - } - - elem := rValue.Index(tokenIndex) - if !elem.CanSet() { - return fmt.Errorf("can't set slice index %s to %v", decodedToken, data) - } - elem.Set(reflect.ValueOf(data)) - return nil - - default: - return fmt.Errorf("invalid token reference %q", decodedToken) - } - -} - -func (p *Pointer) get(node interface{}, nameProvider *swag.NameProvider) (interface{}, reflect.Kind, error) { - - if nameProvider == nil { - nameProvider = swag.DefaultJSONNameProvider - } - - kind := reflect.Invalid - - // Full document when empty - if len(p.referenceTokens) == 0 { - return node, kind, nil - } - - for _, token := range p.referenceTokens { - - decodedToken := Unescape(token) - - r, knd, err := getSingleImpl(node, decodedToken, nameProvider) - if err != nil { - return nil, knd, err - } - node, kind = r, knd - - } - - rValue := reflect.ValueOf(node) - kind = rValue.Kind() - - return node, kind, nil -} - -func (p *Pointer) set(node, data interface{}, nameProvider *swag.NameProvider) error { - knd := reflect.ValueOf(node).Kind() - - if knd != reflect.Ptr && knd != reflect.Struct && knd != reflect.Map && knd != reflect.Slice && knd != reflect.Array { - return fmt.Errorf("only structs, pointers, maps and slices are supported for setting values") - } - - if nameProvider == nil { - nameProvider = swag.DefaultJSONNameProvider - } - - // Full document when empty - if len(p.referenceTokens) == 0 { - return nil - } - - lastI := len(p.referenceTokens) - 1 - for i, token := range p.referenceTokens { - isLastToken := i == lastI - decodedToken := Unescape(token) - - if isLastToken { - - return setSingleImpl(node, data, decodedToken, nameProvider) - } - - rValue := reflect.Indirect(reflect.ValueOf(node)) - kind := rValue.Kind() - - if rValue.Type().Implements(jsonPointableType) { - r, err := node.(JSONPointable).JSONLookup(decodedToken) - if err != nil { - return err - } - fld := reflect.ValueOf(r) - if fld.CanAddr() && fld.Kind() != reflect.Interface && fld.Kind() != reflect.Map && fld.Kind() != reflect.Slice && fld.Kind() != reflect.Ptr { - node = fld.Addr().Interface() - continue - } - node = r - continue - } - - switch kind { - case reflect.Struct: - nm, ok := nameProvider.GetGoNameForType(rValue.Type(), decodedToken) - if !ok { - return fmt.Errorf("object has no field %q", decodedToken) - } - fld := rValue.FieldByName(nm) - if fld.CanAddr() && fld.Kind() != reflect.Interface && fld.Kind() != reflect.Map && fld.Kind() != reflect.Slice && fld.Kind() != reflect.Ptr { - node = fld.Addr().Interface() - continue - } - node = fld.Interface() - - case reflect.Map: - kv := reflect.ValueOf(decodedToken) - mv := rValue.MapIndex(kv) - - if !mv.IsValid() { - return fmt.Errorf("object has no key %q", decodedToken) - } - if mv.CanAddr() && mv.Kind() != reflect.Interface && mv.Kind() != reflect.Map && mv.Kind() != reflect.Slice && mv.Kind() != reflect.Ptr { - node = mv.Addr().Interface() - continue - } - node = mv.Interface() - - case reflect.Slice: - tokenIndex, err := strconv.Atoi(decodedToken) - if err != nil { - return err - } - sLength := rValue.Len() - if tokenIndex < 0 || tokenIndex >= sLength { - return fmt.Errorf("index out of bounds array[0,%d] index '%d'", sLength, tokenIndex) - } - - elem := rValue.Index(tokenIndex) - if elem.CanAddr() && elem.Kind() != reflect.Interface && elem.Kind() != reflect.Map && elem.Kind() != reflect.Slice && elem.Kind() != reflect.Ptr { - node = elem.Addr().Interface() - continue - } - node = elem.Interface() - - default: - return fmt.Errorf("invalid token reference %q", decodedToken) - } - - } - - return nil -} - -// DecodedTokens returns the decoded tokens -func (p *Pointer) DecodedTokens() []string { - result := make([]string, 0, len(p.referenceTokens)) - for _, t := range p.referenceTokens { - result = append(result, Unescape(t)) - } - return result -} - -// IsEmpty returns true if this is an empty json pointer -// this indicates that it points to the root document -func (p *Pointer) IsEmpty() bool { - return len(p.referenceTokens) == 0 -} - -// Pointer to string representation function -func (p *Pointer) String() string { - - if len(p.referenceTokens) == 0 { - return emptyPointer - } - - pointerString := pointerSeparator + strings.Join(p.referenceTokens, pointerSeparator) - - return pointerString -} - -// Specific JSON pointer encoding here -// ~0 => ~ -// ~1 => / -// ... and vice versa - -const ( - encRefTok0 = `~0` - encRefTok1 = `~1` - decRefTok0 = `~` - decRefTok1 = `/` -) - -// Unescape unescapes a json pointer reference token string to the original representation -func Unescape(token string) string { - step1 := strings.Replace(token, encRefTok1, decRefTok1, -1) - step2 := strings.Replace(step1, encRefTok0, decRefTok0, -1) - return step2 -} - -// Escape escapes a pointer reference token string -func Escape(token string) string { - step1 := strings.Replace(token, decRefTok0, encRefTok0, -1) - step2 := strings.Replace(step1, decRefTok1, encRefTok1, -1) - return step2 -} diff --git a/vendor/github.com/go-openapi/jsonreference/.gitignore b/vendor/github.com/go-openapi/jsonreference/.gitignore deleted file mode 100644 index 769c244007..0000000000 --- a/vendor/github.com/go-openapi/jsonreference/.gitignore +++ /dev/null @@ -1 +0,0 @@ -secrets.yml diff --git a/vendor/github.com/go-openapi/jsonreference/.golangci.yml b/vendor/github.com/go-openapi/jsonreference/.golangci.yml deleted file mode 100644 index 013fc1943a..0000000000 --- a/vendor/github.com/go-openapi/jsonreference/.golangci.yml +++ /dev/null @@ -1,50 +0,0 @@ -linters-settings: - govet: - check-shadowing: true - gocyclo: - min-complexity: 30 - maligned: - suggest-new: true - dupl: - threshold: 100 - goconst: - min-len: 2 - min-occurrences: 4 - paralleltest: - ignore-missing: true -linters: - enable-all: true - disable: - - maligned - - lll - - gochecknoglobals - - godox - - gocognit - - whitespace - - wsl - - funlen - - gochecknoglobals - - gochecknoinits - - scopelint - - wrapcheck - - exhaustivestruct - - exhaustive - - nlreturn - - testpackage - - gci - - gofumpt - - goerr113 - - gomnd - - tparallel - - nestif - - godot - - errorlint - - varcheck - - interfacer - - deadcode - - golint - - ifshort - - structcheck - - nosnakecase - - varnamelen - - exhaustruct diff --git a/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/jsonreference/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/jsonreference/LICENSE b/vendor/github.com/go-openapi/jsonreference/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/jsonreference/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/jsonreference/README.md b/vendor/github.com/go-openapi/jsonreference/README.md deleted file mode 100644 index b94753aa52..0000000000 --- a/vendor/github.com/go-openapi/jsonreference/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# gojsonreference [![Build Status](https://travis-ci.org/go-openapi/jsonreference.svg?branch=master)](https://travis-ci.org/go-openapi/jsonreference) [![codecov](https://codecov.io/gh/go-openapi/jsonreference/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonreference) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) - -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonreference/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/jsonreference?status.svg)](http://godoc.org/github.com/go-openapi/jsonreference) -An implementation of JSON Reference - Go language - -## Status -Feature complete. Stable API - -## Dependencies -https://github.com/go-openapi/jsonpointer - -## References -http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 - -http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03 diff --git a/vendor/github.com/go-openapi/jsonreference/internal/normalize_url.go b/vendor/github.com/go-openapi/jsonreference/internal/normalize_url.go deleted file mode 100644 index f0610cf1e5..0000000000 --- a/vendor/github.com/go-openapi/jsonreference/internal/normalize_url.go +++ /dev/null @@ -1,69 +0,0 @@ -package internal - -import ( - "net/url" - "regexp" - "strings" -) - -const ( - defaultHTTPPort = ":80" - defaultHTTPSPort = ":443" -) - -// Regular expressions used by the normalizations -var rxPort = regexp.MustCompile(`(:\d+)/?$`) -var rxDupSlashes = regexp.MustCompile(`/{2,}`) - -// NormalizeURL will normalize the specified URL -// This was added to replace a previous call to the no longer maintained purell library: -// The call that was used looked like the following: -// -// url.Parse(purell.NormalizeURL(parsed, purell.FlagsSafe|purell.FlagRemoveDuplicateSlashes)) -// -// To explain all that was included in the call above, purell.FlagsSafe was really just the following: -// - FlagLowercaseScheme -// - FlagLowercaseHost -// - FlagRemoveDefaultPort -// - FlagRemoveDuplicateSlashes (and this was mixed in with the |) -// -// This also normalizes the URL into its urlencoded form by removing RawPath and RawFragment. -func NormalizeURL(u *url.URL) { - lowercaseScheme(u) - lowercaseHost(u) - removeDefaultPort(u) - removeDuplicateSlashes(u) - - u.RawPath = "" - u.RawFragment = "" -} - -func lowercaseScheme(u *url.URL) { - if len(u.Scheme) > 0 { - u.Scheme = strings.ToLower(u.Scheme) - } -} - -func lowercaseHost(u *url.URL) { - if len(u.Host) > 0 { - u.Host = strings.ToLower(u.Host) - } -} - -func removeDefaultPort(u *url.URL) { - if len(u.Host) > 0 { - scheme := strings.ToLower(u.Scheme) - u.Host = rxPort.ReplaceAllStringFunc(u.Host, func(val string) string { - if (scheme == "http" && val == defaultHTTPPort) || (scheme == "https" && val == defaultHTTPSPort) { - return "" - } - return val - }) - } -} - -func removeDuplicateSlashes(u *url.URL) { - if len(u.Path) > 0 { - u.Path = rxDupSlashes.ReplaceAllString(u.Path, "/") - } -} diff --git a/vendor/github.com/go-openapi/jsonreference/reference.go b/vendor/github.com/go-openapi/jsonreference/reference.go deleted file mode 100644 index cfdef03e5d..0000000000 --- a/vendor/github.com/go-openapi/jsonreference/reference.go +++ /dev/null @@ -1,158 +0,0 @@ -// Copyright 2013 sigu-399 ( https://github.com/sigu-399 ) -// -// 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. - -// author sigu-399 -// author-github https://github.com/sigu-399 -// author-mail sigu.399@gmail.com -// -// repository-name jsonreference -// repository-desc An implementation of JSON Reference - Go language -// -// description Main and unique file. -// -// created 26-02-2013 - -package jsonreference - -import ( - "errors" - "net/url" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/jsonreference/internal" -) - -const ( - fragmentRune = `#` -) - -// New creates a new reference for the given string -func New(jsonReferenceString string) (Ref, error) { - - var r Ref - err := r.parse(jsonReferenceString) - return r, err - -} - -// MustCreateRef parses the ref string and panics when it's invalid. -// Use the New method for a version that returns an error -func MustCreateRef(ref string) Ref { - r, err := New(ref) - if err != nil { - panic(err) - } - return r -} - -// Ref represents a json reference object -type Ref struct { - referenceURL *url.URL - referencePointer jsonpointer.Pointer - - HasFullURL bool - HasURLPathOnly bool - HasFragmentOnly bool - HasFileScheme bool - HasFullFilePath bool -} - -// GetURL gets the URL for this reference -func (r *Ref) GetURL() *url.URL { - return r.referenceURL -} - -// GetPointer gets the json pointer for this reference -func (r *Ref) GetPointer() *jsonpointer.Pointer { - return &r.referencePointer -} - -// String returns the best version of the url for this reference -func (r *Ref) String() string { - - if r.referenceURL != nil { - return r.referenceURL.String() - } - - if r.HasFragmentOnly { - return fragmentRune + r.referencePointer.String() - } - - return r.referencePointer.String() -} - -// IsRoot returns true if this reference is a root document -func (r *Ref) IsRoot() bool { - return r.referenceURL != nil && - !r.IsCanonical() && - !r.HasURLPathOnly && - r.referenceURL.Fragment == "" -} - -// IsCanonical returns true when this pointer starts with http(s):// or file:// -func (r *Ref) IsCanonical() bool { - return (r.HasFileScheme && r.HasFullFilePath) || (!r.HasFileScheme && r.HasFullURL) -} - -// "Constructor", parses the given string JSON reference -func (r *Ref) parse(jsonReferenceString string) error { - - parsed, err := url.Parse(jsonReferenceString) - if err != nil { - return err - } - - internal.NormalizeURL(parsed) - - r.referenceURL = parsed - refURL := r.referenceURL - - if refURL.Scheme != "" && refURL.Host != "" { - r.HasFullURL = true - } else { - if refURL.Path != "" { - r.HasURLPathOnly = true - } else if refURL.RawQuery == "" && refURL.Fragment != "" { - r.HasFragmentOnly = true - } - } - - r.HasFileScheme = refURL.Scheme == "file" - r.HasFullFilePath = strings.HasPrefix(refURL.Path, "/") - - // invalid json-pointer error means url has no json-pointer fragment. simply ignore error - r.referencePointer, _ = jsonpointer.New(refURL.Fragment) - - return nil -} - -// Inherits creates a new reference from a parent and a child -// If the child cannot inherit from the parent, an error is returned -func (r *Ref) Inherits(child Ref) (*Ref, error) { - childURL := child.GetURL() - parentURL := r.GetURL() - if childURL == nil { - return nil, errors.New("child url is nil") - } - if parentURL == nil { - return &child, nil - } - - ref, err := New(parentURL.ResolveReference(childURL).String()) - if err != nil { - return nil, err - } - return &ref, nil -} diff --git a/vendor/github.com/go-openapi/loads/.editorconfig b/vendor/github.com/go-openapi/loads/.editorconfig deleted file mode 100644 index 3152da69a5..0000000000 --- a/vendor/github.com/go-openapi/loads/.editorconfig +++ /dev/null @@ -1,26 +0,0 @@ -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true - -# Set default charset -[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] -charset = utf-8 - -# Tab indentation (no size specified) -[*.go] -indent_style = tab - -[*.md] -trim_trailing_whitespace = false - -# Matches the exact files either package.json or .travis.yml -[{package.json,.travis.yml}] -indent_style = space -indent_size = 2 diff --git a/vendor/github.com/go-openapi/loads/.gitignore b/vendor/github.com/go-openapi/loads/.gitignore deleted file mode 100644 index e4f15f17bf..0000000000 --- a/vendor/github.com/go-openapi/loads/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -secrets.yml -coverage.out -profile.cov -profile.out diff --git a/vendor/github.com/go-openapi/loads/.golangci.yml b/vendor/github.com/go-openapi/loads/.golangci.yml deleted file mode 100644 index d48b4a5156..0000000000 --- a/vendor/github.com/go-openapi/loads/.golangci.yml +++ /dev/null @@ -1,44 +0,0 @@ -linters-settings: - govet: - check-shadowing: true - golint: - min-confidence: 0 - gocyclo: - min-complexity: 30 - maligned: - suggest-new: true - dupl: - threshold: 100 - goconst: - min-len: 2 - min-occurrences: 4 - -linters: - enable-all: true - disable: - - maligned - - lll - - gochecknoglobals - - gochecknoinits - - godox - - gocognit - - whitespace - - wsl - - funlen - - gochecknoglobals - - gochecknoinits - - scopelint - - wrapcheck - - exhaustivestruct - - exhaustive - - nlreturn - - testpackage - - gci - - gofumpt - - goerr113 - - gomnd - - tparallel - - nestif - - godot - - errorlint - - paralleltest diff --git a/vendor/github.com/go-openapi/loads/.travis.yml b/vendor/github.com/go-openapi/loads/.travis.yml deleted file mode 100644 index cd4a7c331b..0000000000 --- a/vendor/github.com/go-openapi/loads/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -after_success: -- bash <(curl -s https://codecov.io/bash) -go: -- 1.16.x -- 1.x -install: -- go get gotest.tools/gotestsum -language: go -arch: -- amd64 -- ppc64le -jobs: - include: - # include linting job, but only for latest go version and amd64 arch - - go: 1.x - arch: amd64 - install: - go get github.com/golangci/golangci-lint/cmd/golangci-lint - script: - - golangci-lint run --new-from-rev master -notifications: - slack: - secure: OxkPwVp35qBTUilgWC8xykSj+sGMcj0h8IIOKD+Rflx2schZVlFfdYdyVBM+s9OqeOfvtuvnR9v1Ye2rPKAvcjWdC4LpRGUsgmItZaI6Um8Aj6+K9udCw5qrtZVfOVmRu8LieH//XznWWKdOultUuniW0MLqw5+II87Gd00RWbCGi0hk0PykHe7uK+PDA2BEbqyZ2WKKYCvfB3j+0nrFOHScXqnh0V05l2E83J4+Sgy1fsPy+1WdX58ZlNBG333ibaC1FS79XvKSmTgKRkx3+YBo97u6ZtUmJa5WZjf2OdLG3KIckGWAv6R5xgxeU31N0Ng8L332w/Edpp2O/M2bZwdnKJ8hJQikXIAQbICbr+lTDzsoNzMdEIYcHpJ5hjPbiUl3Bmd+Jnsjf5McgAZDiWIfpCKZ29tPCEkVwRsOCqkyPRMNMzHHmoja495P5jR+ODS7+J8RFg5xgcnOgpP9D4Wlhztlf5WyZMpkLxTUD+bZq2SRf50HfHFXTkfq22zPl3d1eq0yrLwh/Z/fWKkfb6SyysROL8y6s8u3dpFX1YHSg0BR6i913h4aoZw9B2BG27cafLLTwKYsp2dFo1PWl4O6u9giFJIeqwloZHLKKrwh0cBFhB7RH0I58asxkZpCH6uWjJierahmHe7iS+E6i+9oCHkOZ59hmCYNimIs3hM= -script: -- gotestsum -f short-verbose -- -race -timeout=20m -coverprofile=coverage.txt -covermode=atomic ./... diff --git a/vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/loads/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/loads/LICENSE b/vendor/github.com/go-openapi/loads/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/loads/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/loads/README.md b/vendor/github.com/go-openapi/loads/README.md deleted file mode 100644 index df1f626462..0000000000 --- a/vendor/github.com/go-openapi/loads/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Loads OAI specs [![Build Status](https://travis-ci.org/go-openapi/loads.svg?branch=master)](https://travis-ci.org/go-openapi/loads) [![codecov](https://codecov.io/gh/go-openapi/loads/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/loads) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) [![Actions/Go Test Status](https://github.com/go-openapi/loads/workflows/Go%20Test/badge.svg)](https://github.com/go-openapi/loads/actions?query=workflow%3A"Go+Test") - -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/loads/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/loads?status.svg)](http://godoc.org/github.com/go-openapi/loads) -[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/loads)](https://goreportcard.com/report/github.com/go-openapi/loads) - -Loading of OAI specification documents from local or remote locations. Supports JSON and YAML documents. diff --git a/vendor/github.com/go-openapi/loads/doc.go b/vendor/github.com/go-openapi/loads/doc.go deleted file mode 100644 index 3046da4cef..0000000000 --- a/vendor/github.com/go-openapi/loads/doc.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -/* -Package loads provides document loading methods for swagger (OAI) specifications. - -It is used by other go-openapi packages to load and run analysis on local or remote spec documents. - -*/ -package loads diff --git a/vendor/github.com/go-openapi/loads/loaders.go b/vendor/github.com/go-openapi/loads/loaders.go deleted file mode 100644 index 44bd32b5b8..0000000000 --- a/vendor/github.com/go-openapi/loads/loaders.go +++ /dev/null @@ -1,134 +0,0 @@ -package loads - -import ( - "encoding/json" - "errors" - "net/url" - - "github.com/go-openapi/spec" - "github.com/go-openapi/swag" -) - -var ( - // Default chain of loaders, defined at the package level. - // - // By default this matches json and yaml documents. - // - // May be altered with AddLoader(). - loaders *loader -) - -func init() { - jsonLoader := &loader{ - DocLoaderWithMatch: DocLoaderWithMatch{ - Match: func(pth string) bool { - return true - }, - Fn: JSONDoc, - }, - } - - loaders = jsonLoader.WithHead(&loader{ - DocLoaderWithMatch: DocLoaderWithMatch{ - Match: swag.YAMLMatcher, - Fn: swag.YAMLDoc, - }, - }) - - // sets the global default loader for go-openapi/spec - spec.PathLoader = loaders.Load -} - -// DocLoader represents a doc loader type -type DocLoader func(string) (json.RawMessage, error) - -// DocMatcher represents a predicate to check if a loader matches -type DocMatcher func(string) bool - -// DocLoaderWithMatch describes a loading function for a given extension match. -type DocLoaderWithMatch struct { - Fn DocLoader - Match DocMatcher -} - -// NewDocLoaderWithMatch builds a DocLoaderWithMatch to be used in load options -func NewDocLoaderWithMatch(fn DocLoader, matcher DocMatcher) DocLoaderWithMatch { - return DocLoaderWithMatch{ - Fn: fn, - Match: matcher, - } -} - -type loader struct { - DocLoaderWithMatch - Next *loader -} - -// WithHead adds a loader at the head of the current stack -func (l *loader) WithHead(head *loader) *loader { - if head == nil { - return l - } - head.Next = l - return head -} - -// WithNext adds a loader at the trail of the current stack -func (l *loader) WithNext(next *loader) *loader { - l.Next = next - return next -} - -// Load the raw document from path -func (l *loader) Load(path string) (json.RawMessage, error) { - _, erp := url.Parse(path) - if erp != nil { - return nil, erp - } - - var lastErr error = errors.New("no loader matched") // default error if no match was found - for ldr := l; ldr != nil; ldr = ldr.Next { - if ldr.Match != nil && !ldr.Match(path) { - continue - } - - // try then move to next one if there is an error - b, err := ldr.Fn(path) - if err == nil { - return b, nil - } - - lastErr = err - } - - return nil, lastErr -} - -// JSONDoc loads a json document from either a file or a remote url -func JSONDoc(path string) (json.RawMessage, error) { - data, err := swag.LoadFromFileOrHTTP(path) - if err != nil { - return nil, err - } - return json.RawMessage(data), nil -} - -// AddLoader for a document, executed before other previously set loaders. -// -// This sets the configuration at the package level. -// -// NOTE: -// * this updates the default loader used by github.com/go-openapi/spec -// * since this sets package level globals, you shouln't call this concurrently -// -func AddLoader(predicate DocMatcher, load DocLoader) { - loaders = loaders.WithHead(&loader{ - DocLoaderWithMatch: DocLoaderWithMatch{ - Match: predicate, - Fn: load, - }, - }) - - // sets the global default loader for go-openapi/spec - spec.PathLoader = loaders.Load -} diff --git a/vendor/github.com/go-openapi/loads/options.go b/vendor/github.com/go-openapi/loads/options.go deleted file mode 100644 index f8305d5607..0000000000 --- a/vendor/github.com/go-openapi/loads/options.go +++ /dev/null @@ -1,61 +0,0 @@ -package loads - -type options struct { - loader *loader -} - -func defaultOptions() *options { - return &options{ - loader: loaders, - } -} - -func loaderFromOptions(options []LoaderOption) *loader { - opts := defaultOptions() - for _, apply := range options { - apply(opts) - } - - return opts.loader -} - -// LoaderOption allows to fine-tune the spec loader behavior -type LoaderOption func(*options) - -// WithDocLoader sets a custom loader for loading specs -func WithDocLoader(l DocLoader) LoaderOption { - return func(opt *options) { - if l == nil { - return - } - opt.loader = &loader{ - DocLoaderWithMatch: DocLoaderWithMatch{ - Fn: l, - }, - } - } -} - -// WithDocLoaderMatches sets a chain of custom loaders for loading specs -// for different extension matches. -// -// Loaders are executed in the order of provided DocLoaderWithMatch'es. -func WithDocLoaderMatches(l ...DocLoaderWithMatch) LoaderOption { - return func(opt *options) { - var final, prev *loader - for _, ldr := range l { - if ldr.Fn == nil { - continue - } - - if prev == nil { - final = &loader{DocLoaderWithMatch: ldr} - prev = final - continue - } - - prev = prev.WithNext(&loader{DocLoaderWithMatch: ldr}) - } - opt.loader = final - } -} diff --git a/vendor/github.com/go-openapi/loads/spec.go b/vendor/github.com/go-openapi/loads/spec.go deleted file mode 100644 index 93c8d4b895..0000000000 --- a/vendor/github.com/go-openapi/loads/spec.go +++ /dev/null @@ -1,266 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package loads - -import ( - "bytes" - "encoding/gob" - "encoding/json" - "fmt" - - "github.com/go-openapi/analysis" - "github.com/go-openapi/spec" - "github.com/go-openapi/swag" -) - -func init() { - gob.Register(map[string]interface{}{}) - gob.Register([]interface{}{}) -} - -// Document represents a swagger spec document -type Document struct { - // specAnalyzer - Analyzer *analysis.Spec - spec *spec.Swagger - specFilePath string - origSpec *spec.Swagger - schema *spec.Schema - raw json.RawMessage - pathLoader *loader -} - -// JSONSpec loads a spec from a json document -func JSONSpec(path string, options ...LoaderOption) (*Document, error) { - data, err := JSONDoc(path) - if err != nil { - return nil, err - } - // convert to json - return Analyzed(data, "", options...) -} - -// Embedded returns a Document based on embedded specs. No analysis is required -func Embedded(orig, flat json.RawMessage, options ...LoaderOption) (*Document, error) { - var origSpec, flatSpec spec.Swagger - if err := json.Unmarshal(orig, &origSpec); err != nil { - return nil, err - } - if err := json.Unmarshal(flat, &flatSpec); err != nil { - return nil, err - } - return &Document{ - raw: orig, - origSpec: &origSpec, - spec: &flatSpec, - pathLoader: loaderFromOptions(options), - }, nil -} - -// Spec loads a new spec document from a local or remote path -func Spec(path string, options ...LoaderOption) (*Document, error) { - - ldr := loaderFromOptions(options) - - b, err := ldr.Load(path) - if err != nil { - return nil, err - } - - document, err := Analyzed(b, "", options...) - if err != nil { - return nil, err - } - - if document != nil { - document.specFilePath = path - document.pathLoader = ldr - } - - return document, err -} - -// Analyzed creates a new analyzed spec document for a root json.RawMessage. -func Analyzed(data json.RawMessage, version string, options ...LoaderOption) (*Document, error) { - if version == "" { - version = "2.0" - } - if version != "2.0" { - return nil, fmt.Errorf("spec version %q is not supported", version) - } - - raw, err := trimData(data) // trim blanks, then convert yaml docs into json - if err != nil { - return nil, err - } - - swspec := new(spec.Swagger) - if err = json.Unmarshal(raw, swspec); err != nil { - return nil, err - } - - origsqspec, err := cloneSpec(swspec) - if err != nil { - return nil, err - } - - d := &Document{ - Analyzer: analysis.New(swspec), - schema: spec.MustLoadSwagger20Schema(), - spec: swspec, - raw: raw, - origSpec: origsqspec, - pathLoader: loaderFromOptions(options), - } - - return d, nil -} - -func trimData(in json.RawMessage) (json.RawMessage, error) { - trimmed := bytes.TrimSpace(in) - if len(trimmed) == 0 { - return in, nil - } - - if trimmed[0] == '{' || trimmed[0] == '[' { - return trimmed, nil - } - - // assume yaml doc: convert it to json - yml, err := swag.BytesToYAMLDoc(trimmed) - if err != nil { - return nil, fmt.Errorf("analyzed: %v", err) - } - - d, err := swag.YAMLToJSON(yml) - if err != nil { - return nil, fmt.Errorf("analyzed: %v", err) - } - - return d, nil -} - -// Expanded expands the ref fields in the spec document and returns a new spec document -func (d *Document) Expanded(options ...*spec.ExpandOptions) (*Document, error) { - - swspec := new(spec.Swagger) - if err := json.Unmarshal(d.raw, swspec); err != nil { - return nil, err - } - - var expandOptions *spec.ExpandOptions - if len(options) > 0 { - expandOptions = options[0] - } else { - expandOptions = &spec.ExpandOptions{ - RelativeBase: d.specFilePath, - } - } - - if expandOptions.PathLoader == nil { - if d.pathLoader != nil { - // use loader from Document options - expandOptions.PathLoader = d.pathLoader.Load - } else { - // use package level loader - expandOptions.PathLoader = loaders.Load - } - } - - if err := spec.ExpandSpec(swspec, expandOptions); err != nil { - return nil, err - } - - dd := &Document{ - Analyzer: analysis.New(swspec), - spec: swspec, - specFilePath: d.specFilePath, - schema: spec.MustLoadSwagger20Schema(), - raw: d.raw, - origSpec: d.origSpec, - } - return dd, nil -} - -// BasePath the base path for this spec -func (d *Document) BasePath() string { - return d.spec.BasePath -} - -// Version returns the version of this spec -func (d *Document) Version() string { - return d.spec.Swagger -} - -// Schema returns the swagger 2.0 schema -func (d *Document) Schema() *spec.Schema { - return d.schema -} - -// Spec returns the swagger spec object model -func (d *Document) Spec() *spec.Swagger { - return d.spec -} - -// Host returns the host for the API -func (d *Document) Host() string { - return d.spec.Host -} - -// Raw returns the raw swagger spec as json bytes -func (d *Document) Raw() json.RawMessage { - return d.raw -} - -// OrigSpec yields the original spec -func (d *Document) OrigSpec() *spec.Swagger { - return d.origSpec -} - -// ResetDefinitions gives a shallow copy with the models reset to the original spec -func (d *Document) ResetDefinitions() *Document { - defs := make(map[string]spec.Schema, len(d.origSpec.Definitions)) - for k, v := range d.origSpec.Definitions { - defs[k] = v - } - - d.spec.Definitions = defs - return d -} - -// Pristine creates a new pristine document instance based on the input data -func (d *Document) Pristine() *Document { - dd, _ := Analyzed(d.Raw(), d.Version()) - dd.pathLoader = d.pathLoader - return dd -} - -// SpecFilePath returns the file path of the spec if one is defined -func (d *Document) SpecFilePath() string { - return d.specFilePath -} - -func cloneSpec(src *spec.Swagger) (*spec.Swagger, error) { - var b bytes.Buffer - if err := gob.NewEncoder(&b).Encode(src); err != nil { - return nil, err - } - - var dst spec.Swagger - if err := gob.NewDecoder(&b).Decode(&dst); err != nil { - return nil, err - } - return &dst, nil -} diff --git a/vendor/github.com/go-openapi/runtime/.editorconfig b/vendor/github.com/go-openapi/runtime/.editorconfig deleted file mode 100644 index 3152da69a5..0000000000 --- a/vendor/github.com/go-openapi/runtime/.editorconfig +++ /dev/null @@ -1,26 +0,0 @@ -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true - -# Set default charset -[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] -charset = utf-8 - -# Tab indentation (no size specified) -[*.go] -indent_style = tab - -[*.md] -trim_trailing_whitespace = false - -# Matches the exact files either package.json or .travis.yml -[{package.json,.travis.yml}] -indent_style = space -indent_size = 2 diff --git a/vendor/github.com/go-openapi/runtime/.gitattributes b/vendor/github.com/go-openapi/runtime/.gitattributes deleted file mode 100644 index d207b1802b..0000000000 --- a/vendor/github.com/go-openapi/runtime/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.go text eol=lf diff --git a/vendor/github.com/go-openapi/runtime/.gitignore b/vendor/github.com/go-openapi/runtime/.gitignore deleted file mode 100644 index fea8b84eca..0000000000 --- a/vendor/github.com/go-openapi/runtime/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -secrets.yml -coverage.out -*.cov -*.out -playground diff --git a/vendor/github.com/go-openapi/runtime/.golangci.yml b/vendor/github.com/go-openapi/runtime/.golangci.yml deleted file mode 100644 index b1aa7928a7..0000000000 --- a/vendor/github.com/go-openapi/runtime/.golangci.yml +++ /dev/null @@ -1,44 +0,0 @@ -linters-settings: - govet: - # Using err repeatedly considered as shadowing. - check-shadowing: false - golint: - min-confidence: 0 - gocyclo: - min-complexity: 30 - maligned: - suggest-new: true - dupl: - threshold: 100 - goconst: - min-len: 2 - min-occurrences: 4 -linters: - disable: - - maligned - - lll - - gochecknoglobals - - godox - - gocognit - - whitespace - - wsl - - funlen - - gochecknoglobals - - gochecknoinits - - scopelint - - wrapcheck - - exhaustivestruct - - exhaustive - - nlreturn - - testpackage - - gci - - gofumpt - - goerr113 - - gomnd - - tparallel - - nestif - - godot - - errorlint - - noctx - - interfacer - - nilerr diff --git a/vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/runtime/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/runtime/LICENSE b/vendor/github.com/go-openapi/runtime/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/runtime/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/runtime/README.md b/vendor/github.com/go-openapi/runtime/README.md deleted file mode 100644 index 5b1ec64945..0000000000 --- a/vendor/github.com/go-openapi/runtime/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# runtime [![Build Status](https://travis-ci.org/go-openapi/runtime.svg?branch=client-context)](https://travis-ci.org/go-openapi/runtime) [![codecov](https://codecov.io/gh/go-openapi/runtime/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/runtime) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) - -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/runtime/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/runtime?status.svg)](http://godoc.org/github.com/go-openapi/runtime) - -# golang Open-API toolkit - runtime - -The runtime component for use in codegeneration or as untyped usage. diff --git a/vendor/github.com/go-openapi/runtime/bytestream.go b/vendor/github.com/go-openapi/runtime/bytestream.go deleted file mode 100644 index 6eb6ceb5c5..0000000000 --- a/vendor/github.com/go-openapi/runtime/bytestream.go +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "bytes" - "encoding" - "errors" - "fmt" - "io" - "reflect" - - "github.com/go-openapi/swag" -) - -func defaultCloser() error { return nil } - -type byteStreamOpt func(opts *byteStreamOpts) - -// ClosesStream when the bytestream consumer or producer is finished -func ClosesStream(opts *byteStreamOpts) { - opts.Close = true -} - -type byteStreamOpts struct { - Close bool -} - -// ByteStreamConsumer creates a consumer for byte streams, -// takes a Writer/BinaryUnmarshaler interface or binary slice by reference, -// and reads from the provided reader -func ByteStreamConsumer(opts ...byteStreamOpt) Consumer { - var vals byteStreamOpts - for _, opt := range opts { - opt(&vals) - } - - return ConsumerFunc(func(reader io.Reader, data interface{}) error { - if reader == nil { - return errors.New("ByteStreamConsumer requires a reader") // early exit - } - - close := defaultCloser - if vals.Close { - if cl, ok := reader.(io.Closer); ok { - close = cl.Close - } - } - //nolint:errcheck // closing a reader wouldn't fail. - defer close() - - if wrtr, ok := data.(io.Writer); ok { - _, err := io.Copy(wrtr, reader) - return err - } - - buf := new(bytes.Buffer) - _, err := buf.ReadFrom(reader) - if err != nil { - return err - } - b := buf.Bytes() - - if bu, ok := data.(encoding.BinaryUnmarshaler); ok { - return bu.UnmarshalBinary(b) - } - - if data != nil { - if str, ok := data.(*string); ok { - *str = string(b) - return nil - } - } - - if t := reflect.TypeOf(data); data != nil && t.Kind() == reflect.Ptr { - v := reflect.Indirect(reflect.ValueOf(data)) - if t = v.Type(); t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8 { - v.SetBytes(b) - return nil - } - } - - return fmt.Errorf("%v (%T) is not supported by the ByteStreamConsumer, %s", - data, data, "can be resolved by supporting Writer/BinaryUnmarshaler interface") - }) -} - -// ByteStreamProducer creates a producer for byte streams, -// takes a Reader/BinaryMarshaler interface or binary slice, -// and writes to a writer (essentially a pipe) -func ByteStreamProducer(opts ...byteStreamOpt) Producer { - var vals byteStreamOpts - for _, opt := range opts { - opt(&vals) - } - return ProducerFunc(func(writer io.Writer, data interface{}) error { - if writer == nil { - return errors.New("ByteStreamProducer requires a writer") // early exit - } - close := defaultCloser - if vals.Close { - if cl, ok := writer.(io.Closer); ok { - close = cl.Close - } - } - //nolint:errcheck // TODO: closing a writer would fail. - defer close() - - if rc, ok := data.(io.ReadCloser); ok { - defer rc.Close() - } - - if rdr, ok := data.(io.Reader); ok { - _, err := io.Copy(writer, rdr) - return err - } - - if bm, ok := data.(encoding.BinaryMarshaler); ok { - bytes, err := bm.MarshalBinary() - if err != nil { - return err - } - - _, err = writer.Write(bytes) - return err - } - - if data != nil { - if str, ok := data.(string); ok { - _, err := writer.Write([]byte(str)) - return err - } - - if e, ok := data.(error); ok { - _, err := writer.Write([]byte(e.Error())) - return err - } - - v := reflect.Indirect(reflect.ValueOf(data)) - if t := v.Type(); t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8 { - _, err := writer.Write(v.Bytes()) - return err - } - if t := v.Type(); t.Kind() == reflect.Struct || t.Kind() == reflect.Slice { - b, err := swag.WriteJSON(data) - if err != nil { - return err - } - _, err = writer.Write(b) - return err - } - } - - return fmt.Errorf("%v (%T) is not supported by the ByteStreamProducer, %s", - data, data, "can be resolved by supporting Reader/BinaryMarshaler interface") - }) -} diff --git a/vendor/github.com/go-openapi/runtime/client_auth_info.go b/vendor/github.com/go-openapi/runtime/client_auth_info.go deleted file mode 100644 index c6c97d9a7c..0000000000 --- a/vendor/github.com/go-openapi/runtime/client_auth_info.go +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import "github.com/go-openapi/strfmt" - -// A ClientAuthInfoWriterFunc converts a function to a request writer interface -type ClientAuthInfoWriterFunc func(ClientRequest, strfmt.Registry) error - -// AuthenticateRequest adds authentication data to the request -func (fn ClientAuthInfoWriterFunc) AuthenticateRequest(req ClientRequest, reg strfmt.Registry) error { - return fn(req, reg) -} - -// A ClientAuthInfoWriter implementor knows how to write authentication info to a request -type ClientAuthInfoWriter interface { - AuthenticateRequest(ClientRequest, strfmt.Registry) error -} diff --git a/vendor/github.com/go-openapi/runtime/client_operation.go b/vendor/github.com/go-openapi/runtime/client_operation.go deleted file mode 100644 index fa21eacf33..0000000000 --- a/vendor/github.com/go-openapi/runtime/client_operation.go +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "context" - "net/http" -) - -// ClientOperation represents the context for a swagger operation to be submitted to the transport -type ClientOperation struct { - ID string - Method string - PathPattern string - ProducesMediaTypes []string - ConsumesMediaTypes []string - Schemes []string - AuthInfo ClientAuthInfoWriter - Params ClientRequestWriter - Reader ClientResponseReader - Context context.Context - Client *http.Client -} - -// A ClientTransport implementor knows how to submit Request objects to some destination -type ClientTransport interface { - //Submit(string, RequestWriter, ResponseReader, AuthInfoWriter) (interface{}, error) - Submit(*ClientOperation) (interface{}, error) -} diff --git a/vendor/github.com/go-openapi/runtime/client_request.go b/vendor/github.com/go-openapi/runtime/client_request.go deleted file mode 100644 index d4d2b58f2b..0000000000 --- a/vendor/github.com/go-openapi/runtime/client_request.go +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "io" - "net/http" - "net/url" - "time" - - "github.com/go-openapi/strfmt" -) - -// ClientRequestWriterFunc converts a function to a request writer interface -type ClientRequestWriterFunc func(ClientRequest, strfmt.Registry) error - -// WriteToRequest adds data to the request -func (fn ClientRequestWriterFunc) WriteToRequest(req ClientRequest, reg strfmt.Registry) error { - return fn(req, reg) -} - -// ClientRequestWriter is an interface for things that know how to write to a request -type ClientRequestWriter interface { - WriteToRequest(ClientRequest, strfmt.Registry) error -} - -// ClientRequest is an interface for things that know how to -// add information to a swagger client request -type ClientRequest interface { - SetHeaderParam(string, ...string) error - - GetHeaderParams() http.Header - - SetQueryParam(string, ...string) error - - SetFormParam(string, ...string) error - - SetPathParam(string, string) error - - GetQueryParams() url.Values - - SetFileParam(string, ...NamedReadCloser) error - - SetBodyParam(interface{}) error - - SetTimeout(time.Duration) error - - GetMethod() string - - GetPath() string - - GetBody() []byte - - GetBodyParam() interface{} - - GetFileParam() map[string][]NamedReadCloser -} - -// NamedReadCloser represents a named ReadCloser interface -type NamedReadCloser interface { - io.ReadCloser - Name() string -} - -// NamedReader creates a NamedReadCloser for use as file upload -func NamedReader(name string, rdr io.Reader) NamedReadCloser { - rc, ok := rdr.(io.ReadCloser) - if !ok { - rc = io.NopCloser(rdr) - } - return &namedReadCloser{ - name: name, - cr: rc, - } -} - -type namedReadCloser struct { - name string - cr io.ReadCloser -} - -func (n *namedReadCloser) Close() error { - return n.cr.Close() -} -func (n *namedReadCloser) Read(p []byte) (int, error) { - return n.cr.Read(p) -} -func (n *namedReadCloser) Name() string { - return n.name -} - -type TestClientRequest struct { - Headers http.Header - Body interface{} -} - -func (t *TestClientRequest) SetHeaderParam(name string, values ...string) error { - if t.Headers == nil { - t.Headers = make(http.Header) - } - t.Headers.Set(name, values[0]) - return nil -} - -func (t *TestClientRequest) SetQueryParam(_ string, _ ...string) error { return nil } - -func (t *TestClientRequest) SetFormParam(_ string, _ ...string) error { return nil } - -func (t *TestClientRequest) SetPathParam(_ string, _ string) error { return nil } - -func (t *TestClientRequest) SetFileParam(_ string, _ ...NamedReadCloser) error { return nil } - -func (t *TestClientRequest) SetBodyParam(body interface{}) error { - t.Body = body - return nil -} - -func (t *TestClientRequest) SetTimeout(time.Duration) error { - return nil -} - -func (t *TestClientRequest) GetQueryParams() url.Values { return nil } - -func (t *TestClientRequest) GetMethod() string { return "" } - -func (t *TestClientRequest) GetPath() string { return "" } - -func (t *TestClientRequest) GetBody() []byte { return nil } - -func (t *TestClientRequest) GetBodyParam() interface{} { - return t.Body -} - -func (t *TestClientRequest) GetFileParam() map[string][]NamedReadCloser { - return nil -} - -func (t *TestClientRequest) GetHeaderParams() http.Header { - return t.Headers -} diff --git a/vendor/github.com/go-openapi/runtime/client_response.go b/vendor/github.com/go-openapi/runtime/client_response.go deleted file mode 100644 index 0d1691149d..0000000000 --- a/vendor/github.com/go-openapi/runtime/client_response.go +++ /dev/null @@ -1,110 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "encoding/json" - "fmt" - "io" -) - -// A ClientResponse represents a client response -// This bridges between responses obtained from different transports -type ClientResponse interface { - Code() int - Message() string - GetHeader(string) string - GetHeaders(string) []string - Body() io.ReadCloser -} - -// A ClientResponseReaderFunc turns a function into a ClientResponseReader interface implementation -type ClientResponseReaderFunc func(ClientResponse, Consumer) (interface{}, error) - -// ReadResponse reads the response -func (read ClientResponseReaderFunc) ReadResponse(resp ClientResponse, consumer Consumer) (interface{}, error) { - return read(resp, consumer) -} - -// A ClientResponseReader is an interface for things want to read a response. -// An application of this is to create structs from response values -type ClientResponseReader interface { - ReadResponse(ClientResponse, Consumer) (interface{}, error) -} - -// NewAPIError creates a new API error -func NewAPIError(opName string, payload interface{}, code int) *APIError { - return &APIError{ - OperationName: opName, - Response: payload, - Code: code, - } -} - -// APIError wraps an error model and captures the status code -type APIError struct { - OperationName string - Response interface{} - Code int -} - -func (o *APIError) Error() string { - var resp []byte - if err, ok := o.Response.(error); ok { - resp = []byte("'" + err.Error() + "'") - } else { - resp, _ = json.Marshal(o.Response) - } - return fmt.Sprintf("%s (status %d): %s", o.OperationName, o.Code, resp) -} - -func (o *APIError) String() string { - return o.Error() -} - -// IsSuccess returns true when this elapse o k response returns a 2xx status code -func (o *APIError) IsSuccess() bool { - return o.Code/100 == 2 -} - -// IsRedirect returns true when this elapse o k response returns a 3xx status code -func (o *APIError) IsRedirect() bool { - return o.Code/100 == 3 -} - -// IsClientError returns true when this elapse o k response returns a 4xx status code -func (o *APIError) IsClientError() bool { - return o.Code/100 == 4 -} - -// IsServerError returns true when this elapse o k response returns a 5xx status code -func (o *APIError) IsServerError() bool { - return o.Code/100 == 5 -} - -// IsCode returns true when this elapse o k response returns a 4xx status code -func (o *APIError) IsCode(code int) bool { - return o.Code == code -} - -// A ClientResponseStatus is a common interface implemented by all responses on the generated code -// You can use this to treat any client response based on status code -type ClientResponseStatus interface { - IsSuccess() bool - IsRedirect() bool - IsClientError() bool - IsServerError() bool - IsCode(int) bool -} diff --git a/vendor/github.com/go-openapi/runtime/constants.go b/vendor/github.com/go-openapi/runtime/constants.go deleted file mode 100644 index 515969242c..0000000000 --- a/vendor/github.com/go-openapi/runtime/constants.go +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -const ( - // HeaderContentType represents a http content-type header, it's value is supposed to be a mime type - HeaderContentType = "Content-Type" - - // HeaderTransferEncoding represents a http transfer-encoding header. - HeaderTransferEncoding = "Transfer-Encoding" - - // HeaderAccept the Accept header - HeaderAccept = "Accept" - // HeaderAuthorization the Authorization header - HeaderAuthorization = "Authorization" - - charsetKey = "charset" - - // DefaultMime the default fallback mime type - DefaultMime = "application/octet-stream" - // JSONMime the json mime type - JSONMime = "application/json" - // YAMLMime the yaml mime type - YAMLMime = "application/x-yaml" - // XMLMime the xml mime type - XMLMime = "application/xml" - // TextMime the text mime type - TextMime = "text/plain" - // HTMLMime the html mime type - HTMLMime = "text/html" - // CSVMime the csv mime type - CSVMime = "text/csv" - // MultipartFormMime the multipart form mime type - MultipartFormMime = "multipart/form-data" - // URLencodedFormMime the url encoded form mime type - URLencodedFormMime = "application/x-www-form-urlencoded" -) diff --git a/vendor/github.com/go-openapi/runtime/csv.go b/vendor/github.com/go-openapi/runtime/csv.go deleted file mode 100644 index d807bd915b..0000000000 --- a/vendor/github.com/go-openapi/runtime/csv.go +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "bytes" - "encoding/csv" - "errors" - "io" -) - -// CSVConsumer creates a new CSV consumer -func CSVConsumer() Consumer { - return ConsumerFunc(func(reader io.Reader, data interface{}) error { - if reader == nil { - return errors.New("CSVConsumer requires a reader") - } - - csvReader := csv.NewReader(reader) - writer, ok := data.(io.Writer) - if !ok { - return errors.New("data type must be io.Writer") - } - csvWriter := csv.NewWriter(writer) - records, err := csvReader.ReadAll() - if err != nil { - return err - } - for _, r := range records { - if err := csvWriter.Write(r); err != nil { - return err - } - } - csvWriter.Flush() - return nil - }) -} - -// CSVProducer creates a new CSV producer -func CSVProducer() Producer { - return ProducerFunc(func(writer io.Writer, data interface{}) error { - if writer == nil { - return errors.New("CSVProducer requires a writer") - } - - dataBytes, ok := data.([]byte) - if !ok { - return errors.New("data type must be byte array") - } - - csvReader := csv.NewReader(bytes.NewBuffer(dataBytes)) - records, err := csvReader.ReadAll() - if err != nil { - return err - } - csvWriter := csv.NewWriter(writer) - for _, r := range records { - if err := csvWriter.Write(r); err != nil { - return err - } - } - csvWriter.Flush() - return nil - }) -} diff --git a/vendor/github.com/go-openapi/runtime/discard.go b/vendor/github.com/go-openapi/runtime/discard.go deleted file mode 100644 index 0d390cfd64..0000000000 --- a/vendor/github.com/go-openapi/runtime/discard.go +++ /dev/null @@ -1,9 +0,0 @@ -package runtime - -import "io" - -// DiscardConsumer does absolutely nothing, it's a black hole. -var DiscardConsumer = ConsumerFunc(func(_ io.Reader, _ interface{}) error { return nil }) - -// DiscardProducer does absolutely nothing, it's a black hole. -var DiscardProducer = ProducerFunc(func(_ io.Writer, _ interface{}) error { return nil }) diff --git a/vendor/github.com/go-openapi/runtime/file.go b/vendor/github.com/go-openapi/runtime/file.go deleted file mode 100644 index 397d8a4593..0000000000 --- a/vendor/github.com/go-openapi/runtime/file.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import "github.com/go-openapi/swag" - -type File = swag.File diff --git a/vendor/github.com/go-openapi/runtime/headers.go b/vendor/github.com/go-openapi/runtime/headers.go deleted file mode 100644 index 4d111db4fe..0000000000 --- a/vendor/github.com/go-openapi/runtime/headers.go +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "mime" - "net/http" - - "github.com/go-openapi/errors" -) - -// ContentType parses a content type header -func ContentType(headers http.Header) (string, string, error) { - ct := headers.Get(HeaderContentType) - orig := ct - if ct == "" { - ct = DefaultMime - } - if ct == "" { - return "", "", nil - } - - mt, opts, err := mime.ParseMediaType(ct) - if err != nil { - return "", "", errors.NewParseError(HeaderContentType, "header", orig, err) - } - - if cs, ok := opts[charsetKey]; ok { - return mt, cs, nil - } - - return mt, "", nil -} diff --git a/vendor/github.com/go-openapi/runtime/interfaces.go b/vendor/github.com/go-openapi/runtime/interfaces.go deleted file mode 100644 index e334128683..0000000000 --- a/vendor/github.com/go-openapi/runtime/interfaces.go +++ /dev/null @@ -1,112 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "context" - "io" - "net/http" - - "github.com/go-openapi/strfmt" -) - -// OperationHandlerFunc an adapter for a function to the OperationHandler interface -type OperationHandlerFunc func(interface{}) (interface{}, error) - -// Handle implements the operation handler interface -func (s OperationHandlerFunc) Handle(data interface{}) (interface{}, error) { - return s(data) -} - -// OperationHandler a handler for a swagger operation -type OperationHandler interface { - Handle(interface{}) (interface{}, error) -} - -// ConsumerFunc represents a function that can be used as a consumer -type ConsumerFunc func(io.Reader, interface{}) error - -// Consume consumes the reader into the data parameter -func (fn ConsumerFunc) Consume(reader io.Reader, data interface{}) error { - return fn(reader, data) -} - -// Consumer implementations know how to bind the values on the provided interface to -// data provided by the request body -type Consumer interface { - // Consume performs the binding of request values - Consume(io.Reader, interface{}) error -} - -// ProducerFunc represents a function that can be used as a producer -type ProducerFunc func(io.Writer, interface{}) error - -// Produce produces the response for the provided data -func (f ProducerFunc) Produce(writer io.Writer, data interface{}) error { - return f(writer, data) -} - -// Producer implementations know how to turn the provided interface into a valid -// HTTP response -type Producer interface { - // Produce writes to the http response - Produce(io.Writer, interface{}) error -} - -// AuthenticatorFunc turns a function into an authenticator -type AuthenticatorFunc func(interface{}) (bool, interface{}, error) - -// Authenticate authenticates the request with the provided data -func (f AuthenticatorFunc) Authenticate(params interface{}) (bool, interface{}, error) { - return f(params) -} - -// Authenticator represents an authentication strategy -// implementations of Authenticator know how to authenticate the -// request data and translate that into a valid principal object or an error -type Authenticator interface { - Authenticate(interface{}) (bool, interface{}, error) -} - -// AuthorizerFunc turns a function into an authorizer -type AuthorizerFunc func(*http.Request, interface{}) error - -// Authorize authorizes the processing of the request for the principal -func (f AuthorizerFunc) Authorize(r *http.Request, principal interface{}) error { - return f(r, principal) -} - -// Authorizer represents an authorization strategy -// implementations of Authorizer know how to authorize the principal object -// using the request data and returns error if unauthorized -type Authorizer interface { - Authorize(*http.Request, interface{}) error -} - -// Validatable types implementing this interface allow customizing their validation -// this will be used instead of the reflective validation based on the spec document. -// the implementations are assumed to have been generated by the swagger tool so they should -// contain all the validations obtained from the spec -type Validatable interface { - Validate(strfmt.Registry) error -} - -// ContextValidatable types implementing this interface allow customizing their validation -// this will be used instead of the reflective validation based on the spec document. -// the implementations are assumed to have been generated by the swagger tool so they should -// contain all the context validations obtained from the spec -type ContextValidatable interface { - ContextValidate(context.Context, strfmt.Registry) error -} diff --git a/vendor/github.com/go-openapi/runtime/json.go b/vendor/github.com/go-openapi/runtime/json.go deleted file mode 100644 index 5a690559cc..0000000000 --- a/vendor/github.com/go-openapi/runtime/json.go +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "encoding/json" - "io" -) - -// JSONConsumer creates a new JSON consumer -func JSONConsumer() Consumer { - return ConsumerFunc(func(reader io.Reader, data interface{}) error { - dec := json.NewDecoder(reader) - dec.UseNumber() // preserve number formats - return dec.Decode(data) - }) -} - -// JSONProducer creates a new JSON producer -func JSONProducer() Producer { - return ProducerFunc(func(writer io.Writer, data interface{}) error { - enc := json.NewEncoder(writer) - enc.SetEscapeHTML(false) - return enc.Encode(data) - }) -} diff --git a/vendor/github.com/go-openapi/runtime/request.go b/vendor/github.com/go-openapi/runtime/request.go deleted file mode 100644 index 078fda1739..0000000000 --- a/vendor/github.com/go-openapi/runtime/request.go +++ /dev/null @@ -1,139 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "bufio" - "io" - "net/http" - "strings" - - "github.com/go-openapi/swag" -) - -// CanHaveBody returns true if this method can have a body -func CanHaveBody(method string) bool { - mn := strings.ToUpper(method) - return mn == "POST" || mn == "PUT" || mn == "PATCH" || mn == "DELETE" -} - -// IsSafe returns true if this is a request with a safe method -func IsSafe(r *http.Request) bool { - mn := strings.ToUpper(r.Method) - return mn == "GET" || mn == "HEAD" -} - -// AllowsBody returns true if the request allows for a body -func AllowsBody(r *http.Request) bool { - mn := strings.ToUpper(r.Method) - return mn != "HEAD" -} - -// HasBody returns true if this method needs a content-type -func HasBody(r *http.Request) bool { - // happy case: we have a content length set - if r.ContentLength > 0 { - return true - } - - if r.Header.Get("content-length") != "" { - // in this case, no Transfer-Encoding should be present - // we have a header set but it was explicitly set to 0, so we assume no body - return false - } - - rdr := newPeekingReader(r.Body) - r.Body = rdr - return rdr.HasContent() -} - -func newPeekingReader(r io.ReadCloser) *peekingReader { - if r == nil { - return nil - } - return &peekingReader{ - underlying: bufio.NewReader(r), - orig: r, - } -} - -type peekingReader struct { - underlying interface { - Buffered() int - Peek(int) ([]byte, error) - Read([]byte) (int, error) - } - orig io.ReadCloser -} - -func (p *peekingReader) HasContent() bool { - if p == nil { - return false - } - if p.underlying.Buffered() > 0 { - return true - } - b, err := p.underlying.Peek(1) - if err != nil { - return false - } - return len(b) > 0 -} - -func (p *peekingReader) Read(d []byte) (int, error) { - if p == nil { - return 0, io.EOF - } - return p.underlying.Read(d) -} - -func (p *peekingReader) Close() error { - p.underlying = nil - if p.orig != nil { - return p.orig.Close() - } - return nil -} - -// JSONRequest creates a new http request with json headers set -func JSONRequest(method, urlStr string, body io.Reader) (*http.Request, error) { - req, err := http.NewRequest(method, urlStr, body) - if err != nil { - return nil, err - } - req.Header.Add(HeaderContentType, JSONMime) - req.Header.Add(HeaderAccept, JSONMime) - return req, nil -} - -// Gettable for things with a method GetOK(string) (data string, hasKey bool, hasValue bool) -type Gettable interface { - GetOK(string) ([]string, bool, bool) -} - -// ReadSingleValue reads a single value from the source -func ReadSingleValue(values Gettable, name string) string { - vv, _, hv := values.GetOK(name) - if hv { - return vv[len(vv)-1] - } - return "" -} - -// ReadCollectionValue reads a collection value from a string data source -func ReadCollectionValue(values Gettable, name, collectionFormat string) []string { - v := ReadSingleValue(values, name) - return swag.SplitByFormat(v, collectionFormat) -} diff --git a/vendor/github.com/go-openapi/runtime/statuses.go b/vendor/github.com/go-openapi/runtime/statuses.go deleted file mode 100644 index 3b011a0bff..0000000000 --- a/vendor/github.com/go-openapi/runtime/statuses.go +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -// Statuses lists the most common HTTP status codes to default message -// taken from https://httpstatuses.com/ -var Statuses = map[int]string{ - 100: "Continue", - 101: "Switching Protocols", - 102: "Processing", - 103: "Checkpoint", - 122: "URI too long", - 200: "OK", - 201: "Created", - 202: "Accepted", - 203: "Request Processed", - 204: "No Content", - 205: "Reset Content", - 206: "Partial Content", - 207: "Multi-Status", - 208: "Already Reported", - 226: "IM Used", - 300: "Multiple Choices", - 301: "Moved Permanently", - 302: "Found", - 303: "See Other", - 304: "Not Modified", - 305: "Use Proxy", - 306: "Switch Proxy", - 307: "Temporary Redirect", - 308: "Permanent Redirect", - 400: "Bad Request", - 401: "Unauthorized", - 402: "Payment Required", - 403: "Forbidden", - 404: "Not Found", - 405: "Method Not Allowed", - 406: "Not Acceptable", - 407: "Proxy Authentication Required", - 408: "Request Timeout", - 409: "Conflict", - 410: "Gone", - 411: "Length Required", - 412: "Precondition Failed", - 413: "Request Entity Too Large", - 414: "Request-URI Too Long", - 415: "Unsupported Media Type", - 416: "Request Range Not Satisfiable", - 417: "Expectation Failed", - 418: "I'm a teapot", - 420: "Enhance Your Calm", - 422: "Unprocessable Entity", - 423: "Locked", - 424: "Failed Dependency", - 426: "Upgrade Required", - 428: "Precondition Required", - 429: "Too Many Requests", - 431: "Request Header Fields Too Large", - 444: "No Response", - 449: "Retry With", - 450: "Blocked by Windows Parental Controls", - 451: "Wrong Exchange Server", - 499: "Client Closed Request", - 500: "Internal Server Error", - 501: "Not Implemented", - 502: "Bad Gateway", - 503: "Service Unavailable", - 504: "Gateway Timeout", - 505: "HTTP Version Not Supported", - 506: "Variant Also Negotiates", - 507: "Insufficient Storage", - 508: "Loop Detected", - 509: "Bandwidth Limit Exceeded", - 510: "Not Extended", - 511: "Network Authentication Required", - 598: "Network read timeout error", - 599: "Network connect timeout error", -} diff --git a/vendor/github.com/go-openapi/runtime/text.go b/vendor/github.com/go-openapi/runtime/text.go deleted file mode 100644 index f33320b7dd..0000000000 --- a/vendor/github.com/go-openapi/runtime/text.go +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "bytes" - "encoding" - "errors" - "fmt" - "io" - "reflect" - - "github.com/go-openapi/swag" -) - -// TextConsumer creates a new text consumer -func TextConsumer() Consumer { - return ConsumerFunc(func(reader io.Reader, data interface{}) error { - if reader == nil { - return errors.New("TextConsumer requires a reader") // early exit - } - - buf := new(bytes.Buffer) - _, err := buf.ReadFrom(reader) - if err != nil { - return err - } - b := buf.Bytes() - - // If the buffer is empty, no need to unmarshal it, which causes a panic. - if len(b) == 0 { - return nil - } - - if tu, ok := data.(encoding.TextUnmarshaler); ok { - err := tu.UnmarshalText(b) - if err != nil { - return fmt.Errorf("text consumer: %v", err) - } - - return nil - } - - t := reflect.TypeOf(data) - if data != nil && t.Kind() == reflect.Ptr { - v := reflect.Indirect(reflect.ValueOf(data)) - if t.Elem().Kind() == reflect.String { - v.SetString(string(b)) - return nil - } - } - - return fmt.Errorf("%v (%T) is not supported by the TextConsumer, %s", - data, data, "can be resolved by supporting TextUnmarshaler interface") - }) -} - -// TextProducer creates a new text producer -func TextProducer() Producer { - return ProducerFunc(func(writer io.Writer, data interface{}) error { - if writer == nil { - return errors.New("TextProducer requires a writer") // early exit - } - - if data == nil { - return errors.New("no data given to produce text from") - } - - if tm, ok := data.(encoding.TextMarshaler); ok { - txt, err := tm.MarshalText() - if err != nil { - return fmt.Errorf("text producer: %v", err) - } - _, err = writer.Write(txt) - return err - } - - if str, ok := data.(error); ok { - _, err := writer.Write([]byte(str.Error())) - return err - } - - if str, ok := data.(fmt.Stringer); ok { - _, err := writer.Write([]byte(str.String())) - return err - } - - v := reflect.Indirect(reflect.ValueOf(data)) - if t := v.Type(); t.Kind() == reflect.Struct || t.Kind() == reflect.Slice { - b, err := swag.WriteJSON(data) - if err != nil { - return err - } - _, err = writer.Write(b) - return err - } - if v.Kind() != reflect.String { - return fmt.Errorf("%T is not a supported type by the TextProducer", data) - } - - _, err := writer.Write([]byte(v.String())) - return err - }) -} diff --git a/vendor/github.com/go-openapi/runtime/values.go b/vendor/github.com/go-openapi/runtime/values.go deleted file mode 100644 index 11f5732af4..0000000000 --- a/vendor/github.com/go-openapi/runtime/values.go +++ /dev/null @@ -1,19 +0,0 @@ -package runtime - -// Values typically represent parameters on a http request. -type Values map[string][]string - -// GetOK returns the values collection for the given key. -// When the key is present in the map it will return true for hasKey. -// When the value is not empty it will return true for hasValue. -func (v Values) GetOK(key string) (value []string, hasKey bool, hasValue bool) { - value, hasKey = v[key] - if !hasKey { - return - } - if len(value) == 0 { - return - } - hasValue = true - return -} diff --git a/vendor/github.com/go-openapi/runtime/xml.go b/vendor/github.com/go-openapi/runtime/xml.go deleted file mode 100644 index 821c7393df..0000000000 --- a/vendor/github.com/go-openapi/runtime/xml.go +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package runtime - -import ( - "encoding/xml" - "io" -) - -// XMLConsumer creates a new XML consumer -func XMLConsumer() Consumer { - return ConsumerFunc(func(reader io.Reader, data interface{}) error { - dec := xml.NewDecoder(reader) - return dec.Decode(data) - }) -} - -// XMLProducer creates a new XML producer -func XMLProducer() Producer { - return ProducerFunc(func(writer io.Writer, data interface{}) error { - enc := xml.NewEncoder(writer) - return enc.Encode(data) - }) -} diff --git a/vendor/github.com/go-openapi/spec/.editorconfig b/vendor/github.com/go-openapi/spec/.editorconfig deleted file mode 100644 index 3152da69a5..0000000000 --- a/vendor/github.com/go-openapi/spec/.editorconfig +++ /dev/null @@ -1,26 +0,0 @@ -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true - -# Set default charset -[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] -charset = utf-8 - -# Tab indentation (no size specified) -[*.go] -indent_style = tab - -[*.md] -trim_trailing_whitespace = false - -# Matches the exact files either package.json or .travis.yml -[{package.json,.travis.yml}] -indent_style = space -indent_size = 2 diff --git a/vendor/github.com/go-openapi/spec/.gitignore b/vendor/github.com/go-openapi/spec/.gitignore deleted file mode 100644 index dd91ed6a04..0000000000 --- a/vendor/github.com/go-openapi/spec/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -secrets.yml -coverage.out diff --git a/vendor/github.com/go-openapi/spec/.golangci.yml b/vendor/github.com/go-openapi/spec/.golangci.yml deleted file mode 100644 index 835d55e742..0000000000 --- a/vendor/github.com/go-openapi/spec/.golangci.yml +++ /dev/null @@ -1,42 +0,0 @@ -linters-settings: - govet: - check-shadowing: true - golint: - min-confidence: 0 - gocyclo: - min-complexity: 45 - maligned: - suggest-new: true - dupl: - threshold: 200 - goconst: - min-len: 2 - min-occurrences: 2 - -linters: - enable-all: true - disable: - - maligned - - unparam - - lll - - gochecknoinits - - gochecknoglobals - - funlen - - godox - - gocognit - - whitespace - - wsl - - wrapcheck - - testpackage - - nlreturn - - gomnd - - exhaustivestruct - - goerr113 - - errorlint - - nestif - - godot - - gofumpt - - paralleltest - - tparallel - - thelper - - ifshort diff --git a/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/spec/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/spec/LICENSE b/vendor/github.com/go-openapi/spec/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/spec/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/spec/README.md b/vendor/github.com/go-openapi/spec/README.md deleted file mode 100644 index 18782c6daf..0000000000 --- a/vendor/github.com/go-openapi/spec/README.md +++ /dev/null @@ -1,34 +0,0 @@ -# OAI object model - -[![Build Status](https://travis-ci.org/go-openapi/spec.svg?branch=master)](https://travis-ci.org/go-openapi/spec) - -[![codecov](https://codecov.io/gh/go-openapi/spec/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/spec) -[![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/spec/master/LICENSE) -[![Go Reference](https://pkg.go.dev/badge/github.com/go-openapi/spec.svg)](https://pkg.go.dev/github.com/go-openapi/spec) -[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/spec)](https://goreportcard.com/report/github.com/go-openapi/spec) - -The object model for OpenAPI specification documents. - -### FAQ - -* What does this do? - -> 1. This package knows how to marshal and unmarshal Swagger API specifications into a golang object model -> 2. It knows how to resolve $ref and expand them to make a single root document - -* How does it play with the rest of the go-openapi packages ? - -> 1. This package is at the core of the go-openapi suite of packages and [code generator](https://github.com/go-swagger/go-swagger) -> 2. There is a [spec loading package](https://github.com/go-openapi/loads) to fetch specs as JSON or YAML from local or remote locations -> 3. There is a [spec validation package](https://github.com/go-openapi/validate) built on top of it -> 4. There is a [spec analysis package](https://github.com/go-openapi/analysis) built on top of it, to analyze, flatten, fix and merge spec documents - -* Does this library support OpenAPI 3? - -> No. -> This package currently only supports OpenAPI 2.0 (aka Swagger 2.0). -> There is no plan to make it evolve toward supporting OpenAPI 3.x. -> This [discussion thread](https://github.com/go-openapi/spec/issues/21) relates the full story. -> -> An early attempt to support Swagger 3 may be found at: https://github.com/go-openapi/spec3 diff --git a/vendor/github.com/go-openapi/spec/appveyor.yml b/vendor/github.com/go-openapi/spec/appveyor.yml deleted file mode 100644 index 0903593916..0000000000 --- a/vendor/github.com/go-openapi/spec/appveyor.yml +++ /dev/null @@ -1,32 +0,0 @@ -version: "0.1.{build}" - -clone_folder: C:\go-openapi\spec -shallow_clone: true # for startup speed -pull_requests: - do_not_increment_build_number: true - -#skip_tags: true -#skip_branch_with_pr: true - -# appveyor.yml -build: off - -environment: - GOPATH: c:\gopath - -stack: go 1.15 - -test_script: - - go test -v -timeout 20m ./... - -deploy: off - -notifications: - - provider: Slack - incoming_webhook: https://hooks.slack.com/services/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 - auth_token: - secure: Sf7kZf7ZGbnwWUMpffHwMu5A0cHkLK2MYY32LNTPj4+/3qC3Ghl7+9v4TSLOqOlCwdRNjOGblAq7s+GDJed6/xgRQl1JtCi1klzZNrYX4q01pgTPvvGcwbBkIYgeMaPeIRcK9OZnud7sRXdttozgTOpytps2U6Js32ip7uj5mHSg2ub0FwoSJwlS6dbezZ8+eDhoha0F/guY99BEwx8Bd+zROrT2TFGsSGOFGN6wFc7moCqTHO/YkWib13a2QNXqOxCCVBy/lt76Wp+JkeFppjHlzs/2lP3EAk13RIUAaesdEUHvIHrzCyNJEd3/+KO2DzsWOYfpktd+KBCvgaYOsoo7ubdT3IROeAegZdCgo/6xgCEsmFc9ZcqCfN5yNx2A+BZ2Vwmpws+bQ1E1+B5HDzzaiLcYfG4X2O210QVGVDLWsv1jqD+uPYeHY2WRfh5ZsIUFvaqgUEnwHwrK44/8REAhQavt1QAj5uJpsRd7CkRVPWRNK+yIky+wgbVUFEchRNmS55E7QWf+W4+4QZkQi7vUTMc9nbTUu2Es9NfvfudOpM2wZbn98fjpb/qq/nRv6Bk+ca+7XD5/IgNLMbWp2ouDdzbiHLCOfDUiHiDJhLfFZx9Bwo7ZwfzeOlbrQX66bx7xRKYmOe4DLrXhNcpbsMa8qbfxlZRCmYbubB/Y8h4= - channel: bots - on_build_success: false - on_build_failure: true - on_build_status_changed: true diff --git a/vendor/github.com/go-openapi/spec/bindata.go b/vendor/github.com/go-openapi/spec/bindata.go deleted file mode 100644 index afc83850c2..0000000000 --- a/vendor/github.com/go-openapi/spec/bindata.go +++ /dev/null @@ -1,297 +0,0 @@ -// Code generated by go-bindata. DO NOT EDIT. -// sources: -// schemas/jsonschema-draft-04.json (4.357kB) -// schemas/v2/schema.json (40.248kB) - -package spec - -import ( - "bytes" - "compress/gzip" - "crypto/sha256" - "fmt" - "io" - "io/ioutil" - "os" - "path/filepath" - "strings" - "time" -) - -func bindataRead(data []byte, name string) ([]byte, error) { - gz, err := gzip.NewReader(bytes.NewBuffer(data)) - if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) - } - - var buf bytes.Buffer - _, err = io.Copy(&buf, gz) - clErr := gz.Close() - - if err != nil { - return nil, fmt.Errorf("read %q: %v", name, err) - } - if clErr != nil { - return nil, err - } - - return buf.Bytes(), nil -} - -type asset struct { - bytes []byte - info os.FileInfo - digest [sha256.Size]byte -} - -type bindataFileInfo struct { - name string - size int64 - mode os.FileMode - modTime time.Time -} - -func (fi bindataFileInfo) Name() string { - return fi.name -} -func (fi bindataFileInfo) Size() int64 { - return fi.size -} -func (fi bindataFileInfo) Mode() os.FileMode { - return fi.mode -} -func (fi bindataFileInfo) ModTime() time.Time { - return fi.modTime -} -func (fi bindataFileInfo) IsDir() bool { - return false -} -func (fi bindataFileInfo) Sys() interface{} { - return nil -} - -var _jsonschemaDraft04Json = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x57\x3d\x6f\xdb\x3c\x10\xde\xf3\x2b\x08\x26\x63\xf2\x2a\x2f\xd0\xc9\x5b\xd1\x2e\x01\x5a\x34\x43\x37\x23\x03\x6d\x9d\x6c\x06\x14\xa9\x50\x54\x60\xc3\xd0\x7f\x2f\x28\x4a\x14\x29\x91\x92\x2d\xa7\x8d\x97\x28\xbc\xaf\xe7\x8e\xf7\xc5\xd3\x0d\x42\x08\x61\x9a\xe2\x15\xc2\x7b\xa5\x8a\x55\x92\xbc\x96\x82\x3f\x94\xdb\x3d\xe4\xe4\x3f\x21\x77\x49\x2a\x49\xa6\x1e\x1e\xbf\x24\xe6\xec\x16\xdf\x1b\xa1\x3b\xf3\xff\x02\xc9\x14\xca\xad\xa4\x85\xa2\x82\x6b\xe9\x6f\x42\x02\x32\x2c\x28\x07\x45\x5a\x15\x3d\x77\x46\x39\xd5\xcc\x25\x5e\x21\x83\xb8\x21\x18\xb6\xaf\x52\x92\xa3\x47\x68\x88\xea\x58\x80\x56\x4e\x1a\xf2\xbd\x4f\xcc\x29\x7f\x52\x90\x6b\x7d\xff\x0f\x48\xb4\x3d\x3f\x21\x7c\x27\x21\xd3\x2a\x6e\x31\xaa\x2d\x53\xdd\xf3\xe3\x42\x94\x54\xd1\x77\x78\xe2\x0a\x76\x20\xe3\x20\x68\xcb\x30\x86\x41\xf3\x2a\xc7\x2b\xf4\x78\x8e\xfe\xef\x90\x91\x8a\xa9\xc7\xb1\x1d\xc2\xd8\x2f\x0d\x75\xed\xc1\x4e\x9c\xc8\x25\x43\xac\xa8\xbe\xd7\xcc\xa9\xd1\xa9\x21\xa0\x1a\xbd\x04\x61\x94\x34\x2f\x18\xfc\x3e\x16\x50\x8e\x4d\x03\x6f\x1c\x58\xdb\x48\x23\xbc\x11\x82\x01\xe1\xfa\xd3\x3a\x8e\x30\xaf\x18\x33\x7f\xf3\x8d\x39\x11\x9b\x57\xd8\x2a\xfd\x55\x2a\x49\xf9\x0e\xc7\xec\x37\xd4\x25\xf7\xec\x5c\x66\xc7\xd7\x99\xaa\xcf\x4f\x89\x8a\xd3\xb7\x0a\x3a\xaa\x92\x15\xf4\x30\x6f\x1c\xb0\xd6\x46\xe7\x98\x39\x2d\xa4\x28\x40\x2a\x3a\x88\x9e\x29\xba\x88\x37\x2d\xca\x60\x38\xfa\xba\x5b\x20\xac\xa8\x62\xb0\x4c\xd4\xaf\xda\x45\x0a\xba\x5c\x3b\xb9\xc7\x79\xc5\x14\x2d\x18\x34\x19\x1c\x51\xdb\x25\x4d\xb4\x7e\x06\x14\x38\x6c\x59\x55\xd2\x77\xf8\x69\x59\xfc\x7b\x73\xed\x93\x43\xcb\x32\x6d\x3c\x28\xdc\x1b\x9a\xd3\x62\xab\xc2\x27\xf7\x41\xc9\x08\x2b\x23\x08\xad\x13\x57\x21\x9c\xd3\x72\x0d\x42\x72\xf8\x01\x7c\xa7\xf6\x83\xce\x39\xd7\x82\x3c\x1f\x2f\xd6\x60\x1b\xa2\xdf\x35\x89\x52\x20\xe7\x73\x74\xe0\x66\x26\x64\x4e\xb4\x97\x58\xc2\x0e\x0e\xe1\x60\x92\x34\x6d\xa0\x10\xd6\xb5\x83\x61\x27\xe6\x47\xd3\x89\xbd\x63\xfd\x3b\x8d\x03\x3d\x6c\x42\x2d\x5b\x70\xee\xe8\xdf\x4b\xf4\x66\x4e\xe1\x01\x45\x17\x80\x74\xad\x4f\xc3\xf3\xae\xc6\x1d\xc6\xd7\xc2\xce\xc9\xe1\x29\x30\x86\x2f\x4a\xa6\x4b\x15\x84\x73\xc9\x6f\xfd\x7f\xa5\x6e\x9e\xbd\xf1\xb0\xd4\xdd\x45\x5a\xc2\x3e\x4b\x78\xab\xa8\x84\x74\x4a\x91\x3b\x92\x23\x05\xf2\x1c\x1e\x7b\xf3\x09\xf8\xcf\xab\x24\xb6\x60\xa2\xe8\x4c\x9f\x75\x77\xaa\x8c\xe6\x01\x45\x36\x86\xcf\xc3\x63\x3a\xea\xd4\x8d\x7e\x06\xac\x14\x0a\xe0\x29\xf0\xed\x07\x22\x1a\x65\xda\x44\xae\xa2\x73\x1a\xe6\x90\x69\xa2\x8c\x46\xb2\x2f\xde\x49\x38\x08\xed\xfe\xfd\x41\xaf\x9f\xa9\x55\xd7\xdd\x22\x8d\xfa\x45\x63\xc5\x0f\x80\xf3\xb4\x08\xd6\x79\x30\x9e\x93\xee\x59\xa6\xd0\x4b\xee\x22\xe3\x33\xc1\x3a\x27\x68\x36\x78\x7e\x87\x0a\x06\xd5\x2e\x20\xd3\xaf\x15\xfb\xd8\x3b\x73\x14\xbb\x92\xed\x05\x5d\x2e\x29\x38\x2c\x94\xe4\x42\x45\x5e\xd3\xb5\x7d\xdf\x47\xca\x38\xb4\x5c\xaf\xfb\x7d\xdd\x6d\xf4\xa1\x2d\x77\xdd\x2f\xce\x6d\xc4\x7b\x8b\x4e\x67\xa9\x6f\xfe\x04\x00\x00\xff\xff\xb1\xd1\x27\x78\x05\x11\x00\x00") - -func jsonschemaDraft04JsonBytes() ([]byte, error) { - return bindataRead( - _jsonschemaDraft04Json, - "jsonschema-draft-04.json", - ) -} - -func jsonschemaDraft04Json() (*asset, error) { - bytes, err := jsonschemaDraft04JsonBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "jsonschema-draft-04.json", size: 4357, mode: os.FileMode(0640), modTime: time.Unix(1568963823, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe1, 0x48, 0x9d, 0xb, 0x47, 0x55, 0xf0, 0x27, 0x93, 0x30, 0x25, 0x91, 0xd3, 0xfc, 0xb8, 0xf0, 0x7b, 0x68, 0x93, 0xa8, 0x2a, 0x94, 0xf2, 0x48, 0x95, 0xf8, 0xe4, 0xed, 0xf1, 0x1b, 0x82, 0xe2}} - return a, nil -} - -var _v2SchemaJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x5d\x4f\x93\xdb\x36\xb2\xbf\xfb\x53\xa0\x14\x57\xd9\xae\xd8\x92\xe3\xf7\x2e\xcf\x97\xd4\xbc\xd8\x49\x66\x37\x5e\x4f\x79\x26\xbb\x87\x78\x5c\x05\x91\x2d\x09\x09\x09\x30\x00\x38\x33\x5a\xef\x7c\xf7\x2d\xf0\x9f\x08\x02\x20\x41\x8a\xd2\xc8\x0e\x0f\xa9\x78\x28\xa0\xd1\xdd\x68\x34\x7e\xdd\xf8\xf7\xf9\x11\x42\x33\x49\x64\x04\xb3\xd7\x68\x76\x86\xfe\x76\xf9\xfe\x1f\xe8\x32\xd8\x40\x8c\xd1\x8a\x71\x74\x79\x8b\xd7\x6b\xe0\xe8\xd5\xfc\x25\x3a\xbb\x38\x9f\xcf\x9e\xab\x0a\x24\x54\xa5\x37\x52\x26\xaf\x17\x0b\x91\x17\x99\x13\xb6\xb8\x79\xb5\x10\x59\xdd\xf9\xef\x82\xd1\x6f\xf2\xc2\x8f\xf3\x4f\xb5\x1a\xea\xc7\x17\x45\x41\xc6\xd7\x8b\x90\xe3\x95\x7c\xf1\xf2\x7f\x8b\xca\x45\x3d\xb9\x4d\x32\xa6\xd8\xf2\x77\x08\x64\xfe\x8d\xc3\x9f\x29\xe1\xa0\x9a\xff\xed\x11\x42\x08\xcd\x8a\xd6\xb3\x9f\x15\x67\x74\xc5\xca\x7f\x27\x58\x6e\xc4\xec\x11\x42\xd7\x59\x5d\x1c\x86\x44\x12\x46\x71\x74\xc1\x59\x02\x5c\x12\x10\xb3\xd7\x68\x85\x23\x01\x59\x81\x04\x4b\x09\x9c\x6a\xbf\x7e\xce\x49\x7d\xba\x7b\x51\xfd\xa1\x44\xe2\xb0\x52\xac\x7d\xb3\x08\x61\x45\x68\x46\x56\x2c\x6e\x80\x86\x8c\xbf\xbd\x93\x40\x05\x61\x74\x96\x95\xbe\x7f\x84\xd0\x7d\x4e\xde\x42\xb7\xe4\xbe\x46\xbb\x14\x5b\x48\x4e\xe8\xba\x90\x05\xa1\x19\xd0\x34\xae\xc4\xce\xbe\xbc\x9a\xbf\x9c\x15\x7f\x5d\x57\xc5\x42\x10\x01\x27\x89\xe2\x48\x51\xb9\xda\x40\xd5\x87\x37\xc0\x15\x5f\x88\xad\x90\xdc\x10\x81\x42\x16\xa4\x31\x50\x39\x2f\x38\xad\xab\xb0\x53\xd8\xac\x94\x56\x6f\xc3\x84\xf4\x11\xa4\x50\xb3\xfa\xe9\xd3\x6f\x9f\x3e\xdf\x2f\xd0\xeb\x8f\x1f\x3f\x7e\xbc\xfe\xf6\xe9\xf7\xaf\x5f\x7f\xfc\x18\x7e\xfb\xec\xfb\xc7\xb3\x36\x79\x54\x43\xe8\x29\xc5\x31\x20\xc6\x11\x49\x9e\xe5\x12\x41\x66\xa0\xe8\xed\x1d\x8e\x93\x08\x5e\xa3\x27\x3b\xc3\x7c\xa2\x73\xba\xc4\x02\x2e\xb0\xdc\xf4\xe5\x76\xd1\xca\x96\xa2\x8a\x94\xcd\x21\xc9\x6c\xec\x2c\x70\x42\x9e\x34\x74\x9d\x19\x7c\xcd\x20\x9c\xea\x2e\x0a\xfe\x42\x84\xd4\x29\x04\x8c\x8a\xb4\x41\xa2\xc1\xdc\x19\x8a\x88\x90\x4a\x49\xef\xce\xdf\xbd\x45\x4a\x52\x81\x70\x10\x40\x22\x21\x44\xcb\x6d\xc5\xec\x4e\x3c\x1c\x45\xef\x57\x9a\xb5\x7d\xae\xfe\xe5\xe4\x31\x86\x90\xe0\xab\x6d\x02\x3b\x2e\xcb\x11\x90\xd9\xa8\xc6\x77\xc2\x59\x98\x06\xfd\xf9\x2e\x78\x45\x01\xa6\xa8\xa0\x71\x5c\xbe\x33\xa7\xd2\xd9\x5f\x95\xef\xd9\xd5\xac\xfd\xdc\x5d\xbf\x5e\xb8\xd1\x3e\xc7\x31\x48\xe0\x5e\x4c\x14\x65\xdf\xb8\xa8\x71\x10\x09\xa3\xc2\xc7\x02\xcb\xa2\x4e\x5a\x02\x82\x94\x13\xb9\xf5\x30\xe6\xb2\xa4\xb5\xfe\x9b\x3e\x7a\xb2\x55\xd2\xa8\x4a\xbc\x16\xb6\x71\x8e\x39\xc7\xdb\x9d\xe1\x10\x09\x71\xbd\x9c\xb3\x41\x89\xd7\xa5\x89\xdc\x57\xb5\x53\x4a\xfe\x4c\xe1\xbc\xa0\x21\x79\x0a\x1a\x0f\x70\xa7\x5c\x08\x8e\xde\xb0\xc0\x43\x24\xad\x74\x63\x0e\xb1\xd9\x90\xe1\xb0\x2d\x13\xa7\x6d\x78\xfd\x04\x14\x38\x8e\x90\xaa\xce\x63\xac\x3e\x23\xbc\x64\xa9\xb4\xf8\x03\x63\xde\xcd\xbe\x16\x13\x4a\x55\xac\x82\x12\xc6\xac\xd4\x35\xf7\x22\xd4\x3a\xff\x22\x73\x0e\x6e\x51\xa0\x75\x1e\xae\x8f\xe8\x5d\xc7\x59\xe6\xe4\x9a\x18\x8d\xd6\x1c\x53\x84\x4d\xb7\x67\x28\x37\x09\x84\x69\x88\x12\x0e\x01\x11\x80\x32\xa2\xf5\xb9\xaa\xc6\xd9\x73\x53\xab\xfb\xb4\x2e\x20\xc6\x54\x92\xa0\x9a\xf3\x69\x1a\x2f\x81\x77\x37\xae\x53\x1a\xce\x40\xc4\xa8\x82\x1c\xb5\xef\xda\x24\x7d\xb9\x61\x69\x14\xa2\x25\xa0\x90\xac\x56\xc0\x81\x4a\xb4\xe2\x2c\xce\x4a\x64\x7a\x9a\x23\xf4\x13\x91\x3f\xa7\x4b\xf4\x63\x84\x6f\x18\x87\x10\xbd\xc3\xfc\x8f\x90\xdd\x52\x44\x04\xc2\x51\xc4\x6e\x21\x74\x48\x21\x81\xc7\xe2\xfd\xea\x12\xf8\x0d\x09\xf6\xe9\x47\x35\xaf\x67\xc4\x14\xf7\x22\x27\x97\xe1\xe2\x76\x2d\x06\x8c\x4a\x1c\x48\x3f\x73\x2d\x0b\x5b\x29\x45\x24\x00\x2a\x0c\x11\xec\x94\xca\xc2\xa6\xc1\x37\x21\x43\x83\x3b\x5f\x97\xf1\x43\x5e\x53\x73\x19\xa5\x36\xd8\x2d\x05\x2e\x34\x0b\xeb\x39\xfc\x1d\x63\x51\x01\xbd\x3d\xbb\x90\x84\x40\x25\x59\x6d\x09\x5d\xa3\x1c\x37\xe6\x5c\x16\x9a\x40\x09\x70\xc1\xe8\x82\xf1\x35\xa6\xe4\xdf\x99\x5c\x8e\x9e\x4d\x79\xb4\x27\x2f\xbf\x7e\xf8\x05\x25\x8c\x50\xa9\x98\x29\x90\x62\x60\xea\x75\xae\x13\xca\xbf\x2b\x1a\x29\x27\x76\xd6\x20\xc6\x64\x5f\xe6\x32\x1a\x08\x87\x21\x07\x21\xbc\xb4\xe4\xe0\x32\x67\xa6\xcd\xf3\x1e\xcd\xd9\x6b\xb6\x6f\x8e\x27\xa7\xed\xdb\xe7\xbc\xcc\x1a\x07\xce\x6f\x87\x33\xf0\xba\x51\x17\x22\x66\x78\x79\x8e\xce\xe5\x13\x81\x80\x06\x2c\xe5\x78\x0d\xa1\xb2\xb8\x54\xa8\x79\x09\xbd\xbf\x3c\x47\x01\x8b\x13\x2c\xc9\x32\xaa\xaa\x1d\xd5\xee\xab\x36\xbd\x6c\xfd\x54\x6c\xc8\x08\x01\x3c\xbd\xe7\x07\x88\xb0\x24\x37\x79\x90\x28\x4a\x1d\x10\x1a\x92\x1b\x12\xa6\x38\x42\x40\xc3\x4c\x43\x62\x8e\xae\x36\xb0\x45\x71\x2a\xa4\x9a\x23\x79\x59\xb1\xa8\xf2\xa4\x0c\x60\x9f\xcc\x8d\x40\xf5\x80\xca\xa8\x99\xc3\xa7\x85\x1f\x31\x25\xa9\x82\xc5\x6d\xbd\xd8\x36\x76\x7c\x02\x28\x97\xf6\x1d\x74\x3b\x11\x7e\x91\xae\x32\xf8\x6c\xf4\xe6\x7b\x9a\xa5\x1f\x62\xc6\x21\xcf\x9a\xe5\xed\x8b\x02\xf3\x2c\x33\x33\xdf\x00\xca\xc9\x09\xb4\x04\xf5\xa5\x08\xd7\xc3\x02\x18\x66\xf1\xab\x1e\x83\x37\x4c\xcd\x12\xc1\x1d\x50\xf6\xaa\xbd\xfe\xe2\x73\x48\x38\x08\xa0\x32\x9b\x18\x44\x86\x0b\x6a\xc1\xaa\x26\x96\x2d\x96\x3c\xa0\x54\x65\x73\xe3\x08\xb5\x8b\x99\xbd\x82\xbc\x9e\xc2\xe8\x53\x46\x83\x3f\x33\x54\x2b\x5b\xad\x92\x79\xd9\x8f\x5d\x93\x98\xf2\xe6\xc6\x1c\xe6\x9a\x9e\xfc\x43\x82\x31\x66\x8e\x53\x77\xfe\x90\xe7\xf3\xf6\xe9\x62\x23\x3f\x10\x93\x18\xae\x72\x1a\x9d\xf9\x48\xcb\xcc\x5a\x65\xc7\x4a\x04\xf0\xf3\xd5\xd5\x05\x8a\x41\x08\xbc\x86\x86\x43\x51\x6c\xe0\x46\x57\xf6\x44\x40\x0d\xfb\xff\xa2\xc3\x7c\x3d\x39\x84\xdc\x09\x22\x64\x4f\x12\xd9\xba\xaa\xf6\xe3\xbd\x56\xdd\x91\x25\x6a\x14\x9c\x89\x34\x8e\x31\xdf\xee\x15\x7e\x2f\x39\x81\x15\x2a\x28\x95\x66\x51\xf5\xfd\x83\xc5\xfe\x15\x07\xcf\xf7\x08\xee\x1d\x8e\xb6\xc5\x52\xcc\x8c\x5a\x93\x66\xc5\xd8\x79\x38\x46\xd6\xa7\x88\x37\xc9\x2e\xe3\xd2\xa5\x7b\x4b\x3a\xdc\xa1\xdc\x9e\x29\xf1\x8c\x8a\x99\x16\x47\x8d\xd4\x78\x8b\xf6\x1c\xe9\x71\x54\x1b\x69\xa8\x4a\x93\x37\xe5\xb2\x2c\x4f\x0c\x92\xab\xa0\x73\x32\x72\x59\xd3\xf0\x2d\x8d\xed\xca\x37\x16\x19\x9e\xdb\x1c\xab\x17\x49\xc3\x0f\x37\xdc\x88\xb1\xb4\xd4\x42\xcb\x58\x5e\x6a\x52\x0b\x15\x10\x0a\xb0\x04\xe7\xf8\x58\x32\x16\x01\xa6\xcd\x01\xb2\xc2\x69\x24\x35\x38\x6f\x30\x6a\xae\x1b\xb4\x71\xaa\xad\x1d\xa0\xd6\x20\x2d\x8b\x3c\xc6\x82\x62\x27\x34\x6d\x15\x84\x7b\x43\xb1\x35\x78\xa6\x24\x77\x28\xc1\x6e\xfc\xe9\x48\x74\xf4\x15\xe3\xe1\x84\x42\x88\x40\x7a\x26\x49\x3b\x48\xb1\xa4\x19\x8e\x0c\xa7\xb5\x01\x6c\x0c\x97\x61\x8a\xc2\x32\xd8\x8c\x44\x69\x24\xbf\x65\x1d\x74\xd6\xe5\x44\xef\xec\x48\x5e\xb7\x8a\xa3\x29\x8e\x41\x64\xce\x1f\x88\xdc\x00\x47\x4b\x40\x98\x6e\xd1\x0d\x8e\x48\x98\x63\x5c\x21\xb1\x4c\x05\x0a\x58\x98\xc5\x6d\x4f\x0a\x77\x53\x4f\x8b\xc4\x44\x1f\xb2\xdf\x8d\x3b\xea\x9f\xfe\xf6\xf2\xc5\xff\x5d\x7f\xfe\x9f\xfb\x67\x8f\xff\xf3\xe9\x69\xd1\xfe\xb3\xc7\xfd\x3c\xf8\x3f\x71\x94\x82\x23\xd1\x72\x00\xb7\x42\x99\x6c\xc0\x60\x7b\x0f\x79\xea\xa8\x53\x4b\x56\x31\xfa\x0b\x52\x9f\x96\xdb\xcd\x2f\xd7\x67\xcd\x04\x19\x85\xfe\xdb\x02\x9a\x59\x03\xad\x63\x3c\xea\xff\x2e\x18\xfd\x00\xd9\xe2\x56\x60\x59\x93\xb9\xb6\xb2\x3e\x3c\x2c\xab\x0f\xa7\xb2\x89\x43\xc7\xf6\xd5\xce\x2e\xad\xa6\xa9\xed\xa6\xc6\x5a\xb4\xa6\x67\xdf\x8c\x26\x7b\x50\x5a\x91\x08\x2e\x6d\xd4\x3a\xc1\x9d\xf2\xdb\xde\x1e\xb2\x2c\x6c\xa5\x64\xc9\x16\xb4\x90\xaa\x4a\xb7\x0c\xde\x13\xc3\x2a\x9a\x11\x9b\x7a\x1b\x3d\x95\x97\x37\x31\x6b\x69\x7e\x34\xc0\x67\x1f\x66\x19\x49\xef\xf1\x25\xf5\xac\x0e\xea\x0a\x28\x8d\x4d\x7e\xd9\x57\x4b\x49\xe5\xc6\xb3\x25\xfd\xe6\x57\x42\x25\xac\xcd\xcf\x36\x74\x8e\xca\x24\x47\xe7\x80\xa8\x92\x72\xbd\x3d\x84\x2d\x65\xe2\x82\x1a\x9c\xc4\x44\x92\x1b\x10\x79\x8a\xc4\x4a\x2f\x60\x51\x04\x81\xaa\xf0\xa3\x95\x27\xd7\x12\x7b\xa3\x96\x03\x45\x96\xc1\x8a\x07\xc9\xb2\xb0\x95\x52\x8c\xef\x48\x9c\xc6\x7e\x94\xca\xc2\x0e\x07\x12\x44\xa9\x20\x37\xf0\xae\x0f\x49\xa3\x96\x9d\x4b\x42\x7b\x70\x59\x14\xee\xe0\xb2\x0f\x49\xa3\x96\x4b\x97\xbf\x00\x5d\x4b\x4f\xfc\xbb\x2b\xee\x92\xb9\x17\xb5\xaa\xb8\x0b\x97\x17\x9b\x43\xfd\xd6\xc2\xb2\xc2\x2e\x29\xcf\xfd\x87\x4a\x55\xda\x25\x63\x1f\x5a\x65\x69\x2b\x2d\x3d\x67\xe9\x41\xae\x5e\xc1\x6e\x2b\xd4\xdb\x3e\xa8\xd3\x26\xd2\x48\x92\x24\xca\x61\x86\x8f\x8c\xbb\xf2\x8e\x91\xdf\x1f\x06\x19\x33\xf3\x03\x4d\xba\xcd\xe2\x2d\xfb\x69\xe9\x16\x15\x13\xd5\x56\x85\x4e\x3c\x5b\x8a\xbf\x25\x72\x83\xee\x5e\x20\x22\xf2\xc8\xaa\x7b\xdb\x8e\xe4\x29\x58\xca\x38\xb7\x3f\x2e\x59\xb8\xbd\xa8\x16\x16\xf7\xdb\x79\x51\x9f\x5a\xb4\x8d\x87\x3a\x6e\xbc\x3e\xc5\xb4\xcd\x58\xf9\xf5\x3c\xb9\x6f\x49\xaf\x57\xc1\xfa\x1c\x5d\x6d\x88\x8a\x8b\xd3\x28\xcc\xb7\xef\x10\x8a\x4a\x74\xa9\x4a\xa7\x62\xbf\x0d\x76\x23\x6f\x59\xd9\x31\xee\x40\x11\xfb\x28\xec\x8d\x22\x1c\x13\x5a\x64\x94\x23\x16\x60\xbb\xd2\x7c\xa0\x98\xb2\xe5\x6e\xbc\x54\x33\xe0\x3e\xb9\x52\x17\xdb\xb7\x1b\xc8\x12\x20\x8c\x23\xca\x64\x7e\x78\xa3\x62\x5b\x75\x56\xd9\x9e\x2a\x91\x27\xb0\x70\x34\x1f\x90\x89\xb5\x86\x73\x7e\x71\xda\x1e\xfb\x3a\x72\xdc\x5e\x79\x88\xcb\x74\x79\xd9\x64\xe4\xd4\xc2\x9e\xce\xb1\xfe\x85\x5a\xc0\xe9\x0c\x34\x3d\xd0\x43\xce\xa1\x36\x39\xd5\xa1\x4e\xf5\xf8\xb1\xa9\x23\x08\x75\x84\xac\x53\x6c\x3a\xc5\xa6\x53\x6c\x3a\xc5\xa6\x7f\xc5\xd8\xf4\x51\xfd\xff\x25\x4e\xfa\x33\x05\xbe\x9d\x60\xd2\x04\x93\x6a\x5f\x33\x9b\x98\x50\xd2\xe1\x50\x52\xc6\xcc\xdb\x38\x91\xdb\xe6\xaa\xa2\x8f\xa1\x6a\xa6\xd4\xc6\x56\xd6\x8c\x40\x02\x68\x48\xe8\x1a\xe1\x9a\xd9\x2e\xb7\x05\xc3\x34\xda\x2a\xbb\xcd\x12\x36\x98\x22\x50\x4c\xa1\x1b\xc5\xd5\x84\xf0\xbe\x24\x84\xf7\x2f\x22\x37\xef\x94\xd7\x9f\xa0\xde\x04\xf5\x26\xa8\x37\x41\x3d\x64\x40\x3d\xe5\xf2\xde\x60\x89\x27\xb4\x37\xa1\xbd\xda\xd7\xd2\x2c\x26\xc0\x37\x01\x3e\x1b\xef\x5f\x06\xe0\x6b\x7c\x5c\x91\x08\x26\x10\x38\x81\xc0\x09\x04\x76\x4a\x3d\x81\xc0\xbf\x12\x08\x4c\xb0\xdc\x7c\x99\x00\xd0\x75\x70\xb4\xf8\x5a\x7c\xea\xde\x3e\x39\x08\x30\x5a\x27\x35\xed\xb4\x65\xad\x69\x74\x10\x88\x79\xe2\x30\x52\x19\xd6\x04\x21\xa7\x95\xd5\x0e\x03\xf8\xda\x20\xd7\x84\xb4\x26\xa4\x35\x21\xad\x09\x69\x21\x03\x69\x51\x46\xff\xff\x18\x9b\x54\xed\x87\x47\x06\x9d\x4e\x73\x6e\x9a\xb3\xa9\xce\x83\x5e\x4b\xc6\x71\x20\x45\xd7\x72\xf5\x40\x72\x0e\x34\x6c\xf4\x6c\xf3\xba\x5e\x4b\x97\x0e\x52\xb8\xbe\x8b\x79\xa0\x10\x86\xa1\x75\xb0\x6f\xec\xc8\xf4\x3d\x4d\x7b\x86\xc2\x02\x31\x12\x51\xbf\x07\x94\xad\x10\xd6\x2e\x79\xcf\xe9\x1c\xf5\x1e\x31\x23\x5c\x18\xfb\x9c\xfb\x70\xe0\x62\xbd\xf7\xb5\x94\xcf\xf3\xf6\xfa\xc5\x4e\x9c\x85\x76\x1d\xae\x37\xbc\xde\xa3\x41\xcb\x29\xd0\x5e\x70\x67\x50\x93\x6d\x98\xa8\xd3\x67\x0f\x68\xb1\xeb\x38\x47\x07\x10\x1b\xd2\xe2\x18\x68\x6d\x40\xbb\xa3\x40\xba\x21\xf2\x8e\x81\xfb\xf6\x92\x77\x2f\x70\xe8\xdb\xb2\x36\xbf\x30\x91\xc5\x21\xe7\x45\xcc\x34\x0c\x48\x8e\xd0\xf2\x9b\x7c\x3c\xbd\x1c\x04\x3e\x07\xe8\x7c\x2f\x84\x7a\x48\x4d\x1f\xba\xe1\x76\x45\x7b\x60\xe0\x01\xca\xee\x04\xca\x31\xbe\x73\x5f\xa3\x70\x0c\xad\x1f\xa5\xf5\x76\xd5\xbb\xd2\x7e\xfb\x30\x90\xcf\xfa\x67\x7a\xe6\xc3\x37\x42\x19\xe2\xc9\x9c\x61\x4c\xe7\xd1\x77\x55\x86\x6e\x8f\x7b\x85\x42\x33\xa3\xaa\x57\xae\xfd\xd5\xcc\x9c\x56\x68\xe2\xde\x0e\xa8\x2c\xa9\xb0\x7d\xf0\x54\x2d\x80\xf2\x48\x39\x3d\x98\x1a\x6d\x0b\x9d\xba\x53\xfb\xce\xf8\xd1\x7e\xbb\x60\x4f\x06\xf5\xce\xda\xab\xeb\xca\xcb\xd5\xac\x20\xda\x72\x3b\xa2\x4b\x38\xd7\xb5\x89\xbe\x42\xd9\xb9\x73\xc4\x0c\x6d\xb7\xd9\xf8\x8d\xbd\x3e\x9c\xf5\x53\x68\x48\x14\x36\x8f\x09\xc5\x92\xf1\x21\xd1\x09\x07\x1c\xbe\xa7\x91\xf3\x6a\xc8\xc1\x57\xb0\xdd\xc5\xc6\x1d\xad\x76\x1d\xa8\x82\x0e\x4c\x38\xfe\xa5\x8c\xc5\x0a\x40\x5d\xa1\xbb\x98\xd1\xfb\x74\x61\xed\x1a\x98\xaf\x3c\x8c\x1e\xe3\xc2\x92\x29\x74\x3e\x99\xd0\xf9\x41\x50\xd0\x38\x4b\x57\x7e\x5b\x7a\x0e\xe6\xce\x4e\xd7\x19\x35\x57\xbb\x3c\x3c\xd2\x5e\x4f\x4b\x4c\xf7\x0f\x4d\x2b\x91\x5d\x94\xa6\x95\xc8\x69\x25\x72\x5a\x89\x7c\xb8\x95\xc8\x07\x80\x8c\xda\x9c\x64\x7b\xb7\x71\xdf\x57\x12\x4b\x9a\x1f\x72\x0c\x13\x03\xad\x3c\xd5\x4e\xde\x8e\x57\x13\x6d\x34\x86\xcf\x97\xe6\xa4\x68\xc4\xb0\xf6\xc9\xc2\xeb\x8d\x0b\xd7\xcd\xfe\xba\xa6\xf5\x30\xeb\x30\x33\xbe\xc7\x56\x27\xab\x08\xd9\x6d\xbb\x09\xee\x7c\x2d\xcf\xee\x87\x38\xac\xc8\xdd\x90\x9a\x58\x4a\x4e\x96\xa9\x79\x79\xf3\xde\x20\xf0\x96\xe3\x24\x19\xeb\xba\xf2\x53\x19\xab\x12\xaf\x47\xb3\xa0\x3e\xef\x9b\x8d\x6d\x6d\x7b\xde\x3b\x3b\x1a\xc0\x3f\x95\x7e\xed\x78\xfb\x76\xb8\xaf\xb3\xdd\xc5\xeb\x95\xed\x5a\x62\x41\x82\xb3\x54\x6e\x80\x4a\x92\x6f\x36\xbd\x34\xae\xde\x6f\xa4\xc0\xbc\x08\xe3\x84\xfc\x1d\xb6\xe3\xd0\x62\x38\x95\x9b\x57\xe7\x71\x12\x91\x80\xc8\x31\x69\x5e\x60\x21\x6e\x19\x0f\xc7\xa4\x79\x96\x28\x3e\x47\x54\x65\x41\x36\x08\x40\x88\x1f\x58\x08\x56\xaa\xd5\xbf\xaf\xad\x96\xd7\xd6\xcf\x87\xf5\x34\x0f\x71\x93\x6e\x26\xed\x98\x5b\x9f\x4f\xcf\x95\x34\xc6\xd7\x11\xfa\xb0\x81\x22\x1a\xdb\xdf\x8e\xdc\xc3\xb9\xf8\xdd\x5d\x3c\x74\xe6\xea\xb7\x8b\xbf\xf5\x6e\xb3\x46\x2e\x64\xf4\xab\x3c\x4e\xcf\x36\x1d\xfe\xfa\xb8\x36\xba\x8a\xd8\xad\xf6\xc6\x41\x2a\x37\x8c\x17\x0f\xda\xfe\xda\xe7\x65\xbc\x71\x2c\x36\x57\x8a\x47\x12\x4c\xf1\xbd\x77\x6b\xa4\x50\x7e\x77\x7b\x22\x60\x89\xef\xcd\xf5\xb9\x0c\x97\x79\x0d\x2b\x35\x43\xcb\x3d\x24\xf1\x78\xfc\xf8\xcb\x1f\x15\x06\xe2\x78\xd8\x51\x21\xd9\x1f\xf0\xf5\x8f\x86\xa4\x50\xfa\xb1\x47\x43\xa5\xdd\x69\x14\xe8\xa3\xc0\x86\x91\xa7\x81\x50\xb4\x7c\xc0\x81\x80\x77\x7a\x9f\xc6\xc2\xa9\x8c\x05\x33\xb0\x3b\x31\xa4\xf4\xd7\x1b\x26\x55\x97\x7c\x65\xf8\x69\x1a\x84\x8e\x41\x78\xd9\xec\xc5\x11\x16\x1e\x74\x91\xf5\x56\xf5\x57\x49\x47\x5c\x92\xa9\x1e\x99\x36\xf4\xdb\xb1\x0e\xd3\x78\x02\xb0\x9b\x25\xcb\xe9\xe9\x1d\x0d\x44\x01\x42\x08\x91\x64\xd9\xdd\x37\x08\x17\xef\xf9\xe5\x0f\xbd\x46\x91\xf5\xf9\x89\x92\x37\xdd\x89\x59\x44\x1f\x9c\xee\x34\x1e\xbe\x47\x83\x32\x72\x8e\x37\xdf\xac\x69\x38\xef\x75\xb0\xda\xdb\xac\x83\x94\x2f\x39\xa6\x62\x05\x1c\x25\x9c\x49\x16\xb0\xa8\x3c\xc7\x7e\x76\x71\x3e\x6f\xb5\x24\xe7\xe8\xb7\xb9\xc7\x6c\x43\x92\xee\x21\xd4\x17\xa1\x7f\xba\x35\xfe\xae\x39\xbc\xde\xba\x69\xd9\x8e\xe1\x62\xde\x64\x7d\x16\x88\x1b\xed\x29\x11\xfd\x4f\xa9\xff\x99\x90\xc4\xf6\xf4\xf9\x6e\xe9\x28\x23\xd7\xca\xe5\xee\xee\x9f\x63\xb1\x5b\xfb\x10\xd7\x2f\x1d\xf2\xe3\xbf\xb9\xb5\x6f\xa4\x6d\x7d\x25\x79\xfb\x24\x31\xea\x56\xbe\x5d\x53\xcd\x2d\x36\xa3\x6d\xdf\xab\x1c\xb8\x6d\x6f\xc0\x98\xa7\xdd\xaa\x86\x8c\x1d\x39\xa3\x9d\x70\x2b\x9b\x68\xd9\xfd\x33\xfe\xa9\xb6\x4a\x2e\x63\x0f\xcf\x68\x27\xd9\x4c\xb9\x46\x6d\xcb\xbe\xa1\xa8\xd6\x5f\xc6\xd6\x9f\xf1\x4f\xf4\xd4\xb4\x78\xd0\xd6\xf4\x13\x3c\x3b\xac\xd0\xdc\x90\x34\xda\xc9\xb4\x9a\x1a\x8d\xbd\x93\x87\xd4\xe2\x21\x1b\xb3\x2b\xd1\xbe\xe7\x69\xd4\x53\x67\xd5\x40\xa0\xe3\x19\x3f\x6d\x1a\xbc\x0e\x86\x3c\x10\xb4\x3d\x2a\xcd\x78\x32\xe6\xab\xbd\x36\xc9\xf4\x3a\x58\xae\xc3\xf4\x47\xea\xbf\xfb\x47\xff\x0d\x00\x00\xff\xff\xd2\x32\x5a\x28\x38\x9d\x00\x00") - -func v2SchemaJsonBytes() ([]byte, error) { - return bindataRead( - _v2SchemaJson, - "v2/schema.json", - ) -} - -func v2SchemaJson() (*asset, error) { - bytes, err := v2SchemaJsonBytes() - if err != nil { - return nil, err - } - - info := bindataFileInfo{name: "v2/schema.json", size: 40248, mode: os.FileMode(0640), modTime: time.Unix(1568964748, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xab, 0x88, 0x5e, 0xf, 0xbf, 0x17, 0x74, 0x0, 0xb2, 0x5a, 0x7f, 0xbc, 0x58, 0xcd, 0xc, 0x25, 0x73, 0xd5, 0x29, 0x1c, 0x7a, 0xd0, 0xce, 0x79, 0xd4, 0x89, 0x31, 0x27, 0x90, 0xf2, 0xff, 0xe6}} - return a, nil -} - -// Asset loads and returns the asset for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func Asset(name string) ([]byte, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err) - } - return a.bytes, nil - } - return nil, fmt.Errorf("Asset %s not found", name) -} - -// AssetString returns the asset contents as a string (instead of a []byte). -func AssetString(name string) (string, error) { - data, err := Asset(name) - return string(data), err -} - -// MustAsset is like Asset but panics when Asset would return an error. -// It simplifies safe initialization of global variables. -func MustAsset(name string) []byte { - a, err := Asset(name) - if err != nil { - panic("asset: Asset(" + name + "): " + err.Error()) - } - - return a -} - -// MustAssetString is like AssetString but panics when Asset would return an -// error. It simplifies safe initialization of global variables. -func MustAssetString(name string) string { - return string(MustAsset(name)) -} - -// AssetInfo loads and returns the asset info for the given name. -// It returns an error if the asset could not be found or -// could not be loaded. -func AssetInfo(name string) (os.FileInfo, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { - a, err := f() - if err != nil { - return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err) - } - return a.info, nil - } - return nil, fmt.Errorf("AssetInfo %s not found", name) -} - -// AssetDigest returns the digest of the file with the given name. It returns an -// error if the asset could not be found or the digest could not be loaded. -func AssetDigest(name string) ([sha256.Size]byte, error) { - canonicalName := strings.Replace(name, "\\", "/", -1) - if f, ok := _bindata[canonicalName]; ok { - a, err := f() - if err != nil { - return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err) - } - return a.digest, nil - } - return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name) -} - -// Digests returns a map of all known files and their checksums. -func Digests() (map[string][sha256.Size]byte, error) { - mp := make(map[string][sha256.Size]byte, len(_bindata)) - for name := range _bindata { - a, err := _bindata[name]() - if err != nil { - return nil, err - } - mp[name] = a.digest - } - return mp, nil -} - -// AssetNames returns the names of the assets. -func AssetNames() []string { - names := make([]string, 0, len(_bindata)) - for name := range _bindata { - names = append(names, name) - } - return names -} - -// _bindata is a table, holding each asset generator, mapped to its name. -var _bindata = map[string]func() (*asset, error){ - "jsonschema-draft-04.json": jsonschemaDraft04Json, - - "v2/schema.json": v2SchemaJson, -} - -// AssetDir returns the file names below a certain -// directory embedded in the file by go-bindata. -// For example if you run go-bindata on data/... and data contains the -// following hierarchy: -// data/ -// foo.txt -// img/ -// a.png -// b.png -// then AssetDir("data") would return []string{"foo.txt", "img"}, -// AssetDir("data/img") would return []string{"a.png", "b.png"}, -// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and -// AssetDir("") will return []string{"data"}. -func AssetDir(name string) ([]string, error) { - node := _bintree - if len(name) != 0 { - canonicalName := strings.Replace(name, "\\", "/", -1) - pathList := strings.Split(canonicalName, "/") - for _, p := range pathList { - node = node.Children[p] - if node == nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - } - } - if node.Func != nil { - return nil, fmt.Errorf("Asset %s not found", name) - } - rv := make([]string, 0, len(node.Children)) - for childName := range node.Children { - rv = append(rv, childName) - } - return rv, nil -} - -type bintree struct { - Func func() (*asset, error) - Children map[string]*bintree -} - -var _bintree = &bintree{nil, map[string]*bintree{ - "jsonschema-draft-04.json": {jsonschemaDraft04Json, map[string]*bintree{}}, - "v2": {nil, map[string]*bintree{ - "schema.json": {v2SchemaJson, map[string]*bintree{}}, - }}, -}} - -// RestoreAsset restores an asset under the given directory. -func RestoreAsset(dir, name string) error { - data, err := Asset(name) - if err != nil { - return err - } - info, err := AssetInfo(name) - if err != nil { - return err - } - err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755)) - if err != nil { - return err - } - err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode()) - if err != nil { - return err - } - return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime()) -} - -// RestoreAssets restores an asset under the given directory recursively. -func RestoreAssets(dir, name string) error { - children, err := AssetDir(name) - // File - if err != nil { - return RestoreAsset(dir, name) - } - // Dir - for _, child := range children { - err = RestoreAssets(dir, filepath.Join(name, child)) - if err != nil { - return err - } - } - return nil -} - -func _filePath(dir, name string) string { - canonicalName := strings.Replace(name, "\\", "/", -1) - return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...) -} diff --git a/vendor/github.com/go-openapi/spec/cache.go b/vendor/github.com/go-openapi/spec/cache.go deleted file mode 100644 index 122993b44b..0000000000 --- a/vendor/github.com/go-openapi/spec/cache.go +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "sync" -) - -// ResolutionCache a cache for resolving urls -type ResolutionCache interface { - Get(string) (interface{}, bool) - Set(string, interface{}) -} - -type simpleCache struct { - lock sync.RWMutex - store map[string]interface{} -} - -func (s *simpleCache) ShallowClone() ResolutionCache { - store := make(map[string]interface{}, len(s.store)) - s.lock.RLock() - for k, v := range s.store { - store[k] = v - } - s.lock.RUnlock() - - return &simpleCache{ - store: store, - } -} - -// Get retrieves a cached URI -func (s *simpleCache) Get(uri string) (interface{}, bool) { - s.lock.RLock() - v, ok := s.store[uri] - - s.lock.RUnlock() - return v, ok -} - -// Set caches a URI -func (s *simpleCache) Set(uri string, data interface{}) { - s.lock.Lock() - s.store[uri] = data - s.lock.Unlock() -} - -var ( - // resCache is a package level cache for $ref resolution and expansion. - // It is initialized lazily by methods that have the need for it: no - // memory is allocated unless some expander methods are called. - // - // It is initialized with JSON schema and swagger schema, - // which do not mutate during normal operations. - // - // All subsequent utilizations of this cache are produced from a shallow - // clone of this initial version. - resCache *simpleCache - onceCache sync.Once - - _ ResolutionCache = &simpleCache{} -) - -// initResolutionCache initializes the URI resolution cache. To be wrapped in a sync.Once.Do call. -func initResolutionCache() { - resCache = defaultResolutionCache() -} - -func defaultResolutionCache() *simpleCache { - return &simpleCache{store: map[string]interface{}{ - "http://swagger.io/v2/schema.json": MustLoadSwagger20Schema(), - "http://json-schema.org/draft-04/schema": MustLoadJSONSchemaDraft04(), - }} -} - -func cacheOrDefault(cache ResolutionCache) ResolutionCache { - onceCache.Do(initResolutionCache) - - if cache != nil { - return cache - } - - // get a shallow clone of the base cache with swagger and json schema - return resCache.ShallowClone() -} diff --git a/vendor/github.com/go-openapi/spec/contact_info.go b/vendor/github.com/go-openapi/spec/contact_info.go deleted file mode 100644 index 2f7bb219b5..0000000000 --- a/vendor/github.com/go-openapi/spec/contact_info.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - - "github.com/go-openapi/swag" -) - -// ContactInfo contact information for the exposed API. -// -// For more information: http://goo.gl/8us55a#contactObject -type ContactInfo struct { - ContactInfoProps - VendorExtensible -} - -// ContactInfoProps hold the properties of a ContactInfo object -type ContactInfoProps struct { - Name string `json:"name,omitempty"` - URL string `json:"url,omitempty"` - Email string `json:"email,omitempty"` -} - -// UnmarshalJSON hydrates ContactInfo from json -func (c *ContactInfo) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &c.ContactInfoProps); err != nil { - return err - } - return json.Unmarshal(data, &c.VendorExtensible) -} - -// MarshalJSON produces ContactInfo as json -func (c ContactInfo) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(c.ContactInfoProps) - if err != nil { - return nil, err - } - b2, err := json.Marshal(c.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2), nil -} diff --git a/vendor/github.com/go-openapi/spec/debug.go b/vendor/github.com/go-openapi/spec/debug.go deleted file mode 100644 index fc889f6d0b..0000000000 --- a/vendor/github.com/go-openapi/spec/debug.go +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "fmt" - "log" - "os" - "path" - "runtime" -) - -// Debug is true when the SWAGGER_DEBUG env var is not empty. -// -// It enables a more verbose logging of this package. -var Debug = os.Getenv("SWAGGER_DEBUG") != "" - -var ( - // specLogger is a debug logger for this package - specLogger *log.Logger -) - -func init() { - debugOptions() -} - -func debugOptions() { - specLogger = log.New(os.Stdout, "spec:", log.LstdFlags) -} - -func debugLog(msg string, args ...interface{}) { - // A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog() - if Debug { - _, file1, pos1, _ := runtime.Caller(1) - specLogger.Printf("%s:%d: %s", path.Base(file1), pos1, fmt.Sprintf(msg, args...)) - } -} diff --git a/vendor/github.com/go-openapi/spec/errors.go b/vendor/github.com/go-openapi/spec/errors.go deleted file mode 100644 index 6992c7ba73..0000000000 --- a/vendor/github.com/go-openapi/spec/errors.go +++ /dev/null @@ -1,19 +0,0 @@ -package spec - -import "errors" - -// Error codes -var ( - // ErrUnknownTypeForReference indicates that a resolved reference was found in an unsupported container type - ErrUnknownTypeForReference = errors.New("unknown type for the resolved reference") - - // ErrResolveRefNeedsAPointer indicates that a $ref target must be a valid JSON pointer - ErrResolveRefNeedsAPointer = errors.New("resolve ref: target needs to be a pointer") - - // ErrDerefUnsupportedType indicates that a resolved reference was found in an unsupported container type. - // At the moment, $ref are supported only inside: schemas, parameters, responses, path items - ErrDerefUnsupportedType = errors.New("deref: unsupported type") - - // ErrExpandUnsupportedType indicates that $ref expansion is attempted on some invalid type - ErrExpandUnsupportedType = errors.New("expand: unsupported type. Input should be of type *Parameter or *Response") -) diff --git a/vendor/github.com/go-openapi/spec/expander.go b/vendor/github.com/go-openapi/spec/expander.go deleted file mode 100644 index d4ea889d44..0000000000 --- a/vendor/github.com/go-openapi/spec/expander.go +++ /dev/null @@ -1,594 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "fmt" -) - -// ExpandOptions provides options for the spec expander. -// -// RelativeBase is the path to the root document. This can be a remote URL or a path to a local file. -// -// If left empty, the root document is assumed to be located in the current working directory: -// all relative $ref's will be resolved from there. -// -// PathLoader injects a document loading method. By default, this resolves to the function provided by the SpecLoader package variable. -// -type ExpandOptions struct { - RelativeBase string // the path to the root document to expand. This is a file, not a directory - SkipSchemas bool // do not expand schemas, just paths, parameters and responses - ContinueOnError bool // continue expanding even after and error is found - PathLoader func(string) (json.RawMessage, error) `json:"-"` // the document loading method that takes a path as input and yields a json document - AbsoluteCircularRef bool // circular $ref remaining after expansion remain absolute URLs -} - -func optionsOrDefault(opts *ExpandOptions) *ExpandOptions { - if opts != nil { - clone := *opts // shallow clone to avoid internal changes to be propagated to the caller - if clone.RelativeBase != "" { - clone.RelativeBase = normalizeBase(clone.RelativeBase) - } - // if the relative base is empty, let the schema loader choose a pseudo root document - return &clone - } - return &ExpandOptions{} -} - -// ExpandSpec expands the references in a swagger spec -func ExpandSpec(spec *Swagger, options *ExpandOptions) error { - options = optionsOrDefault(options) - resolver := defaultSchemaLoader(spec, options, nil, nil) - - specBasePath := options.RelativeBase - - if !options.SkipSchemas { - for key, definition := range spec.Definitions { - parentRefs := make([]string, 0, 10) - parentRefs = append(parentRefs, fmt.Sprintf("#/definitions/%s", key)) - - def, err := expandSchema(definition, parentRefs, resolver, specBasePath) - if resolver.shouldStopOnError(err) { - return err - } - if def != nil { - spec.Definitions[key] = *def - } - } - } - - for key := range spec.Parameters { - parameter := spec.Parameters[key] - if err := expandParameterOrResponse(¶meter, resolver, specBasePath); resolver.shouldStopOnError(err) { - return err - } - spec.Parameters[key] = parameter - } - - for key := range spec.Responses { - response := spec.Responses[key] - if err := expandParameterOrResponse(&response, resolver, specBasePath); resolver.shouldStopOnError(err) { - return err - } - spec.Responses[key] = response - } - - if spec.Paths != nil { - for key := range spec.Paths.Paths { - pth := spec.Paths.Paths[key] - if err := expandPathItem(&pth, resolver, specBasePath); resolver.shouldStopOnError(err) { - return err - } - spec.Paths.Paths[key] = pth - } - } - - return nil -} - -const rootBase = ".root" - -// baseForRoot loads in the cache the root document and produces a fake ".root" base path entry -// for further $ref resolution -// -// Setting the cache is optional and this parameter may safely be left to nil. -func baseForRoot(root interface{}, cache ResolutionCache) string { - if root == nil { - return "" - } - - // cache the root document to resolve $ref's - normalizedBase := normalizeBase(rootBase) - cache.Set(normalizedBase, root) - - return normalizedBase -} - -// ExpandSchema expands the refs in the schema object with reference to the root object. -// -// go-openapi/validate uses this function. -// -// Notice that it is impossible to reference a json schema in a different document other than root -// (use ExpandSchemaWithBasePath to resolve external references). -// -// Setting the cache is optional and this parameter may safely be left to nil. -func ExpandSchema(schema *Schema, root interface{}, cache ResolutionCache) error { - cache = cacheOrDefault(cache) - if root == nil { - root = schema - } - - opts := &ExpandOptions{ - // when a root is specified, cache the root as an in-memory document for $ref retrieval - RelativeBase: baseForRoot(root, cache), - SkipSchemas: false, - ContinueOnError: false, - } - - return ExpandSchemaWithBasePath(schema, cache, opts) -} - -// ExpandSchemaWithBasePath expands the refs in the schema object, base path configured through expand options. -// -// Setting the cache is optional and this parameter may safely be left to nil. -func ExpandSchemaWithBasePath(schema *Schema, cache ResolutionCache, opts *ExpandOptions) error { - if schema == nil { - return nil - } - - cache = cacheOrDefault(cache) - - opts = optionsOrDefault(opts) - - resolver := defaultSchemaLoader(nil, opts, cache, nil) - - parentRefs := make([]string, 0, 10) - s, err := expandSchema(*schema, parentRefs, resolver, opts.RelativeBase) - if err != nil { - return err - } - if s != nil { - // guard for when continuing on error - *schema = *s - } - - return nil -} - -func expandItems(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { - if target.Items == nil { - return &target, nil - } - - // array - if target.Items.Schema != nil { - t, err := expandSchema(*target.Items.Schema, parentRefs, resolver, basePath) - if err != nil { - return nil, err - } - *target.Items.Schema = *t - } - - // tuple - for i := range target.Items.Schemas { - t, err := expandSchema(target.Items.Schemas[i], parentRefs, resolver, basePath) - if err != nil { - return nil, err - } - target.Items.Schemas[i] = *t - } - - return &target, nil -} - -func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { - if target.Ref.String() == "" && target.Ref.IsRoot() { - newRef := normalizeRef(&target.Ref, basePath) - target.Ref = *newRef - return &target, nil - } - - // change the base path of resolution when an ID is encountered - // otherwise the basePath should inherit the parent's - if target.ID != "" { - basePath, _ = resolver.setSchemaID(target, target.ID, basePath) - } - - if target.Ref.String() != "" { - return expandSchemaRef(target, parentRefs, resolver, basePath) - } - - for k := range target.Definitions { - tt, err := expandSchema(target.Definitions[k], parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if tt != nil { - target.Definitions[k] = *tt - } - } - - t, err := expandItems(target, parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - target = *t - } - - for i := range target.AllOf { - t, err := expandSchema(target.AllOf[i], parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - target.AllOf[i] = *t - } - } - - for i := range target.AnyOf { - t, err := expandSchema(target.AnyOf[i], parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - target.AnyOf[i] = *t - } - } - - for i := range target.OneOf { - t, err := expandSchema(target.OneOf[i], parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - target.OneOf[i] = *t - } - } - - if target.Not != nil { - t, err := expandSchema(*target.Not, parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - *target.Not = *t - } - } - - for k := range target.Properties { - t, err := expandSchema(target.Properties[k], parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - target.Properties[k] = *t - } - } - - if target.AdditionalProperties != nil && target.AdditionalProperties.Schema != nil { - t, err := expandSchema(*target.AdditionalProperties.Schema, parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - *target.AdditionalProperties.Schema = *t - } - } - - for k := range target.PatternProperties { - t, err := expandSchema(target.PatternProperties[k], parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - target.PatternProperties[k] = *t - } - } - - for k := range target.Dependencies { - if target.Dependencies[k].Schema != nil { - t, err := expandSchema(*target.Dependencies[k].Schema, parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - *target.Dependencies[k].Schema = *t - } - } - } - - if target.AdditionalItems != nil && target.AdditionalItems.Schema != nil { - t, err := expandSchema(*target.AdditionalItems.Schema, parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return &target, err - } - if t != nil { - *target.AdditionalItems.Schema = *t - } - } - return &target, nil -} - -func expandSchemaRef(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { - // if a Ref is found, all sibling fields are skipped - // Ref also changes the resolution scope of children expandSchema - - // here the resolution scope is changed because a $ref was encountered - normalizedRef := normalizeRef(&target.Ref, basePath) - normalizedBasePath := normalizedRef.RemoteURI() - - if resolver.isCircular(normalizedRef, basePath, parentRefs...) { - // this means there is a cycle in the recursion tree: return the Ref - // - circular refs cannot be expanded. We leave them as ref. - // - denormalization means that a new local file ref is set relative to the original basePath - debugLog("short circuit circular ref: basePath: %s, normalizedPath: %s, normalized ref: %s", - basePath, normalizedBasePath, normalizedRef.String()) - if !resolver.options.AbsoluteCircularRef { - target.Ref = denormalizeRef(normalizedRef, resolver.context.basePath, resolver.context.rootID) - } else { - target.Ref = *normalizedRef - } - return &target, nil - } - - var t *Schema - err := resolver.Resolve(&target.Ref, &t, basePath) - if resolver.shouldStopOnError(err) { - return nil, err - } - - if t == nil { - // guard for when continuing on error - return &target, nil - } - - parentRefs = append(parentRefs, normalizedRef.String()) - transitiveResolver := resolver.transitiveResolver(basePath, target.Ref) - - basePath = resolver.updateBasePath(transitiveResolver, normalizedBasePath) - - return expandSchema(*t, parentRefs, transitiveResolver, basePath) -} - -func expandPathItem(pathItem *PathItem, resolver *schemaLoader, basePath string) error { - if pathItem == nil { - return nil - } - - parentRefs := make([]string, 0, 10) - if err := resolver.deref(pathItem, parentRefs, basePath); resolver.shouldStopOnError(err) { - return err - } - - if pathItem.Ref.String() != "" { - transitiveResolver := resolver.transitiveResolver(basePath, pathItem.Ref) - basePath = transitiveResolver.updateBasePath(resolver, basePath) - resolver = transitiveResolver - } - - pathItem.Ref = Ref{} - for i := range pathItem.Parameters { - if err := expandParameterOrResponse(&(pathItem.Parameters[i]), resolver, basePath); resolver.shouldStopOnError(err) { - return err - } - } - - ops := []*Operation{ - pathItem.Get, - pathItem.Head, - pathItem.Options, - pathItem.Put, - pathItem.Post, - pathItem.Patch, - pathItem.Delete, - } - for _, op := range ops { - if err := expandOperation(op, resolver, basePath); resolver.shouldStopOnError(err) { - return err - } - } - - return nil -} - -func expandOperation(op *Operation, resolver *schemaLoader, basePath string) error { - if op == nil { - return nil - } - - for i := range op.Parameters { - param := op.Parameters[i] - if err := expandParameterOrResponse(¶m, resolver, basePath); resolver.shouldStopOnError(err) { - return err - } - op.Parameters[i] = param - } - - if op.Responses == nil { - return nil - } - - responses := op.Responses - if err := expandParameterOrResponse(responses.Default, resolver, basePath); resolver.shouldStopOnError(err) { - return err - } - - for code := range responses.StatusCodeResponses { - response := responses.StatusCodeResponses[code] - if err := expandParameterOrResponse(&response, resolver, basePath); resolver.shouldStopOnError(err) { - return err - } - responses.StatusCodeResponses[code] = response - } - - return nil -} - -// ExpandResponseWithRoot expands a response based on a root document, not a fetchable document -// -// Notice that it is impossible to reference a json schema in a different document other than root -// (use ExpandResponse to resolve external references). -// -// Setting the cache is optional and this parameter may safely be left to nil. -func ExpandResponseWithRoot(response *Response, root interface{}, cache ResolutionCache) error { - cache = cacheOrDefault(cache) - opts := &ExpandOptions{ - RelativeBase: baseForRoot(root, cache), - } - resolver := defaultSchemaLoader(root, opts, cache, nil) - - return expandParameterOrResponse(response, resolver, opts.RelativeBase) -} - -// ExpandResponse expands a response based on a basepath -// -// All refs inside response will be resolved relative to basePath -func ExpandResponse(response *Response, basePath string) error { - opts := optionsOrDefault(&ExpandOptions{ - RelativeBase: basePath, - }) - resolver := defaultSchemaLoader(nil, opts, nil, nil) - - return expandParameterOrResponse(response, resolver, opts.RelativeBase) -} - -// ExpandParameterWithRoot expands a parameter based on a root document, not a fetchable document. -// -// Notice that it is impossible to reference a json schema in a different document other than root -// (use ExpandParameter to resolve external references). -func ExpandParameterWithRoot(parameter *Parameter, root interface{}, cache ResolutionCache) error { - cache = cacheOrDefault(cache) - - opts := &ExpandOptions{ - RelativeBase: baseForRoot(root, cache), - } - resolver := defaultSchemaLoader(root, opts, cache, nil) - - return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) -} - -// ExpandParameter expands a parameter based on a basepath. -// This is the exported version of expandParameter -// all refs inside parameter will be resolved relative to basePath -func ExpandParameter(parameter *Parameter, basePath string) error { - opts := optionsOrDefault(&ExpandOptions{ - RelativeBase: basePath, - }) - resolver := defaultSchemaLoader(nil, opts, nil, nil) - - return expandParameterOrResponse(parameter, resolver, opts.RelativeBase) -} - -func getRefAndSchema(input interface{}) (*Ref, *Schema, error) { - var ( - ref *Ref - sch *Schema - ) - - switch refable := input.(type) { - case *Parameter: - if refable == nil { - return nil, nil, nil - } - ref = &refable.Ref - sch = refable.Schema - case *Response: - if refable == nil { - return nil, nil, nil - } - ref = &refable.Ref - sch = refable.Schema - default: - return nil, nil, fmt.Errorf("unsupported type: %T: %w", input, ErrExpandUnsupportedType) - } - - return ref, sch, nil -} - -func expandParameterOrResponse(input interface{}, resolver *schemaLoader, basePath string) error { - ref, _, err := getRefAndSchema(input) - if err != nil { - return err - } - - if ref == nil { - return nil - } - - parentRefs := make([]string, 0, 10) - if err = resolver.deref(input, parentRefs, basePath); resolver.shouldStopOnError(err) { - return err - } - - ref, sch, _ := getRefAndSchema(input) - if ref.String() != "" { - transitiveResolver := resolver.transitiveResolver(basePath, *ref) - basePath = resolver.updateBasePath(transitiveResolver, basePath) - resolver = transitiveResolver - } - - if sch == nil { - // nothing to be expanded - if ref != nil { - *ref = Ref{} - } - return nil - } - - if sch.Ref.String() != "" { - rebasedRef, ern := NewRef(normalizeURI(sch.Ref.String(), basePath)) - if ern != nil { - return ern - } - - switch { - case resolver.isCircular(&rebasedRef, basePath, parentRefs...): - // this is a circular $ref: stop expansion - if !resolver.options.AbsoluteCircularRef { - sch.Ref = denormalizeRef(&rebasedRef, resolver.context.basePath, resolver.context.rootID) - } else { - sch.Ref = rebasedRef - } - case !resolver.options.SkipSchemas: - // schema expanded to a $ref in another root - sch.Ref = rebasedRef - debugLog("rebased to: %s", sch.Ref.String()) - default: - // skip schema expansion but rebase $ref to schema - sch.Ref = denormalizeRef(&rebasedRef, resolver.context.basePath, resolver.context.rootID) - } - } - - if ref != nil { - *ref = Ref{} - } - - // expand schema - if !resolver.options.SkipSchemas { - s, err := expandSchema(*sch, parentRefs, resolver, basePath) - if resolver.shouldStopOnError(err) { - return err - } - if s == nil { - // guard for when continuing on error - return nil - } - *sch = *s - } - - return nil -} diff --git a/vendor/github.com/go-openapi/spec/external_docs.go b/vendor/github.com/go-openapi/spec/external_docs.go deleted file mode 100644 index 88add91b2b..0000000000 --- a/vendor/github.com/go-openapi/spec/external_docs.go +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -// ExternalDocumentation allows referencing an external resource for -// extended documentation. -// -// For more information: http://goo.gl/8us55a#externalDocumentationObject -type ExternalDocumentation struct { - Description string `json:"description,omitempty"` - URL string `json:"url,omitempty"` -} diff --git a/vendor/github.com/go-openapi/spec/header.go b/vendor/github.com/go-openapi/spec/header.go deleted file mode 100644 index 9dfd17b185..0000000000 --- a/vendor/github.com/go-openapi/spec/header.go +++ /dev/null @@ -1,203 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -const ( - jsonArray = "array" -) - -// HeaderProps describes a response header -type HeaderProps struct { - Description string `json:"description,omitempty"` -} - -// Header describes a header for a response of the API -// -// For more information: http://goo.gl/8us55a#headerObject -type Header struct { - CommonValidations - SimpleSchema - VendorExtensible - HeaderProps -} - -// ResponseHeader creates a new header instance for use in a response -func ResponseHeader() *Header { - return new(Header) -} - -// WithDescription sets the description on this response, allows for chaining -func (h *Header) WithDescription(description string) *Header { - h.Description = description - return h -} - -// Typed a fluent builder method for the type of parameter -func (h *Header) Typed(tpe, format string) *Header { - h.Type = tpe - h.Format = format - return h -} - -// CollectionOf a fluent builder method for an array item -func (h *Header) CollectionOf(items *Items, format string) *Header { - h.Type = jsonArray - h.Items = items - h.CollectionFormat = format - return h -} - -// WithDefault sets the default value on this item -func (h *Header) WithDefault(defaultValue interface{}) *Header { - h.Default = defaultValue - return h -} - -// WithMaxLength sets a max length value -func (h *Header) WithMaxLength(max int64) *Header { - h.MaxLength = &max - return h -} - -// WithMinLength sets a min length value -func (h *Header) WithMinLength(min int64) *Header { - h.MinLength = &min - return h -} - -// WithPattern sets a pattern value -func (h *Header) WithPattern(pattern string) *Header { - h.Pattern = pattern - return h -} - -// WithMultipleOf sets a multiple of value -func (h *Header) WithMultipleOf(number float64) *Header { - h.MultipleOf = &number - return h -} - -// WithMaximum sets a maximum number value -func (h *Header) WithMaximum(max float64, exclusive bool) *Header { - h.Maximum = &max - h.ExclusiveMaximum = exclusive - return h -} - -// WithMinimum sets a minimum number value -func (h *Header) WithMinimum(min float64, exclusive bool) *Header { - h.Minimum = &min - h.ExclusiveMinimum = exclusive - return h -} - -// WithEnum sets a the enum values (replace) -func (h *Header) WithEnum(values ...interface{}) *Header { - h.Enum = append([]interface{}{}, values...) - return h -} - -// WithMaxItems sets the max items -func (h *Header) WithMaxItems(size int64) *Header { - h.MaxItems = &size - return h -} - -// WithMinItems sets the min items -func (h *Header) WithMinItems(size int64) *Header { - h.MinItems = &size - return h -} - -// UniqueValues dictates that this array can only have unique items -func (h *Header) UniqueValues() *Header { - h.UniqueItems = true - return h -} - -// AllowDuplicates this array can have duplicates -func (h *Header) AllowDuplicates() *Header { - h.UniqueItems = false - return h -} - -// WithValidations is a fluent method to set header validations -func (h *Header) WithValidations(val CommonValidations) *Header { - h.SetValidations(SchemaValidations{CommonValidations: val}) - return h -} - -// MarshalJSON marshal this to JSON -func (h Header) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(h.CommonValidations) - if err != nil { - return nil, err - } - b2, err := json.Marshal(h.SimpleSchema) - if err != nil { - return nil, err - } - b3, err := json.Marshal(h.HeaderProps) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2, b3), nil -} - -// UnmarshalJSON unmarshals this header from JSON -func (h *Header) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &h.CommonValidations); err != nil { - return err - } - if err := json.Unmarshal(data, &h.SimpleSchema); err != nil { - return err - } - if err := json.Unmarshal(data, &h.VendorExtensible); err != nil { - return err - } - return json.Unmarshal(data, &h.HeaderProps) -} - -// JSONLookup look up a value by the json property name -func (h Header) JSONLookup(token string) (interface{}, error) { - if ex, ok := h.Extensions[token]; ok { - return &ex, nil - } - - r, _, err := jsonpointer.GetForToken(h.CommonValidations, token) - if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { - return nil, err - } - if r != nil { - return r, nil - } - r, _, err = jsonpointer.GetForToken(h.SimpleSchema, token) - if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { - return nil, err - } - if r != nil { - return r, nil - } - r, _, err = jsonpointer.GetForToken(h.HeaderProps, token) - return r, err -} diff --git a/vendor/github.com/go-openapi/spec/info.go b/vendor/github.com/go-openapi/spec/info.go deleted file mode 100644 index 582f0fd4c4..0000000000 --- a/vendor/github.com/go-openapi/spec/info.go +++ /dev/null @@ -1,184 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "strconv" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -// Extensions vendor specific extensions -type Extensions map[string]interface{} - -// Add adds a value to these extensions -func (e Extensions) Add(key string, value interface{}) { - realKey := strings.ToLower(key) - e[realKey] = value -} - -// GetString gets a string value from the extensions -func (e Extensions) GetString(key string) (string, bool) { - if v, ok := e[strings.ToLower(key)]; ok { - str, ok := v.(string) - return str, ok - } - return "", false -} - -// GetInt gets a int value from the extensions -func (e Extensions) GetInt(key string) (int, bool) { - realKey := strings.ToLower(key) - - if v, ok := e.GetString(realKey); ok { - if r, err := strconv.Atoi(v); err == nil { - return r, true - } - } - - if v, ok := e[realKey]; ok { - if r, rOk := v.(float64); rOk { - return int(r), true - } - } - return -1, false -} - -// GetBool gets a string value from the extensions -func (e Extensions) GetBool(key string) (bool, bool) { - if v, ok := e[strings.ToLower(key)]; ok { - str, ok := v.(bool) - return str, ok - } - return false, false -} - -// GetStringSlice gets a string value from the extensions -func (e Extensions) GetStringSlice(key string) ([]string, bool) { - if v, ok := e[strings.ToLower(key)]; ok { - arr, isSlice := v.([]interface{}) - if !isSlice { - return nil, false - } - var strs []string - for _, iface := range arr { - str, isString := iface.(string) - if !isString { - return nil, false - } - strs = append(strs, str) - } - return strs, ok - } - return nil, false -} - -// VendorExtensible composition block. -type VendorExtensible struct { - Extensions Extensions -} - -// AddExtension adds an extension to this extensible object -func (v *VendorExtensible) AddExtension(key string, value interface{}) { - if value == nil { - return - } - if v.Extensions == nil { - v.Extensions = make(map[string]interface{}) - } - v.Extensions.Add(key, value) -} - -// MarshalJSON marshals the extensions to json -func (v VendorExtensible) MarshalJSON() ([]byte, error) { - toser := make(map[string]interface{}) - for k, v := range v.Extensions { - lk := strings.ToLower(k) - if strings.HasPrefix(lk, "x-") { - toser[k] = v - } - } - return json.Marshal(toser) -} - -// UnmarshalJSON for this extensible object -func (v *VendorExtensible) UnmarshalJSON(data []byte) error { - var d map[string]interface{} - if err := json.Unmarshal(data, &d); err != nil { - return err - } - for k, vv := range d { - lk := strings.ToLower(k) - if strings.HasPrefix(lk, "x-") { - if v.Extensions == nil { - v.Extensions = map[string]interface{}{} - } - v.Extensions[k] = vv - } - } - return nil -} - -// InfoProps the properties for an info definition -type InfoProps struct { - Description string `json:"description,omitempty"` - Title string `json:"title,omitempty"` - TermsOfService string `json:"termsOfService,omitempty"` - Contact *ContactInfo `json:"contact,omitempty"` - License *License `json:"license,omitempty"` - Version string `json:"version,omitempty"` -} - -// Info object provides metadata about the API. -// The metadata can be used by the clients if needed, and can be presented in the Swagger-UI for convenience. -// -// For more information: http://goo.gl/8us55a#infoObject -type Info struct { - VendorExtensible - InfoProps -} - -// JSONLookup look up a value by the json property name -func (i Info) JSONLookup(token string) (interface{}, error) { - if ex, ok := i.Extensions[token]; ok { - return &ex, nil - } - r, _, err := jsonpointer.GetForToken(i.InfoProps, token) - return r, err -} - -// MarshalJSON marshal this to JSON -func (i Info) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(i.InfoProps) - if err != nil { - return nil, err - } - b2, err := json.Marshal(i.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2), nil -} - -// UnmarshalJSON marshal this from JSON -func (i *Info) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &i.InfoProps); err != nil { - return err - } - return json.Unmarshal(data, &i.VendorExtensible) -} diff --git a/vendor/github.com/go-openapi/spec/items.go b/vendor/github.com/go-openapi/spec/items.go deleted file mode 100644 index e2afb2133b..0000000000 --- a/vendor/github.com/go-openapi/spec/items.go +++ /dev/null @@ -1,234 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -const ( - jsonRef = "$ref" -) - -// SimpleSchema describe swagger simple schemas for parameters and headers -type SimpleSchema struct { - Type string `json:"type,omitempty"` - Nullable bool `json:"nullable,omitempty"` - Format string `json:"format,omitempty"` - Items *Items `json:"items,omitempty"` - CollectionFormat string `json:"collectionFormat,omitempty"` - Default interface{} `json:"default,omitempty"` - Example interface{} `json:"example,omitempty"` -} - -// TypeName return the type (or format) of a simple schema -func (s *SimpleSchema) TypeName() string { - if s.Format != "" { - return s.Format - } - return s.Type -} - -// ItemsTypeName yields the type of items in a simple schema array -func (s *SimpleSchema) ItemsTypeName() string { - if s.Items == nil { - return "" - } - return s.Items.TypeName() -} - -// Items a limited subset of JSON-Schema's items object. -// It is used by parameter definitions that are not located in "body". -// -// For more information: http://goo.gl/8us55a#items-object -type Items struct { - Refable - CommonValidations - SimpleSchema - VendorExtensible -} - -// NewItems creates a new instance of items -func NewItems() *Items { - return &Items{} -} - -// Typed a fluent builder method for the type of item -func (i *Items) Typed(tpe, format string) *Items { - i.Type = tpe - i.Format = format - return i -} - -// AsNullable flags this schema as nullable. -func (i *Items) AsNullable() *Items { - i.Nullable = true - return i -} - -// CollectionOf a fluent builder method for an array item -func (i *Items) CollectionOf(items *Items, format string) *Items { - i.Type = jsonArray - i.Items = items - i.CollectionFormat = format - return i -} - -// WithDefault sets the default value on this item -func (i *Items) WithDefault(defaultValue interface{}) *Items { - i.Default = defaultValue - return i -} - -// WithMaxLength sets a max length value -func (i *Items) WithMaxLength(max int64) *Items { - i.MaxLength = &max - return i -} - -// WithMinLength sets a min length value -func (i *Items) WithMinLength(min int64) *Items { - i.MinLength = &min - return i -} - -// WithPattern sets a pattern value -func (i *Items) WithPattern(pattern string) *Items { - i.Pattern = pattern - return i -} - -// WithMultipleOf sets a multiple of value -func (i *Items) WithMultipleOf(number float64) *Items { - i.MultipleOf = &number - return i -} - -// WithMaximum sets a maximum number value -func (i *Items) WithMaximum(max float64, exclusive bool) *Items { - i.Maximum = &max - i.ExclusiveMaximum = exclusive - return i -} - -// WithMinimum sets a minimum number value -func (i *Items) WithMinimum(min float64, exclusive bool) *Items { - i.Minimum = &min - i.ExclusiveMinimum = exclusive - return i -} - -// WithEnum sets a the enum values (replace) -func (i *Items) WithEnum(values ...interface{}) *Items { - i.Enum = append([]interface{}{}, values...) - return i -} - -// WithMaxItems sets the max items -func (i *Items) WithMaxItems(size int64) *Items { - i.MaxItems = &size - return i -} - -// WithMinItems sets the min items -func (i *Items) WithMinItems(size int64) *Items { - i.MinItems = &size - return i -} - -// UniqueValues dictates that this array can only have unique items -func (i *Items) UniqueValues() *Items { - i.UniqueItems = true - return i -} - -// AllowDuplicates this array can have duplicates -func (i *Items) AllowDuplicates() *Items { - i.UniqueItems = false - return i -} - -// WithValidations is a fluent method to set Items validations -func (i *Items) WithValidations(val CommonValidations) *Items { - i.SetValidations(SchemaValidations{CommonValidations: val}) - return i -} - -// UnmarshalJSON hydrates this items instance with the data from JSON -func (i *Items) UnmarshalJSON(data []byte) error { - var validations CommonValidations - if err := json.Unmarshal(data, &validations); err != nil { - return err - } - var ref Refable - if err := json.Unmarshal(data, &ref); err != nil { - return err - } - var simpleSchema SimpleSchema - if err := json.Unmarshal(data, &simpleSchema); err != nil { - return err - } - var vendorExtensible VendorExtensible - if err := json.Unmarshal(data, &vendorExtensible); err != nil { - return err - } - i.Refable = ref - i.CommonValidations = validations - i.SimpleSchema = simpleSchema - i.VendorExtensible = vendorExtensible - return nil -} - -// MarshalJSON converts this items object to JSON -func (i Items) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(i.CommonValidations) - if err != nil { - return nil, err - } - b2, err := json.Marshal(i.SimpleSchema) - if err != nil { - return nil, err - } - b3, err := json.Marshal(i.Refable) - if err != nil { - return nil, err - } - b4, err := json.Marshal(i.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b4, b3, b1, b2), nil -} - -// JSONLookup look up a value by the json property name -func (i Items) JSONLookup(token string) (interface{}, error) { - if token == jsonRef { - return &i.Ref, nil - } - - r, _, err := jsonpointer.GetForToken(i.CommonValidations, token) - if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { - return nil, err - } - if r != nil { - return r, nil - } - r, _, err = jsonpointer.GetForToken(i.SimpleSchema, token) - return r, err -} diff --git a/vendor/github.com/go-openapi/spec/license.go b/vendor/github.com/go-openapi/spec/license.go deleted file mode 100644 index b42f80368e..0000000000 --- a/vendor/github.com/go-openapi/spec/license.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - - "github.com/go-openapi/swag" -) - -// License information for the exposed API. -// -// For more information: http://goo.gl/8us55a#licenseObject -type License struct { - LicenseProps - VendorExtensible -} - -// LicenseProps holds the properties of a License object -type LicenseProps struct { - Name string `json:"name,omitempty"` - URL string `json:"url,omitempty"` -} - -// UnmarshalJSON hydrates License from json -func (l *License) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &l.LicenseProps); err != nil { - return err - } - return json.Unmarshal(data, &l.VendorExtensible) -} - -// MarshalJSON produces License as json -func (l License) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(l.LicenseProps) - if err != nil { - return nil, err - } - b2, err := json.Marshal(l.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2), nil -} diff --git a/vendor/github.com/go-openapi/spec/normalizer.go b/vendor/github.com/go-openapi/spec/normalizer.go deleted file mode 100644 index e8b6009945..0000000000 --- a/vendor/github.com/go-openapi/spec/normalizer.go +++ /dev/null @@ -1,202 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "net/url" - "path" - "strings" -) - -const fileScheme = "file" - -// normalizeURI ensures that all $ref paths used internally by the expander are canonicalized. -// -// NOTE(windows): there is a tolerance over the strict URI format on windows. -// -// The normalizer accepts relative file URLs like 'Path\File.JSON' as well as absolute file URLs like -// 'C:\Path\file.Yaml'. -// -// Both are canonicalized with a "file://" scheme, slashes and a lower-cased path: -// 'file:///c:/path/file.yaml' -// -// URLs can be specified with a file scheme, like in 'file:///folder/file.json' or -// 'file:///c:\folder\File.json'. -// -// URLs like file://C:\folder are considered invalid (i.e. there is no host 'c:\folder') and a "repair" -// is attempted. -// -// The base path argument is assumed to be canonicalized (e.g. using normalizeBase()). -func normalizeURI(refPath, base string) string { - refURL, err := parseURL(refPath) - if err != nil { - specLogger.Printf("warning: invalid URI in $ref %q: %v", refPath, err) - refURL, refPath = repairURI(refPath) - } - - fixWindowsURI(refURL, refPath) // noop on non-windows OS - - refURL.Path = path.Clean(refURL.Path) - if refURL.Path == "." { - refURL.Path = "" - } - - r := MustCreateRef(refURL.String()) - if r.IsCanonical() { - return refURL.String() - } - - baseURL, _ := parseURL(base) - if path.IsAbs(refURL.Path) { - baseURL.Path = refURL.Path - } else if refURL.Path != "" { - baseURL.Path = path.Join(path.Dir(baseURL.Path), refURL.Path) - } - // copying fragment from ref to base - baseURL.Fragment = refURL.Fragment - - return baseURL.String() -} - -// denormalizeRef returns the simplest notation for a normalized $ref, given the path of the original root document. -// -// When calling this, we assume that: -// * $ref is a canonical URI -// * originalRelativeBase is a canonical URI -// -// denormalizeRef is currently used when we rewrite a $ref after a circular $ref has been detected. -// In this case, expansion stops and normally renders the internal canonical $ref. -// -// This internal $ref is eventually rebased to the original RelativeBase used for the expansion. -// -// There is a special case for schemas that are anchored with an "id": -// in that case, the rebasing is performed // against the id only if this is an anchor for the initial root document. -// All other intermediate "id"'s found along the way are ignored for the purpose of rebasing. -func denormalizeRef(ref *Ref, originalRelativeBase, id string) Ref { - debugLog("denormalizeRef called:\n$ref: %q\noriginal: %s\nroot ID:%s", ref.String(), originalRelativeBase, id) - - if ref.String() == "" || ref.IsRoot() || ref.HasFragmentOnly { - // short circuit: $ref to current doc - return *ref - } - - if id != "" { - idBaseURL, err := parseURL(id) - if err == nil { // if the schema id is not usable as a URI, ignore it - if ref, ok := rebase(ref, idBaseURL, true); ok { // rebase, but keep references to root unchaged (do not want $ref: "") - // $ref relative to the ID of the schema in the root document - return ref - } - } - } - - originalRelativeBaseURL, _ := parseURL(originalRelativeBase) - - r, _ := rebase(ref, originalRelativeBaseURL, false) - - return r -} - -func rebase(ref *Ref, v *url.URL, notEqual bool) (Ref, bool) { - var newBase url.URL - - u := ref.GetURL() - - if u.Scheme != v.Scheme || u.Host != v.Host { - return *ref, false - } - - docPath := v.Path - v.Path = path.Dir(v.Path) - - if v.Path == "." { - v.Path = "" - } else if !strings.HasSuffix(v.Path, "/") { - v.Path += "/" - } - - newBase.Fragment = u.Fragment - - if strings.HasPrefix(u.Path, docPath) { - newBase.Path = strings.TrimPrefix(u.Path, docPath) - } else { - newBase.Path = strings.TrimPrefix(u.Path, v.Path) - } - - if notEqual && newBase.Path == "" && newBase.Fragment == "" { - // do not want rebasing to end up in an empty $ref - return *ref, false - } - - if path.IsAbs(newBase.Path) { - // whenever we end up with an absolute path, specify the scheme and host - newBase.Scheme = v.Scheme - newBase.Host = v.Host - } - - return MustCreateRef(newBase.String()), true -} - -// normalizeRef canonicalize a Ref, using a canonical relativeBase as its absolute anchor -func normalizeRef(ref *Ref, relativeBase string) *Ref { - r := MustCreateRef(normalizeURI(ref.String(), relativeBase)) - return &r -} - -// normalizeBase performs a normalization of the input base path. -// -// This always yields a canonical URI (absolute), usable for the document cache. -// -// It ensures that all further internal work on basePath may safely assume -// a non-empty, cross-platform, canonical URI (i.e. absolute). -// -// This normalization tolerates windows paths (e.g. C:\x\y\File.dat) and transform this -// in a file:// URL with lower cased drive letter and path. -// -// See also: https://en.wikipedia.org/wiki/File_URI_scheme -func normalizeBase(in string) string { - u, err := parseURL(in) - if err != nil { - specLogger.Printf("warning: invalid URI in RelativeBase %q: %v", in, err) - u, in = repairURI(in) - } - - u.Fragment = "" // any fragment in the base is irrelevant - - fixWindowsURI(u, in) // noop on non-windows OS - - u.Path = path.Clean(u.Path) - if u.Path == "." { // empty after Clean() - u.Path = "" - } - - if u.Scheme != "" { - if path.IsAbs(u.Path) || u.Scheme != fileScheme { - // this is absolute or explicitly not a local file: we're good - return u.String() - } - } - - // no scheme or file scheme with relative path: assume file and make it absolute - // enforce scheme file://... with absolute path. - // - // If the input path is relative, we anchor the path to the current working directory. - // NOTE: we may end up with a host component. Leave it unchanged: e.g. file://host/folder/file.json - - u.Scheme = fileScheme - u.Path = absPath(u.Path) // platform-dependent - u.RawQuery = "" // any query component is irrelevant for a base - return u.String() -} diff --git a/vendor/github.com/go-openapi/spec/normalizer_nonwindows.go b/vendor/github.com/go-openapi/spec/normalizer_nonwindows.go deleted file mode 100644 index 2df0723154..0000000000 --- a/vendor/github.com/go-openapi/spec/normalizer_nonwindows.go +++ /dev/null @@ -1,44 +0,0 @@ -//go:build !windows -// +build !windows - -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "net/url" - "path/filepath" -) - -// absPath makes a file path absolute and compatible with a URI path component. -// -// The parameter must be a path, not an URI. -func absPath(in string) string { - anchored, err := filepath.Abs(in) - if err != nil { - specLogger.Printf("warning: could not resolve current working directory: %v", err) - return in - } - return anchored -} - -func repairURI(in string) (*url.URL, string) { - u, _ := parseURL("") - debugLog("repaired URI: original: %q, repaired: %q", in, "") - return u, "" -} - -func fixWindowsURI(u *url.URL, in string) { -} diff --git a/vendor/github.com/go-openapi/spec/normalizer_windows.go b/vendor/github.com/go-openapi/spec/normalizer_windows.go deleted file mode 100644 index a66c532dbc..0000000000 --- a/vendor/github.com/go-openapi/spec/normalizer_windows.go +++ /dev/null @@ -1,154 +0,0 @@ -// -build windows - -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "net/url" - "os" - "path" - "path/filepath" - "strings" -) - -// absPath makes a file path absolute and compatible with a URI path component -// -// The parameter must be a path, not an URI. -func absPath(in string) string { - // NOTE(windows): filepath.Abs exhibits a special behavior on windows for empty paths. - // See https://github.com/golang/go/issues/24441 - if in == "" { - in = "." - } - - anchored, err := filepath.Abs(in) - if err != nil { - specLogger.Printf("warning: could not resolve current working directory: %v", err) - return in - } - - pth := strings.ReplaceAll(strings.ToLower(anchored), `\`, `/`) - if !strings.HasPrefix(pth, "/") { - pth = "/" + pth - } - - return path.Clean(pth) -} - -// repairURI tolerates invalid file URIs with common typos -// such as 'file://E:\folder\file', that break the regular URL parser. -// -// Adopting the same defaults as for unixes (e.g. return an empty path) would -// result into a counter-intuitive result for that case (e.g. E:\folder\file is -// eventually resolved as the current directory). The repair will detect the missing "/". -// -// Note that this only works for the file scheme. -func repairURI(in string) (*url.URL, string) { - const prefix = fileScheme + "://" - if !strings.HasPrefix(in, prefix) { - // giving up: resolve to empty path - u, _ := parseURL("") - - return u, "" - } - - // attempt the repair, stripping the scheme should be sufficient - u, _ := parseURL(strings.TrimPrefix(in, prefix)) - debugLog("repaired URI: original: %q, repaired: %q", in, u.String()) - - return u, u.String() -} - -// fixWindowsURI tolerates an absolute file path on windows such as C:\Base\File.yaml or \\host\share\Base\File.yaml -// and makes it a canonical URI: file:///c:/base/file.yaml -// -// Catch 22 notes for Windows: -// -// * There may be a drive letter on windows (it is lower-cased) -// * There may be a share UNC, e.g. \\server\folder\data.xml -// * Paths are case insensitive -// * Paths may already contain slashes -// * Paths must be slashed -// -// NOTE: there is no escaping. "/" may be valid separators just like "\". -// We don't use ToSlash() (which escapes everything) because windows now also -// tolerates the use of "/". Hence, both C:\File.yaml and C:/File.yaml will work. -func fixWindowsURI(u *url.URL, in string) { - drive := filepath.VolumeName(in) - - if len(drive) > 0 { - if len(u.Scheme) == 1 && strings.EqualFold(u.Scheme, drive[:1]) { // a path with a drive letter - u.Scheme = fileScheme - u.Host = "" - u.Path = strings.Join([]string{drive, u.Opaque, u.Path}, `/`) // reconstruct the full path component (no fragment, no query) - } else if u.Host == "" && strings.HasPrefix(u.Path, drive) { // a path with a \\host volume - // NOTE: the special host@port syntax for UNC is not supported (yet) - u.Scheme = fileScheme - - // this is a modified version of filepath.Dir() to apply on the VolumeName itself - i := len(drive) - 1 - for i >= 0 && !os.IsPathSeparator(drive[i]) { - i-- - } - host := drive[:i] // \\host\share => host - - u.Path = strings.TrimPrefix(u.Path, host) - u.Host = strings.TrimPrefix(host, `\\`) - } - - u.Opaque = "" - u.Path = strings.ReplaceAll(strings.ToLower(u.Path), `\`, `/`) - - // ensure we form an absolute path - if !strings.HasPrefix(u.Path, "/") { - u.Path = "/" + u.Path - } - - u.Path = path.Clean(u.Path) - - return - } - - if u.Scheme == fileScheme { - // Handle dodgy cases for file://{...} URIs on windows. - // A canonical URI should always be followed by an absolute path. - // - // Examples: - // * file:///folder/file => valid, unchanged - // * file:///c:\folder\file => slashed - // * file:///./folder/file => valid, cleaned to remove the dot - // * file:///.\folder\file => remapped to cwd - // * file:///. => dodgy, remapped to / (consistent with the behavior on unix) - // * file:///.. => dodgy, remapped to / (consistent with the behavior on unix) - if (!path.IsAbs(u.Path) && !filepath.IsAbs(u.Path)) || (strings.HasPrefix(u.Path, `/.`) && strings.Contains(u.Path, `\`)) { - // ensure we form an absolute path - u.Path, _ = filepath.Abs(strings.TrimLeft(u.Path, `/`)) - if !strings.HasPrefix(u.Path, "/") { - u.Path = "/" + u.Path - } - } - u.Path = strings.ToLower(u.Path) - } - - // NOTE: lower case normalization does not propagate to inner resources, - // generated when rebasing: when joining a relative URI with a file to an absolute base, - // only the base is currently lower-cased. - // - // For now, we assume this is good enough for most use cases - // and try not to generate too many differences - // between the output produced on different platforms. - u.Path = path.Clean(strings.ReplaceAll(u.Path, `\`, `/`)) -} diff --git a/vendor/github.com/go-openapi/spec/operation.go b/vendor/github.com/go-openapi/spec/operation.go deleted file mode 100644 index 995ce6acb1..0000000000 --- a/vendor/github.com/go-openapi/spec/operation.go +++ /dev/null @@ -1,397 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "bytes" - "encoding/gob" - "encoding/json" - "sort" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -func init() { - gob.Register(map[string]interface{}{}) - gob.Register([]interface{}{}) -} - -// OperationProps describes an operation -// -// NOTES: -// - schemes, when present must be from [http, https, ws, wss]: see validate -// - Security is handled as a special case: see MarshalJSON function -type OperationProps struct { - Description string `json:"description,omitempty"` - Consumes []string `json:"consumes,omitempty"` - Produces []string `json:"produces,omitempty"` - Schemes []string `json:"schemes,omitempty"` - Tags []string `json:"tags,omitempty"` - Summary string `json:"summary,omitempty"` - ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` - ID string `json:"operationId,omitempty"` - Deprecated bool `json:"deprecated,omitempty"` - Security []map[string][]string `json:"security,omitempty"` - Parameters []Parameter `json:"parameters,omitempty"` - Responses *Responses `json:"responses,omitempty"` -} - -// MarshalJSON takes care of serializing operation properties to JSON -// -// We use a custom marhaller here to handle a special cases related to -// the Security field. We need to preserve zero length slice -// while omitting the field when the value is nil/unset. -func (op OperationProps) MarshalJSON() ([]byte, error) { - type Alias OperationProps - if op.Security == nil { - return json.Marshal(&struct { - Security []map[string][]string `json:"security,omitempty"` - *Alias - }{ - Security: op.Security, - Alias: (*Alias)(&op), - }) - } - return json.Marshal(&struct { - Security []map[string][]string `json:"security"` - *Alias - }{ - Security: op.Security, - Alias: (*Alias)(&op), - }) -} - -// Operation describes a single API operation on a path. -// -// For more information: http://goo.gl/8us55a#operationObject -type Operation struct { - VendorExtensible - OperationProps -} - -// SuccessResponse gets a success response model -func (o *Operation) SuccessResponse() (*Response, int, bool) { - if o.Responses == nil { - return nil, 0, false - } - - responseCodes := make([]int, 0, len(o.Responses.StatusCodeResponses)) - for k := range o.Responses.StatusCodeResponses { - if k >= 200 && k < 300 { - responseCodes = append(responseCodes, k) - } - } - if len(responseCodes) > 0 { - sort.Ints(responseCodes) - v := o.Responses.StatusCodeResponses[responseCodes[0]] - return &v, responseCodes[0], true - } - - return o.Responses.Default, 0, false -} - -// JSONLookup look up a value by the json property name -func (o Operation) JSONLookup(token string) (interface{}, error) { - if ex, ok := o.Extensions[token]; ok { - return &ex, nil - } - r, _, err := jsonpointer.GetForToken(o.OperationProps, token) - return r, err -} - -// UnmarshalJSON hydrates this items instance with the data from JSON -func (o *Operation) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &o.OperationProps); err != nil { - return err - } - return json.Unmarshal(data, &o.VendorExtensible) -} - -// MarshalJSON converts this items object to JSON -func (o Operation) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(o.OperationProps) - if err != nil { - return nil, err - } - b2, err := json.Marshal(o.VendorExtensible) - if err != nil { - return nil, err - } - concated := swag.ConcatJSON(b1, b2) - return concated, nil -} - -// NewOperation creates a new operation instance. -// It expects an ID as parameter but not passing an ID is also valid. -func NewOperation(id string) *Operation { - op := new(Operation) - op.ID = id - return op -} - -// WithID sets the ID property on this operation, allows for chaining. -func (o *Operation) WithID(id string) *Operation { - o.ID = id - return o -} - -// WithDescription sets the description on this operation, allows for chaining -func (o *Operation) WithDescription(description string) *Operation { - o.Description = description - return o -} - -// WithSummary sets the summary on this operation, allows for chaining -func (o *Operation) WithSummary(summary string) *Operation { - o.Summary = summary - return o -} - -// WithExternalDocs sets/removes the external docs for/from this operation. -// When you pass empty strings as params the external documents will be removed. -// When you pass non-empty string as one value then those values will be used on the external docs object. -// So when you pass a non-empty description, you should also pass the url and vice versa. -func (o *Operation) WithExternalDocs(description, url string) *Operation { - if description == "" && url == "" { - o.ExternalDocs = nil - return o - } - - if o.ExternalDocs == nil { - o.ExternalDocs = &ExternalDocumentation{} - } - o.ExternalDocs.Description = description - o.ExternalDocs.URL = url - return o -} - -// Deprecate marks the operation as deprecated -func (o *Operation) Deprecate() *Operation { - o.Deprecated = true - return o -} - -// Undeprecate marks the operation as not deprected -func (o *Operation) Undeprecate() *Operation { - o.Deprecated = false - return o -} - -// WithConsumes adds media types for incoming body values -func (o *Operation) WithConsumes(mediaTypes ...string) *Operation { - o.Consumes = append(o.Consumes, mediaTypes...) - return o -} - -// WithProduces adds media types for outgoing body values -func (o *Operation) WithProduces(mediaTypes ...string) *Operation { - o.Produces = append(o.Produces, mediaTypes...) - return o -} - -// WithTags adds tags for this operation -func (o *Operation) WithTags(tags ...string) *Operation { - o.Tags = append(o.Tags, tags...) - return o -} - -// AddParam adds a parameter to this operation, when a parameter for that location -// and with that name already exists it will be replaced -func (o *Operation) AddParam(param *Parameter) *Operation { - if param == nil { - return o - } - - for i, p := range o.Parameters { - if p.Name == param.Name && p.In == param.In { - params := append(o.Parameters[:i], *param) - params = append(params, o.Parameters[i+1:]...) - o.Parameters = params - return o - } - } - - o.Parameters = append(o.Parameters, *param) - return o -} - -// RemoveParam removes a parameter from the operation -func (o *Operation) RemoveParam(name, in string) *Operation { - for i, p := range o.Parameters { - if p.Name == name && p.In == in { - o.Parameters = append(o.Parameters[:i], o.Parameters[i+1:]...) - return o - } - } - return o -} - -// SecuredWith adds a security scope to this operation. -func (o *Operation) SecuredWith(name string, scopes ...string) *Operation { - o.Security = append(o.Security, map[string][]string{name: scopes}) - return o -} - -// WithDefaultResponse adds a default response to the operation. -// Passing a nil value will remove the response -func (o *Operation) WithDefaultResponse(response *Response) *Operation { - return o.RespondsWith(0, response) -} - -// RespondsWith adds a status code response to the operation. -// When the code is 0 the value of the response will be used as default response value. -// When the value of the response is nil it will be removed from the operation -func (o *Operation) RespondsWith(code int, response *Response) *Operation { - if o.Responses == nil { - o.Responses = new(Responses) - } - if code == 0 { - o.Responses.Default = response - return o - } - if response == nil { - delete(o.Responses.StatusCodeResponses, code) - return o - } - if o.Responses.StatusCodeResponses == nil { - o.Responses.StatusCodeResponses = make(map[int]Response) - } - o.Responses.StatusCodeResponses[code] = *response - return o -} - -type opsAlias OperationProps - -type gobAlias struct { - Security []map[string]struct { - List []string - Pad bool - } - Alias *opsAlias - SecurityIsEmpty bool -} - -// GobEncode provides a safe gob encoder for Operation, including empty security requirements -func (o Operation) GobEncode() ([]byte, error) { - raw := struct { - Ext VendorExtensible - Props OperationProps - }{ - Ext: o.VendorExtensible, - Props: o.OperationProps, - } - var b bytes.Buffer - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err -} - -// GobDecode provides a safe gob decoder for Operation, including empty security requirements -func (o *Operation) GobDecode(b []byte) error { - var raw struct { - Ext VendorExtensible - Props OperationProps - } - - buf := bytes.NewBuffer(b) - err := gob.NewDecoder(buf).Decode(&raw) - if err != nil { - return err - } - o.VendorExtensible = raw.Ext - o.OperationProps = raw.Props - return nil -} - -// GobEncode provides a safe gob encoder for Operation, including empty security requirements -func (op OperationProps) GobEncode() ([]byte, error) { - raw := gobAlias{ - Alias: (*opsAlias)(&op), - } - - var b bytes.Buffer - if op.Security == nil { - // nil security requirement - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err - } - - if len(op.Security) == 0 { - // empty, but non-nil security requirement - raw.SecurityIsEmpty = true - raw.Alias.Security = nil - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err - } - - raw.Security = make([]map[string]struct { - List []string - Pad bool - }, 0, len(op.Security)) - for _, req := range op.Security { - v := make(map[string]struct { - List []string - Pad bool - }, len(req)) - for k, val := range req { - v[k] = struct { - List []string - Pad bool - }{ - List: val, - } - } - raw.Security = append(raw.Security, v) - } - - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err -} - -// GobDecode provides a safe gob decoder for Operation, including empty security requirements -func (op *OperationProps) GobDecode(b []byte) error { - var raw gobAlias - - buf := bytes.NewBuffer(b) - err := gob.NewDecoder(buf).Decode(&raw) - if err != nil { - return err - } - if raw.Alias == nil { - return nil - } - - switch { - case raw.SecurityIsEmpty: - // empty, but non-nil security requirement - raw.Alias.Security = []map[string][]string{} - case len(raw.Alias.Security) == 0: - // nil security requirement - raw.Alias.Security = nil - default: - raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) - for _, req := range raw.Security { - v := make(map[string][]string, len(req)) - for k, val := range req { - v[k] = make([]string, 0, len(val.List)) - v[k] = append(v[k], val.List...) - } - raw.Alias.Security = append(raw.Alias.Security, v) - } - } - - *op = *(*OperationProps)(raw.Alias) - return nil -} diff --git a/vendor/github.com/go-openapi/spec/parameter.go b/vendor/github.com/go-openapi/spec/parameter.go deleted file mode 100644 index 2b2b89b67b..0000000000 --- a/vendor/github.com/go-openapi/spec/parameter.go +++ /dev/null @@ -1,326 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -// QueryParam creates a query parameter -func QueryParam(name string) *Parameter { - return &Parameter{ParamProps: ParamProps{Name: name, In: "query"}} -} - -// HeaderParam creates a header parameter, this is always required by default -func HeaderParam(name string) *Parameter { - return &Parameter{ParamProps: ParamProps{Name: name, In: "header", Required: true}} -} - -// PathParam creates a path parameter, this is always required -func PathParam(name string) *Parameter { - return &Parameter{ParamProps: ParamProps{Name: name, In: "path", Required: true}} -} - -// BodyParam creates a body parameter -func BodyParam(name string, schema *Schema) *Parameter { - return &Parameter{ParamProps: ParamProps{Name: name, In: "body", Schema: schema}} -} - -// FormDataParam creates a body parameter -func FormDataParam(name string) *Parameter { - return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}} -} - -// FileParam creates a body parameter -func FileParam(name string) *Parameter { - return &Parameter{ParamProps: ParamProps{Name: name, In: "formData"}, - SimpleSchema: SimpleSchema{Type: "file"}} -} - -// SimpleArrayParam creates a param for a simple array (string, int, date etc) -func SimpleArrayParam(name, tpe, fmt string) *Parameter { - return &Parameter{ParamProps: ParamProps{Name: name}, - SimpleSchema: SimpleSchema{Type: jsonArray, CollectionFormat: "csv", - Items: &Items{SimpleSchema: SimpleSchema{Type: tpe, Format: fmt}}}} -} - -// ParamRef creates a parameter that's a json reference -func ParamRef(uri string) *Parameter { - p := new(Parameter) - p.Ref = MustCreateRef(uri) - return p -} - -// ParamProps describes the specific attributes of an operation parameter -// -// NOTE: -// - Schema is defined when "in" == "body": see validate -// - AllowEmptyValue is allowed where "in" == "query" || "formData" -type ParamProps struct { - Description string `json:"description,omitempty"` - Name string `json:"name,omitempty"` - In string `json:"in,omitempty"` - Required bool `json:"required,omitempty"` - Schema *Schema `json:"schema,omitempty"` - AllowEmptyValue bool `json:"allowEmptyValue,omitempty"` -} - -// Parameter a unique parameter is defined by a combination of a [name](#parameterName) and [location](#parameterIn). -// -// There are five possible parameter types. -// * Path - Used together with [Path Templating](#pathTemplating), where the parameter value is actually part -// of the operation's URL. This does not include the host or base path of the API. For example, in `/items/{itemId}`, -// the path parameter is `itemId`. -// * Query - Parameters that are appended to the URL. For example, in `/items?id=###`, the query parameter is `id`. -// * Header - Custom headers that are expected as part of the request. -// * Body - The payload that's appended to the HTTP request. Since there can only be one payload, there can only be -// _one_ body parameter. The name of the body parameter has no effect on the parameter itself and is used for -// documentation purposes only. Since Form parameters are also in the payload, body and form parameters cannot exist -// together for the same operation. -// * Form - Used to describe the payload of an HTTP request when either `application/x-www-form-urlencoded` or -// `multipart/form-data` are used as the content type of the request (in Swagger's definition, -// the [`consumes`](#operationConsumes) property of an operation). This is the only parameter type that can be used -// to send files, thus supporting the `file` type. Since form parameters are sent in the payload, they cannot be -// declared together with a body parameter for the same operation. Form parameters have a different format based on -// the content-type used (for further details, consult http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4). -// * `application/x-www-form-urlencoded` - Similar to the format of Query parameters but as a payload. -// For example, `foo=1&bar=swagger` - both `foo` and `bar` are form parameters. This is normally used for simple -// parameters that are being transferred. -// * `multipart/form-data` - each parameter takes a section in the payload with an internal header. -// For example, for the header `Content-Disposition: form-data; name="submit-name"` the name of the parameter is -// `submit-name`. This type of form parameters is more commonly used for file transfers. -// -// For more information: http://goo.gl/8us55a#parameterObject -type Parameter struct { - Refable - CommonValidations - SimpleSchema - VendorExtensible - ParamProps -} - -// JSONLookup look up a value by the json property name -func (p Parameter) JSONLookup(token string) (interface{}, error) { - if ex, ok := p.Extensions[token]; ok { - return &ex, nil - } - if token == jsonRef { - return &p.Ref, nil - } - - r, _, err := jsonpointer.GetForToken(p.CommonValidations, token) - if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { - return nil, err - } - if r != nil { - return r, nil - } - r, _, err = jsonpointer.GetForToken(p.SimpleSchema, token) - if err != nil && !strings.HasPrefix(err.Error(), "object has no field") { - return nil, err - } - if r != nil { - return r, nil - } - r, _, err = jsonpointer.GetForToken(p.ParamProps, token) - return r, err -} - -// WithDescription a fluent builder method for the description of the parameter -func (p *Parameter) WithDescription(description string) *Parameter { - p.Description = description - return p -} - -// Named a fluent builder method to override the name of the parameter -func (p *Parameter) Named(name string) *Parameter { - p.Name = name - return p -} - -// WithLocation a fluent builder method to override the location of the parameter -func (p *Parameter) WithLocation(in string) *Parameter { - p.In = in - return p -} - -// Typed a fluent builder method for the type of the parameter value -func (p *Parameter) Typed(tpe, format string) *Parameter { - p.Type = tpe - p.Format = format - return p -} - -// CollectionOf a fluent builder method for an array parameter -func (p *Parameter) CollectionOf(items *Items, format string) *Parameter { - p.Type = jsonArray - p.Items = items - p.CollectionFormat = format - return p -} - -// WithDefault sets the default value on this parameter -func (p *Parameter) WithDefault(defaultValue interface{}) *Parameter { - p.AsOptional() // with default implies optional - p.Default = defaultValue - return p -} - -// AllowsEmptyValues flags this parameter as being ok with empty values -func (p *Parameter) AllowsEmptyValues() *Parameter { - p.AllowEmptyValue = true - return p -} - -// NoEmptyValues flags this parameter as not liking empty values -func (p *Parameter) NoEmptyValues() *Parameter { - p.AllowEmptyValue = false - return p -} - -// AsOptional flags this parameter as optional -func (p *Parameter) AsOptional() *Parameter { - p.Required = false - return p -} - -// AsRequired flags this parameter as required -func (p *Parameter) AsRequired() *Parameter { - if p.Default != nil { // with a default required makes no sense - return p - } - p.Required = true - return p -} - -// WithMaxLength sets a max length value -func (p *Parameter) WithMaxLength(max int64) *Parameter { - p.MaxLength = &max - return p -} - -// WithMinLength sets a min length value -func (p *Parameter) WithMinLength(min int64) *Parameter { - p.MinLength = &min - return p -} - -// WithPattern sets a pattern value -func (p *Parameter) WithPattern(pattern string) *Parameter { - p.Pattern = pattern - return p -} - -// WithMultipleOf sets a multiple of value -func (p *Parameter) WithMultipleOf(number float64) *Parameter { - p.MultipleOf = &number - return p -} - -// WithMaximum sets a maximum number value -func (p *Parameter) WithMaximum(max float64, exclusive bool) *Parameter { - p.Maximum = &max - p.ExclusiveMaximum = exclusive - return p -} - -// WithMinimum sets a minimum number value -func (p *Parameter) WithMinimum(min float64, exclusive bool) *Parameter { - p.Minimum = &min - p.ExclusiveMinimum = exclusive - return p -} - -// WithEnum sets a the enum values (replace) -func (p *Parameter) WithEnum(values ...interface{}) *Parameter { - p.Enum = append([]interface{}{}, values...) - return p -} - -// WithMaxItems sets the max items -func (p *Parameter) WithMaxItems(size int64) *Parameter { - p.MaxItems = &size - return p -} - -// WithMinItems sets the min items -func (p *Parameter) WithMinItems(size int64) *Parameter { - p.MinItems = &size - return p -} - -// UniqueValues dictates that this array can only have unique items -func (p *Parameter) UniqueValues() *Parameter { - p.UniqueItems = true - return p -} - -// AllowDuplicates this array can have duplicates -func (p *Parameter) AllowDuplicates() *Parameter { - p.UniqueItems = false - return p -} - -// WithValidations is a fluent method to set parameter validations -func (p *Parameter) WithValidations(val CommonValidations) *Parameter { - p.SetValidations(SchemaValidations{CommonValidations: val}) - return p -} - -// UnmarshalJSON hydrates this items instance with the data from JSON -func (p *Parameter) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &p.CommonValidations); err != nil { - return err - } - if err := json.Unmarshal(data, &p.Refable); err != nil { - return err - } - if err := json.Unmarshal(data, &p.SimpleSchema); err != nil { - return err - } - if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { - return err - } - return json.Unmarshal(data, &p.ParamProps) -} - -// MarshalJSON converts this items object to JSON -func (p Parameter) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(p.CommonValidations) - if err != nil { - return nil, err - } - b2, err := json.Marshal(p.SimpleSchema) - if err != nil { - return nil, err - } - b3, err := json.Marshal(p.Refable) - if err != nil { - return nil, err - } - b4, err := json.Marshal(p.VendorExtensible) - if err != nil { - return nil, err - } - b5, err := json.Marshal(p.ParamProps) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b3, b1, b2, b4, b5), nil -} diff --git a/vendor/github.com/go-openapi/spec/path_item.go b/vendor/github.com/go-openapi/spec/path_item.go deleted file mode 100644 index 68fc8e9014..0000000000 --- a/vendor/github.com/go-openapi/spec/path_item.go +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -// PathItemProps the path item specific properties -type PathItemProps struct { - Get *Operation `json:"get,omitempty"` - Put *Operation `json:"put,omitempty"` - Post *Operation `json:"post,omitempty"` - Delete *Operation `json:"delete,omitempty"` - Options *Operation `json:"options,omitempty"` - Head *Operation `json:"head,omitempty"` - Patch *Operation `json:"patch,omitempty"` - Parameters []Parameter `json:"parameters,omitempty"` -} - -// PathItem describes the operations available on a single path. -// A Path Item may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). -// The path itself is still exposed to the documentation viewer but they will -// not know which operations and parameters are available. -// -// For more information: http://goo.gl/8us55a#pathItemObject -type PathItem struct { - Refable - VendorExtensible - PathItemProps -} - -// JSONLookup look up a value by the json property name -func (p PathItem) JSONLookup(token string) (interface{}, error) { - if ex, ok := p.Extensions[token]; ok { - return &ex, nil - } - if token == jsonRef { - return &p.Ref, nil - } - r, _, err := jsonpointer.GetForToken(p.PathItemProps, token) - return r, err -} - -// UnmarshalJSON hydrates this items instance with the data from JSON -func (p *PathItem) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &p.Refable); err != nil { - return err - } - if err := json.Unmarshal(data, &p.VendorExtensible); err != nil { - return err - } - return json.Unmarshal(data, &p.PathItemProps) -} - -// MarshalJSON converts this items object to JSON -func (p PathItem) MarshalJSON() ([]byte, error) { - b3, err := json.Marshal(p.Refable) - if err != nil { - return nil, err - } - b4, err := json.Marshal(p.VendorExtensible) - if err != nil { - return nil, err - } - b5, err := json.Marshal(p.PathItemProps) - if err != nil { - return nil, err - } - concated := swag.ConcatJSON(b3, b4, b5) - return concated, nil -} diff --git a/vendor/github.com/go-openapi/spec/paths.go b/vendor/github.com/go-openapi/spec/paths.go deleted file mode 100644 index 9dc82a2901..0000000000 --- a/vendor/github.com/go-openapi/spec/paths.go +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "fmt" - "strings" - - "github.com/go-openapi/swag" -) - -// Paths holds the relative paths to the individual endpoints. -// The path is appended to the [`basePath`](http://goo.gl/8us55a#swaggerBasePath) in order -// to construct the full URL. -// The Paths may be empty, due to [ACL constraints](http://goo.gl/8us55a#securityFiltering). -// -// For more information: http://goo.gl/8us55a#pathsObject -type Paths struct { - VendorExtensible - Paths map[string]PathItem `json:"-"` // custom serializer to flatten this, each entry must start with "/" -} - -// JSONLookup look up a value by the json property name -func (p Paths) JSONLookup(token string) (interface{}, error) { - if pi, ok := p.Paths[token]; ok { - return &pi, nil - } - if ex, ok := p.Extensions[token]; ok { - return &ex, nil - } - return nil, fmt.Errorf("object has no field %q", token) -} - -// UnmarshalJSON hydrates this items instance with the data from JSON -func (p *Paths) UnmarshalJSON(data []byte) error { - var res map[string]json.RawMessage - if err := json.Unmarshal(data, &res); err != nil { - return err - } - for k, v := range res { - if strings.HasPrefix(strings.ToLower(k), "x-") { - if p.Extensions == nil { - p.Extensions = make(map[string]interface{}) - } - var d interface{} - if err := json.Unmarshal(v, &d); err != nil { - return err - } - p.Extensions[k] = d - } - if strings.HasPrefix(k, "/") { - if p.Paths == nil { - p.Paths = make(map[string]PathItem) - } - var pi PathItem - if err := json.Unmarshal(v, &pi); err != nil { - return err - } - p.Paths[k] = pi - } - } - return nil -} - -// MarshalJSON converts this items object to JSON -func (p Paths) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(p.VendorExtensible) - if err != nil { - return nil, err - } - - pths := make(map[string]PathItem) - for k, v := range p.Paths { - if strings.HasPrefix(k, "/") { - pths[k] = v - } - } - b2, err := json.Marshal(pths) - if err != nil { - return nil, err - } - concated := swag.ConcatJSON(b1, b2) - return concated, nil -} diff --git a/vendor/github.com/go-openapi/spec/properties.go b/vendor/github.com/go-openapi/spec/properties.go deleted file mode 100644 index 91d2435f01..0000000000 --- a/vendor/github.com/go-openapi/spec/properties.go +++ /dev/null @@ -1,91 +0,0 @@ -package spec - -import ( - "bytes" - "encoding/json" - "reflect" - "sort" -) - -// OrderSchemaItem holds a named schema (e.g. from a property of an object) -type OrderSchemaItem struct { - Name string - Schema -} - -// OrderSchemaItems is a sortable slice of named schemas. -// The ordering is defined by the x-order schema extension. -type OrderSchemaItems []OrderSchemaItem - -// MarshalJSON produces a json object with keys defined by the name schemas -// of the OrderSchemaItems slice, keeping the original order of the slice. -func (items OrderSchemaItems) MarshalJSON() ([]byte, error) { - buf := bytes.NewBuffer(nil) - buf.WriteString("{") - for i := range items { - if i > 0 { - buf.WriteString(",") - } - buf.WriteString("\"") - buf.WriteString(items[i].Name) - buf.WriteString("\":") - bs, err := json.Marshal(&items[i].Schema) - if err != nil { - return nil, err - } - buf.Write(bs) - } - buf.WriteString("}") - return buf.Bytes(), nil -} - -func (items OrderSchemaItems) Len() int { return len(items) } -func (items OrderSchemaItems) Swap(i, j int) { items[i], items[j] = items[j], items[i] } -func (items OrderSchemaItems) Less(i, j int) (ret bool) { - ii, oki := items[i].Extensions.GetInt("x-order") - ij, okj := items[j].Extensions.GetInt("x-order") - if oki { - if okj { - defer func() { - if err := recover(); err != nil { - defer func() { - if err = recover(); err != nil { - ret = items[i].Name < items[j].Name - } - }() - ret = reflect.ValueOf(ii).String() < reflect.ValueOf(ij).String() - } - }() - return ii < ij - } - return true - } else if okj { - return false - } - return items[i].Name < items[j].Name -} - -// SchemaProperties is a map representing the properties of a Schema object. -// It knows how to transform its keys into an ordered slice. -type SchemaProperties map[string]Schema - -// ToOrderedSchemaItems transforms the map of properties into a sortable slice -func (properties SchemaProperties) ToOrderedSchemaItems() OrderSchemaItems { - items := make(OrderSchemaItems, 0, len(properties)) - for k, v := range properties { - items = append(items, OrderSchemaItem{ - Name: k, - Schema: v, - }) - } - sort.Sort(items) - return items -} - -// MarshalJSON produces properties as json, keeping their order. -func (properties SchemaProperties) MarshalJSON() ([]byte, error) { - if properties == nil { - return []byte("null"), nil - } - return json.Marshal(properties.ToOrderedSchemaItems()) -} diff --git a/vendor/github.com/go-openapi/spec/ref.go b/vendor/github.com/go-openapi/spec/ref.go deleted file mode 100644 index b0ef9bd9c9..0000000000 --- a/vendor/github.com/go-openapi/spec/ref.go +++ /dev/null @@ -1,193 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "bytes" - "encoding/gob" - "encoding/json" - "net/http" - "os" - "path/filepath" - - "github.com/go-openapi/jsonreference" -) - -// Refable is a struct for things that accept a $ref property -type Refable struct { - Ref Ref -} - -// MarshalJSON marshals the ref to json -func (r Refable) MarshalJSON() ([]byte, error) { - return r.Ref.MarshalJSON() -} - -// UnmarshalJSON unmarshalss the ref from json -func (r *Refable) UnmarshalJSON(d []byte) error { - return json.Unmarshal(d, &r.Ref) -} - -// Ref represents a json reference that is potentially resolved -type Ref struct { - jsonreference.Ref -} - -// RemoteURI gets the remote uri part of the ref -func (r *Ref) RemoteURI() string { - if r.String() == "" { - return "" - } - - u := *r.GetURL() - u.Fragment = "" - return u.String() -} - -// IsValidURI returns true when the url the ref points to can be found -func (r *Ref) IsValidURI(basepaths ...string) bool { - if r.String() == "" { - return true - } - - v := r.RemoteURI() - if v == "" { - return true - } - - if r.HasFullURL { - //nolint:noctx,gosec - rr, err := http.Get(v) - if err != nil { - return false - } - defer rr.Body.Close() - - return rr.StatusCode/100 == 2 - } - - if !(r.HasFileScheme || r.HasFullFilePath || r.HasURLPathOnly) { - return false - } - - // check for local file - pth := v - if r.HasURLPathOnly { - base := "." - if len(basepaths) > 0 { - base = filepath.Dir(filepath.Join(basepaths...)) - } - p, e := filepath.Abs(filepath.ToSlash(filepath.Join(base, pth))) - if e != nil { - return false - } - pth = p - } - - fi, err := os.Stat(filepath.ToSlash(pth)) - if err != nil { - return false - } - - return !fi.IsDir() -} - -// Inherits creates a new reference from a parent and a child -// If the child cannot inherit from the parent, an error is returned -func (r *Ref) Inherits(child Ref) (*Ref, error) { - ref, err := r.Ref.Inherits(child.Ref) - if err != nil { - return nil, err - } - return &Ref{Ref: *ref}, nil -} - -// NewRef creates a new instance of a ref object -// returns an error when the reference uri is an invalid uri -func NewRef(refURI string) (Ref, error) { - ref, err := jsonreference.New(refURI) - if err != nil { - return Ref{}, err - } - return Ref{Ref: ref}, nil -} - -// MustCreateRef creates a ref object but panics when refURI is invalid. -// Use the NewRef method for a version that returns an error. -func MustCreateRef(refURI string) Ref { - return Ref{Ref: jsonreference.MustCreateRef(refURI)} -} - -// MarshalJSON marshals this ref into a JSON object -func (r Ref) MarshalJSON() ([]byte, error) { - str := r.String() - if str == "" { - if r.IsRoot() { - return []byte(`{"$ref":""}`), nil - } - return []byte("{}"), nil - } - v := map[string]interface{}{"$ref": str} - return json.Marshal(v) -} - -// UnmarshalJSON unmarshals this ref from a JSON object -func (r *Ref) UnmarshalJSON(d []byte) error { - var v map[string]interface{} - if err := json.Unmarshal(d, &v); err != nil { - return err - } - return r.fromMap(v) -} - -// GobEncode provides a safe gob encoder for Ref -func (r Ref) GobEncode() ([]byte, error) { - var b bytes.Buffer - raw, err := r.MarshalJSON() - if err != nil { - return nil, err - } - err = gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err -} - -// GobDecode provides a safe gob decoder for Ref -func (r *Ref) GobDecode(b []byte) error { - var raw []byte - buf := bytes.NewBuffer(b) - err := gob.NewDecoder(buf).Decode(&raw) - if err != nil { - return err - } - return json.Unmarshal(raw, r) -} - -func (r *Ref) fromMap(v map[string]interface{}) error { - if v == nil { - return nil - } - - if vv, ok := v["$ref"]; ok { - if str, ok := vv.(string); ok { - ref, err := jsonreference.New(str) - if err != nil { - return err - } - *r = Ref{Ref: ref} - } - } - - return nil -} diff --git a/vendor/github.com/go-openapi/spec/resolver.go b/vendor/github.com/go-openapi/spec/resolver.go deleted file mode 100644 index 47d1ee13fc..0000000000 --- a/vendor/github.com/go-openapi/spec/resolver.go +++ /dev/null @@ -1,127 +0,0 @@ -package spec - -import ( - "fmt" - - "github.com/go-openapi/swag" -) - -func resolveAnyWithBase(root interface{}, ref *Ref, result interface{}, options *ExpandOptions) error { - options = optionsOrDefault(options) - resolver := defaultSchemaLoader(root, options, nil, nil) - - if err := resolver.Resolve(ref, result, options.RelativeBase); err != nil { - return err - } - - return nil -} - -// ResolveRefWithBase resolves a reference against a context root with preservation of base path -func ResolveRefWithBase(root interface{}, ref *Ref, options *ExpandOptions) (*Schema, error) { - result := new(Schema) - - if err := resolveAnyWithBase(root, ref, result, options); err != nil { - return nil, err - } - - return result, nil -} - -// ResolveRef resolves a reference for a schema against a context root -// ref is guaranteed to be in root (no need to go to external files) -// -// ResolveRef is ONLY called from the code generation module -func ResolveRef(root interface{}, ref *Ref) (*Schema, error) { - res, _, err := ref.GetPointer().Get(root) - if err != nil { - return nil, err - } - - switch sch := res.(type) { - case Schema: - return &sch, nil - case *Schema: - return sch, nil - case map[string]interface{}: - newSch := new(Schema) - if err = swag.DynamicJSONToStruct(sch, newSch); err != nil { - return nil, err - } - return newSch, nil - default: - return nil, fmt.Errorf("type: %T: %w", sch, ErrUnknownTypeForReference) - } -} - -// ResolveParameterWithBase resolves a parameter reference against a context root and base path -func ResolveParameterWithBase(root interface{}, ref Ref, options *ExpandOptions) (*Parameter, error) { - result := new(Parameter) - - if err := resolveAnyWithBase(root, &ref, result, options); err != nil { - return nil, err - } - - return result, nil -} - -// ResolveParameter resolves a parameter reference against a context root -func ResolveParameter(root interface{}, ref Ref) (*Parameter, error) { - return ResolveParameterWithBase(root, ref, nil) -} - -// ResolveResponseWithBase resolves response a reference against a context root and base path -func ResolveResponseWithBase(root interface{}, ref Ref, options *ExpandOptions) (*Response, error) { - result := new(Response) - - err := resolveAnyWithBase(root, &ref, result, options) - if err != nil { - return nil, err - } - - return result, nil -} - -// ResolveResponse resolves response a reference against a context root -func ResolveResponse(root interface{}, ref Ref) (*Response, error) { - return ResolveResponseWithBase(root, ref, nil) -} - -// ResolvePathItemWithBase resolves response a path item against a context root and base path -func ResolvePathItemWithBase(root interface{}, ref Ref, options *ExpandOptions) (*PathItem, error) { - result := new(PathItem) - - if err := resolveAnyWithBase(root, &ref, result, options); err != nil { - return nil, err - } - - return result, nil -} - -// ResolvePathItem resolves response a path item against a context root and base path -// -// Deprecated: use ResolvePathItemWithBase instead -func ResolvePathItem(root interface{}, ref Ref, options *ExpandOptions) (*PathItem, error) { - return ResolvePathItemWithBase(root, ref, options) -} - -// ResolveItemsWithBase resolves parameter items reference against a context root and base path. -// -// NOTE: stricly speaking, this construct is not supported by Swagger 2.0. -// Similarly, $ref are forbidden in response headers. -func ResolveItemsWithBase(root interface{}, ref Ref, options *ExpandOptions) (*Items, error) { - result := new(Items) - - if err := resolveAnyWithBase(root, &ref, result, options); err != nil { - return nil, err - } - - return result, nil -} - -// ResolveItems resolves parameter items reference against a context root and base path. -// -// Deprecated: use ResolveItemsWithBase instead -func ResolveItems(root interface{}, ref Ref, options *ExpandOptions) (*Items, error) { - return ResolveItemsWithBase(root, ref, options) -} diff --git a/vendor/github.com/go-openapi/spec/response.go b/vendor/github.com/go-openapi/spec/response.go deleted file mode 100644 index 0340b60d84..0000000000 --- a/vendor/github.com/go-openapi/spec/response.go +++ /dev/null @@ -1,152 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -// ResponseProps properties specific to a response -type ResponseProps struct { - Description string `json:"description"` - Schema *Schema `json:"schema,omitempty"` - Headers map[string]Header `json:"headers,omitempty"` - Examples map[string]interface{} `json:"examples,omitempty"` -} - -// Response describes a single response from an API Operation. -// -// For more information: http://goo.gl/8us55a#responseObject -type Response struct { - Refable - ResponseProps - VendorExtensible -} - -// JSONLookup look up a value by the json property name -func (r Response) JSONLookup(token string) (interface{}, error) { - if ex, ok := r.Extensions[token]; ok { - return &ex, nil - } - if token == "$ref" { - return &r.Ref, nil - } - ptr, _, err := jsonpointer.GetForToken(r.ResponseProps, token) - return ptr, err -} - -// UnmarshalJSON hydrates this items instance with the data from JSON -func (r *Response) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &r.ResponseProps); err != nil { - return err - } - if err := json.Unmarshal(data, &r.Refable); err != nil { - return err - } - return json.Unmarshal(data, &r.VendorExtensible) -} - -// MarshalJSON converts this items object to JSON -func (r Response) MarshalJSON() ([]byte, error) { - var ( - b1 []byte - err error - ) - - if r.Ref.String() == "" { - // when there is no $ref, empty description is rendered as an empty string - b1, err = json.Marshal(r.ResponseProps) - } else { - // when there is $ref inside the schema, description should be omitempty-ied - b1, err = json.Marshal(struct { - Description string `json:"description,omitempty"` - Schema *Schema `json:"schema,omitempty"` - Headers map[string]Header `json:"headers,omitempty"` - Examples map[string]interface{} `json:"examples,omitempty"` - }{ - Description: r.ResponseProps.Description, - Schema: r.ResponseProps.Schema, - Examples: r.ResponseProps.Examples, - }) - } - if err != nil { - return nil, err - } - - b2, err := json.Marshal(r.Refable) - if err != nil { - return nil, err - } - b3, err := json.Marshal(r.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2, b3), nil -} - -// NewResponse creates a new response instance -func NewResponse() *Response { - return new(Response) -} - -// ResponseRef creates a response as a json reference -func ResponseRef(url string) *Response { - resp := NewResponse() - resp.Ref = MustCreateRef(url) - return resp -} - -// WithDescription sets the description on this response, allows for chaining -func (r *Response) WithDescription(description string) *Response { - r.Description = description - return r -} - -// WithSchema sets the schema on this response, allows for chaining. -// Passing a nil argument removes the schema from this response -func (r *Response) WithSchema(schema *Schema) *Response { - r.Schema = schema - return r -} - -// AddHeader adds a header to this response -func (r *Response) AddHeader(name string, header *Header) *Response { - if header == nil { - return r.RemoveHeader(name) - } - if r.Headers == nil { - r.Headers = make(map[string]Header) - } - r.Headers[name] = *header - return r -} - -// RemoveHeader removes a header from this response -func (r *Response) RemoveHeader(name string) *Response { - delete(r.Headers, name) - return r -} - -// AddExample adds an example to this response -func (r *Response) AddExample(mediaType string, example interface{}) *Response { - if r.Examples == nil { - r.Examples = make(map[string]interface{}) - } - r.Examples[mediaType] = example - return r -} diff --git a/vendor/github.com/go-openapi/spec/responses.go b/vendor/github.com/go-openapi/spec/responses.go deleted file mode 100644 index 16c3076fe8..0000000000 --- a/vendor/github.com/go-openapi/spec/responses.go +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "fmt" - "reflect" - "strconv" - "strings" - - "github.com/go-openapi/swag" -) - -// Responses is a container for the expected responses of an operation. -// The container maps a HTTP response code to the expected response. -// It is not expected from the documentation to necessarily cover all possible HTTP response codes, -// since they may not be known in advance. However, it is expected from the documentation to cover -// a successful operation response and any known errors. -// -// The `default` can be used a default response object for all HTTP codes that are not covered -// individually by the specification. -// -// The `Responses Object` MUST contain at least one response code, and it SHOULD be the response -// for a successful operation call. -// -// For more information: http://goo.gl/8us55a#responsesObject -type Responses struct { - VendorExtensible - ResponsesProps -} - -// JSONLookup implements an interface to customize json pointer lookup -func (r Responses) JSONLookup(token string) (interface{}, error) { - if token == "default" { - return r.Default, nil - } - if ex, ok := r.Extensions[token]; ok { - return &ex, nil - } - if i, err := strconv.Atoi(token); err == nil { - if scr, ok := r.StatusCodeResponses[i]; ok { - return scr, nil - } - } - return nil, fmt.Errorf("object has no field %q", token) -} - -// UnmarshalJSON hydrates this items instance with the data from JSON -func (r *Responses) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &r.ResponsesProps); err != nil { - return err - } - - if err := json.Unmarshal(data, &r.VendorExtensible); err != nil { - return err - } - if reflect.DeepEqual(ResponsesProps{}, r.ResponsesProps) { - r.ResponsesProps = ResponsesProps{} - } - return nil -} - -// MarshalJSON converts this items object to JSON -func (r Responses) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(r.ResponsesProps) - if err != nil { - return nil, err - } - b2, err := json.Marshal(r.VendorExtensible) - if err != nil { - return nil, err - } - concated := swag.ConcatJSON(b1, b2) - return concated, nil -} - -// ResponsesProps describes all responses for an operation. -// It tells what is the default response and maps all responses with a -// HTTP status code. -type ResponsesProps struct { - Default *Response - StatusCodeResponses map[int]Response -} - -// MarshalJSON marshals responses as JSON -func (r ResponsesProps) MarshalJSON() ([]byte, error) { - toser := map[string]Response{} - if r.Default != nil { - toser["default"] = *r.Default - } - for k, v := range r.StatusCodeResponses { - toser[strconv.Itoa(k)] = v - } - return json.Marshal(toser) -} - -// UnmarshalJSON unmarshals responses from JSON -func (r *ResponsesProps) UnmarshalJSON(data []byte) error { - var res map[string]json.RawMessage - if err := json.Unmarshal(data, &res); err != nil { - return err - } - - if v, ok := res["default"]; ok { - var defaultRes Response - if err := json.Unmarshal(v, &defaultRes); err != nil { - return err - } - r.Default = &defaultRes - delete(res, "default") - } - for k, v := range res { - if !strings.HasPrefix(k, "x-") { - var statusCodeResp Response - if err := json.Unmarshal(v, &statusCodeResp); err != nil { - return err - } - if nk, err := strconv.Atoi(k); err == nil { - if r.StatusCodeResponses == nil { - r.StatusCodeResponses = map[int]Response{} - } - r.StatusCodeResponses[nk] = statusCodeResp - } - } - } - return nil -} diff --git a/vendor/github.com/go-openapi/spec/schema.go b/vendor/github.com/go-openapi/spec/schema.go deleted file mode 100644 index 4e9be8576b..0000000000 --- a/vendor/github.com/go-openapi/spec/schema.go +++ /dev/null @@ -1,645 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "fmt" - "strings" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -// BooleanProperty creates a boolean property -func BooleanProperty() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"boolean"}}} -} - -// BoolProperty creates a boolean property -func BoolProperty() *Schema { return BooleanProperty() } - -// StringProperty creates a string property -func StringProperty() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} -} - -// CharProperty creates a string property -func CharProperty() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}}} -} - -// Float64Property creates a float64/double property -func Float64Property() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "double"}} -} - -// Float32Property creates a float32/float property -func Float32Property() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"number"}, Format: "float"}} -} - -// Int8Property creates an int8 property -func Int8Property() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int8"}} -} - -// Int16Property creates an int16 property -func Int16Property() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int16"}} -} - -// Int32Property creates an int32 property -func Int32Property() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int32"}} -} - -// Int64Property creates an int64 property -func Int64Property() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"integer"}, Format: "int64"}} -} - -// StrFmtProperty creates a property for the named string format -func StrFmtProperty(format string) *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: format}} -} - -// DateProperty creates a date property -func DateProperty() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date"}} -} - -// DateTimeProperty creates a date time property -func DateTimeProperty() *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"string"}, Format: "date-time"}} -} - -// MapProperty creates a map property -func MapProperty(property *Schema) *Schema { - return &Schema{SchemaProps: SchemaProps{Type: []string{"object"}, - AdditionalProperties: &SchemaOrBool{Allows: true, Schema: property}}} -} - -// RefProperty creates a ref property -func RefProperty(name string) *Schema { - return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} -} - -// RefSchema creates a ref property -func RefSchema(name string) *Schema { - return &Schema{SchemaProps: SchemaProps{Ref: MustCreateRef(name)}} -} - -// ArrayProperty creates an array property -func ArrayProperty(items *Schema) *Schema { - if items == nil { - return &Schema{SchemaProps: SchemaProps{Type: []string{"array"}}} - } - return &Schema{SchemaProps: SchemaProps{Items: &SchemaOrArray{Schema: items}, Type: []string{"array"}}} -} - -// ComposedSchema creates a schema with allOf -func ComposedSchema(schemas ...Schema) *Schema { - s := new(Schema) - s.AllOf = schemas - return s -} - -// SchemaURL represents a schema url -type SchemaURL string - -// MarshalJSON marshal this to JSON -func (r SchemaURL) MarshalJSON() ([]byte, error) { - if r == "" { - return []byte("{}"), nil - } - v := map[string]interface{}{"$schema": string(r)} - return json.Marshal(v) -} - -// UnmarshalJSON unmarshal this from JSON -func (r *SchemaURL) UnmarshalJSON(data []byte) error { - var v map[string]interface{} - if err := json.Unmarshal(data, &v); err != nil { - return err - } - return r.fromMap(v) -} - -func (r *SchemaURL) fromMap(v map[string]interface{}) error { - if v == nil { - return nil - } - if vv, ok := v["$schema"]; ok { - if str, ok := vv.(string); ok { - u, err := parseURL(str) - if err != nil { - return err - } - - *r = SchemaURL(u.String()) - } - } - return nil -} - -// SchemaProps describes a JSON schema (draft 4) -type SchemaProps struct { - ID string `json:"id,omitempty"` - Ref Ref `json:"-"` - Schema SchemaURL `json:"-"` - Description string `json:"description,omitempty"` - Type StringOrArray `json:"type,omitempty"` - Nullable bool `json:"nullable,omitempty"` - Format string `json:"format,omitempty"` - Title string `json:"title,omitempty"` - Default interface{} `json:"default,omitempty"` - Maximum *float64 `json:"maximum,omitempty"` - ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` - Minimum *float64 `json:"minimum,omitempty"` - ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` - MaxLength *int64 `json:"maxLength,omitempty"` - MinLength *int64 `json:"minLength,omitempty"` - Pattern string `json:"pattern,omitempty"` - MaxItems *int64 `json:"maxItems,omitempty"` - MinItems *int64 `json:"minItems,omitempty"` - UniqueItems bool `json:"uniqueItems,omitempty"` - MultipleOf *float64 `json:"multipleOf,omitempty"` - Enum []interface{} `json:"enum,omitempty"` - MaxProperties *int64 `json:"maxProperties,omitempty"` - MinProperties *int64 `json:"minProperties,omitempty"` - Required []string `json:"required,omitempty"` - Items *SchemaOrArray `json:"items,omitempty"` - AllOf []Schema `json:"allOf,omitempty"` - OneOf []Schema `json:"oneOf,omitempty"` - AnyOf []Schema `json:"anyOf,omitempty"` - Not *Schema `json:"not,omitempty"` - Properties SchemaProperties `json:"properties,omitempty"` - AdditionalProperties *SchemaOrBool `json:"additionalProperties,omitempty"` - PatternProperties SchemaProperties `json:"patternProperties,omitempty"` - Dependencies Dependencies `json:"dependencies,omitempty"` - AdditionalItems *SchemaOrBool `json:"additionalItems,omitempty"` - Definitions Definitions `json:"definitions,omitempty"` -} - -// SwaggerSchemaProps are additional properties supported by swagger schemas, but not JSON-schema (draft 4) -type SwaggerSchemaProps struct { - Discriminator string `json:"discriminator,omitempty"` - ReadOnly bool `json:"readOnly,omitempty"` - XML *XMLObject `json:"xml,omitempty"` - ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` - Example interface{} `json:"example,omitempty"` -} - -// Schema the schema object allows the definition of input and output data types. -// These types can be objects, but also primitives and arrays. -// This object is based on the [JSON Schema Specification Draft 4](http://json-schema.org/) -// and uses a predefined subset of it. -// On top of this subset, there are extensions provided by this specification to allow for more complete documentation. -// -// For more information: http://goo.gl/8us55a#schemaObject -type Schema struct { - VendorExtensible - SchemaProps - SwaggerSchemaProps - ExtraProps map[string]interface{} `json:"-"` -} - -// JSONLookup implements an interface to customize json pointer lookup -func (s Schema) JSONLookup(token string) (interface{}, error) { - if ex, ok := s.Extensions[token]; ok { - return &ex, nil - } - - if ex, ok := s.ExtraProps[token]; ok { - return &ex, nil - } - - r, _, err := jsonpointer.GetForToken(s.SchemaProps, token) - if r != nil || (err != nil && !strings.HasPrefix(err.Error(), "object has no field")) { - return r, err - } - r, _, err = jsonpointer.GetForToken(s.SwaggerSchemaProps, token) - return r, err -} - -// WithID sets the id for this schema, allows for chaining -func (s *Schema) WithID(id string) *Schema { - s.ID = id - return s -} - -// WithTitle sets the title for this schema, allows for chaining -func (s *Schema) WithTitle(title string) *Schema { - s.Title = title - return s -} - -// WithDescription sets the description for this schema, allows for chaining -func (s *Schema) WithDescription(description string) *Schema { - s.Description = description - return s -} - -// WithProperties sets the properties for this schema -func (s *Schema) WithProperties(schemas map[string]Schema) *Schema { - s.Properties = schemas - return s -} - -// SetProperty sets a property on this schema -func (s *Schema) SetProperty(name string, schema Schema) *Schema { - if s.Properties == nil { - s.Properties = make(map[string]Schema) - } - s.Properties[name] = schema - return s -} - -// WithAllOf sets the all of property -func (s *Schema) WithAllOf(schemas ...Schema) *Schema { - s.AllOf = schemas - return s -} - -// WithMaxProperties sets the max number of properties an object can have -func (s *Schema) WithMaxProperties(max int64) *Schema { - s.MaxProperties = &max - return s -} - -// WithMinProperties sets the min number of properties an object must have -func (s *Schema) WithMinProperties(min int64) *Schema { - s.MinProperties = &min - return s -} - -// Typed sets the type of this schema for a single value item -func (s *Schema) Typed(tpe, format string) *Schema { - s.Type = []string{tpe} - s.Format = format - return s -} - -// AddType adds a type with potential format to the types for this schema -func (s *Schema) AddType(tpe, format string) *Schema { - s.Type = append(s.Type, tpe) - if format != "" { - s.Format = format - } - return s -} - -// AsNullable flags this schema as nullable. -func (s *Schema) AsNullable() *Schema { - s.Nullable = true - return s -} - -// CollectionOf a fluent builder method for an array parameter -func (s *Schema) CollectionOf(items Schema) *Schema { - s.Type = []string{jsonArray} - s.Items = &SchemaOrArray{Schema: &items} - return s -} - -// WithDefault sets the default value on this parameter -func (s *Schema) WithDefault(defaultValue interface{}) *Schema { - s.Default = defaultValue - return s -} - -// WithRequired flags this parameter as required -func (s *Schema) WithRequired(items ...string) *Schema { - s.Required = items - return s -} - -// AddRequired adds field names to the required properties array -func (s *Schema) AddRequired(items ...string) *Schema { - s.Required = append(s.Required, items...) - return s -} - -// WithMaxLength sets a max length value -func (s *Schema) WithMaxLength(max int64) *Schema { - s.MaxLength = &max - return s -} - -// WithMinLength sets a min length value -func (s *Schema) WithMinLength(min int64) *Schema { - s.MinLength = &min - return s -} - -// WithPattern sets a pattern value -func (s *Schema) WithPattern(pattern string) *Schema { - s.Pattern = pattern - return s -} - -// WithMultipleOf sets a multiple of value -func (s *Schema) WithMultipleOf(number float64) *Schema { - s.MultipleOf = &number - return s -} - -// WithMaximum sets a maximum number value -func (s *Schema) WithMaximum(max float64, exclusive bool) *Schema { - s.Maximum = &max - s.ExclusiveMaximum = exclusive - return s -} - -// WithMinimum sets a minimum number value -func (s *Schema) WithMinimum(min float64, exclusive bool) *Schema { - s.Minimum = &min - s.ExclusiveMinimum = exclusive - return s -} - -// WithEnum sets a the enum values (replace) -func (s *Schema) WithEnum(values ...interface{}) *Schema { - s.Enum = append([]interface{}{}, values...) - return s -} - -// WithMaxItems sets the max items -func (s *Schema) WithMaxItems(size int64) *Schema { - s.MaxItems = &size - return s -} - -// WithMinItems sets the min items -func (s *Schema) WithMinItems(size int64) *Schema { - s.MinItems = &size - return s -} - -// UniqueValues dictates that this array can only have unique items -func (s *Schema) UniqueValues() *Schema { - s.UniqueItems = true - return s -} - -// AllowDuplicates this array can have duplicates -func (s *Schema) AllowDuplicates() *Schema { - s.UniqueItems = false - return s -} - -// AddToAllOf adds a schema to the allOf property -func (s *Schema) AddToAllOf(schemas ...Schema) *Schema { - s.AllOf = append(s.AllOf, schemas...) - return s -} - -// WithDiscriminator sets the name of the discriminator field -func (s *Schema) WithDiscriminator(discriminator string) *Schema { - s.Discriminator = discriminator - return s -} - -// AsReadOnly flags this schema as readonly -func (s *Schema) AsReadOnly() *Schema { - s.ReadOnly = true - return s -} - -// AsWritable flags this schema as writeable (not read-only) -func (s *Schema) AsWritable() *Schema { - s.ReadOnly = false - return s -} - -// WithExample sets the example for this schema -func (s *Schema) WithExample(example interface{}) *Schema { - s.Example = example - return s -} - -// WithExternalDocs sets/removes the external docs for/from this schema. -// When you pass empty strings as params the external documents will be removed. -// When you pass non-empty string as one value then those values will be used on the external docs object. -// So when you pass a non-empty description, you should also pass the url and vice versa. -func (s *Schema) WithExternalDocs(description, url string) *Schema { - if description == "" && url == "" { - s.ExternalDocs = nil - return s - } - - if s.ExternalDocs == nil { - s.ExternalDocs = &ExternalDocumentation{} - } - s.ExternalDocs.Description = description - s.ExternalDocs.URL = url - return s -} - -// WithXMLName sets the xml name for the object -func (s *Schema) WithXMLName(name string) *Schema { - if s.XML == nil { - s.XML = new(XMLObject) - } - s.XML.Name = name - return s -} - -// WithXMLNamespace sets the xml namespace for the object -func (s *Schema) WithXMLNamespace(namespace string) *Schema { - if s.XML == nil { - s.XML = new(XMLObject) - } - s.XML.Namespace = namespace - return s -} - -// WithXMLPrefix sets the xml prefix for the object -func (s *Schema) WithXMLPrefix(prefix string) *Schema { - if s.XML == nil { - s.XML = new(XMLObject) - } - s.XML.Prefix = prefix - return s -} - -// AsXMLAttribute flags this object as xml attribute -func (s *Schema) AsXMLAttribute() *Schema { - if s.XML == nil { - s.XML = new(XMLObject) - } - s.XML.Attribute = true - return s -} - -// AsXMLElement flags this object as an xml node -func (s *Schema) AsXMLElement() *Schema { - if s.XML == nil { - s.XML = new(XMLObject) - } - s.XML.Attribute = false - return s -} - -// AsWrappedXML flags this object as wrapped, this is mostly useful for array types -func (s *Schema) AsWrappedXML() *Schema { - if s.XML == nil { - s.XML = new(XMLObject) - } - s.XML.Wrapped = true - return s -} - -// AsUnwrappedXML flags this object as an xml node -func (s *Schema) AsUnwrappedXML() *Schema { - if s.XML == nil { - s.XML = new(XMLObject) - } - s.XML.Wrapped = false - return s -} - -// SetValidations defines all schema validations. -// -// NOTE: Required, ReadOnly, AllOf, AnyOf, OneOf and Not are not considered. -func (s *Schema) SetValidations(val SchemaValidations) { - s.Maximum = val.Maximum - s.ExclusiveMaximum = val.ExclusiveMaximum - s.Minimum = val.Minimum - s.ExclusiveMinimum = val.ExclusiveMinimum - s.MaxLength = val.MaxLength - s.MinLength = val.MinLength - s.Pattern = val.Pattern - s.MaxItems = val.MaxItems - s.MinItems = val.MinItems - s.UniqueItems = val.UniqueItems - s.MultipleOf = val.MultipleOf - s.Enum = val.Enum - s.MinProperties = val.MinProperties - s.MaxProperties = val.MaxProperties - s.PatternProperties = val.PatternProperties -} - -// WithValidations is a fluent method to set schema validations -func (s *Schema) WithValidations(val SchemaValidations) *Schema { - s.SetValidations(val) - return s -} - -// Validations returns a clone of the validations for this schema -func (s Schema) Validations() SchemaValidations { - return SchemaValidations{ - CommonValidations: CommonValidations{ - Maximum: s.Maximum, - ExclusiveMaximum: s.ExclusiveMaximum, - Minimum: s.Minimum, - ExclusiveMinimum: s.ExclusiveMinimum, - MaxLength: s.MaxLength, - MinLength: s.MinLength, - Pattern: s.Pattern, - MaxItems: s.MaxItems, - MinItems: s.MinItems, - UniqueItems: s.UniqueItems, - MultipleOf: s.MultipleOf, - Enum: s.Enum, - }, - MinProperties: s.MinProperties, - MaxProperties: s.MaxProperties, - PatternProperties: s.PatternProperties, - } -} - -// MarshalJSON marshal this to JSON -func (s Schema) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(s.SchemaProps) - if err != nil { - return nil, fmt.Errorf("schema props %v", err) - } - b2, err := json.Marshal(s.VendorExtensible) - if err != nil { - return nil, fmt.Errorf("vendor props %v", err) - } - b3, err := s.Ref.MarshalJSON() - if err != nil { - return nil, fmt.Errorf("ref prop %v", err) - } - b4, err := s.Schema.MarshalJSON() - if err != nil { - return nil, fmt.Errorf("schema prop %v", err) - } - b5, err := json.Marshal(s.SwaggerSchemaProps) - if err != nil { - return nil, fmt.Errorf("common validations %v", err) - } - var b6 []byte - if s.ExtraProps != nil { - jj, err := json.Marshal(s.ExtraProps) - if err != nil { - return nil, fmt.Errorf("extra props %v", err) - } - b6 = jj - } - return swag.ConcatJSON(b1, b2, b3, b4, b5, b6), nil -} - -// UnmarshalJSON marshal this from JSON -func (s *Schema) UnmarshalJSON(data []byte) error { - props := struct { - SchemaProps - SwaggerSchemaProps - }{} - if err := json.Unmarshal(data, &props); err != nil { - return err - } - - sch := Schema{ - SchemaProps: props.SchemaProps, - SwaggerSchemaProps: props.SwaggerSchemaProps, - } - - var d map[string]interface{} - if err := json.Unmarshal(data, &d); err != nil { - return err - } - - _ = sch.Ref.fromMap(d) - _ = sch.Schema.fromMap(d) - - delete(d, "$ref") - delete(d, "$schema") - for _, pn := range swag.DefaultJSONNameProvider.GetJSONNames(s) { - delete(d, pn) - } - - for k, vv := range d { - lk := strings.ToLower(k) - if strings.HasPrefix(lk, "x-") { - if sch.Extensions == nil { - sch.Extensions = map[string]interface{}{} - } - sch.Extensions[k] = vv - continue - } - if sch.ExtraProps == nil { - sch.ExtraProps = map[string]interface{}{} - } - sch.ExtraProps[k] = vv - } - - *s = sch - - return nil -} diff --git a/vendor/github.com/go-openapi/spec/schema_loader.go b/vendor/github.com/go-openapi/spec/schema_loader.go deleted file mode 100644 index b81175afdf..0000000000 --- a/vendor/github.com/go-openapi/spec/schema_loader.go +++ /dev/null @@ -1,338 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - "fmt" - "log" - "net/url" - "reflect" - "strings" - - "github.com/go-openapi/swag" -) - -// PathLoader is a function to use when loading remote refs. -// -// This is a package level default. It may be overridden or bypassed by -// specifying the loader in ExpandOptions. -// -// NOTE: if you are using the go-openapi/loads package, it will override -// this value with its own default (a loader to retrieve YAML documents as -// well as JSON ones). -var PathLoader = func(pth string) (json.RawMessage, error) { - data, err := swag.LoadFromFileOrHTTP(pth) - if err != nil { - return nil, err - } - return json.RawMessage(data), nil -} - -// resolverContext allows to share a context during spec processing. -// At the moment, it just holds the index of circular references found. -type resolverContext struct { - // circulars holds all visited circular references, to shortcircuit $ref resolution. - // - // This structure is privately instantiated and needs not be locked against - // concurrent access, unless we chose to implement a parallel spec walking. - circulars map[string]bool - basePath string - loadDoc func(string) (json.RawMessage, error) - rootID string -} - -func newResolverContext(options *ExpandOptions) *resolverContext { - expandOptions := optionsOrDefault(options) - - // path loader may be overridden by options - var loader func(string) (json.RawMessage, error) - if expandOptions.PathLoader == nil { - loader = PathLoader - } else { - loader = expandOptions.PathLoader - } - - return &resolverContext{ - circulars: make(map[string]bool), - basePath: expandOptions.RelativeBase, // keep the root base path in context - loadDoc: loader, - } -} - -type schemaLoader struct { - root interface{} - options *ExpandOptions - cache ResolutionCache - context *resolverContext -} - -func (r *schemaLoader) transitiveResolver(basePath string, ref Ref) *schemaLoader { - if ref.IsRoot() || ref.HasFragmentOnly { - return r - } - - baseRef := MustCreateRef(basePath) - currentRef := normalizeRef(&ref, basePath) - if strings.HasPrefix(currentRef.String(), baseRef.String()) { - return r - } - - // set a new root against which to resolve - rootURL := currentRef.GetURL() - rootURL.Fragment = "" - root, _ := r.cache.Get(rootURL.String()) - - // shallow copy of resolver options to set a new RelativeBase when - // traversing multiple documents - newOptions := r.options - newOptions.RelativeBase = rootURL.String() - - return defaultSchemaLoader(root, newOptions, r.cache, r.context) -} - -func (r *schemaLoader) updateBasePath(transitive *schemaLoader, basePath string) string { - if transitive != r { - if transitive.options != nil && transitive.options.RelativeBase != "" { - return normalizeBase(transitive.options.RelativeBase) - } - } - - return basePath -} - -func (r *schemaLoader) resolveRef(ref *Ref, target interface{}, basePath string) error { - tgt := reflect.ValueOf(target) - if tgt.Kind() != reflect.Ptr { - return ErrResolveRefNeedsAPointer - } - - if ref.GetURL() == nil { - return nil - } - - var ( - res interface{} - data interface{} - err error - ) - - // Resolve against the root if it isn't nil, and if ref is pointing at the root, or has a fragment only which means - // it is pointing somewhere in the root. - root := r.root - if (ref.IsRoot() || ref.HasFragmentOnly) && root == nil && basePath != "" { - if baseRef, erb := NewRef(basePath); erb == nil { - root, _, _, _ = r.load(baseRef.GetURL()) - } - } - - if (ref.IsRoot() || ref.HasFragmentOnly) && root != nil { - data = root - } else { - baseRef := normalizeRef(ref, basePath) - data, _, _, err = r.load(baseRef.GetURL()) - if err != nil { - return err - } - } - - res = data - if ref.String() != "" { - res, _, err = ref.GetPointer().Get(data) - if err != nil { - return err - } - } - return swag.DynamicJSONToStruct(res, target) -} - -func (r *schemaLoader) load(refURL *url.URL) (interface{}, url.URL, bool, error) { - debugLog("loading schema from url: %s", refURL) - toFetch := *refURL - toFetch.Fragment = "" - - var err error - pth := toFetch.String() - normalized := normalizeBase(pth) - debugLog("loading doc from: %s", normalized) - - unescaped, err := url.PathUnescape(normalized) - if err != nil { - return nil, url.URL{}, false, err - } - - u := url.URL{Path: unescaped} - - data, fromCache := r.cache.Get(u.RequestURI()) - if fromCache { - return data, toFetch, fromCache, nil - } - - b, err := r.context.loadDoc(normalized) - if err != nil { - return nil, url.URL{}, false, err - } - - var doc interface{} - if err := json.Unmarshal(b, &doc); err != nil { - return nil, url.URL{}, false, err - } - r.cache.Set(normalized, doc) - - return doc, toFetch, fromCache, nil -} - -// isCircular detects cycles in sequences of $ref. -// -// It relies on a private context (which needs not be locked). -func (r *schemaLoader) isCircular(ref *Ref, basePath string, parentRefs ...string) (foundCycle bool) { - normalizedRef := normalizeURI(ref.String(), basePath) - if _, ok := r.context.circulars[normalizedRef]; ok { - // circular $ref has been already detected in another explored cycle - foundCycle = true - return - } - foundCycle = swag.ContainsStrings(parentRefs, normalizedRef) // normalized windows url's are lower cased - if foundCycle { - r.context.circulars[normalizedRef] = true - } - return -} - -// Resolve resolves a reference against basePath and stores the result in target. -// -// Resolve is not in charge of following references: it only resolves ref by following its URL. -// -// If the schema the ref is referring to holds nested refs, Resolve doesn't resolve them. -// -// If basePath is an empty string, ref is resolved against the root schema stored in the schemaLoader struct -func (r *schemaLoader) Resolve(ref *Ref, target interface{}, basePath string) error { - return r.resolveRef(ref, target, basePath) -} - -func (r *schemaLoader) deref(input interface{}, parentRefs []string, basePath string) error { - var ref *Ref - switch refable := input.(type) { - case *Schema: - ref = &refable.Ref - case *Parameter: - ref = &refable.Ref - case *Response: - ref = &refable.Ref - case *PathItem: - ref = &refable.Ref - default: - return fmt.Errorf("unsupported type: %T: %w", input, ErrDerefUnsupportedType) - } - - curRef := ref.String() - if curRef == "" { - return nil - } - - normalizedRef := normalizeRef(ref, basePath) - normalizedBasePath := normalizedRef.RemoteURI() - - if r.isCircular(normalizedRef, basePath, parentRefs...) { - return nil - } - - if err := r.resolveRef(ref, input, basePath); r.shouldStopOnError(err) { - return err - } - - if ref.String() == "" || ref.String() == curRef { - // done with rereferencing - return nil - } - - parentRefs = append(parentRefs, normalizedRef.String()) - return r.deref(input, parentRefs, normalizedBasePath) -} - -func (r *schemaLoader) shouldStopOnError(err error) bool { - if err != nil && !r.options.ContinueOnError { - return true - } - - if err != nil { - log.Println(err) - } - - return false -} - -func (r *schemaLoader) setSchemaID(target interface{}, id, basePath string) (string, string) { - debugLog("schema has ID: %s", id) - - // handling the case when id is a folder - // remember that basePath has to point to a file - var refPath string - if strings.HasSuffix(id, "/") { - // ensure this is detected as a file, not a folder - refPath = fmt.Sprintf("%s%s", id, "placeholder.json") - } else { - refPath = id - } - - // updates the current base path - // * important: ID can be a relative path - // * registers target to be fetchable from the new base proposed by this id - newBasePath := normalizeURI(refPath, basePath) - - // store found IDs for possible future reuse in $ref - r.cache.Set(newBasePath, target) - - // the root document has an ID: all $ref relative to that ID may - // be rebased relative to the root document - if basePath == r.context.basePath { - debugLog("root document is a schema with ID: %s (normalized as:%s)", id, newBasePath) - r.context.rootID = newBasePath - } - - return newBasePath, refPath -} - -func defaultSchemaLoader( - root interface{}, - expandOptions *ExpandOptions, - cache ResolutionCache, - context *resolverContext) *schemaLoader { - - if expandOptions == nil { - expandOptions = &ExpandOptions{} - } - - cache = cacheOrDefault(cache) - - if expandOptions.RelativeBase == "" { - // if no relative base is provided, assume the root document - // contains all $ref, or at least, that the relative documents - // may be resolved from the current working directory. - expandOptions.RelativeBase = baseForRoot(root, cache) - } - debugLog("effective expander options: %#v", expandOptions) - - if context == nil { - context = newResolverContext(expandOptions) - } - - return &schemaLoader{ - root: root, - options: expandOptions, - cache: cache, - context: context, - } -} diff --git a/vendor/github.com/go-openapi/spec/security_scheme.go b/vendor/github.com/go-openapi/spec/security_scheme.go deleted file mode 100644 index 9d0bdae908..0000000000 --- a/vendor/github.com/go-openapi/spec/security_scheme.go +++ /dev/null @@ -1,170 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -const ( - basic = "basic" - apiKey = "apiKey" - oauth2 = "oauth2" - implicit = "implicit" - password = "password" - application = "application" - accessCode = "accessCode" -) - -// BasicAuth creates a basic auth security scheme -func BasicAuth() *SecurityScheme { - return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: basic}} -} - -// APIKeyAuth creates an api key auth security scheme -func APIKeyAuth(fieldName, valueSource string) *SecurityScheme { - return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{Type: apiKey, Name: fieldName, In: valueSource}} -} - -// OAuth2Implicit creates an implicit flow oauth2 security scheme -func OAuth2Implicit(authorizationURL string) *SecurityScheme { - return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ - Type: oauth2, - Flow: implicit, - AuthorizationURL: authorizationURL, - }} -} - -// OAuth2Password creates a password flow oauth2 security scheme -func OAuth2Password(tokenURL string) *SecurityScheme { - return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ - Type: oauth2, - Flow: password, - TokenURL: tokenURL, - }} -} - -// OAuth2Application creates an application flow oauth2 security scheme -func OAuth2Application(tokenURL string) *SecurityScheme { - return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ - Type: oauth2, - Flow: application, - TokenURL: tokenURL, - }} -} - -// OAuth2AccessToken creates an access token flow oauth2 security scheme -func OAuth2AccessToken(authorizationURL, tokenURL string) *SecurityScheme { - return &SecurityScheme{SecuritySchemeProps: SecuritySchemeProps{ - Type: oauth2, - Flow: accessCode, - AuthorizationURL: authorizationURL, - TokenURL: tokenURL, - }} -} - -// SecuritySchemeProps describes a swagger security scheme in the securityDefinitions section -type SecuritySchemeProps struct { - Description string `json:"description,omitempty"` - Type string `json:"type"` - Name string `json:"name,omitempty"` // api key - In string `json:"in,omitempty"` // api key - Flow string `json:"flow,omitempty"` // oauth2 - AuthorizationURL string `json:"authorizationUrl"` // oauth2 - TokenURL string `json:"tokenUrl,omitempty"` // oauth2 - Scopes map[string]string `json:"scopes,omitempty"` // oauth2 -} - -// AddScope adds a scope to this security scheme -func (s *SecuritySchemeProps) AddScope(scope, description string) { - if s.Scopes == nil { - s.Scopes = make(map[string]string) - } - s.Scopes[scope] = description -} - -// SecurityScheme allows the definition of a security scheme that can be used by the operations. -// Supported schemes are basic authentication, an API key (either as a header or as a query parameter) -// and OAuth2's common flows (implicit, password, application and access code). -// -// For more information: http://goo.gl/8us55a#securitySchemeObject -type SecurityScheme struct { - VendorExtensible - SecuritySchemeProps -} - -// JSONLookup implements an interface to customize json pointer lookup -func (s SecurityScheme) JSONLookup(token string) (interface{}, error) { - if ex, ok := s.Extensions[token]; ok { - return &ex, nil - } - - r, _, err := jsonpointer.GetForToken(s.SecuritySchemeProps, token) - return r, err -} - -// MarshalJSON marshal this to JSON -func (s SecurityScheme) MarshalJSON() ([]byte, error) { - var ( - b1 []byte - err error - ) - - if s.Type == oauth2 && (s.Flow == "implicit" || s.Flow == "accessCode") { - // when oauth2 for implicit or accessCode flows, empty AuthorizationURL is added as empty string - b1, err = json.Marshal(s.SecuritySchemeProps) - } else { - // when not oauth2, empty AuthorizationURL should be omitted - b1, err = json.Marshal(struct { - Description string `json:"description,omitempty"` - Type string `json:"type"` - Name string `json:"name,omitempty"` // api key - In string `json:"in,omitempty"` // api key - Flow string `json:"flow,omitempty"` // oauth2 - AuthorizationURL string `json:"authorizationUrl,omitempty"` // oauth2 - TokenURL string `json:"tokenUrl,omitempty"` // oauth2 - Scopes map[string]string `json:"scopes,omitempty"` // oauth2 - }{ - Description: s.Description, - Type: s.Type, - Name: s.Name, - In: s.In, - Flow: s.Flow, - AuthorizationURL: s.AuthorizationURL, - TokenURL: s.TokenURL, - Scopes: s.Scopes, - }) - } - if err != nil { - return nil, err - } - - b2, err := json.Marshal(s.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2), nil -} - -// UnmarshalJSON marshal this from JSON -func (s *SecurityScheme) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &s.SecuritySchemeProps); err != nil { - return err - } - return json.Unmarshal(data, &s.VendorExtensible) -} diff --git a/vendor/github.com/go-openapi/spec/spec.go b/vendor/github.com/go-openapi/spec/spec.go deleted file mode 100644 index 7d38b6e625..0000000000 --- a/vendor/github.com/go-openapi/spec/spec.go +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" -) - -//go:generate curl -L --progress -o ./schemas/v2/schema.json http://swagger.io/v2/schema.json -//go:generate curl -L --progress -o ./schemas/jsonschema-draft-04.json http://json-schema.org/draft-04/schema -//go:generate go-bindata -pkg=spec -prefix=./schemas -ignore=.*\.md ./schemas/... -//go:generate perl -pi -e s,Json,JSON,g bindata.go - -const ( - // SwaggerSchemaURL the url for the swagger 2.0 schema to validate specs - SwaggerSchemaURL = "http://swagger.io/v2/schema.json#" - // JSONSchemaURL the url for the json schema schema - JSONSchemaURL = "http://json-schema.org/draft-04/schema#" -) - -// MustLoadJSONSchemaDraft04 panics when Swagger20Schema returns an error -func MustLoadJSONSchemaDraft04() *Schema { - d, e := JSONSchemaDraft04() - if e != nil { - panic(e) - } - return d -} - -// JSONSchemaDraft04 loads the json schema document for json shema draft04 -func JSONSchemaDraft04() (*Schema, error) { - b, err := Asset("jsonschema-draft-04.json") - if err != nil { - return nil, err - } - - schema := new(Schema) - if err := json.Unmarshal(b, schema); err != nil { - return nil, err - } - return schema, nil -} - -// MustLoadSwagger20Schema panics when Swagger20Schema returns an error -func MustLoadSwagger20Schema() *Schema { - d, e := Swagger20Schema() - if e != nil { - panic(e) - } - return d -} - -// Swagger20Schema loads the swagger 2.0 schema from the embedded assets -func Swagger20Schema() (*Schema, error) { - - b, err := Asset("v2/schema.json") - if err != nil { - return nil, err - } - - schema := new(Schema) - if err := json.Unmarshal(b, schema); err != nil { - return nil, err - } - return schema, nil -} diff --git a/vendor/github.com/go-openapi/spec/swagger.go b/vendor/github.com/go-openapi/spec/swagger.go deleted file mode 100644 index 44722ffd5a..0000000000 --- a/vendor/github.com/go-openapi/spec/swagger.go +++ /dev/null @@ -1,448 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "bytes" - "encoding/gob" - "encoding/json" - "fmt" - "strconv" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -// Swagger this is the root document object for the API specification. -// It combines what previously was the Resource Listing and API Declaration (version 1.2 and earlier) -// together into one document. -// -// For more information: http://goo.gl/8us55a#swagger-object- -type Swagger struct { - VendorExtensible - SwaggerProps -} - -// JSONLookup look up a value by the json property name -func (s Swagger) JSONLookup(token string) (interface{}, error) { - if ex, ok := s.Extensions[token]; ok { - return &ex, nil - } - r, _, err := jsonpointer.GetForToken(s.SwaggerProps, token) - return r, err -} - -// MarshalJSON marshals this swagger structure to json -func (s Swagger) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(s.SwaggerProps) - if err != nil { - return nil, err - } - b2, err := json.Marshal(s.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2), nil -} - -// UnmarshalJSON unmarshals a swagger spec from json -func (s *Swagger) UnmarshalJSON(data []byte) error { - var sw Swagger - if err := json.Unmarshal(data, &sw.SwaggerProps); err != nil { - return err - } - if err := json.Unmarshal(data, &sw.VendorExtensible); err != nil { - return err - } - *s = sw - return nil -} - -// GobEncode provides a safe gob encoder for Swagger, including extensions -func (s Swagger) GobEncode() ([]byte, error) { - var b bytes.Buffer - raw := struct { - Props SwaggerProps - Ext VendorExtensible - }{ - Props: s.SwaggerProps, - Ext: s.VendorExtensible, - } - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err -} - -// GobDecode provides a safe gob decoder for Swagger, including extensions -func (s *Swagger) GobDecode(b []byte) error { - var raw struct { - Props SwaggerProps - Ext VendorExtensible - } - buf := bytes.NewBuffer(b) - err := gob.NewDecoder(buf).Decode(&raw) - if err != nil { - return err - } - s.SwaggerProps = raw.Props - s.VendorExtensible = raw.Ext - return nil -} - -// SwaggerProps captures the top-level properties of an Api specification -// -// NOTE: validation rules -// - the scheme, when present must be from [http, https, ws, wss] -// - BasePath must start with a leading "/" -// - Paths is required -type SwaggerProps struct { - ID string `json:"id,omitempty"` - Consumes []string `json:"consumes,omitempty"` - Produces []string `json:"produces,omitempty"` - Schemes []string `json:"schemes,omitempty"` - Swagger string `json:"swagger,omitempty"` - Info *Info `json:"info,omitempty"` - Host string `json:"host,omitempty"` - BasePath string `json:"basePath,omitempty"` - Paths *Paths `json:"paths"` - Definitions Definitions `json:"definitions,omitempty"` - Parameters map[string]Parameter `json:"parameters,omitempty"` - Responses map[string]Response `json:"responses,omitempty"` - SecurityDefinitions SecurityDefinitions `json:"securityDefinitions,omitempty"` - Security []map[string][]string `json:"security,omitempty"` - Tags []Tag `json:"tags,omitempty"` - ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` -} - -type swaggerPropsAlias SwaggerProps - -type gobSwaggerPropsAlias struct { - Security []map[string]struct { - List []string - Pad bool - } - Alias *swaggerPropsAlias - SecurityIsEmpty bool -} - -// GobEncode provides a safe gob encoder for SwaggerProps, including empty security requirements -func (o SwaggerProps) GobEncode() ([]byte, error) { - raw := gobSwaggerPropsAlias{ - Alias: (*swaggerPropsAlias)(&o), - } - - var b bytes.Buffer - if o.Security == nil { - // nil security requirement - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err - } - - if len(o.Security) == 0 { - // empty, but non-nil security requirement - raw.SecurityIsEmpty = true - raw.Alias.Security = nil - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err - } - - raw.Security = make([]map[string]struct { - List []string - Pad bool - }, 0, len(o.Security)) - for _, req := range o.Security { - v := make(map[string]struct { - List []string - Pad bool - }, len(req)) - for k, val := range req { - v[k] = struct { - List []string - Pad bool - }{ - List: val, - } - } - raw.Security = append(raw.Security, v) - } - - err := gob.NewEncoder(&b).Encode(raw) - return b.Bytes(), err -} - -// GobDecode provides a safe gob decoder for SwaggerProps, including empty security requirements -func (o *SwaggerProps) GobDecode(b []byte) error { - var raw gobSwaggerPropsAlias - - buf := bytes.NewBuffer(b) - err := gob.NewDecoder(buf).Decode(&raw) - if err != nil { - return err - } - if raw.Alias == nil { - return nil - } - - switch { - case raw.SecurityIsEmpty: - // empty, but non-nil security requirement - raw.Alias.Security = []map[string][]string{} - case len(raw.Alias.Security) == 0: - // nil security requirement - raw.Alias.Security = nil - default: - raw.Alias.Security = make([]map[string][]string, 0, len(raw.Security)) - for _, req := range raw.Security { - v := make(map[string][]string, len(req)) - for k, val := range req { - v[k] = make([]string, 0, len(val.List)) - v[k] = append(v[k], val.List...) - } - raw.Alias.Security = append(raw.Alias.Security, v) - } - } - - *o = *(*SwaggerProps)(raw.Alias) - return nil -} - -// Dependencies represent a dependencies property -type Dependencies map[string]SchemaOrStringArray - -// SchemaOrBool represents a schema or boolean value, is biased towards true for the boolean property -type SchemaOrBool struct { - Allows bool - Schema *Schema -} - -// JSONLookup implements an interface to customize json pointer lookup -func (s SchemaOrBool) JSONLookup(token string) (interface{}, error) { - if token == "allows" { - return s.Allows, nil - } - r, _, err := jsonpointer.GetForToken(s.Schema, token) - return r, err -} - -var jsTrue = []byte("true") -var jsFalse = []byte("false") - -// MarshalJSON convert this object to JSON -func (s SchemaOrBool) MarshalJSON() ([]byte, error) { - if s.Schema != nil { - return json.Marshal(s.Schema) - } - - if s.Schema == nil && !s.Allows { - return jsFalse, nil - } - return jsTrue, nil -} - -// UnmarshalJSON converts this bool or schema object from a JSON structure -func (s *SchemaOrBool) UnmarshalJSON(data []byte) error { - var nw SchemaOrBool - if len(data) >= 4 { - if data[0] == '{' { - var sch Schema - if err := json.Unmarshal(data, &sch); err != nil { - return err - } - nw.Schema = &sch - } - nw.Allows = !(data[0] == 'f' && data[1] == 'a' && data[2] == 'l' && data[3] == 's' && data[4] == 'e') - } - *s = nw - return nil -} - -// SchemaOrStringArray represents a schema or a string array -type SchemaOrStringArray struct { - Schema *Schema - Property []string -} - -// JSONLookup implements an interface to customize json pointer lookup -func (s SchemaOrStringArray) JSONLookup(token string) (interface{}, error) { - r, _, err := jsonpointer.GetForToken(s.Schema, token) - return r, err -} - -// MarshalJSON converts this schema object or array into JSON structure -func (s SchemaOrStringArray) MarshalJSON() ([]byte, error) { - if len(s.Property) > 0 { - return json.Marshal(s.Property) - } - if s.Schema != nil { - return json.Marshal(s.Schema) - } - return []byte("null"), nil -} - -// UnmarshalJSON converts this schema object or array from a JSON structure -func (s *SchemaOrStringArray) UnmarshalJSON(data []byte) error { - var first byte - if len(data) > 1 { - first = data[0] - } - var nw SchemaOrStringArray - if first == '{' { - var sch Schema - if err := json.Unmarshal(data, &sch); err != nil { - return err - } - nw.Schema = &sch - } - if first == '[' { - if err := json.Unmarshal(data, &nw.Property); err != nil { - return err - } - } - *s = nw - return nil -} - -// Definitions contains the models explicitly defined in this spec -// An object to hold data types that can be consumed and produced by operations. -// These data types can be primitives, arrays or models. -// -// For more information: http://goo.gl/8us55a#definitionsObject -type Definitions map[string]Schema - -// SecurityDefinitions a declaration of the security schemes available to be used in the specification. -// This does not enforce the security schemes on the operations and only serves to provide -// the relevant details for each scheme. -// -// For more information: http://goo.gl/8us55a#securityDefinitionsObject -type SecurityDefinitions map[string]*SecurityScheme - -// StringOrArray represents a value that can either be a string -// or an array of strings. Mainly here for serialization purposes -type StringOrArray []string - -// Contains returns true when the value is contained in the slice -func (s StringOrArray) Contains(value string) bool { - for _, str := range s { - if str == value { - return true - } - } - return false -} - -// JSONLookup implements an interface to customize json pointer lookup -func (s SchemaOrArray) JSONLookup(token string) (interface{}, error) { - if _, err := strconv.Atoi(token); err == nil { - r, _, err := jsonpointer.GetForToken(s.Schemas, token) - return r, err - } - r, _, err := jsonpointer.GetForToken(s.Schema, token) - return r, err -} - -// UnmarshalJSON unmarshals this string or array object from a JSON array or JSON string -func (s *StringOrArray) UnmarshalJSON(data []byte) error { - var first byte - if len(data) > 1 { - first = data[0] - } - - if first == '[' { - var parsed []string - if err := json.Unmarshal(data, &parsed); err != nil { - return err - } - *s = StringOrArray(parsed) - return nil - } - - var single interface{} - if err := json.Unmarshal(data, &single); err != nil { - return err - } - if single == nil { - return nil - } - switch v := single.(type) { - case string: - *s = StringOrArray([]string{v}) - return nil - default: - return fmt.Errorf("only string or array is allowed, not %T", single) - } -} - -// MarshalJSON converts this string or array to a JSON array or JSON string -func (s StringOrArray) MarshalJSON() ([]byte, error) { - if len(s) == 1 { - return json.Marshal([]string(s)[0]) - } - return json.Marshal([]string(s)) -} - -// SchemaOrArray represents a value that can either be a Schema -// or an array of Schema. Mainly here for serialization purposes -type SchemaOrArray struct { - Schema *Schema - Schemas []Schema -} - -// Len returns the number of schemas in this property -func (s SchemaOrArray) Len() int { - if s.Schema != nil { - return 1 - } - return len(s.Schemas) -} - -// ContainsType returns true when one of the schemas is of the specified type -func (s *SchemaOrArray) ContainsType(name string) bool { - if s.Schema != nil { - return s.Schema.Type != nil && s.Schema.Type.Contains(name) - } - return false -} - -// MarshalJSON converts this schema object or array into JSON structure -func (s SchemaOrArray) MarshalJSON() ([]byte, error) { - if len(s.Schemas) > 0 { - return json.Marshal(s.Schemas) - } - return json.Marshal(s.Schema) -} - -// UnmarshalJSON converts this schema object or array from a JSON structure -func (s *SchemaOrArray) UnmarshalJSON(data []byte) error { - var nw SchemaOrArray - var first byte - if len(data) > 1 { - first = data[0] - } - if first == '{' { - var sch Schema - if err := json.Unmarshal(data, &sch); err != nil { - return err - } - nw.Schema = &sch - } - if first == '[' { - if err := json.Unmarshal(data, &nw.Schemas); err != nil { - return err - } - } - *s = nw - return nil -} - -// vim:set ft=go noet sts=2 sw=2 ts=2: diff --git a/vendor/github.com/go-openapi/spec/tag.go b/vendor/github.com/go-openapi/spec/tag.go deleted file mode 100644 index faa3d3de1e..0000000000 --- a/vendor/github.com/go-openapi/spec/tag.go +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -import ( - "encoding/json" - - "github.com/go-openapi/jsonpointer" - "github.com/go-openapi/swag" -) - -// TagProps describe a tag entry in the top level tags section of a swagger spec -type TagProps struct { - Description string `json:"description,omitempty"` - Name string `json:"name,omitempty"` - ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` -} - -// NewTag creates a new tag -func NewTag(name, description string, externalDocs *ExternalDocumentation) Tag { - return Tag{TagProps: TagProps{Description: description, Name: name, ExternalDocs: externalDocs}} -} - -// Tag allows adding meta data to a single tag that is used by the -// [Operation Object](http://goo.gl/8us55a#operationObject). -// It is not mandatory to have a Tag Object per tag used there. -// -// For more information: http://goo.gl/8us55a#tagObject -type Tag struct { - VendorExtensible - TagProps -} - -// JSONLookup implements an interface to customize json pointer lookup -func (t Tag) JSONLookup(token string) (interface{}, error) { - if ex, ok := t.Extensions[token]; ok { - return &ex, nil - } - - r, _, err := jsonpointer.GetForToken(t.TagProps, token) - return r, err -} - -// MarshalJSON marshal this to JSON -func (t Tag) MarshalJSON() ([]byte, error) { - b1, err := json.Marshal(t.TagProps) - if err != nil { - return nil, err - } - b2, err := json.Marshal(t.VendorExtensible) - if err != nil { - return nil, err - } - return swag.ConcatJSON(b1, b2), nil -} - -// UnmarshalJSON marshal this from JSON -func (t *Tag) UnmarshalJSON(data []byte) error { - if err := json.Unmarshal(data, &t.TagProps); err != nil { - return err - } - return json.Unmarshal(data, &t.VendorExtensible) -} diff --git a/vendor/github.com/go-openapi/spec/url_go18.go b/vendor/github.com/go-openapi/spec/url_go18.go deleted file mode 100644 index 60b7851536..0000000000 --- a/vendor/github.com/go-openapi/spec/url_go18.go +++ /dev/null @@ -1,8 +0,0 @@ -//go:build !go1.19 -// +build !go1.19 - -package spec - -import "net/url" - -var parseURL = url.Parse diff --git a/vendor/github.com/go-openapi/spec/url_go19.go b/vendor/github.com/go-openapi/spec/url_go19.go deleted file mode 100644 index 392e3e6395..0000000000 --- a/vendor/github.com/go-openapi/spec/url_go19.go +++ /dev/null @@ -1,14 +0,0 @@ -//go:build go1.19 -// +build go1.19 - -package spec - -import "net/url" - -func parseURL(s string) (*url.URL, error) { - u, err := url.Parse(s) - if err == nil { - u.OmitHost = false - } - return u, err -} diff --git a/vendor/github.com/go-openapi/spec/validations.go b/vendor/github.com/go-openapi/spec/validations.go deleted file mode 100644 index 6360a8ea77..0000000000 --- a/vendor/github.com/go-openapi/spec/validations.go +++ /dev/null @@ -1,215 +0,0 @@ -package spec - -// CommonValidations describe common JSON-schema validations -type CommonValidations struct { - Maximum *float64 `json:"maximum,omitempty"` - ExclusiveMaximum bool `json:"exclusiveMaximum,omitempty"` - Minimum *float64 `json:"minimum,omitempty"` - ExclusiveMinimum bool `json:"exclusiveMinimum,omitempty"` - MaxLength *int64 `json:"maxLength,omitempty"` - MinLength *int64 `json:"minLength,omitempty"` - Pattern string `json:"pattern,omitempty"` - MaxItems *int64 `json:"maxItems,omitempty"` - MinItems *int64 `json:"minItems,omitempty"` - UniqueItems bool `json:"uniqueItems,omitempty"` - MultipleOf *float64 `json:"multipleOf,omitempty"` - Enum []interface{} `json:"enum,omitempty"` -} - -// SetValidations defines all validations for a simple schema. -// -// NOTE: the input is the larger set of validations available for schemas. -// For simple schemas, MinProperties and MaxProperties are ignored. -func (v *CommonValidations) SetValidations(val SchemaValidations) { - v.Maximum = val.Maximum - v.ExclusiveMaximum = val.ExclusiveMaximum - v.Minimum = val.Minimum - v.ExclusiveMinimum = val.ExclusiveMinimum - v.MaxLength = val.MaxLength - v.MinLength = val.MinLength - v.Pattern = val.Pattern - v.MaxItems = val.MaxItems - v.MinItems = val.MinItems - v.UniqueItems = val.UniqueItems - v.MultipleOf = val.MultipleOf - v.Enum = val.Enum -} - -type clearedValidation struct { - Validation string - Value interface{} -} - -type clearedValidations []clearedValidation - -func (c clearedValidations) apply(cbs []func(string, interface{})) { - for _, cb := range cbs { - for _, cleared := range c { - cb(cleared.Validation, cleared.Value) - } - } -} - -// ClearNumberValidations clears all number validations. -// -// Some callbacks may be set by the caller to capture changed values. -func (v *CommonValidations) ClearNumberValidations(cbs ...func(string, interface{})) { - done := make(clearedValidations, 0, 5) - defer func() { - done.apply(cbs) - }() - - if v.Minimum != nil { - done = append(done, clearedValidation{Validation: "minimum", Value: v.Minimum}) - v.Minimum = nil - } - if v.Maximum != nil { - done = append(done, clearedValidation{Validation: "maximum", Value: v.Maximum}) - v.Maximum = nil - } - if v.ExclusiveMaximum { - done = append(done, clearedValidation{Validation: "exclusiveMaximum", Value: v.ExclusiveMaximum}) - v.ExclusiveMaximum = false - } - if v.ExclusiveMinimum { - done = append(done, clearedValidation{Validation: "exclusiveMinimum", Value: v.ExclusiveMinimum}) - v.ExclusiveMinimum = false - } - if v.MultipleOf != nil { - done = append(done, clearedValidation{Validation: "multipleOf", Value: v.MultipleOf}) - v.MultipleOf = nil - } -} - -// ClearStringValidations clears all string validations. -// -// Some callbacks may be set by the caller to capture changed values. -func (v *CommonValidations) ClearStringValidations(cbs ...func(string, interface{})) { - done := make(clearedValidations, 0, 3) - defer func() { - done.apply(cbs) - }() - - if v.Pattern != "" { - done = append(done, clearedValidation{Validation: "pattern", Value: v.Pattern}) - v.Pattern = "" - } - if v.MinLength != nil { - done = append(done, clearedValidation{Validation: "minLength", Value: v.MinLength}) - v.MinLength = nil - } - if v.MaxLength != nil { - done = append(done, clearedValidation{Validation: "maxLength", Value: v.MaxLength}) - v.MaxLength = nil - } -} - -// ClearArrayValidations clears all array validations. -// -// Some callbacks may be set by the caller to capture changed values. -func (v *CommonValidations) ClearArrayValidations(cbs ...func(string, interface{})) { - done := make(clearedValidations, 0, 3) - defer func() { - done.apply(cbs) - }() - - if v.MaxItems != nil { - done = append(done, clearedValidation{Validation: "maxItems", Value: v.MaxItems}) - v.MaxItems = nil - } - if v.MinItems != nil { - done = append(done, clearedValidation{Validation: "minItems", Value: v.MinItems}) - v.MinItems = nil - } - if v.UniqueItems { - done = append(done, clearedValidation{Validation: "uniqueItems", Value: v.UniqueItems}) - v.UniqueItems = false - } -} - -// Validations returns a clone of the validations for a simple schema. -// -// NOTE: in the context of simple schema objects, MinProperties, MaxProperties -// and PatternProperties remain unset. -func (v CommonValidations) Validations() SchemaValidations { - return SchemaValidations{ - CommonValidations: v, - } -} - -// HasNumberValidations indicates if the validations are for numbers or integers -func (v CommonValidations) HasNumberValidations() bool { - return v.Maximum != nil || v.Minimum != nil || v.MultipleOf != nil -} - -// HasStringValidations indicates if the validations are for strings -func (v CommonValidations) HasStringValidations() bool { - return v.MaxLength != nil || v.MinLength != nil || v.Pattern != "" -} - -// HasArrayValidations indicates if the validations are for arrays -func (v CommonValidations) HasArrayValidations() bool { - return v.MaxItems != nil || v.MinItems != nil || v.UniqueItems -} - -// HasEnum indicates if the validation includes some enum constraint -func (v CommonValidations) HasEnum() bool { - return len(v.Enum) > 0 -} - -// SchemaValidations describes the validation properties of a schema -// -// NOTE: at this moment, this is not embedded in SchemaProps because this would induce a breaking change -// in the exported members: all initializers using litterals would fail. -type SchemaValidations struct { - CommonValidations - - PatternProperties SchemaProperties `json:"patternProperties,omitempty"` - MaxProperties *int64 `json:"maxProperties,omitempty"` - MinProperties *int64 `json:"minProperties,omitempty"` -} - -// HasObjectValidations indicates if the validations are for objects -func (v SchemaValidations) HasObjectValidations() bool { - return v.MaxProperties != nil || v.MinProperties != nil || v.PatternProperties != nil -} - -// SetValidations for schema validations -func (v *SchemaValidations) SetValidations(val SchemaValidations) { - v.CommonValidations.SetValidations(val) - v.PatternProperties = val.PatternProperties - v.MaxProperties = val.MaxProperties - v.MinProperties = val.MinProperties -} - -// Validations for a schema -func (v SchemaValidations) Validations() SchemaValidations { - val := v.CommonValidations.Validations() - val.PatternProperties = v.PatternProperties - val.MinProperties = v.MinProperties - val.MaxProperties = v.MaxProperties - return val -} - -// ClearObjectValidations returns a clone of the validations with all object validations cleared. -// -// Some callbacks may be set by the caller to capture changed values. -func (v *SchemaValidations) ClearObjectValidations(cbs ...func(string, interface{})) { - done := make(clearedValidations, 0, 3) - defer func() { - done.apply(cbs) - }() - - if v.MaxProperties != nil { - done = append(done, clearedValidation{Validation: "maxProperties", Value: v.MaxProperties}) - v.MaxProperties = nil - } - if v.MinProperties != nil { - done = append(done, clearedValidation{Validation: "minProperties", Value: v.MinProperties}) - v.MinProperties = nil - } - if v.PatternProperties != nil { - done = append(done, clearedValidation{Validation: "patternProperties", Value: v.PatternProperties}) - v.PatternProperties = nil - } -} diff --git a/vendor/github.com/go-openapi/spec/xml_object.go b/vendor/github.com/go-openapi/spec/xml_object.go deleted file mode 100644 index 945a46703d..0000000000 --- a/vendor/github.com/go-openapi/spec/xml_object.go +++ /dev/null @@ -1,68 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package spec - -// XMLObject a metadata object that allows for more fine-tuned XML model definitions. -// -// For more information: http://goo.gl/8us55a#xmlObject -type XMLObject struct { - Name string `json:"name,omitempty"` - Namespace string `json:"namespace,omitempty"` - Prefix string `json:"prefix,omitempty"` - Attribute bool `json:"attribute,omitempty"` - Wrapped bool `json:"wrapped,omitempty"` -} - -// WithName sets the xml name for the object -func (x *XMLObject) WithName(name string) *XMLObject { - x.Name = name - return x -} - -// WithNamespace sets the xml namespace for the object -func (x *XMLObject) WithNamespace(namespace string) *XMLObject { - x.Namespace = namespace - return x -} - -// WithPrefix sets the xml prefix for the object -func (x *XMLObject) WithPrefix(prefix string) *XMLObject { - x.Prefix = prefix - return x -} - -// AsAttribute flags this object as xml attribute -func (x *XMLObject) AsAttribute() *XMLObject { - x.Attribute = true - return x -} - -// AsElement flags this object as an xml node -func (x *XMLObject) AsElement() *XMLObject { - x.Attribute = false - return x -} - -// AsWrapped flags this object as wrapped, this is mostly useful for array types -func (x *XMLObject) AsWrapped() *XMLObject { - x.Wrapped = true - return x -} - -// AsUnwrapped flags this object as an xml node -func (x *XMLObject) AsUnwrapped() *XMLObject { - x.Wrapped = false - return x -} diff --git a/vendor/github.com/go-openapi/strfmt/.editorconfig b/vendor/github.com/go-openapi/strfmt/.editorconfig deleted file mode 100644 index 3152da69a5..0000000000 --- a/vendor/github.com/go-openapi/strfmt/.editorconfig +++ /dev/null @@ -1,26 +0,0 @@ -# top-most EditorConfig file -root = true - -# Unix-style newlines with a newline ending every file -[*] -end_of_line = lf -insert_final_newline = true -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true - -# Set default charset -[*.{js,py,go,scala,rb,java,html,css,less,sass,md}] -charset = utf-8 - -# Tab indentation (no size specified) -[*.go] -indent_style = tab - -[*.md] -trim_trailing_whitespace = false - -# Matches the exact files either package.json or .travis.yml -[{package.json,.travis.yml}] -indent_style = space -indent_size = 2 diff --git a/vendor/github.com/go-openapi/strfmt/.gitattributes b/vendor/github.com/go-openapi/strfmt/.gitattributes deleted file mode 100644 index d020be8ea4..0000000000 --- a/vendor/github.com/go-openapi/strfmt/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -*.go text eol=lf - diff --git a/vendor/github.com/go-openapi/strfmt/.gitignore b/vendor/github.com/go-openapi/strfmt/.gitignore deleted file mode 100644 index dd91ed6a04..0000000000 --- a/vendor/github.com/go-openapi/strfmt/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -secrets.yml -coverage.out diff --git a/vendor/github.com/go-openapi/strfmt/.golangci.yml b/vendor/github.com/go-openapi/strfmt/.golangci.yml deleted file mode 100644 index be4899cb12..0000000000 --- a/vendor/github.com/go-openapi/strfmt/.golangci.yml +++ /dev/null @@ -1,59 +0,0 @@ -linters-settings: - govet: - check-shadowing: true - golint: - min-confidence: 0 - gocyclo: - min-complexity: 31 - maligned: - suggest-new: true - dupl: - threshold: 100 - goconst: - min-len: 2 - min-occurrences: 4 - -linters: - enable: - - revive - - goimports - - gosec - - unparam - - unconvert - - predeclared - - prealloc - - misspell - - # disable: - # - maligned - # - lll - # - gochecknoinits - # - gochecknoglobals - # - godox - # - gocognit - # - whitespace - # - wsl - # - funlen - # - wrapcheck - # - testpackage - # - nlreturn - # - gofumpt - # - goerr113 - # - gci - # - gomnd - # - godot - # - exhaustivestruct - # - paralleltest - # - varnamelen - # - ireturn - # - exhaustruct - # #- thelper - -issues: - exclude-rules: - - path: bson.go - text: "should be .*ObjectID" - linters: - - golint - - stylecheck - diff --git a/vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md b/vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md deleted file mode 100644 index 9322b065e3..0000000000 --- a/vendor/github.com/go-openapi/strfmt/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at ivan+abuse@flanders.co.nz. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/vendor/github.com/go-openapi/strfmt/LICENSE b/vendor/github.com/go-openapi/strfmt/LICENSE deleted file mode 100644 index d645695673..0000000000 --- a/vendor/github.com/go-openapi/strfmt/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. diff --git a/vendor/github.com/go-openapi/strfmt/README.md b/vendor/github.com/go-openapi/strfmt/README.md deleted file mode 100644 index 0cf89d7766..0000000000 --- a/vendor/github.com/go-openapi/strfmt/README.md +++ /dev/null @@ -1,88 +0,0 @@ -# Strfmt [![Build Status](https://travis-ci.org/go-openapi/strfmt.svg?branch=master)](https://travis-ci.org/go-openapi/strfmt) [![codecov](https://codecov.io/gh/go-openapi/strfmt/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/strfmt) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) - -[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/strfmt/master/LICENSE) -[![GoDoc](https://godoc.org/github.com/go-openapi/strfmt?status.svg)](http://godoc.org/github.com/go-openapi/strfmt) -[![GolangCI](https://golangci.com/badges/github.com/go-openapi/strfmt.svg)](https://golangci.com) -[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/strfmt)](https://goreportcard.com/report/github.com/go-openapi/strfmt) - -This package exposes a registry of data types to support string formats in the go-openapi toolkit. - -strfmt represents a well known string format such as credit card or email. The go toolkit for OpenAPI specifications knows how to deal with those. - -## Supported data formats -go-openapi/strfmt follows the swagger 2.0 specification with the following formats -defined [here](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types). - -It also provides convenient extensions to go-openapi users. - -- [x] JSON-schema draft 4 formats - - date-time - - email - - hostname - - ipv4 - - ipv6 - - uri -- [x] swagger 2.0 format extensions - - binary - - byte (e.g. base64 encoded string) - - date (e.g. "1970-01-01") - - password -- [x] go-openapi custom format extensions - - bsonobjectid (BSON objectID) - - creditcard - - duration (e.g. "3 weeks", "1ms") - - hexcolor (e.g. "#FFFFFF") - - isbn, isbn10, isbn13 - - mac (e.g "01:02:03:04:05:06") - - rgbcolor (e.g. "rgb(100,100,100)") - - ssn - - uuid, uuid3, uuid4, uuid5 - - cidr (e.g. "192.0.2.1/24", "2001:db8:a0b:12f0::1/32") - - ulid (e.g. "00000PP9HGSBSSDZ1JTEXBJ0PW", [spec](https://github.com/ulid/spec)) - -> NOTE: as the name stands for, this package is intended to support string formatting only. -> It does not provide validation for numerical values with swagger format extension for JSON types "number" or -> "integer" (e.g. float, double, int32...). - -## Type conversion - -All types defined here are stringers and may be converted to strings with `.String()`. -Note that most types defined by this package may be converted directly to string like `string(Email{})`. - -`Date` and `DateTime` may be converted directly to `time.Time` like `time.Time(Time{})`. -Similarly, you can convert `Duration` to `time.Duration` as in `time.Duration(Duration{})` - -## Using pointers - -The `conv` subpackage provides helpers to convert the types to and from pointers, just like `go-openapi/swag` does -with primitive types. - -## Format types -Types defined in strfmt expose marshaling and validation capabilities. - -List of defined types: -- Base64 -- CreditCard -- Date -- DateTime -- Duration -- Email -- HexColor -- Hostname -- IPv4 -- IPv6 -- CIDR -- ISBN -- ISBN10 -- ISBN13 -- MAC -- ObjectId -- Password -- RGBColor -- SSN -- URI -- UUID -- UUID3 -- UUID4 -- UUID5 -- [ULID](https://github.com/ulid/spec) diff --git a/vendor/github.com/go-openapi/strfmt/bson.go b/vendor/github.com/go-openapi/strfmt/bson.go deleted file mode 100644 index a8a3604a2c..0000000000 --- a/vendor/github.com/go-openapi/strfmt/bson.go +++ /dev/null @@ -1,165 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package strfmt - -import ( - "database/sql/driver" - "fmt" - - "go.mongodb.org/mongo-driver/bson" - - "go.mongodb.org/mongo-driver/bson/bsontype" - bsonprim "go.mongodb.org/mongo-driver/bson/primitive" -) - -func init() { - var id ObjectId - // register this format in the default registry - Default.Add("bsonobjectid", &id, IsBSONObjectID) -} - -// IsBSONObjectID returns true when the string is a valid BSON.ObjectId -func IsBSONObjectID(str string) bool { - _, err := bsonprim.ObjectIDFromHex(str) - return err == nil -} - -// ObjectId represents a BSON object ID (alias to go.mongodb.org/mongo-driver/bson/primitive.ObjectID) -// -// swagger:strfmt bsonobjectid -type ObjectId bsonprim.ObjectID //nolint:revive - -// NewObjectId creates a ObjectId from a Hex String -func NewObjectId(hex string) ObjectId { //nolint:revive - oid, err := bsonprim.ObjectIDFromHex(hex) - if err != nil { - panic(err) - } - return ObjectId(oid) -} - -// MarshalText turns this instance into text -func (id ObjectId) MarshalText() ([]byte, error) { - oid := bsonprim.ObjectID(id) - if oid == bsonprim.NilObjectID { - return nil, nil - } - return []byte(oid.Hex()), nil -} - -// UnmarshalText hydrates this instance from text -func (id *ObjectId) UnmarshalText(data []byte) error { // validation is performed later on - if len(data) == 0 { - *id = ObjectId(bsonprim.NilObjectID) - return nil - } - oidstr := string(data) - oid, err := bsonprim.ObjectIDFromHex(oidstr) - if err != nil { - return err - } - *id = ObjectId(oid) - return nil -} - -// Scan read a value from a database driver -func (id *ObjectId) Scan(raw interface{}) error { - var data []byte - switch v := raw.(type) { - case []byte: - data = v - case string: - data = []byte(v) - default: - return fmt.Errorf("cannot sql.Scan() strfmt.URI from: %#v", v) - } - - return id.UnmarshalText(data) -} - -// Value converts a value to a database driver value -func (id ObjectId) Value() (driver.Value, error) { - return driver.Value(bsonprim.ObjectID(id).Hex()), nil -} - -func (id ObjectId) String() string { - return bsonprim.ObjectID(id).Hex() -} - -// MarshalJSON returns the ObjectId as JSON -func (id ObjectId) MarshalJSON() ([]byte, error) { - return bsonprim.ObjectID(id).MarshalJSON() -} - -// UnmarshalJSON sets the ObjectId from JSON -func (id *ObjectId) UnmarshalJSON(data []byte) error { - var obj bsonprim.ObjectID - if err := obj.UnmarshalJSON(data); err != nil { - return err - } - *id = ObjectId(obj) - return nil -} - -// MarshalBSON renders the object id as a BSON document -func (id ObjectId) MarshalBSON() ([]byte, error) { - return bson.Marshal(bson.M{"data": bsonprim.ObjectID(id)}) -} - -// UnmarshalBSON reads the objectId from a BSON document -func (id *ObjectId) UnmarshalBSON(data []byte) error { - var obj struct { - Data bsonprim.ObjectID - } - if err := bson.Unmarshal(data, &obj); err != nil { - return err - } - *id = ObjectId(obj.Data) - return nil -} - -// MarshalBSONValue is an interface implemented by types that can marshal themselves -// into a BSON document represented as bytes. The bytes returned must be a valid -// BSON document if the error is nil. -func (id ObjectId) MarshalBSONValue() (bsontype.Type, []byte, error) { - oid := bsonprim.ObjectID(id) - return bsontype.ObjectID, oid[:], nil -} - -// UnmarshalBSONValue is an interface implemented by types that can unmarshal a -// BSON value representation of themselves. The BSON bytes and type can be -// assumed to be valid. UnmarshalBSONValue must copy the BSON value bytes if it -// wishes to retain the data after returning. -func (id *ObjectId) UnmarshalBSONValue(_ bsontype.Type, data []byte) error { - var oid bsonprim.ObjectID - copy(oid[:], data) - *id = ObjectId(oid) - return nil -} - -// DeepCopyInto copies the receiver and writes its value into out. -func (id *ObjectId) DeepCopyInto(out *ObjectId) { - *out = *id -} - -// DeepCopy copies the receiver into a new ObjectId. -func (id *ObjectId) DeepCopy() *ObjectId { - if id == nil { - return nil - } - out := new(ObjectId) - id.DeepCopyInto(out) - return out -} diff --git a/vendor/github.com/go-openapi/strfmt/date.go b/vendor/github.com/go-openapi/strfmt/date.go deleted file mode 100644 index 3c93381c7c..0000000000 --- a/vendor/github.com/go-openapi/strfmt/date.go +++ /dev/null @@ -1,187 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package strfmt - -import ( - "database/sql/driver" - "encoding/json" - "errors" - "fmt" - "time" - - "go.mongodb.org/mongo-driver/bson" -) - -func init() { - d := Date{} - // register this format in the default registry - Default.Add("date", &d, IsDate) -} - -// IsDate returns true when the string is a valid date -func IsDate(str string) bool { - _, err := time.Parse(RFC3339FullDate, str) - return err == nil -} - -const ( - // RFC3339FullDate represents a full-date as specified by RFC3339 - // See: http://goo.gl/xXOvVd - RFC3339FullDate = "2006-01-02" -) - -// Date represents a date from the API -// -// swagger:strfmt date -type Date time.Time - -// String converts this date into a string -func (d Date) String() string { - return time.Time(d).Format(RFC3339FullDate) -} - -// UnmarshalText parses a text representation into a date type -func (d *Date) UnmarshalText(text []byte) error { - if len(text) == 0 { - return nil - } - dd, err := time.ParseInLocation(RFC3339FullDate, string(text), DefaultTimeLocation) - if err != nil { - return err - } - *d = Date(dd) - return nil -} - -// MarshalText serializes this date type to string -func (d Date) MarshalText() ([]byte, error) { - return []byte(d.String()), nil -} - -// Scan scans a Date value from database driver type. -func (d *Date) Scan(raw interface{}) error { - switch v := raw.(type) { - case []byte: - return d.UnmarshalText(v) - case string: - return d.UnmarshalText([]byte(v)) - case time.Time: - *d = Date(v) - return nil - case nil: - *d = Date{} - return nil - default: - return fmt.Errorf("cannot sql.Scan() strfmt.Date from: %#v", v) - } -} - -// Value converts Date to a primitive value ready to written to a database. -func (d Date) Value() (driver.Value, error) { - return driver.Value(d.String()), nil -} - -// MarshalJSON returns the Date as JSON -func (d Date) MarshalJSON() ([]byte, error) { - return json.Marshal(time.Time(d).Format(RFC3339FullDate)) -} - -// UnmarshalJSON sets the Date from JSON -func (d *Date) UnmarshalJSON(data []byte) error { - if string(data) == jsonNull { - return nil - } - var strdate string - if err := json.Unmarshal(data, &strdate); err != nil { - return err - } - tt, err := time.ParseInLocation(RFC3339FullDate, strdate, DefaultTimeLocation) - if err != nil { - return err - } - *d = Date(tt) - return nil -} - -func (d Date) MarshalBSON() ([]byte, error) { - return bson.Marshal(bson.M{"data": d.String()}) -} - -func (d *Date) UnmarshalBSON(data []byte) error { - var m bson.M - if err := bson.Unmarshal(data, &m); err != nil { - return err - } - - if data, ok := m["data"].(string); ok { - rd, err := time.ParseInLocation(RFC3339FullDate, data, DefaultTimeLocation) - if err != nil { - return err - } - *d = Date(rd) - return nil - } - - return errors.New("couldn't unmarshal bson bytes value as Date") -} - -// DeepCopyInto copies the receiver and writes its value into out. -func (d *Date) DeepCopyInto(out *Date) { - *out = *d -} - -// DeepCopy copies the receiver into a new Date. -func (d *Date) DeepCopy() *Date { - if d == nil { - return nil - } - out := new(Date) - d.DeepCopyInto(out) - return out -} - -// GobEncode implements the gob.GobEncoder interface. -func (d Date) GobEncode() ([]byte, error) { - return d.MarshalBinary() -} - -// GobDecode implements the gob.GobDecoder interface. -func (d *Date) GobDecode(data []byte) error { - return d.UnmarshalBinary(data) -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface. -func (d Date) MarshalBinary() ([]byte, error) { - return time.Time(d).MarshalBinary() -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface. -func (d *Date) UnmarshalBinary(data []byte) error { - var original time.Time - - err := original.UnmarshalBinary(data) - if err != nil { - return err - } - - *d = Date(original) - - return nil -} - -// Equal checks if two Date instances are equal -func (d Date) Equal(d2 Date) bool { - return time.Time(d).Equal(time.Time(d2)) -} diff --git a/vendor/github.com/go-openapi/strfmt/default.go b/vendor/github.com/go-openapi/strfmt/default.go deleted file mode 100644 index a89a4de3f3..0000000000 --- a/vendor/github.com/go-openapi/strfmt/default.go +++ /dev/null @@ -1,2035 +0,0 @@ -// Copyright 2015 go-swagger maintainers -// -// 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. - -package strfmt - -import ( - "database/sql/driver" - "encoding/base64" - "encoding/json" - "errors" - "fmt" - "net/mail" - "regexp" - "strings" - - "github.com/asaskevich/govalidator" - "go.mongodb.org/mongo-driver/bson" -) - -const ( - // HostnamePattern http://json-schema.org/latest/json-schema-validation.html#anchor114 - // A string instance is valid against this attribute if it is a valid - // representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - // http://tools.ietf.org/html/rfc1034#section-3.5 - // ::= any one of the ten digits 0 through 9 - // var digit = /[0-9]/; - // ::= any one of the 52 alphabetic characters A through Z in upper case and a through z in lower case - // var letter = /[a-zA-Z]/; - // ::= | - // var letDig = /[0-9a-zA-Z]/; - // ::= | "-" - // var letDigHyp = /[-0-9a-zA-Z]/; - // ::= | - // var ldhStr = /[-0-9a-zA-Z]+/; - //